PureXML/Sources/Canonical
Mihaela Mihaljevic 380160cc2b refactor(validation): decompose XSD instance validation into composable rules
The two monolithic XSD content/identity rules only satisfied the OpenAPIKit
validation idiom at the wrong granularity: no per-constraint removability,
no isolable failing/near-miss tests. Split them into 32 named rules, each
finding tagged at its origin and cached per XSDContext so the walk still
runs once per document (the #101 decision against duplicating XSD's
recursive type resolution still holds). Wired the streaming path's ID/IDREF
and identity checks through the same framework instead of calling the
validators imperatively, and added the unwrapAndLookup combinator the rule
already named as required.

Also includes the mandated repo-wide swiftformat/swiftlint pass.
2026-07-12 14:12:17 +02:00
..
CanonicalEscaping.swift feat(canonical): C14N 1.0 spec-example vectors, three conformance fixes 2026-06-10 08:51:47 +02:00
Canonicalizer.swift refactor(validation): decompose XSD instance validation into composable rules 2026-07-12 14:12:17 +02:00
CanonicalNodeSubset.swift refactor(validation): decompose XSD instance validation into composable rules 2026-07-12 14:12:17 +02:00
CanonicalOptions.swift feat(c14n): Canonical XML 1.1 (xml:base merging, no xml:id inheritance) 2026-06-09 17:59:35 +02:00
CanonicalPrefixRewrite.swift refactor(validation): decompose XSD instance validation into composable rules 2026-07-12 14:12:17 +02:00
CanonicalSelectedStep.swift perf(canonical): make the prefix rewrite and node-subset emit depth-safe (#355) 2026-06-27 17:08:37 +02:00
CanonicalStep.swift perf: make tree-to-tree transforms depth-safe (DTD defaults, canonicalization) (#352) 2026-06-26 19:27:37 +02:00
CanonicalURI.swift refactor(validation): decompose XSD instance validation into composable rules 2026-07-12 14:12:17 +02:00