PureXML/Sources/XSLT
Mihaela Mihaljevic 7d3ef26558 perf(xpath): compile patterns once per run, not per node
XSLT: template selection resolves each match pattern once per transform via
a per-run MatchCache (the pattern's node set is computed once over the source
tree; selection becomes an identity lookup), replacing per-(node, template)
recompilation and full-tree re-walks. XSD identity validation: a per-run query
cache compiles each selector/field XPath once instead of at every visited
element. Schematron was verified to already store compiled queries. Behavior
unchanged (all suites green); a multi-template shape test over 300 nodes
guards the optimized path. MatchCache lives in its own file to keep the
transformer under the length cap.

Closes #112
2026-06-10 03:24:38 +02:00
..
XSLTAVT.swift feat(xslt): implement xsl:namespace-alias, completing #81 2026-06-09 02:10:16 +02:00
XSLTElements.swift feat(xslt): implement xsl:sort case-order 2026-06-09 02:37:43 +02:00
XSLTFunctions.swift feat(xslt): document() fragments and base-URI resolution, completing #82 2026-06-09 03:12:49 +02:00
XSLTMatchCache.swift perf(xpath): compile patterns once per run, not per node 2026-06-10 03:24:38 +02:00
XSLTModel.swift feat(xslt): implement xsl:output cdata-section-elements 2026-06-09 02:58:34 +02:00
XSLTParser.swift feat(xslt): implement xsl:output cdata-section-elements 2026-06-09 02:58:34 +02:00
XSLTRuntime.swift feat(xslt): implement xsl:apply-imports 2026-06-09 01:49:33 +02:00
XSLTTransform.swift feat(xslt): document() fragments and base-URI resolution, completing #82 2026-06-09 03:12:49 +02:00
XSLTTransformer.swift perf(xpath): compile patterns once per run, not per node 2026-06-10 03:24:38 +02:00
XSLTWhitespace.swift feat(xslt): implement xsl:strip-space and xsl:preserve-space 2026-06-09 01:22:59 +02:00