Skip to main content

XML Schema Line

XML Schema Lines

The XML Schema Lines section provides a comprehensive overview of the XML schema structure and its associated attributes. It allows you to define and configure various elements within the XML schema for effective data processing and validation.

  • XML Schema Code indicates the XML schema code. e.g. OPENTRANS, xRechnung.
  • Document Type indicates the document type. e.g. INVOICE.
  • Sorting No indicates the sorting number.
  • Entry No. indicates the entry number.
  • Parent Entry No. indicates the parent entry number.
  • Name indicates the name.
  • Value indicates the value.
  • Fixed Value to select whether the value will be fixed or not.
  • Is Mandatory to select whether the schema is mandatory or not.
  • Ignore if no Child Element has Value to select whether ignore or not if child element has no value.

By utilizing the XML Schema Lines functionality, you can precisely define the structure and characteristics of your XML schema, ensuring accurate data representation and adherence to specified standards. This enables smooth integration and seamless data exchange within your system or with external entities following the defined XML schema guidelines.

Additional Fields and Formatting

  • Type, Data Type, and Namespace describe the XML node and how its value is emitted.
  • Format String supports special handling; use the value text on blob sources to output readable strings instead of Base64.
  • Source Table No. / Source Field No. highlight exactly where the value is pulled from.
  • Example Value helps document the expected payload for downstream consumers.

Working with Blob-Based Notes

  • Header notes are now stored in field 13 Invoice Notes Blob on table 5563231 mseBC mseDoc365 S. Inv.Buffer. Point schema lines to this field for IncludedNote or Note elements.
  • Line descriptions and notes rely on the blob fields mseBc mseDoc365 Ln. Desc (5563222) and mseBC mseDoc365 Ln. Note (5563223) on the sales invoice and credit memo line buffers.
  • Combine Data Type = TypeBlob with Format String = text to stream the memo content as plain XML while still filling the legacy text fields for compatibility.

Locking Lines Against a Standard Refresh

The Lines subpage now exposes two columns that control whether a customised line survives a schema refresh from standard:

Locked

Toggle Locked to Yes on any line whose customisations you want to keep across schema updates. When the schema is later refreshed:

  • The line is matched against the new standard by its position in the XML tree (xPath, namespace-aware).
  • If a match is found, the new standard line is rewritten with your saved values for the editable fields: Value, Fixed Value, Is Mandatory, Check to Process or Ignore, Ignore if no Child Element has Value, Source Table No., Source Field No., Format String, Example Value, Namespace.
  • Structural fields (Entry No., Sorting No., Parent Entry No., Depth, Type, Name) always follow the new standard.
  • If no match is found, the locked line is reconstructed as a child of the same parent — so customer-specific extra elements/attributes survive too.

Toggle Locked back to No at any time to release the line to standard on the next refresh.

Is Programmatic Lock

Some lines arrive already protected by an installed extension — typically a customer-specific add-on that wants its values to outlast every schema refresh. Those lines show Is Programmatic Lock = Yes. You can recognise them at a glance: the field is read-only and serves only as an indicator.

The interaction between the user-set Locked flag and a programmatic lock is:

ActionEffect
You set Locked = Yes on a programmatically locked lineTakes ownership. Is Programmatic Lock is cleared. Your values are kept on refresh.
You set Locked = No on a programmatically locked lineThe extension still flags the line as protected, but your explicit unlock wins. On refresh the line is reset to standard.
You edit Value on a programmatically locked lineTakes ownership the same way as ticking Locked: Is Programmatic Lock is cleared and your value is preserved.

This way an extension can pre-mark "the lines I care about" without forcing the customer to accept them — the user always has the final say.