A Rust XML library providing DOM manipulation, XPath 1.0 support, and utilities for XML processing.
SXD-Document is an XML library written in Rust that provides DOM manipulation and XPath 1.0 expression support. It allows developers to parse, query, and manipulate XML documents entirely within Rust, offering a native alternative to C-based XML processing libraries. The project is structured into separate crates for core document handling and XPath functionality.
Rust developers who need to work with XML data, particularly those looking for a pure Rust implementation without external C dependencies. It's also suitable for developers learning Rust through practical XML processing projects.
Developers choose SXD-Document because it provides a fully native Rust implementation for XML processing, eliminating the need for C bindings and external libraries like libxml. Its modular crate structure and planned XSLT support make it a comprehensive solution for XML workflows in Rust ecosystems.
An XML library in Rust
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Eliminates C dependencies by providing a native alternative to libraries like libxml, reducing cross-compilation issues and enhancing safety in Rust ecosystems.
Implements XPath 1.0 expressions via the separate sxd-xpath crate, enabling complex XML queries without relying on external tools or bindings.
Splits functionality into core document handling and XPath crates, allowing developers to use only the components they need for flexibility.
Explicitly designed as a learning tool for Rust, with a clear codebase and contribution process that encourages understanding of XML processing internals.
XSLT 1.0 is only planned for the future, limiting its utility for XML transformations compared to complete libraries like libxslt.
Requires managing two separate crates (sxd-document and sxd-xpath), which can complicate setup, dependency management, and increase learning overhead.
As a project focused on learning and replacing established libraries, it may lack the optimization, extensive features, and community support of alternatives, making it less suitable for critical production use.
sxd-document is an open-source alternative to the following products: