PureXML/Sources
Mihaela Mihaljevic 6861cd5d62 feat(validation): eduni errata behaviors, 3.3.3 attribute normalization
The eduni sections run with exact classified baselines. Fixes: 3.3.3
CDATA attribute-value normalization (literal whitespace to space before
reference decoding; char-ref whitespace survives; tokenized collapse on
SPACE only); production-68 lenient undeclared entities in content and
attribute values (validity finding, reference kept literal, nothing
fetched); errata E15 (references/comments/PIs/whitespace in EMPTY,
char-ref whitespace as data in element content, double-escape shape
included); errata E2 duplicate enumeration tokens; errata E14
declarations completed inside PE replacements (VC: Proper
Declaration/PE Nesting); NCName ID values; namespace declarations
subject to the every-attribute-declared rule. Reader validity machinery
split to EventReaderValidity for caps.

Closes #127
2026-06-10 07:50:47 +02:00
..
Canonical feat(c14n): Canonical XML 1.1 (xml:base merging, no xml:id inheritance) 2026-06-09 17:59:35 +02:00
Catalog feat(catalog): honor group-level prefer override 2026-06-08 18:05:03 +02:00
Emitting feat(emitting): output encoding for UTF and single-byte families 2026-06-09 09:32:39 +02:00
HTML fix(html): fragment parser reconstructs active formatting elements 2026-06-10 01:59:16 +02:00
Model docs(model): TreeNode ownership and concurrency contracts 2026-06-10 03:46:44 +02:00
Parsing feat(validation): eduni errata behaviors, 3.3.3 attribute normalization 2026-06-10 07:50:47 +02:00
Pattern feat(pattern): streaming xmlPattern matching 2026-06-08 05:49:13 +02:00
Regex feat(regex): Unicode category escapes and character-class subtraction 2026-06-08 15:15:46 +02:00
Schema refactor(xsd): schema-consistency checks through the validation framework 2026-06-10 06:04:40 +02:00
Stream chore: scaffold PureXML pure-Swift XML package 2026-06-07 23:20:20 +02:00
Validation feat(validation): eduni errata behaviors, 3.3.3 attribute normalization 2026-06-10 07:50:47 +02:00
XInclude feat(xinclude): range inclusion via XPointer range model (#87) 2026-06-09 04:19:38 +02:00
XPath perf(xpath): compute document-order keys once per sort 2026-06-10 03:39:19 +02:00
XPointer feat(xpointer): range(), range-to(), and string-range() schemes (#88) 2026-06-09 04:16:23 +02:00
XSLT perf(xpath): compile patterns once per run, not per node 2026-06-10 03:24:38 +02:00
API.swift feat(validation): standalone validity constraints and entity WFC 2026-06-10 07:13:30 +02:00
Lint.swift feat(editor): unified lint surface merging parse and validation diagnostics 2026-06-08 13:18:29 +02:00
PureXML.swift feat(html): lenient HTML parser and serializer 2026-06-08 07:12:42 +02:00
QuickFix.swift feat(editor): structured quick-fixes from completions 2026-06-08 13:35:33 +02:00