Skip to content

PureXML 0.2.0

Pre-release
Pre-release

Choose a tag to compare

@mihaelamj mihaelamj released this 15 Jun 23:28
· 273 commits to main since this 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.