Demos

Definitive XML Schema

Historically this was the first integration test suite of xsdata and is still being used to make sure things still work between minor code changes.

It’s based on the samples from the book Definitive XML Schema by Priscilla Walmsley that cover most of the basic XML Schema language traits

The test suite is using the auto generated models to parse the sample documents and serializes them back to JSON and XML documents.

Samples Source

Definitive XML Schema by Priscilla Walmsley (c) 2012 Prentice Hall PTR

W3C XML Schema Suite

xsdata is constantly tested and measured against the W3C XML Schema 1.1 test suite.

The suite is quite extensible and consist of more than 26k tests cases for both XML Schema 1.0 and 1.1.

Hint

Because of the size and time it takes to run the test runner is on it’s own repo.

At least until I can manage to reduce the total run time which is about 8 minutes without coverage.

Report

27 failed, 14547 passed, 102 skipped @ travis-ci

✨✨✨✨

Methodology

  • Invalid schema tests or no schema tests are ignored (~12k tests)

  • Generate dataclasses for given schema. - Fail when cli raises exception or expected module::class is not found.

  • Parse the given xml instance. - Fail when parser raises exception.

  • Serialize to xml and validate against the schema. - Fail if final output is invalid. - Skip if original instance or schema also fail validation.

For all XML Schema definitions we use the xmlschema to validate results.

Hint

xsdata is an xml binding library not a schema validator.

Try it out

git clone git@github.com:tefra/xsdata-w3c-tests.git
cd xsdata-w3c-tests
pip install -r requirements.txt
pytest -n 4 --tb short tests/  # | tee pytest.log