PureXML/Sources
Mihaela Mihaljevic 2b7138ab61 feat(schema): XSD namespace qualification and xs:all constraints
Make XSD validation namespace-aware and enforce the form defaults and
xs:all structural constraints that were previously ignored:

- targetNamespace is tracked: a schema's global elements are in its
  target namespace, and an instance's root element must be in it.
- elementFormDefault / attributeFormDefault (and per-declaration form)
  qualify local element and attribute declarations. The content-model
  matcher already compares namespace URIs, so qualified declarations
  now match only same-namespace instance nodes; attribute matching
  became namespace-aware too.
- xs:all groups are checked at compile time: every member must be an
  element occurring at most once, the group may occur at most once, and
  nested model groups inside an all are rejected (a SchemaError).

When a schema has no target namespace the stamping is a no-op, so
unqualified schemas validate exactly as before.

Cross-namespace type references through xs:import resolve by local name
only; full multi-namespace type tables are not modeled.

Closes #78
2026-06-08 14:24:17 +02:00
..
Canonical feat(parity): C14N 2.0 text trimming, catalog delegation, XPath number formatting 2026-06-08 09:37:16 +02:00
Catalog feat(parity): C14N 2.0 text trimming, catalog delegation, XPath number formatting 2026-06-08 09:37:16 +02:00
Emitting feat(emit): XML declaration save-option parity 2026-06-08 02:57:27 +02:00
HTML feat(html): add HTML5 document tree construction with insertion modes 2026-06-08 09:24:11 +02:00
Model feat(editor): structured quick-fixes from completions 2026-06-08 13:35:33 +02:00
Parsing feat(editor): structured quick-fixes from completions 2026-06-08 13:35:33 +02:00
Pattern feat(pattern): streaming xmlPattern matching 2026-06-08 05:49:13 +02:00
Regex chore: silence clean-build warnings 2026-06-08 07:32:28 +02:00
Schema feat(schema): XSD namespace qualification and xs:all constraints 2026-06-08 14:24:17 +02:00
Stream chore: scaffold PureXML pure-Swift XML package 2026-06-07 23:20:20 +02:00
Validation refactor(validation): migrate Schematron, retire Issue 2026-06-08 12:49:19 +02:00
XInclude feat(xinclude): XInclude, URI resolution, and xml:base 2026-06-08 06:08:31 +02:00
XPath feat(parity): C14N 2.0 text trimming, catalog delegation, XPath number formatting 2026-06-08 09:37:16 +02:00
XPointer feat(xpointer): element() and xpointer() schemes 2026-06-08 05:52:23 +02:00
XSLT feat(xslt): add xsl:include/import, xsl:output, comment, and processing-instruction 2026-06-08 08:08:38 +02:00
API.swift feat(editor): source spans on the tree, mapping findings to positions 2026-06-08 13:14:29 +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