ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

cXML Validator

Validate a cXML document against the official 1.2.069 DTD, without sending a single byte beyond the browser.

Paste a cXML document to validate it against DTD 1.2.069.

Embedded schema: 887 elements, 991 declared attributes (366 required), extracted from the 6 official cXML 1.2.069 DTDs archived under content/_sources/cxml/1.2.061/.

How it works

The validator runs two passes:

  1. XML well-formedness: your document is fed to the browser's native DOMParser. Mismatched tags, missing-value attributes, or invalid XML characters surface first as E_XML_NOT_WELL_FORMED.
  2. cXML 1.2.069 DTD conformance: a depth-first walk of the XML tree compares every element against the JSON schema compiled at build time from the 6 official DTDs. Each diagnostic carries the XPath of the offending node:
    • E_NOT_CXML_ROOT — the document root is not <cXML>.
    • E_UNKNOWN_ELEMENT — the element is not defined in any of the 6 DTDs.
    • E_DISALLOWED_CHILD — the element is known but not in the parent's content model.
    • E_MISSING_REQUIRED_ATTR — a DTD #REQUIRED attribute is missing.

Covered transactions

The 6 DTD modules we embed cover the full cXML 1.2.069 surface:

  • cXML.dtd — envelope, Header, From/To/Sender, Credential, Profile, PunchOut, OrderRequest, Status & Auth.
  • Fulfill.dtd — ConfirmationRequest, ShipNoticeRequest, ServiceEntryRequest, ReceiptRequest, OrderStatusRequest.
  • InvoiceDetail.dtd — InvoiceDetailRequest and every sub-structure (lines, taxes, modifications).
  • Catalog.dtd — CatalogUploadRequest, indexed catalog structure.
  • PaymentRemittance.dtd — PaymentRemittanceRequest and its companions (Proposal, Batch, Receipt).
  • Quote.dtd — QuoteRequest and QuoteMessage.

Privacy

Limitations

The validator targets the most common integration errors. A few DTD checks aren't (yet) implemented:

  • Exact order and cardinality (?, +, *) of children is not enforced — only the set of allowed children is consulted.
  • Attribute enumerations (e.g. operation = "create | inspect | edit | source") are not (yet) validated.
  • ID/IDREF references are not resolved.
  • The Extrinsic element has an ANY content model — its descendants are not inspected.
  • cXML — the standard's overview, its versions, and the SAP Ariba ecosystem.
  • EDIFACT Validator — its sibling for EDIFACT ISO 9735 messages.

Last updated: May 14, 2026