Xee: A Modern XPath and XSLT Engine in Rust
a year ago
- #Programming Languages
- #Rust
- #XML
- Xee is a modern implementation of XPath and XSLT in Rust, developed over the last two years.
- Xee includes a command-line tool for XPath queries and a Rust library for XPath queries from Rust.
- The project was initiated in 2023 with support from Paligo, aiming to modernize XML technologies.
- Xee implements XPath 3.1 and partially XSLT 3.0, offering a modern alternative to outdated libraries like libxml2 and libxslt.
- XML technologies, though no longer 'cool', remain widely used in formats like SVG, MathML, and document standards.
- Xee's architecture involves lexing, parsing, and compiling XPath and XSLT into bytecode for execution.
- The project faces challenges due to the extensive and deep specifications of XML technologies, spanning over 1800 pages.
- Xee's XPath 3.1 implementation is nearly complete, passing 20,130 out of 21,859 conformance tests.
- The author calls for contributors to help with further development, optimization, and expanding XSLT support.
- Xee aims to secure a future for XML technologies by providing a modern, open-source implementation outside the Java ecosystem.