PureXML/Sources/Schema
Mihaela Mihaljevic a7f5407552 feat(validation): streaming XSD validation, completing #107
Add Schema.Document.validate(streaming:) and ComplexValidator.validateShallow:
resolve each element's type from its parent's content model (and xsi:type /
typeReference) as it opens, then check its attributes and content-model
structure shallowly as it closes, against a shallow element synthesized from
the streamed child names. A child's deeper validity is checked when it closes,
so only the open-element stack is held. A differential test asserts streaming
agrees with the tree validator across valid and invalid documents (missing
attributes, bad simple values, missing/extra/misordered children). Wildcard
processContents and substitution-group resolution in the streaming form stay
on the tree validator. The streaming methods moved to ComplexValidatorStreaming
to keep ComplexValidator under the file/type-body caps.

Closes #107
2026-06-09 16:52:17 +02:00
..
BuiltinType.swift
ComplexType.swift
ComplexValidator.swift feat(validation): streaming XSD validation, completing #107 2026-06-09 16:52:17 +02:00
ComplexValidatorDerivation.swift feat(schema): XSD derivation control (abstract, block, final, redefine) 2026-06-08 14:14:23 +02:00
ComplexValidatorHelpers.swift feat(schema): XSD namespace qualification and xs:all constraints 2026-06-08 14:24:17 +02:00
ComplexValidatorStreaming.swift feat(validation): streaming XSD validation, completing #107 2026-06-09 16:52:17 +02:00
ContentMatcher.swift
DateTimeParser.swift
DateTimeValue.swift
DecimalValue.swift
DerivationMethod.swift feat(schema): XSD derivation control (abstract, block, final, redefine) 2026-06-08 14:14:23 +02:00
IdentityConstraint.swift
IdentityValidator.swift fix(xsd): locate identity-constraint errors at the offending node 2026-06-09 08:57:33 +02:00
Lexical.swift
Primitive.swift
RelaxNGCompactHelpers.swift feat(relaxng): fold RNC ~ string concatenation 2026-06-08 17:38:58 +02:00
RelaxNGCompactLexer.swift
RelaxNGCompactParser.swift feat(relaxng): skip RNC >> follow-annotations, completing #79 2026-06-09 03:20:47 +02:00
RelaxNGDerivative.swift feat(validation): streaming RELAX NG validation 2026-06-09 10:35:42 +02:00
RelaxNGDiagnostics.swift feat(relaxng): distinguish undeclared attribute from invalid value 2026-06-09 01:11:54 +02:00
RelaxNGFacets.swift feat(relaxng): compact-syntax datatype parameter blocks 2026-06-08 16:55:57 +02:00
RelaxNGParser.swift feat(relaxng): compare typed <value> in the datatype value space 2026-06-08 17:36:16 +02:00
RelaxNGPattern.swift feat(relaxng): compare typed <value> in the datatype value space 2026-06-08 17:36:16 +02:00
RelaxNGSchema.swift feat(validation): streaming RELAX NG validation 2026-06-09 10:35:42 +02:00
SchemaDocument.swift feat(validation): streaming XSD validation, completing #107 2026-06-09 16:52:17 +02:00
SimpleType.swift feat(relaxng): compare typed <value> in the datatype value space 2026-06-08 17:36:16 +02:00
StreamingXSDValidator.swift feat(validation): streaming XSD validation, completing #107 2026-06-09 16:52:17 +02:00
TypeDerivation.swift feat(schema): XSD derivation control (abstract, block, final, redefine) 2026-06-08 14:14:23 +02:00
XSDCompletions.swift
XSDComplexContent.swift feat(schema): XSD derivation control (abstract, block, final, redefine) 2026-06-08 14:14:23 +02:00
XSDContext.swift feat(schema): XSD namespace qualification and xs:all constraints 2026-06-08 14:24:17 +02:00
XSDDerivation.swift feat(schema): XSD namespace qualification and xs:all constraints 2026-06-08 14:24:17 +02:00
XSDParser.swift feat(schema): XSD namespace qualification and xs:all constraints 2026-06-08 14:24:17 +02:00
XSDSimpleParser.swift
XSDValidations.swift fix(xsd): locate identity-constraint errors at their element 2026-06-09 08:50:39 +02:00
XSDWildcardParser.swift feat(schema): XSD derivation control (abstract, block, final, redefine) 2026-06-08 14:14:23 +02:00