v0.0.10 Pure Rust XML Toolkit
Zero Unsafe Code. Uncompromising XML Performance.
oxml is a comprehensive XML processing toolkit for Rust, WebAssembly, and AI coding agents. Built from day one with `#![forbid(unsafe_code)]`, SWAR streaming acceleration, a generational arena DOM tree, and a complete XPath 1.0 engine.

One Command Installation
Add oxml to your Cargo manifest and start parsing immediately with an ergonomic, safe API.
terminal
cargo add oxml
use oxml::Document;
fn main() -> Result<(), Box<dyn std::error.Error>> {
let doc = Document::parse("<book id='b1'>Rust</book></library>")?;
let book = doc.select("//book[@id='b1']")?;
println!("Found: {}", book[0].text_content());
Ok(())
} Core Architecture & Capabilities
Every component is engineered for reliability, safety, and predictability across native Rust, CLI pipes, and browser environments.
Zero Unsafe Code
Enforced with #![forbid(unsafe_code)] at crate root. Zero raw pointer arithmetic, zero transmute tricks, zero undefined behaviour risks.
Generational Arena Tree
Cache-friendly contiguous arena with O(1) node recycling. Removed elements reuse slots with bumped generations, preventing stale handles.
XPath 1.0 Engine
Full specification evaluator supporting 13 axis steps, predicates, standard functions (count, contains, starts-with), and variable resolution.
Lockstep Ecosystem
CLI tool, WebAssembly bundle, JSON-RPC, LSP server, and MCP agent toolkit, all shipping unified versions and zero dependency drift.
Engineered for Rigorous Production Standards
Validated against official W3C XML conformance suites and benchmarked against industry baselines.
- 0
- Unsafe blocks across the entire core library
- 2.5x
- Throughput improvement with SWAR chunked delimiter scanning
- 7
- Synchronized crates in the lockstep ecosystem