PureXML/Sources/Schema
Mihaela Mihaljevic f792fd6e8b feat(xsd): Particle Valid (Restriction)
A complex type derived by restriction is checked at schema compile to accept
a structural subset of its base, closing the declared XSD 1.0 spec gap.
ParticleRestriction covers element name matching, element-vs-wildcard
admission, wildcard narrowing, occurrence-range subsumption, and the group
recursions: sequence/all order-preserving with emptiable skips (Recurse),
choice mapping (RecurseLax), sequence-into-choice (MapAndSum, approximated by
per-particle checks, a documented simplification), sequence-into-all
(RecurseUnordered), and RecurseAsIfGroup for a lone element against a group.
An unfaithful restriction throws SchemaError.invalidRestriction(type:base:
reason:). All 834 pre-existing tests pass unchanged (no false positives on
the existing restriction-using schemas); 7 new tests cover the accept and
reject paths plus a conformance-harness pair.

Closes #117
2026-06-10 04:13:54 +02:00
..
BuiltinType.swift feat(schema): XSD simple-type datatype library with facets 2026-06-08 06:29:37 +02:00
ComplexType.swift feat(schema): XSD wildcards and list built-in datatypes 2026-06-08 13:53:22 +02:00
ComplexValidator.swift fix(xsd): error on unknown xsi:type; cycle-detect type references 2026-06-10 03:10:00 +02:00
ComplexValidatorDerivation.swift feat(schema): XSD derivation control (abstract, block, final, redefine) 2026-06-08 14:14:23 +02:00
ComplexValidatorHelpers.swift refactor(validation): one shared childSteps; matcher and tokenizer differentials 2026-06-10 04:06:26 +02:00
ComplexValidatorStreaming.swift fix(xsd): error on unknown xsi:type; cycle-detect type references 2026-06-10 03:10:00 +02:00
ContentMatcher.swift feat(schema): XSD wildcards and list built-in datatypes 2026-06-08 13:53:22 +02:00
DateTimeParser.swift chore: silence clean-build warnings 2026-06-08 07:32:28 +02:00
DateTimeValue.swift feat(schema): XSD simple-type datatype library with facets 2026-06-08 06:29:37 +02:00
DecimalValue.swift feat(schema): XSD simple-type datatype library with facets 2026-06-08 06:29:37 +02:00
DerivationMethod.swift feat(schema): XSD derivation control (abstract, block, final, redefine) 2026-06-08 14:14:23 +02:00
IdentityConstraint.swift feat(xsd): add identity constraints (unique, key, keyref) 2026-06-08 08:58:36 +02:00
IdentityValidator.swift refactor(validation): one shared childSteps; matcher and tokenizer differentials 2026-06-10 04:06:26 +02:00
Lexical.swift feat(schema): XSD simple-type datatype library with facets 2026-06-08 06:29:37 +02:00
ParticleRestriction.swift feat(xsd): Particle Valid (Restriction) 2026-06-10 04:13:54 +02:00
Primitive.swift feat(schema): XSD simple-type datatype library with facets 2026-06-08 06:29:37 +02:00
RelaxNGCompactHelpers.swift feat(relaxng): fold RNC ~ string concatenation 2026-06-08 17:38:58 +02:00
RelaxNGCompactLexer.swift feat(relaxng): add compact syntax (RNC) and include/externalRef 2026-06-08 09:13:09 +02:00
RelaxNGCompactParser.swift feat(relaxng): skip RNC >> follow-annotations, completing #79 2026-06-09 03:20:47 +02:00
RelaxNGDerivative.swift refactor(parsing): drop slice copies; document the expansion bounds 2026-06-10 04:01:16 +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(xsd): Particle Valid (Restriction) 2026-06-10 04:13:54 +02:00
SimpleType.swift feat(relaxng): compare typed <value> in the datatype value space 2026-06-08 17:36:16 +02:00
StreamingXSDValidator.swift fix(xsd): error on unknown xsi:type; cycle-detect type references 2026-06-10 03:10:00 +02:00
TypeDerivation.swift feat(schema): XSD derivation control (abstract, block, final, redefine) 2026-06-08 14:14:23 +02:00
XSDCompletions.swift fix(xsd): error on unknown xsi:type; cycle-detect type references 2026-06-10 03:10:00 +02:00
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(xsd): Particle Valid (Restriction) 2026-06-10 04:13:54 +02:00
XSDParser.swift feat(schema): XSD namespace qualification and xs:all constraints 2026-06-08 14:24:17 +02:00
XSDSimpleParser.swift feat(schema): XSD wildcards and list built-in datatypes 2026-06-08 13:53:22 +02:00
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