PureXML/Sources
Mihaela Mihaljevic 36a40eec08 fix(xsd): locate identity-constraint errors at the offending node
Refine the identity-constraint path: rather than locating at the element
that declares the key, walk from the constraint-bearing element down to the
selected target and report the actual offender, so a duplicate key renders
"at path: list/item[2]" and a dangling keyref "at path: orders/line".
Also locate the "no element declaration for the root" XSD error at the root
element, matching the namespace check beside it that already did so. Lock
both with coding-path assertions in the identity tests.
2026-06-09 08:57:33 +02:00
..
Canonical feat(canonical): C14N 2.0 sequential prefix rewrite, QName-aware values, node-set selection (#85) 2026-06-09 04:06:02 +02:00
Catalog
Emitting feat(emitting): textEscaping round-trip option to preserve carriage returns (#91) 2026-06-09 03:48:20 +02:00
HTML feat(html): vendor the complete WHATWG named entity set (#84) 2026-06-09 07:45:55 +02:00
Model feat(model): first-class doctype/entity-reference/namespace nodes, ownerDocument, adoption (#90) 2026-06-09 03:43:24 +02:00
Parsing feat(parsing): Big5 (Traditional Chinese / HKSCS) 2026-06-09 08:30:57 +02:00
Pattern
Regex
Schema fix(xsd): locate identity-constraint errors at the offending node 2026-06-09 08:57:33 +02:00
Stream
Validation feat(html): conformance validator as composable Validation rules 2026-06-09 04:39:03 +02:00
XInclude feat(xinclude): range inclusion via XPointer range model (#87) 2026-06-09 04:19:38 +02:00
XPath
XPointer feat(xpointer): range(), range-to(), and string-range() schemes (#88) 2026-06-09 04:16:23 +02:00
XSLT feat(xslt): document() fragments and base-URI resolution, completing #82 2026-06-09 03:12:49 +02:00
API.swift
Lint.swift
PureXML.swift
QuickFix.swift