You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+8-5Lines changed: 8 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
5
5
**xmloxide** is a pure Rust reimplementation of libxml2 — the de facto standard XML/HTML parsing library in the open-source world. libxml2 became officially unmaintained in December 2025 with known security issues. xmloxide is a memory-safe, high-performance replacement that passes the same conformance test suites.
6
6
7
-
**Version:** 0.3.3
7
+
**Version:** 0.3.4
8
8
**License:** MIT
9
9
**MSRV:** Rust 1.81+
10
10
@@ -13,7 +13,7 @@
13
13
- Full conformance with W3C XML 1.0 (Fifth Edition) and Namespaces in XML 1.0
14
14
-**1727/1727** W3C XML Conformance Test Suite tests passing (100%)
-**WHATWG HTML5 parser** — full HTML Living Standard tokenizer (§13.2.5) and tree builder (§13.2.6) with 7032/7032 tokenizer tests + 1778/1778 tree construction tests passing (100% html5lib-tests)
18
18
- Zero `unsafe` in public API surface (`unsafe_code = "deny"` in Cargo.toml)
19
19
- No system dependencies — pure Rust (uses `encoding_rs` for character encoding)
@@ -85,7 +85,8 @@ src/
85
85
│ ├── mod.rs # ValidationResult, ValidationError
86
86
│ ├── dtd.rs # DTD parsing and validation (populates id_map)
87
87
│ ├── relaxng.rs # RelaxNG schema parsing and validation
88
-
│ └── xsd.rs # XML Schema (XSD) parsing and validation
88
+
│ ├── xsd.rs # XML Schema (XSD) parsing and validation
89
+
│ └── schematron.rs # ISO Schematron (ISO/IEC 19757-3) rule-based validation
89
90
├── serial/
90
91
│ ├── mod.rs # Serialization options and entry points
91
92
│ ├── xml.rs # XML serializer
@@ -279,6 +280,7 @@ cargo +nightly fuzz run fuzz_sax
279
280
cargo +nightly fuzz run fuzz_reader
280
281
cargo +nightly fuzz run fuzz_push
281
282
cargo +nightly fuzz run fuzz_validation
283
+
cargo +nightly fuzz run fuzz_schematron
282
284
```
283
285
284
286
---
@@ -356,7 +358,7 @@ Pre-commit hooks available via `./scripts/install-hooks.sh` (runs fmt, clippy, t
356
358
357
359
| Suite | Location | Tests | Notes |
358
360
|-------|----------|-------|-------|
359
-
| Unit tests |`src/**/*.rs` (inline) |848| All modules |
361
+
| Unit tests |`src/**/*.rs` (inline) |991| All modules |
0 commit comments