PureXML/Sources/XPath
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
..
Axis.swift perf(xpath): skip the document-order sort for an already-ordered single step (#283) 2026-06-25 05:04:00 +02:00
AxisNavigation.swift refactor(validation): decompose XSD instance validation into composable rules 2026-07-12 14:12:17 +02:00
Budget.swift feat(xpath,xslt,wasm): evaluation budget, tailored collation, WASI runtime proof 2026-06-11 06:26:13 +02:00
Compiler.swift refactor(validation): decompose XSD instance validation into composable rules 2026-07-12 14:12:17 +02:00
CompilerDescendantFusion.swift perf(xpath): fuse // into a descendant step for non-positional predicates (#281) 2026-06-25 03:21:03 +02:00
CompilerPaths.swift refactor(validation): decompose XSD instance validation into composable rules 2026-07-12 14:12:17 +02:00
CoreFunctions.swift refactor(validation): decompose XSD instance validation into composable rules 2026-07-12 14:12:17 +02:00
DocumentOrder.swift refactor(validation): decompose XSD instance validation into composable rules 2026-07-12 14:12:17 +02:00
EvaluationContext.swift perf(xpath): cache and fuse the following-sibling/preceding-sibling axes (#306) 2026-06-25 22:41:32 +02:00
Evaluator.swift refactor(validation): decompose XSD instance validation into composable rules 2026-07-12 14:12:17 +02:00
EvaluatorOperators.swift refactor(validation): decompose XSD instance validation into composable rules 2026-07-12 14:12:17 +02:00
EvaluatorSteps.swift refactor(validation): decompose XSD instance validation into composable rules 2026-07-12 14:12:17 +02:00
Expression.swift feat(xpath): expression engine and the four-type model 2026-06-08 05:33:13 +02:00
EXSLTFunctions.swift refactor(validation): decompose XSD instance validation into composable rules 2026-07-12 14:12:17 +02:00
NodeFunctions.swift refactor(validation): decompose XSD instance validation into composable rules 2026-07-12 14:12:17 +02:00
NodeTest.swift feat(xpath): all thirteen axes via parent-aware navigation 2026-06-08 05:15:14 +02:00
Query.swift fix(schema): advance XSTS valid-instances-rejected to 4 (#146) 2026-06-16 22:22:05 +02:00
QueryError.swift feat(xpath,xslt,wasm): evaluation budget, tailored collation, WASI runtime proof 2026-06-11 06:26:13 +02:00
Selection.swift fix(xpath): make string-value extraction iterative and comment-correct (#351) 2026-06-26 20:44:49 +02:00
SiblingIndexCache.swift fix(xpath): cache the attribute index for document-order keys (#305) 2026-06-25 22:01:13 +02:00
Step.swift feat(xpath): expression engine and the four-type model 2026-06-08 05:33:13 +02:00
StringFunctions.swift refactor(validation): decompose XSD instance validation into composable rules 2026-07-12 14:12:17 +02:00
Value.swift refactor(validation): decompose XSD instance validation into composable rules 2026-07-12 14:12:17 +02:00
XPathNode.swift perf(xpath): order results by a per-root index, linear not quadratic in depth (#347) 2026-06-26 18:22:20 +02:00