Skip to content

Validates XSD version 1.1 via a bridge to Java Xerces

License

Notifications You must be signed in to change notification settings

innodatalabs/xsd-validator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

xsd_validator

xsd_validator PyPI version

Validates an XML file against XSDs, supports XSD version 1.1. Requires Java Runtime (version 8 or better).

API

Assert that my.xml is valid according to schema schema.xsd:

from xsd_validator import XsdValidator

validator = XsdValidator('schema.xsd')
validator.assert_valid('my.xml')

A more complex schema may be split between several files, for example: schema.xsd, schema-aux.xsd and xml.xsd. Just pass them all to the XsdValidator:

from xsd_validator import XsdValidator

validator = XsdValidator('schema.xsd', 'schema-aux.xsd', 'xml.xsd')
validator.assert_valid('my.xml')

Sometimes you need to get all problems discovered. You can loop through the errors like this:

from xsd_validator import XsdValidator

validator = XsdValidator('schema.xsd', 'schema-aux.xsd', 'xml.xsd')
for err in validator('my.xml'):
    print(err)

CLI

You can use xsd_validator module as an executable, like this:

python -m xsd_validator

For example:

python -m xsd_validator schema.xsd my.xml

Help:

python -m xsd_validator -husage: xsd_validator [-h] xsd [xsd ...] xml

Validate an XML file againsd XSD schema (supports XSD version 1.1)

positional arguments:
  xsd         XSD files
  xml         XML file to check

optional arguments:
  -h, --help  show this help message and exit

About

Validates XSD version 1.1 via a bridge to Java Xerces

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published