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.

SCHEMATRON

The ISO/IEC 19757-3 rule-based XML validation language. XSD's counterpart for business rules — a PEPPOL and EN 16931 pillar.

Definition

Schematron is an XML schema language based on XPath assertions. Where XSD describes a document's shape (presence of elements, order, value type), Schematron describes its semantic constraints: relations between fields, business rules, cross conditions. Structure:

  • schema: the root element, contains one or more patterns.
  • pattern: groups rules by business theme.
  • rule context="…": identifies a document XPath zone to inspect.
  • assert test="…": XPath assertion that must return true. Otherwise, an error message is emitted.
  • report test="…": the opposite — message emitted if the test is true (typically for warnings).

Schematron is implemented by compilation to XSLT 1.0 or 2.0 (via the skeleton-iso-schematron-xslt tool from Rick Jelliffe), then applied via any standard XSLT processor (Saxon, Xalan, libxslt). The output is an SVRL (Schematron Validation Reporting Language) report listing the failed assertions.

Origin

Schematron was created in 1999 by Rick Jelliffe (Topologi, Australia), initially as a pragmatic alternative to DTD. It was standardised by ISO as ISO/IEC 19757-3 (Document Schema Definition Languages — Part 3: Rule-based validation — Schematron) in 2006, revised in 2016. Adoption accelerated with OASIS UBL, which distributes its business rules in Schematron, then with PEPPOL, which makes it the reference validation tool for its BIS profiles (PEPPOL-EN16931-UBL.sch, PEPPOL-COMMON.sch). EN 16931-1 also publishes its normative business rules in Schematron.

Example in context

Simplified PEPPOL BIS Billing 3.0 rule: an Invoice must have an IBAN if the payment means is credit transfer.

Reading: in every PaymentMeans, if the code is 30 (Credit transfer), a PayeeFinancialAccount/ID (IBAN) must exist. Otherwise, fatal error BR-50 (Business Rule 50).

Last updated: May 14, 2026