Naive XML Bindings for python¶
Features¶
Generate data models from XML Schema 1.0 and 1.1 definitions.
Supports qualified/unqualified elements and attributes
Supports enumerations and inner classes
Flattening strategies to keep the code as simple as possible.
Preserve embedded documentation and references
Pluggable code writer that supports different formats
Output: Python Data Classes
PEP8 naming conventions and code output
Full support for type hints even with forward references
XML Parser & Serializer based on lxml
JSON Parser & Serializer
Output: PlantUML class diagram
Check the documentation test suites or our W3C XML Schema 1.1 test runner and the samples repo for more ✨✨✨
Why naive?
The W3C XML Schema offers so much flexibility and abstraction layers and grammatical rules to support practically any xml document definition.
Integration teams and clients don’t care about any of that, take out abstraction and flexibility and you are left with lean named data structures with typed attributes and a namespace for humans to read!
- Getting started
- Code Generator
- Architecture
- Formats
- Tests
- Changelog
- About
- API Reference
- xsdata
- xsdata package
- xsdata.analyzer module
- xsdata.builder module
- xsdata.cli module
- xsdata.exceptions module
- xsdata.formats package
- xsdata.formats.bindings module
- xsdata.formats.converters module
- xsdata.formats.dataclass package
- xsdata.formats.dataclass.filters module
- xsdata.formats.dataclass.generator module
- xsdata.formats.dataclass.mixins module
- xsdata.formats.dataclass.models module
- xsdata.formats.dataclass.parsers package
- xsdata.formats.dataclass.parsers.json module
- xsdata.formats.dataclass.parsers.xml module
- xsdata.formats.dataclass.serializers package
- xsdata.formats.dataclass.serializers.json module
- xsdata.formats.dataclass.serializers.xml module
- xsdata.formats.dataclass.utils module
- xsdata.formats.generators module
- xsdata.formats.plantuml package
- xsdata.formats.plantuml.generator module
- xsdata.logger module
- xsdata.models package
- xsdata.models.codegen module
- xsdata.models.elements module
- xsdata.models.enums module
- xsdata.models.inspect module
- xsdata.models.mixins module
- xsdata.parser module
- xsdata.resolver module
- xsdata.transformer module
- xsdata.utils package
- xsdata.utils.codegen module
- xsdata.utils.text module
- xsdata.writer module