About
schematron is a pure Rust implementation of ISO/IEC 19757-3,
rule-based XML validation.
The crate
Facts
- Name
schematron- Version
- 0.16.0
- MSRV
- 1.96 — policy: current stable minus two
- Standard
- ISO/IEC 19757-3 (Schematron)
- Licence
- MIT OR Apache-2.0 OR GPL-2.0-only OR GPL-3.0-only
- Author
- Joel Parker Henderson
- Package
- crates.io/crates/schematron
- API docs
- docs.rs/schematron
The repository is mirrored to Codeberg and GitLab; GitHub is the primary remote.
Contributing
How to work on it
AGENTS.md in the repository is the entry point for contributors
and coding agents alike: gates, non-negotiables, and where each fact lives. spec/ is normative — a behaviour change is a specification
change first.
cargo test --all-features
cargo clippy --all-targets --all-features -- -D warnings
cargo doc --no-deps --all-features
cargo +1.96 test --all-featuresSlower, and run when relevant: cargo bench, and cargo +nightly fuzz run fuzz_validate (needs cargo-fuzz).
Adding a conformance case means adding a directory under tests/corpus/ holding schema.sch, input.xml, and expected.txt. There is no Rust to
change.
This site
How the site is built
This site is a SvelteKit project using @sveltejs/adapter-static, prerendered to plain HTML and
deployed to GitHub Pages by GitHub Actions on every push to main.
git clone https://github.com/schematron-rust/schematron-rust.github.io
cd schematron-rust.github.io
pnpm install
pnpm dev