PureXML/Sources/Schema
Mihaela Mihaljevic b391db6a74 fix(schema): enforce model-group occurrence ranges; invalid-schemas-accepted 130 to 110 (#145)
Enforce the two occurrence-range constraints on model groups that PureXML
was not checking:

- p-props-correct.1: a particle's minOccurs may not exceed its maxOccurs,
  both defaulting to 1 when the attribute is absent. occurrenceOrderErrors
  previously fired only when BOTH attributes were present, so it missed
  minOccurs="2" with a defaulted maxOccurs (2 > 1) and maxOccurs="0" with a
  defaulted minOccurs (1 > 0). It now orders against the effective defaults.

- cos-all-limited.2: an all group's maxOccurs must be 1 and its minOccurs
  0 or 1, and every particle it contains is limited to maxOccurs 0 or 1.

Both are zero-false-positive rules (no valid schema violates them). XSTS:
invalid-schemas-accepted 130 to 110 (20 caught), valid-schemas-rejected
held at 0, no other bucket moved. The differential harness corroborates:
agree-invalid 1751 to 1767, PureXML-stricter unchanged at 87 (no new
over-rejection across 9618 schemas).
2026-06-17 20:55:22 +02:00
..
BuiltinType.swift fix(schema): validate notation declarations and enumeration restrictions 2026-06-15 22:27:04 +02:00
ComplexType.swift fix(schema): enforce NameAndTypeOK nillable clause in particle restriction (#145) 2026-06-17 17:25:10 +02:00
ComplexValidator.swift fix(schema): advance XSTS valid-instances-rejected to 4 (#146) 2026-06-16 22:22:05 +02:00
ComplexValidatorAttributes.swift fix(schema): advance XSTS valid-instances-rejected to 4 (#146) 2026-06-16 22:22:05 +02:00
ComplexValidatorContentModel.swift fix(schema): enforce NameAndTypeOK nillable clause in particle restriction (#145) 2026-06-17 17:25:10 +02:00
ComplexValidatorDerivation.swift fix(schema): advance XSTS valid-instances-rejected to 4 (#146) 2026-06-16 22:22:05 +02:00
ComplexValidatorHelpers.swift fix(schema): enforce NameAndTypeOK nillable clause in particle restriction (#145) 2026-06-17 17:25:10 +02:00
ComplexValidatorIDs.swift
ComplexValidatorStreaming.swift fix(schema): advance XSTS valid-instances-rejected to 4 (#146) 2026-06-16 22:22:05 +02:00
ComplexValidatorXSIType.swift fix(schema): advance XSTS valid-instances-rejected to 4 (#146) 2026-06-16 22:22:05 +02:00
ContentMatcher.swift fix(schema): enforce NameAndTypeOK nillable clause in particle restriction (#145) 2026-06-17 17:25:10 +02:00
ContentModelDeterminism.swift
DateTimeParser.swift
DateTimeValue.swift
DecimalValue.swift
DerivationMethod.swift
DurationValue.swift
IdentityConstraint.swift fix(schema): resolve identity-constraint XPath prefixes against the schema (#147) 2026-06-17 00:03:13 +02:00
IdentityValidator.swift fix(schema): resolve identity-constraint XPath prefixes against the schema (#147) 2026-06-17 00:03:13 +02:00
IDTracker.swift
Lexical.swift
ParticleNormalization.swift
ParticleRestriction.swift fix(schema): eliminate the last false positive (particlesZ001); false-positives = 0 (#148) 2026-06-17 19:56:57 +02:00
ParticleRestrictionElement.swift
ParticleRestrictionHelpers.swift fix(schema): eliminate the last false positive (particlesZ001); false-positives = 0 (#148) 2026-06-17 19:56:57 +02:00
Primitive.swift fix(schema): validate notation declarations and enumeration restrictions 2026-06-15 22:27:04 +02:00
RelaxNGCompactHelpers.swift
RelaxNGCompactLexer.swift
RelaxNGCompactParser.swift
RelaxNGContentType.swift
RelaxNGDerivative.swift
RelaxNGDiagnostics.swift
RelaxNGFacets.swift fix(schema): advance XSTS valid-instances-rejected to 4 (#146) 2026-06-16 22:22:05 +02:00
RelaxNGGrammarCheck.swift
RelaxNGGrammarCheckSections.swift
RelaxNGNameClasses.swift
RelaxNGNode.swift
RelaxNGParser.swift
RelaxNGParserIncludes.swift
RelaxNGPattern.swift
RelaxNGRestrictionChecker.swift
RelaxNGRestrictionOverlap.swift
RelaxNGRestrictionPaths.swift
RelaxNGRestrictions.swift
RelaxNGSchema.swift feat(validation,schema): composable validation framework and cross-document composition 2026-06-16 09:57:43 +02:00
SchemaAllGroupPlacement.swift
SchemaAttributeApplicability.swift fix(schema): forbid global-only properties on a local element (#145) 2026-06-17 15:18:33 +02:00
SchemaAttributeRestriction.swift fix(schema): a restriction's attribute wildcard must subset the base's (#145) 2026-06-17 18:46:04 +02:00
SchemaAttributeUniqueness.swift fix(schema): reject an attribute reference whose fixed value contradicts its global (#145) 2026-06-17 13:43:42 +02:00
SchemaCompileValidation.swift fix(schema): a simpleContent restriction's base must be a complex type (#145) 2026-06-17 17:37:55 +02:00
SchemaContentOrder.swift fix(schema): require a content derivation in simpleContent/complexContent (#145) 2026-06-17 14:58:58 +02:00
SchemaDerivationControl.swift fix(schema): inherit finalDefault as a complex type's final (#145) 2026-06-17 15:31:48 +02:00
SchemaDocument.swift feat(schema): compile import-chained documents as a union (#161) 2026-06-16 23:16:26 +02:00
SchemaExtensionAllGroup.swift fix(schema): a simpleContent restriction's base must be a complex type (#145) 2026-06-17 17:37:55 +02:00
SchemaFacetApplicability.swift fix(schema): validate value constraints against inline types (#145) 2026-06-17 15:45:06 +02:00
SchemaIDAttribute.swift feat(schema): locate compile diagnostics with validation coding paths (#169) 2026-06-16 10:26:11 +02:00
SchemaIdentityXPath.swift
SchemaIDValueConstraint.swift
SchemaNameUniqueness.swift fix(schema): include notation names in component-name uniqueness (#145) 2026-06-17 14:21:57 +02:00
SchemaNestedDefinition.swift
SchemaNotationValidity.swift fix(schema): hold xsd:notation to its (annotation?) content model (#145) 2026-06-17 14:17:27 +02:00
SchemaReferenceForeignPools.swift feat(validation,schema): composable validation framework and cross-document composition 2026-06-16 09:57:43 +02:00
SchemaReferenceResolution.swift feat(validation,schema): composable validation framework and cross-document composition 2026-06-16 09:57:43 +02:00
SchemaReferences.swift fix(schema): reject a redefine that redefines a component twice (#145) 2026-06-17 16:17:00 +02:00
SchemaSimpleTypeFinal.swift fix(schema): inherit finalDefault as a simple type's final (#145) 2026-06-17 13:59:19 +02:00
SchemaSimpleTypeValidity.swift fix(schema): require a list or union to declare its member types (#145) 2026-06-17 14:11:26 +02:00
SchemaStructure.swift fix(schema): enforce model-group occurrence ranges; invalid-schemas-accepted 130 to 110 (#145) 2026-06-17 20:55:22 +02:00
SchemaStructureHelpers.swift fix(schema): enforce model-group occurrence ranges; invalid-schemas-accepted 130 to 110 (#145) 2026-06-17 20:55:22 +02:00
SchemaSubstitutionType.swift feat(validation,schema): composable validation framework and cross-document composition 2026-06-16 09:57:43 +02:00
SchemaWildcardNamespace.swift
SimpleType.swift fix(schema): advance XSTS valid-instances-rejected to 4 (#146) 2026-06-16 22:22:05 +02:00
StreamingXSDValidator.swift fix(schema): advance XSTS valid-instances-rejected to 4 (#146) 2026-06-16 22:22:05 +02:00
TypeDerivation.swift
XSDAttributeParser.swift fix(schema): advance XSTS valid-instances-rejected to 4 (#146) 2026-06-16 22:22:05 +02:00
XSDCompletions.swift fix(schema): enforce NameAndTypeOK nillable clause in particle restriction (#145) 2026-06-17 17:25:10 +02:00
XSDComplexContent.swift fix(schema): advance XSTS valid-instances-rejected to 4 (#146) 2026-06-16 22:22:05 +02:00
XSDContext.swift fix(schema): enforce the NameAndTypeOK block-superset rule (#145) 2026-06-17 16:45:35 +02:00
XSDDerivation.swift fix(schema): inherit finalDefault as a complex type's final (#145) 2026-06-17 15:31:48 +02:00
XSDParser.swift fix(schema): enforce the NameAndTypeOK block-superset rule (#145) 2026-06-17 16:45:35 +02:00
XSDParserHelpers.swift fix(schema): resolve identity attribute-field types for value-space keys (#147) 2026-06-17 10:34:19 +02:00
XSDParserParticles.swift fix(schema): enforce NameAndTypeOK nillable clause in particle restriction (#145) 2026-06-17 17:25:10 +02:00
XSDParserTypeReferences.swift fix(schema): advance XSTS valid-instances-rejected to 4 (#146) 2026-06-16 22:22:05 +02:00
XSDParserUnion.swift feat(schema): compile import-chained documents as a union (#161) 2026-06-16 23:16:26 +02:00
XSDSchemaValidations.swift feat(validation,schema): composable validation framework and cross-document composition 2026-06-16 09:57:43 +02:00
XSDSimpleParser.swift fix(regex): reject a malformed \p{...} property name in a pattern facet (#145) 2026-06-17 14:53:32 +02:00
XSDSimpleParser+Facets.swift fix(schema): advance XSTS valid-instances-rejected to 4 (#146) 2026-06-16 22:22:05 +02:00
XSDValidations.swift fix(schema): advance XSTS valid-instances-rejected to 4 (#146) 2026-06-16 22:22:05 +02:00
XSDWildcardParser.swift fix(schema): advance XSTS valid-instances-rejected to 4 (#146) 2026-06-16 22:22:05 +02:00