PureXML/Sources/XSLT
Mihaela Mihaljevic 2134a23c41 feat(xslt): full xsl:number engine and stable document() identity
xsl:number implements all of XSLT 1.0 section 7.7: level
single/multiple/any with count and from matched as patterns through the
match cache, the value expression with the below-one bypass, and the
format-token engine (punctuation, separator and token reuse, zero
padding, alphabetic/roman/Greek sequences, digit grouping). An
unmatched single/multiple count renders empty; level=any always yields
a number. document() now caches per transform so repeated loads of the
same URI return the identical document and generate-id() stays unique
against live nodes (the idkey49 flake). Xalan baseline 557 -> 475
(numbering 84 -> 7).
2026-06-10 12:37:03 +02:00
..
XSLTAVT.swift feat(xslt): implement xsl:namespace-alias, completing #81 2026-06-09 02:10:16 +02:00
XSLTDocumentCache.swift feat(xslt): full xsl:number engine and stable document() identity 2026-06-10 12:37:03 +02:00
XSLTElements.swift feat(xslt): full xsl:number engine and stable document() identity 2026-06-10 12:37:03 +02:00
XSLTFunctions.swift feat(xslt): full xsl:number engine and stable document() identity 2026-06-10 12:37:03 +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): full xsl:number engine and stable document() identity 2026-06-10 12:37:03 +02:00
XSLTNamespaceFixup.swift feat(xslt): namespaced name creation, copy attribute sets, result fixup 2026-06-10 12:10:48 +02:00
XSLTNumbering.swift feat(xslt): full xsl:number engine and stable document() identity 2026-06-10 12:37:03 +02:00
XSLTParser.swift feat(xslt): namespaced name creation, copy attribute sets, result fixup 2026-06-10 12:10:48 +02:00
XSLTParserStructural.swift feat(xslt): full xsl:number engine and stable document() identity 2026-06-10 12:37:03 +02:00
XSLTRuntime.swift feat(xslt): implement xsl:apply-imports 2026-06-09 01:49:33 +02:00
XSLTTransform.swift feat(xslt): namespaced name creation, copy attribute sets, result fixup 2026-06-10 12:10:48 +02:00
XSLTTransformer.swift feat(xslt): full xsl:number engine and stable document() identity 2026-06-10 12:37:03 +02:00
XSLTWhitespace.swift feat(xslt): implement xsl:strip-space and xsl:preserve-space 2026-06-09 01:22:59 +02:00