A Rust library implementing XPath 1.0 for XML document querying and manipulation.
SXD-XPath is a Rust library that implements the XPath 1.0 specification for querying and navigating XML documents. It provides a safe, native Rust alternative to C-based XML processing libraries, allowing developers to evaluate XPath expressions against XML data structures programmatically.
Rust developers working with XML data who need to perform complex queries, transformations, or data extraction using XPath expressions.
It offers a pure Rust implementation that avoids external C dependencies, integrates seamlessly with Rust's safety guarantees, and aims to eventually support XSLT 1.0 as a comprehensive XML processing solution.
An XPath 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.
Implements XPath in Rust to avoid external C dependencies, leveraging Rust's memory safety guarantees as stated in the philosophy of providing a safe alternative.
Provides complete implementation of the XPath 1.0 specification for evaluating expressions against XML documents, ensuring standard-compliant querying.
Includes a separate `sxd-document` crate for DOM manipulation and XML reading/writing from strings, allowing flexible integration as mentioned in the overview.
Offers scattered utilities for testing XPath expressions via command line, facilitating quick prototyping and learning without writing full Rust code.
Only supports XPath 1.0, lacking newer features from XPath 2.0 or 3.0 such as richer data types and functions, which may restrict complex XML processing.
XSLT 1.0 support is a future plan and not yet implemented, making it unsuitable for projects requiring XML transformations with XSLT today.
Compared to established libraries like libxml, it has a smaller community and fewer resources, which can hinder debugging, integration, and adoption in production.
sxd-xpath is an open-source alternative to the following products: