Skip to main content
PyCon US is happening May 14th-22nd in Pittsburgh, PA USA.  Learn more

Python XML Schema Bindings

Project description

PyXB is a pure Python package that generates Python code for classes that correspond to data structures defined by XMLSchema. In concept it is similar to JAXB for Java and CodeSynthesis XSD for C++.

The major goals of PyXB are:

  • Provide a generated Python interface that is “Pythonic”, meaning similar to one that would have been hand-written:

    • Attributes and elements are Python properties, with name conflicts resolved in favor of elements

    • Elements with maxOccurs larger than 1 are stored as Python lists

    • Bindings for type extensions inherit from the binding for the base type

    • Enumeration constraints are exposed as class (constant) variables

  • Support bi-directional conversion (document to Python and back)

  • Allow easy customization of the generated bindings to provide functionality along with content

  • Support all XMLSchema features that are in common use, including:

    • complex content models (nested all/choice/sequence)

    • cross-namespace dependencies

    • include and import directives

    • constraints on simple types

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page