PureXML/Sources
Mihaela Mihaljevic fe19b0b1ea feat(xsd): add identity constraints (unique, key, keyref)
Validate XSD identity constraints over the instance document in a pass that
walks the tree alongside type validation:

- xs:unique requires the selected nodes' field tuples to be distinct, excluding
  any node that is missing a field.
- xs:key additionally requires every field to be present.
- xs:keyref requires each tuple to equal a tuple of the named key or unique
  visible in an enclosing scope, resolved through a stack of scope frames so a
  keyref and the key it refers to may sit on the same element.

The selector and field XPaths run on the existing XPath engine, relative to the
declaring element and each selected node. Constraints are gathered for every
element declaration at any depth, keyed by element name.

Closes #67
2026-06-08 08:58:36 +02:00
..
Canonical feat(canonical): Canonical XML (C14N) serialization 2026-06-08 06:13:02 +02:00
Catalog feat(catalog): OASIS XML Catalog resolution 2026-06-08 06:03:02 +02:00
Emitting feat(emit): XML declaration save-option parity 2026-06-08 02:57:27 +02:00
HTML chore: silence clean-build warnings 2026-06-08 07:32:28 +02:00
Model feat(model): mutable parent-aware tree (libxml2 tree.h parity) 2026-06-08 03:13:59 +02:00
Parsing feat(parsing): resumable push / feed streaming API 2026-06-08 07:21:22 +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(xsd): add identity constraints (unique, key, keyref) 2026-06-08 08:58:36 +02:00
Stream chore: scaffold PureXML pure-Swift XML package 2026-06-07 23:20:20 +02:00
Validation feat(validation): Schematron rule validation 2026-06-08 05:58:55 +02:00
XInclude feat(xinclude): XInclude, URI resolution, and xml:base 2026-06-08 06:08:31 +02:00
XPath feat(xslt): add xsl:key/key(), format-number(), xsl:number, and document() 2026-06-08 08:01:17 +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 ci: split workflows for truthful badges and attribution gates 2026-06-08 04:37:32 +02:00
PureXML.swift feat(html): lenient HTML parser and serializer 2026-06-08 07:12:42 +02:00