PureXML/Sources/Schema
Mihaela Mihaljevic 31e8c22e77 fix(schema): count list-datatype length facets by items, not characters
A restriction of a built-in list datatype (NMTOKENS, IDREFS, ENTITIES)
resolved its base through neither the BuiltinType table (only the singular
NMTOKEN exists there) nor the user-type table, so it fell through to an atomic
string and length/minLength/maxLength counted characters instead of list
items, rejecting valid instances. The restriction base now resolves through
simpleTypeReference, which keeps the list variety.

XSTS #146: valid instances rejected 604 to 547, invalid instances accepted
582 to 555. Baseline updated; regression test added.

Refs #146, #129.
2026-06-13 18:04:25 +02:00
..
BuiltinType.swift
ComplexType.swift
ComplexValidator.swift fix(schema,regex): bound NFA state explosion and class-subtraction crash; land XSTS baseline 2026-06-13 18:04:25 +02:00
ComplexValidatorDerivation.swift
ComplexValidatorHelpers.swift
ComplexValidatorStreaming.swift
ContentMatcher.swift fix(schema,regex): bound NFA state explosion and class-subtraction crash; land XSTS baseline 2026-06-13 18:04:25 +02:00
DateTimeParser.swift
DateTimeValue.swift
DecimalValue.swift
DerivationMethod.swift
IdentityConstraint.swift
IdentityValidator.swift
Lexical.swift
ParticleRestriction.swift feat(xsd): Particle Valid (Restriction) 2026-06-10 04:13:54 +02:00
Primitive.swift
RelaxNGCompactHelpers.swift
RelaxNGCompactLexer.swift
RelaxNGCompactParser.swift
RelaxNGContentType.swift feat(relaxng): schema-correctness validation, spec suite complete 2026-06-10 11:38:45 +02:00
RelaxNGDerivative.swift feat(relaxng): QName values with dual-context resolution, instance level clean 2026-06-10 10:57:14 +02:00
RelaxNGDiagnostics.swift
RelaxNGFacets.swift
RelaxNGGrammarCheck.swift feat(relaxng): schema-correctness validation, spec suite complete 2026-06-10 11:38:45 +02:00
RelaxNGGrammarCheckSections.swift feat(relaxng): schema-correctness validation, spec suite complete 2026-06-10 11:38:45 +02:00
RelaxNGNameClasses.swift feat(relaxng): ns inheritance, QNames, include-start, combine, data-except 2026-06-10 10:24:46 +02:00
RelaxNGNode.swift feat(relaxng): grammar scoping, parentRef, include overrides, div flattening 2026-06-10 10:34:44 +02:00
RelaxNGParser.swift feat(relaxng): schema-correctness validation, spec suite complete 2026-06-10 11:38:45 +02:00
RelaxNGParserIncludes.swift feat(relaxng): schema-correctness validation, spec suite complete 2026-06-10 11:38:45 +02:00
RelaxNGPattern.swift feat(relaxng): QName values with dual-context resolution, instance level clean 2026-06-10 10:57:14 +02:00
RelaxNGRestrictionChecker.swift feat(relaxng): schema-correctness validation, spec suite complete 2026-06-10 11:38:45 +02:00
RelaxNGRestrictionOverlap.swift feat(relaxng): schema-correctness validation, spec suite complete 2026-06-10 11:38:45 +02:00
RelaxNGRestrictionPaths.swift feat(relaxng): schema-correctness validation, spec suite complete 2026-06-10 11:38:45 +02:00
RelaxNGRestrictions.swift feat(relaxng): schema-correctness validation, spec suite complete 2026-06-10 11:38:45 +02:00
RelaxNGSchema.swift
SchemaDocument.swift feat(relaxng): schema-correctness validation, spec suite complete 2026-06-10 11:38:45 +02:00
SimpleType.swift
StreamingXSDValidator.swift
TypeDerivation.swift
XSDCompletions.swift
XSDComplexContent.swift
XSDContext.swift refactor(xsd): schema-consistency checks through the validation framework 2026-06-10 06:04:40 +02:00
XSDDerivation.swift refactor(xsd): schema-consistency checks through the validation framework 2026-06-10 06:04:40 +02:00
XSDParser.swift refactor(xsd): schema-consistency checks through the validation framework 2026-06-10 06:04:40 +02:00
XSDSchemaValidations.swift refactor(xsd): schema-consistency checks through the validation framework 2026-06-10 06:04:40 +02:00
XSDSimpleParser.swift fix(schema): count list-datatype length facets by items, not characters 2026-06-13 18:04:25 +02:00
XSDValidations.swift
XSDWildcardParser.swift