#xml-parser #xml #xml-data #derive #serialization #generic #element

macro xml-data-derive

Derive macros for generic XML parsing and serializing

1 unstable release

0.0.1 Jan 6, 2020

#35 in #xml-data


Used in xml-data

MIT license

20KB
570 lines

Travis Build Status crates.io MIT licensed

This library provides a generic interface to parse XML data: a user might implement how to parse and serialize their data (possibly derived), while others will implement adaptors for generic XML parsers.

This is similar to what serde does; but serde assumes your data consists of "native data" (strings, integers, floats, ...) and nested data (lists and maps). XML doesn't map to this very well; while there are some adaptors, they often accept lots of structually different input data: an element might be interpreted as map in serde. A subelement with text now can be interpreted as key (<key>value</key>), but an attribute is interpreted the same way <... key="value">.

This library focuses only on XML instead, and provides a more strict interface with clearly defined output.

For the following XML handling crates adaptors are included if enabled through the equally named features:

The documentation for master is located at https://stbuehler.github.io/rustdocs/xml-data/xml-data-derive/; released versions are documented at https://docs.rs/xml-data-derive.

Dependencies

~1.5MB
~35K SLoC