PureXML/Sources/XSLT
Mihaela Mihaljevic 6c0afa3749 fix(xslt): composition cycles terminate; id() gains a per-document index
An include or import cycle recursed without bound and crashed the
host with a stack overflow, reachable from stylesheet data. The
compile chain tracks the active load chain by resolved href and drops
re-entry, while diamond composition keeps loading both copies with
their own import precedences per 2.6.2. id() builds a per-document
index on first use instead of re-walking the document per call,
matching key(). Cycle and diamond regression tests added.
2026-06-10 18:07:02 +02:00
..
XSLTAVT.swift feat(xslt): implement xsl:namespace-alias, completing #81 2026-06-09 02:10:16 +02:00
XSLTDocumentCache.swift fix(xslt): composition cycles terminate; id() gains a per-document index 2026-06-10 18:07:02 +02:00
XSLTElements.swift feat(xslt): attribute-set merging, copied namespaces, html booleans, loader entities 2026-06-10 16:11:02 +02:00
XSLTFunctions.swift feat(xslt): DTD-typed id() and node-kind generate-id() 2026-06-10 17:03:39 +02:00
XSLTLookups.swift fix(xslt): composition cycles terminate; id() gains a per-document index 2026-06-10 18:07:02 +02:00
XSLTMatchCache.swift feat(xslt): contextual sort keys and cross-document template matching 2026-06-10 13:54:37 +02:00
XSLTModel.swift feat(xslt): top-level stylesheet parameters 2026-06-10 17:35:11 +02:00
XSLTNamespaceFixup.swift feat(xslt): attribute-set merging, copied namespaces, html booleans, loader entities 2026-06-10 16:11:02 +02:00
XSLTNumbering.swift fix(xslt): gate raw-output markers, cache pattern table, add CI tests 2026-06-10 15:01:07 +02:00
XSLTParser.swift fix(xslt): composition cycles terminate; id() gains a per-document index 2026-06-10 18:07:02 +02:00
XSLTParserEntry.swift feat(xslt): top-level stylesheet parameters 2026-06-10 17:35:11 +02:00
XSLTParserStructural.swift feat(xslt): stylesheet namespace resolution for patterns and expressions 2026-06-10 13:36:59 +02:00
XSLTRawText.swift feat(xslt): output methods in depth 2026-06-10 13:10:50 +02:00
XSLTRuntime.swift feat(xslt): post-order import precedence, scoped apply-imports, relative hrefs 2026-06-10 16:27:06 +02:00
XSLTSorting.swift feat(xslt): space-ignorable sort collation 2026-06-10 17:24:06 +02:00
XSLTTransform.swift feat(xslt): top-level stylesheet parameters 2026-06-10 17:35:11 +02:00
XSLTTransformer.swift feat(xslt): top-level stylesheet parameters 2026-06-10 17:35:11 +02:00
XSLTUnitCollector.swift fix(xslt): composition cycles terminate; id() gains a per-document index 2026-06-10 18:07:02 +02:00
XSLTWhitespace.swift feat(xslt): output methods in depth 2026-06-10 13:10:50 +02:00