PureXML 0.2.0
Pre-release
Pre-release
Second pre-release of PureXML — a pure-Swift XML parser/emitter with an XSD 1.0 schema engine, XPath/XSLT support, and a WASI-compatible build (no external dependencies; macOS, Linux, WASI).
Highlights
- Schema-validity campaign: W3C XSTS settled baselines 1 / 266 / 171 / 155 (valid schema rejected / invalid schema accepted / valid instance rejected / invalid instance accepted). Invalid-schemas-accepted down from 394 at 0.1.0 to 266.
- New rules: facet applicability, schema element order and import constraints, cross-container name uniqueness, notation validation, namespace-aware reference resolution, complexContent attribute inheritance/restriction, NameAndTypeOK type derivation (partial), keyref arity, and component child-content shape checks.
- Robustness: generative schema/parser fuzz harness (no crashes or hangs over the current corpus).
XSTS baselines (settled expectations)
| Bucket | Count |
|---|---|
| Valid schemas rejected | 1 (particlesZ001, spec-ambiguous) |
| Invalid schemas accepted | 266 |
| Valid instances rejected | 171 |
| Invalid instances accepted | 155 |
Run opt-in: XSTS_ROOT=/path/to/xmlschema2006-11-06 swift test -c release --filter XSTS
Status
Pre-1.0. Remaining gates: schema differential oracle, proven bounds (not caps), located line/column diagnostics. See docs/production-readiness.md and CHANGELOG.md.