📌 Note: This project is still under heavy development, and its APIs are subject to change.
🏃 RUNNING EXAMPLE USING WASM
<xsd ⚡> convert
Using roxmltree to parse XML files.
Couldn't find a good xsd parser that can convert xsd schema to popular data processing library formats.
This project will read custom SimpleType and ComplexType from xsd schema and convert them to other formats, trying to stay as close to the original schema as possible.
Even though arrow might be common to most, each library has its own quirks and limitations.
Converts xsd schema to:
- arrow
- avro
- duckdb (read_csv columns/types)
- json
- json representation of spark schema
- jsonschema
- pandas
- polars
- protobuf
crates
├── pyaxp -> Python bindings
├── yaxp-cli -> cli version
├── yaxp-common -> lib (deprecated, replaced by yaxp-core)
└── yaxp-core -> main lib crate, core
- pyo3/maturin support
- parameter for timezone unit/TZ (testing with polars)
- support for different xsd file encoding: UTF-16, UTF16LE, ...
- more tests
- strict schema validation to spec (xsd, avro, json-schema, ...)
- example implementation <xsd ⚡> convert
- option to lowercase column names