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

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-features

Slower, 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

The crate on GitHub The specification