1
0
Fork 0
firefox/third_party/rust/xml-rs/design.md
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

1.3 KiB

Reader

Basic features:

  • Parsing XML 1.0 documents and returning a stream of events
    • Support reading embedded DTD schemas
    • Support for embedded entities
  • Support for namespaces and emitting namespace information in events
  • [maybe] push-based wrapper
  • Missing XML features
    • Support for different encodings
    • Attribute values normalization
    • EOL characters normalization

Advanced features:

  • DTD schema validation
  • XSD schema validation

Writer

Basic features:

  • Writing basic XML 1.0 documents in UTF-8
  • Writing XML 1.0 documents with namespace support
  • Support for writing elements with empty body as empty elements
  • Pretty-printed and compact output
  • Writing XML document with embedded DTDs and DTD references
  • Misc features:
    • Support for different encodings
    • Support for writing CDATA as characters
    • Checking events for invalid characters (e.g. -- in comments)
    • Check for namespaces more correctly, i.e. check both for prefix and namespace URI
    • Support checking namespace prefix presence in the current namespace for events with prefix but without namespace
    • Support checking namespace prefix for events with both prefix and namespace URI

Other

DOM-based API:

  • Basic support for DOM-based API