pyxsd documentation¶
Documentation for pyxsd, a Python library and CLI that maps XML
documents into Python object trees according to an XML Schema (XSD). It
reports validation issues, queries and exports the bound tree (xpath /
find / to_dict / to_json), runs user-defined transforms, and writes
XML. The base install has two small, pure-Python dependencies, elementpath
and defusedxml; defusedxml is used only when the opt-in parser profiles are
selected. pyxsd is an XSD 1.1 processor with an optional XSD 1.0 mode.
For explicit local input sequences, see Sequential multi-document parsing: reuse one compiled schema for parsing or export a new manifested Parquet dataset with the optional Arrow adapter. To attach methods and validation checks to generated classes, see Mixin extensions. The API reference covers schema introspection and filtered stubs; Validation covers resource policies and diagnostic locations; XML security and untrusted input covers parser profiles, limits, remote loading, and untrusted-input boundaries.
Contents
- Quickstart
- Command-line reference
- End-to-end demo walkthrough
- Architecture
- MCP integration
- Install and launch
- Persistent store and session inputs
- Basic workflow
- Tool catalog
- Artifacts
- Schema exploration and diagnostics
- Projected records (optional Arrow)
- Schema comparison and migration evidence
- Packaged skill discovery
- Local transformation previews
- Worker and resource model
- Audit records and restart behavior
- MCP worker deployment
- Data model
- Validation
- XML security and untrusted input
- Sequential multi-document parsing
- Parse modes and binding
- Mixin extensions
- Transforms
- Supported features
- XML and XSD validation
- XSTS methodology and results
- Corpus and case selection
- What the adapters execute
- Outcome definitions
- Interpreting residual failures
- Why extra-suite.xml is separate
- Two distinct xmlschema roles
- Reproducing reports and baseline gates
- Measurement limits
- Source data
- Outcomes and checked agreement
- Schema and instance splits
- Failure directions
- Combined-profile applicability
- Cross-profile failure relationships
- Residual dispositions
- pyxsd compared with xmlschema
- pyxsd compared with libxml2
- API reference
- Optional Pydantic and Arrow integrations
- Data workflow examples
- Skills
- Migrating from pyxsd 0.1 to 1.0
- Project history
- Contributing