oxml
🌐 EN , Change language

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.

Get Started View Architecture

Developer workspace illustrating high performance systems programming

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

Install oxml Today