Skip to content
Schematron validation artefacts for CEN/TC 434
Branch: master
Clone or download
Latest commit 20159a3 May 14, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
cii Updated XSLTs May 7, 2019
codelist/iso6523 Readme on ISO 6523 list May 16, 2018
edifact Updated XSLTs May 7, 2019
ubl Updated again May 13, 2019
.gitattributes Removed vscode specifics Apr 17, 2019
.gitignore Prepared for license headers Jun 21, 2018
.travis.yml Added travis_wait Apr 29, 2019 Added Oct 13, 2017
LICENSE.txt Updated license headers Apr 24, 2019 Prepared for release May 14, 2019
pom-license.xml Updated license headers Apr 25, 2019
pom-preprocess.xml Updated versions May 7, 2019
pom-validate.xml Updated versions May 7, 2019
pom-xslt.xml Updated versions May 7, 2019
update-xslt-and-validate.cmd Updated version for 5.0.9 release Apr 25, 2019

CEN/TC 434 - EN-16931 - Validation artefacts

Official Schematron validation artefacts for CEN/TC 434. This repository does not contain validation rules for any CIUS.

Latest release

For each syntax a separate folder exists where all related artefacts are to be published.


The action of performing validation of business documents is not directly supported by the artefacts in this repository. Standalone validation of EN-16931 rules can be performed on the following pages (in arbitrary order - please contact the operators directly):

If you also provide an open service that can validate EN-16931 artefacts and you want to be listed here send us an email to philip[at]

A simple demo implementation maintained by the project team can be found at - we do not recommend this for production usage.

News and noteworthy

  • v1.2.1 - 2019-05-14 (UBL and CII only)

  • v1.2.0 - 2019-04-26 (UBL and CII only)

    • Note: this release does NOT contain the EDIFACT validation rules - its development is currently paused/stalled
    • Note: this release is not backwards compatible, and the examples files were changed as well.
    • See all fixed issues:
    • The UBL ODS files were removed, because they were out of sync with the used rules
    • The folder names for examples files were unified across the syntaxes
    • The name of the UBL Schematron/XSLT files was changed from EN16931-UBL-model.* to EN16931-UBL-validation.*
  • v1.1.0 - 2018-06-26 (UBL and CII only)

    • Note: this release does NOT contain the EDIFACT validation rules - its development is currently paused/stalled
    • New participant identifier schemes are supported
    • Rules targeting attributes were altered (issue #50)
    • Fixed typo in BR-CL-24 UBL (issue #52)
    • Some code list assertions had no id attributes (issue #53)
    • Rule CII-SR-029 was removed and the context of CII-SR-030 was adopted (issue #54)
    • Using xs:decimal instead of xs:double (issue #55)
    • The value of the VAT @schemeID attribute is VAT (instead of VA) (issue #57)
    • Error in rule BR-Z-10 UBL was fixed (issue #59)
    • Fixed error message of BR-AF-05 CII (issue #60)
    • The value 532 was not supported in BR-CL-01 (issue #63)
  • v1.0.0 - 2018-02-08 (UBL, CII and EDIFACT)

    • Initial release


For the Java projects contained in this repository, please consider the following prerequisites

  • Java JDK 1.8.x latest (was tested only with a JDK and not with a JRE)
  • For building on the commandline use Apache Maven 3.x (latest)

Create XSLTs from Schematrons

Invoke mvn -f pom-xslt.xml process-resources after changes - it will regenerate the XSLTs from the source SCHs. Don't forget to update the license headers afterwards (see below).

Create preprocessed Schematrons

After creating XSLTs, the preprocess Schematrons should be created. Preprocessing resolves all includes, abstract rules etc. Invoke mvn -f pom-preprocess.xml generate-resources to create all preprocessed Schematron files.

Check if the examples files match the rules from the XSLTs

Invoke mvn -f pom-validate.xml validate after re-creating the XSLTs (see above).

Update the license headers

The template for the license header resides in the file templates/license-template.txt. To add the license header to all relevant files invoke mvn -f pom-license.xml license:format

You can’t perform that action at this time.