PureXML/Sources/Validation
Mihaela Mihaljevic 125274786e refactor(validation): one shared childSteps; matcher and tokenizer differentials
Extract PathKey.steps(forChildNames:) as the single path construction behind
the validator walk, the XSD content validator, and the identity validator,
replacing three identical implementations, so located errors can never
disagree on a path. Add two differentials locking the duplicated engines
together: equivalent DTD and XSD content models (sequence, choice, *, +, ?,
nested choice) must agree on every child sequence across the positional
matcher and the Thompson NFA; and the pull (EventReader) and push
(PushScanner) tokenizers must yield the same event stream for the same
document, even with the push side fed one character at a time (adjacent text
events coalesced, since chunk boundaries legitimately split text). Both
pairs agree on everything today; the differentials guard them.

Closes #115
2026-06-10 04:06:26 +02:00
..
AttributeDeclaration.swift
AttributeDefault.swift
AttributeListParser.swift feat(dtd): conditional sections, notations, NDATA, external parameter entities 2026-06-08 14:39:42 +02:00
AttributeType.swift feat(dtd): conditional sections, notations, NDATA, external parameter entities 2026-06-08 14:39:42 +02:00
Conformance.swift feat(validation): conformance-corpus harness via the validation framework 2026-06-09 19:08:17 +02:00
ContentModel.swift
ContentModelMatcher.swift feat(dtd): located content-model errors with recovery hints 2026-06-09 00:59:25 +02:00
ContentModelParser.swift
DTDDefaults.swift
DTDSchema.swift feat(dtd): conditional sections, notations, NDATA, external parameter entities 2026-06-08 14:39:42 +02:00
DTDValidationHelpers.swift refactor(validation): decompose DTD attribute checks into per-constraint rules (#101) 2026-06-09 04:28:03 +02:00
DTDValidations.swift refactor(validation): decompose DTD attribute checks into per-constraint rules (#101) 2026-06-09 04:28:03 +02:00
HTMLValidations.swift feat(html): conformance validator as composable Validation rules 2026-06-09 04:39:03 +02:00
Occurrence.swift
Particle.swift
Schematron.swift feat(schematron): support key(), document(), and current() in tests 2026-06-09 03:30:43 +02:00
SchematronModel.swift feat(schematron): support key(), document(), and current() in tests 2026-06-09 03:30:43 +02:00
SchematronParser.swift feat(schematron): support key(), document(), and current() in tests 2026-06-09 03:30:43 +02:00
Severity.swift
StreamingDTDValidator.swift feat(validation): streaming DTD ID/IDREF integrity 2026-06-09 10:21:20 +02:00
StructuralValidations.swift
Validation.swift
ValidationCombinators.swift
ValidationCore.swift refactor(validation): one shared childSteps; matcher and tokenizer differentials 2026-06-10 04:06:26 +02:00
Validator.swift refactor(validation): one shared childSteps; matcher and tokenizer differentials 2026-06-10 04:06:26 +02:00