The tools in XmlStructTools.jl aim to fill the role of schema based XML data binding in Julia. The functionality is split up into four packages:
- XsdToStruct.jl can generate Julia struct definitions from XSD files.
- AbstractXsdTypes.jl contains shared functionality that is common between different XSD struct types.
- XmlStructLoader.jl can use the module generated by XsdToStruct.jl to validate and load XML files into the generated struct definitions.
- XmlStructWriter.jl can write XSD struct instances to valid XML files.
For a quick introduction to these packages you can watch XML Data and Julian Types from JuliaCon Local Eindhoven 2023.
Warning These packages are still a work in progress. Only a small part of the entire W3C XSD recommendation is implemented. There are already some known bugs and a fix for them is on its way. But since this fix was developed at ASML this will take some time to go through the proper reviews. Please be patient while we get this sorted out.