Refine the identity-constraint path: rather than locating at the element that declares the key, walk from the constraint-bearing element down to the selected target and report the actual offender, so a duplicate key renders "at path: list/item[2]" and a dangling keyref "at path: orders/line". Also locate the "no element declaration for the root" XSD error at the root element, matching the namespace check beside it that already did so. Lock both with coding-path assertions in the identity tests. |
||
|---|---|---|
| .. | ||
| BuiltinType.swift | ||
| ComplexType.swift | ||
| ComplexValidator.swift | ||
| ComplexValidatorDerivation.swift | ||
| ComplexValidatorHelpers.swift | ||
| ContentMatcher.swift | ||
| DateTimeParser.swift | ||
| DateTimeValue.swift | ||
| DecimalValue.swift | ||
| DerivationMethod.swift | ||
| IdentityConstraint.swift | ||
| IdentityValidator.swift | ||
| Lexical.swift | ||
| Primitive.swift | ||
| RelaxNGCompactHelpers.swift | ||
| RelaxNGCompactLexer.swift | ||
| RelaxNGCompactParser.swift | ||
| RelaxNGDerivative.swift | ||
| RelaxNGDiagnostics.swift | ||
| RelaxNGFacets.swift | ||
| RelaxNGParser.swift | ||
| RelaxNGPattern.swift | ||
| RelaxNGSchema.swift | ||
| SchemaDocument.swift | ||
| SimpleType.swift | ||
| TypeDerivation.swift | ||
| XSDCompletions.swift | ||
| XSDComplexContent.swift | ||
| XSDContext.swift | ||
| XSDDerivation.swift | ||
| XSDParser.swift | ||
| XSDSimpleParser.swift | ||
| XSDValidations.swift | ||
| XSDWildcardParser.swift | ||