PureXML/Tests
Mihaela Mihaljevic 39222ca760 feat(schema): enforce schema-vocabulary attribute applicability
The attribute sibling of the content-model table. Each XSD component admits a
fixed set of attributes; an unprefixed attribute outside that set (a typo like
nullable, a stray foo, name on a sequence) was accepted because nothing checked
attribute applicability. allowedAttributes now lists each component's admitted
unprefixed attributes (the permissive union of global and local use), and
attributeApplicabilityErrors rejects the rest, plus ref co-occurring with name
or type.

Foreign (prefixed) attributes and namespace declarations are the schema author's
own and are not checked, so no valid schema is rejected.

XSTS: invalid schemas accepted 956 to 925 (-31); valid schemas rejected held at
72; instance buckets unchanged.
2026-06-14 01:18:03 +02:00
..
Fixtures feat(xpath,xslt,wasm): evaluation budget, tailored collation, WASI runtime proof 2026-06-11 06:26:13 +02:00
C14NSpecExampleTests.swift feat(canonical): C14N 1.0 spec-example vectors, three conformance fixes 2026-06-10 08:51:47 +02:00
CanonicalC14N11Tests.swift feat(c14n): Canonical XML 1.1 (xml:base merging, no xml:id inheritance) 2026-06-09 17:59:35 +02:00
CanonicalPrefixRewriteTests.swift feat(canonical): C14N 2.0 sequential prefix rewrite, QName-aware values, node-set selection (#85) 2026-06-09 04:06:02 +02:00
CanonicalSelectionTests.swift feat(canonical): C14N 2.0 sequential prefix rewrite, QName-aware values, node-set selection (#85) 2026-06-09 04:06:02 +02:00
CanonicalSubsetTests.swift feat(canonical): node-subset C14N with ancestor namespace and xml:* inheritance (#85) 2026-06-09 03:55:54 +02:00
CanonicalTests.swift
CatalogBaseURITests.swift
CatalogGroupPreferTests.swift
CatalogSGMLTests.swift
CatalogSuffixPreferTests.swift
CatalogTests.swift feat(validation): eduni errata behaviors, 3.3.3 attribute normalization 2026-06-10 07:50:47 +02:00
ConformanceCanonicalModesTests.swift test(conformance): add a C14N exclusive/2.0 modes corpus 2026-06-10 02:24:30 +02:00
ConformanceCatalogTests.swift test(conformance): add an XML Catalog corpus 2026-06-10 04:44:45 +02:00
ConformanceCorpusTests.swift fix(html): fragment parser reconstructs active formatting elements 2026-06-10 01:59:16 +02:00
ConformanceDTDTests.swift test(conformance): add a DTD content-model corpus 2026-06-10 02:32:58 +02:00
ConformanceEmittingTests.swift test(conformance): serializer options and HTML depth corpora 2026-06-10 03:57:04 +02:00
ConformanceHTMLDepthTests.swift test(conformance): serializer options and HTML depth corpora 2026-06-10 03:57:04 +02:00
ConformanceRegexTests.swift fix(regex): use the XSD definition of \w and \W 2026-06-13 18:31:07 +02:00
ConformanceSchematronTests.swift test(conformance): add a Schematron corpus 2026-06-10 02:18:14 +02:00
ConformanceXIncludeTests.swift test(conformance): add an XInclude/XPointer corpus 2026-06-10 04:40:16 +02:00
ConformanceXPathAxisTests.swift test(conformance): add an XPath axes/predicates corpus 2026-06-10 02:30:56 +02:00
ContentMatcherDifferentialTests.swift refactor(validation): one shared childSteps; matcher and tokenizer differentials 2026-06-10 04:06:26 +02:00
ContentNFAStateBudgetTests.swift fix(schema,regex): bound NFA state explosion and class-subtraction crash; land XSTS baseline 2026-06-13 18:04:25 +02:00
DTDAttributeTests.swift
DTDConditionalNotationTests.swift
DTDDefaultingTests.swift
DTDEntityDeclaredTests.swift feat(parsing): IBM section clean, entity-declared WFC/VC split, declaration recursion 2026-06-10 07:26:50 +02:00
DTDIdentifierTests.swift
DTDLocatedContentTests.swift
DTDParameterEntityDepthTests.swift test(dtd): verify parameter-entity and external-subset depth 2026-06-09 18:50:54 +02:00
DTDStandaloneTests.swift feat(validation): standalone validity constraints and entity WFC 2026-06-10 07:13:30 +02:00
DTDSubsetStrictnessTests.swift feat(validation): 3.3.3 attribute normalization, 4.3.1 text declarations, 4.4.5 PE char-refs 2026-06-10 06:43:25 +02:00
DTDTests.swift
DTDValidationTests.swift
DTDValidityConstraintTests.swift refactor(validation): located structured validity findings 2026-06-10 10:45:17 +02:00
EncodingMismatchTests.swift feat(parsing): fatal encoding-declaration contradictions, E38 version rule 2026-06-10 08:16:08 +02:00
EncodingTests.swift feat(parsing): EUC-TW (CNS 11643) decoding, closing #108 2026-06-09 17:44:22 +02:00
EntityBaseURITests.swift feat(parsing): per-entity base-URI tracking for nested external entities 2026-06-10 08:24:17 +02:00
EntityResolverTests.swift feat(validation): eduni errata behaviors, 3.3.3 attribute normalization 2026-06-10 07:50:47 +02:00
EntitySplicingTests.swift feat(parsing): splice entity replacement markup into content 2026-06-10 06:55:40 +02:00
ErrataValidityTests.swift feat(validation): eduni errata behaviors, 3.3.3 attribute normalization 2026-06-10 07:50:47 +02:00
EXSLTTests.swift feat(xpath): EXSLT common, math, and sets extension functions 2026-06-09 18:31:50 +02:00
HTMLAdoptionTests.swift fix(html): fragment parser reconstructs active formatting elements 2026-06-10 01:59:16 +02:00
HTMLDocumentTests.swift fix(html): keep template content nested instead of splitting to body (#83) 2026-06-09 06:21:10 +02:00
HTMLForeignContentTests.swift feat(html): SVG HTML integration points switch back to HTML namespace (#83) 2026-06-09 06:06:54 +02:00
HTMLFramesetTests.swift feat(html): frameset documents and void frame element (#83) 2026-06-09 06:17:55 +02:00
HTMLSelectTests.swift feat(html): in-select-in-table closes select on table tags (#83) 2026-06-09 06:37:35 +02:00
HTMLTests.swift feat(xslt): output methods in depth 2026-06-10 13:10:50 +02:00
HTMLTokenizerTests.swift feat(html): vendor the complete WHATWG named entity set (#84) 2026-06-09 07:45:55 +02:00
HTMLValidationTests.swift feat(html): conformance validator as composable Validation rules 2026-06-09 04:39:03 +02:00
LineEndingTests.swift
LintTests.swift
ModelTests.swift docs(model): TreeNode ownership and concurrency contracts 2026-06-10 03:46:44 +02:00
NamespaceConstraintTests.swift feat(parsing): Namespaces 1.0 constraint enforcement 2026-06-10 08:06:45 +02:00
NamespaceTests.swift
OutputEncodingTests.swift feat(emitting): CJK output encodings, closing output-encoding parity 2026-06-09 09:41:28 +02:00
ParityEdgeTests.swift
ParsingTests.swift perf(parsing): byte-backed Reader and bulk content runs 2026-06-10 18:48:57 +02:00
PatternTests.swift
PullPushDifferentialTests.swift refactor(validation): one shared childSteps; matcher and tokenizer differentials 2026-06-10 04:06:26 +02:00
PushParserTests.swift
QuickFixTests.swift
RecoveringReaderTests.swift
RegexCategoryTests.swift
RegexTests.swift fix(regex): use the XSD definition of \w and \W 2026-06-13 18:31:07 +02:00
RelaxNGCombineTests.swift feat(relaxng): schema-correctness validation, spec suite complete 2026-06-10 11:38:45 +02:00
RelaxNGCompactAnnotationTests.swift
RelaxNGCompactConcatTests.swift
RelaxNGCompactFollowAnnotationTests.swift feat(relaxng): skip RNC >> follow-annotations, completing #79 2026-06-09 03:20:47 +02:00
RelaxNGCompactParamTests.swift
RelaxNGCompactTests.swift
RelaxNGDataParamTests.swift
RelaxNGDatatypeLibraryTests.swift feat(relaxng): schema-correctness validation, spec suite complete 2026-06-10 11:38:45 +02:00
RelaxNGLocatedErrorTests.swift
RelaxNGNameClassTests.swift
RelaxNGQNameTests.swift feat(relaxng): QName values with dual-context resolution, instance level clean 2026-06-10 10:57:14 +02:00
RelaxNGSchemaCorrectnessTests.swift feat(relaxng): schema-correctness validation, spec suite complete 2026-06-10 11:38:45 +02:00
RelaxNGSpecSuiteTests.swift feat(relaxng): schema-correctness validation, spec suite complete 2026-06-10 11:38:45 +02:00
RelaxNGStreamingTests.swift feat(validation): streaming RELAX NG validation 2026-06-09 10:35:42 +02:00
RelaxNGTests.swift
RelaxNGValueSpaceTests.swift
SaveOptionsTests.swift
SAXTests.swift
ScalarLexingTests.swift feat(parsing): scalar-level lexing, xmlconf archive fully conformant 2026-06-10 08:40:26 +02:00
SchemaAttributeRefTests.swift fix(schema): resolve <xs:attribute ref> to global attribute declarations 2026-06-13 19:30:11 +02:00
SchemaConformanceTests.swift
SchemaDurationFacetTests.swift style(schema): satisfy swiftlint on the XSTS conformance additions 2026-06-13 18:04:25 +02:00
SchemaElementBlockTests.swift fix(schema): enforce element-level block against xsi:type substitution 2026-06-13 18:04:25 +02:00
SchemaFacetDefinitionTests.swift feat(schema): validate value-bound facet definitions; accept gMonth --MM-- 2026-06-13 22:10:57 +02:00
SchemaIDAttributeTests.swift feat(schema): validate the id attribute (xs:ID) at compile time 2026-06-13 22:29:29 +02:00
SchemaIDIDREFTests.swift fix(schema): enforce document-scoped xs:ID uniqueness and xs:IDREF resolution 2026-06-13 19:17:34 +02:00
SchemaListFacetTests.swift fix(schema): enforce document-scoped xs:ID uniqueness and xs:IDREF resolution 2026-06-13 19:17:34 +02:00
SchemaMixedEmptyTests.swift fix(schema): allow character data in a mixed type with no content model 2026-06-13 19:37:24 +02:00
SchemaMultiDocumentTests.swift feat(schema): honor instance xsi:schemaLocation for multi-document validation 2026-06-13 19:54:12 +02:00
SchemaPatternFacetTests.swift feat(schema): validate pattern facet regular expressions at compile time 2026-06-13 23:52:11 +02:00
SchemaQNameLengthTests.swift fix(schema): treat QName length facets as non-constraining 2026-06-13 18:04:25 +02:00
SchemaReferenceTests.swift feat(schema): reject unresolvable references at compile time 2026-06-14 00:17:29 +02:00
SchemaStringWhitespaceTests.swift fix(schema): preserve significant whitespace in simple-content values 2026-06-13 20:08:08 +02:00
SchemaStructureTests.swift feat(schema): enforce schema-vocabulary attribute applicability 2026-06-14 01:18:03 +02:00
SchemaSubstitutionBlockTests.swift fix(schema): enforce block="substitution" on substitution-group heads 2026-06-13 18:31:07 +02:00
SchematronAbstractPatternTests.swift
SchematronAbstractTests.swift
SchematronDiagnosticTests.swift
SchematronDynamicTests.swift
SchematronFunctionTests.swift feat(schematron): support key(), document(), and current() in tests 2026-06-09 03:30:43 +02:00
SchematronLetTests.swift
SchematronScopedLetTests.swift
SchematronTests.swift
SchemaUnionFacetTests.swift style(schema): satisfy swiftlint on the XSTS conformance additions 2026-06-13 18:04:25 +02:00
SchemaValueConstraintTests.swift fix(schema): honor empty-element default/fixed values and replace enumeration on restriction 2026-06-13 18:04:25 +02:00
SerializationEscapeTests.swift feat(emitting): textEscaping round-trip option to preserve carriage returns (#91) 2026-06-09 03:48:20 +02:00
SerializationOptionsTests.swift
SerializerTests.swift
SourceSpanTests.swift
StreamingDTDValidationTests.swift feat(validation): streaming DTD ID/IDREF integrity 2026-06-09 10:21:20 +02:00
StreamingXSDTests.swift refactor(xsd): express the streaming content check as a Validation value 2026-06-10 02:14:02 +02:00
StrictRecoveringDifferentialTests.swift test(parsing): strict-vs-recovering differential corpus 2026-06-10 03:49:57 +02:00
StrictSubsetProfileTests.swift feat(parsing): strict internal-subset profile, xmltest 185 of 186 2026-06-10 08:29:54 +02:00
TextReaderBreadthTests.swift
TextReaderTests.swift
TreeNodeEditingTests.swift
TreeNodeIdentityTests.swift feat(model): first-class doctype/entity-reference/namespace nodes, ownerDocument, adoption (#90) 2026-06-09 03:43:24 +02:00
TreeNodeTests.swift
ValidationFrameworkTests.swift test(validation): cover the Bool forms of the && and || combinators 2026-06-09 09:08:27 +02:00
ValidationRuleTests.swift refactor(validation): decompose DTD attribute checks into per-constraint rules (#101) 2026-06-09 04:28:03 +02:00
ValidationTests.swift
W3CEduniSuiteTests.swift feat(parsing): scalar-level lexing, xmlconf archive fully conformant 2026-06-10 08:40:26 +02:00
W3CIBMSuiteTests.swift feat(parsing): scalar-level lexing, xmlconf archive fully conformant 2026-06-10 08:40:26 +02:00
W3CJapaneseSuiteTests.swift test(conformance): japanese section runner, fully clean 2026-06-10 07:30:30 +02:00
W3COasisSuiteTests.swift feat(parsing): strict DTD subset grammar, oasis section of xmlconf fully clean 2026-06-10 06:29:13 +02:00
W3CSunSuiteTests.swift feat(validation): standalone validity constraints and entity WFC 2026-06-10 07:13:30 +02:00
W3CXMLSuiteTests.swift feat(parsing): scalar-level lexing, xmlconf archive fully conformant 2026-06-10 08:40:26 +02:00
WriterTests.swift
XalanConfSuiteTests.swift feat(xslt): top-level stylesheet parameters 2026-06-10 17:35:11 +02:00
XIncludeNegotiationTests.swift
XIncludeTests.swift feat(xinclude): range inclusion via XPointer range model (#87) 2026-06-09 04:19:38 +02:00
XMLCharacterTests.swift
XMLDeclarationTests.swift
XPathAxisTests.swift
XPathContextTests.swift
XPathExpressionTests.swift
XPathFunctionTests.swift
XPathNamespaceTests.swift
XPathTests.swift
XPointerRangeTests.swift feat(xpointer): range(), range-to(), and string-range() schemes (#88) 2026-06-09 04:16:23 +02:00
XPointerTests.swift
XSDCategoryTests.swift
XSDCompletionTests2.swift
XSDComplexTypeTests.swift
XSDCompositionTests.swift
XSDDatatypeTests.swift feat(schema): validate value-bound facet definitions; accept gMonth --MM-- 2026-06-13 22:10:57 +02:00
XSDDerivationControlTests.swift
XSDIdentityTests.swift feat(schema): built-in xsi:type resolution gated by substitution validity 2026-06-13 21:21:35 +02:00
XSDImportTests.swift
XSDLocatedContentTests.swift
XSDNamespaceTests.swift
XSDParticleRestrictionTests.swift feat(xsd): Particle Valid (Restriction) 2026-06-10 04:13:54 +02:00
XSDSchemaTests.swift
XSDSchemaValidationTests.swift refactor(xsd): schema-consistency checks through the validation framework 2026-06-10 06:04:40 +02:00
XSDTypeResolutionTests.swift fix(xsd): error on unknown xsi:type; cycle-detect type references 2026-06-10 03:10:00 +02:00
XSDValueConstraintTests.swift
XSDWildcardTests.swift
XSLTApplyImportsTests.swift feat(xslt): implement xsl:apply-imports 2026-06-09 01:49:33 +02:00
XSLTAttributeSetTests.swift feat(xslt): implement xsl:attribute-set and use-attribute-sets 2026-06-09 01:39:45 +02:00
XSLTCDATASectionTests.swift feat(xslt): implement xsl:output cdata-section-elements 2026-06-09 02:58:34 +02:00
XSLTCompositionTests.swift fix(xslt): composition cycles terminate; id() gains a per-document index 2026-06-10 18:07:02 +02:00
XSLTCreatedNamesTests.swift feat(xslt): literal result element namespace copying 2026-06-10 12:55:48 +02:00
XSLTDecimalFormatTests.swift fix(xslt): no fatal traps on extreme format-number and xsl:number values 2026-06-10 15:35:36 +02:00
XSLTDoctypeOutputTests.swift feat(xslt): emit xsl:output doctype-public/doctype-system 2026-06-09 02:53:50 +02:00
XSLTDocumentFunctionTests.swift feat(xslt): document() fragments and base-URI resolution, completing #82 2026-06-09 03:12:49 +02:00
XSLTFallbackTests.swift feat(xslt): implement xsl:fallback for forwards-compatible processing 2026-06-09 01:52:21 +02:00
XSLTFunctionTests.swift feat(xslt): add generate-id, system-property, *-available functions 2026-06-09 02:20:36 +02:00
XSLTHTMLOutputTests.swift feat(xslt): serialize method=html output by the HTML rules 2026-06-09 02:48:00 +02:00
XSLTKeyNodeSetTests.swift feat(xslt): key() over a node-set second argument 2026-06-09 02:50:24 +02:00
XSLTMatchCacheTests.swift perf(xpath): compile patterns once per run, not per node 2026-06-10 03:24:38 +02:00
XSLTMessageTests.swift feat(xslt): implement xsl:message with terminate 2026-06-09 01:29:37 +02:00
XSLTNamespaceAliasTests.swift feat(xslt): literal result element namespace copying 2026-06-10 12:55:48 +02:00
XSLTNumberingTests.swift fix(xslt): no fatal traps on extreme format-number and xsl:number values 2026-06-10 15:35:36 +02:00
XSLTOutputMethodTests.swift feat(xslt): global variable scope and precedence, NCName:* name tests 2026-06-10 16:38:03 +02:00
XSLTParityTests.swift feat(xslt): output methods in depth 2026-06-10 13:10:50 +02:00
XSLTParserTests.swift feat(xslt): output methods in depth 2026-06-10 13:10:50 +02:00
XSLTResultFragmentTests.swift feat(xslt): make result-tree fragments usable as node-sets 2026-06-09 03:04:56 +02:00
XSLTSortCaseOrderTests.swift feat(xslt): implement xsl:sort case-order 2026-06-09 02:37:43 +02:00
XSLTTests.swift feat(xslt): output methods in depth 2026-06-10 13:10:50 +02:00
XSLTWhitespaceTests.swift feat(xslt): implement xsl:strip-space and xsl:preserve-space 2026-06-09 01:22:59 +02:00
XSTSSuiteTests.swift feat(schema): enforce schema-vocabulary attribute applicability 2026-06-14 01:18:03 +02:00