PureXML/Tests
Mihaela Mihaljevic 805993e656 feat(parsing): strict <!ELEMENT> content-model grammar
Third W3C-suite strictness pass: DTDContentModelGrammar validates each
element declaration's content specification against the XML 1.0 grammar
(productions 46-51) at DTD scan time, EMPTY/ANY, Mixed (with #PCDATA first,
names only, the trailing * required with alternatives, no nesting), and
children (one connector per group, quantifiers bound directly to their
particle, balanced parentheses, no empty groups, no SGML leftovers like
'- -', 'O O', '&' connectors, or inclusion/exclusion suffixes). The element
declaration also requires whitespace after <!ELEMENT and after the name. The
lenient ContentModelParser still drives validation behavior; this is a
well-formedness gate. not-wf/sa: 129/186 rejected (from 109); valid/sa
unchanged; zero false positives across all 846 suite tests; baseline rebased
to the exact 57 remaining (declaration-grammar details and the entity
replacement-text class).

Part of #120, #105
2026-06-10 05:20:33 +02:00
..
Fixtures
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 feat(catalog): honor group-level prefer override 2026-06-08 18:05:03 +02:00
CatalogSGMLTests.swift
CatalogSuffixPreferTests.swift
CatalogTests.swift
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 test(conformance): add an XSD regex pattern corpus 2026-06-10 04:42:08 +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
DTDAttributeTests.swift
DTDConditionalNotationTests.swift
DTDDefaultingTests.swift
DTDIdentifierTests.swift
DTDLocatedContentTests.swift feat(dtd): located content-model errors with recovery hints 2026-06-09 00:59:25 +02:00
DTDParameterEntityDepthTests.swift test(dtd): verify parameter-entity and external-subset depth 2026-06-09 18:50:54 +02:00
DTDTests.swift
DTDValidationTests.swift
EncodingTests.swift feat(parsing): EUC-TW (CNS 11643) decoding, closing #108 2026-06-09 17:44:22 +02:00
EntityResolverTests.swift
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
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
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
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
RelaxNGCombineTests.swift
RelaxNGCompactAnnotationTests.swift
RelaxNGCompactConcatTests.swift feat(relaxng): fold RNC ~ string concatenation 2026-06-08 17:38:58 +02:00
RelaxNGCompactFollowAnnotationTests.swift feat(relaxng): skip RNC >> follow-annotations, completing #79 2026-06-09 03:20:47 +02:00
RelaxNGCompactParamTests.swift
RelaxNGCompactTests.swift
RelaxNGDataParamTests.swift feat(relaxng): resolve datatypeLibrary and nsName subtraction 2026-06-08 17:21:49 +02:00
RelaxNGDatatypeLibraryTests.swift feat(relaxng): resolve datatypeLibrary and nsName subtraction 2026-06-08 17:21:49 +02:00
RelaxNGLocatedErrorTests.swift feat(relaxng): distinguish undeclared attribute from invalid value 2026-06-09 01:11:54 +02:00
RelaxNGNameClassTests.swift
RelaxNGStreamingTests.swift feat(validation): streaming RELAX NG validation 2026-06-09 10:35:42 +02:00
RelaxNGTests.swift feat(relaxng): resolve datatypeLibrary and nsName subtraction 2026-06-08 17:21:49 +02:00
RelaxNGValueSpaceTests.swift feat(relaxng): compare typed <value> in the datatype value space 2026-06-08 17:36:16 +02:00
SaveOptionsTests.swift
SAXTests.swift
SchemaConformanceTests.swift
SchematronAbstractPatternTests.swift feat(schematron): instantiate abstract patterns with is-a/param 2026-06-08 17:58:33 +02:00
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
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
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
W3CXMLSuiteTests.swift feat(parsing): strict <!ELEMENT> content-model grammar 2026-06-10 05:20:33 +02:00
WriterTests.swift
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 feat(xsd): located, recovering content-model errors 2026-06-09 00:55:17 +02:00
XSDCompletionTests2.swift
XSDComplexTypeTests.swift
XSDCompositionTests.swift
XSDDatatypeTests.swift
XSDDerivationControlTests.swift
XSDIdentityTests.swift fix(xsd): report identity-constraint XPath compile errors 2026-06-10 03:33:20 +02:00
XSDImportTests.swift
XSDLocatedContentTests.swift feat(xsd): located, recovering content-model errors 2026-06-09 00:55:17 +02:00
XSDNamespaceTests.swift
XSDParticleRestrictionTests.swift feat(xsd): Particle Valid (Restriction) 2026-06-10 04:13:54 +02:00
XSDSchemaTests.swift
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
XSLTDecimalFormatTests.swift feat(xslt): implement xsl:decimal-format for format-number 2026-06-09 01:59:37 +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): implement xsl:namespace-alias, completing #81 2026-06-09 02:10:16 +02:00
XSLTParityTests.swift
XSLTParserTests.swift feat(xslt): implement xsl:attribute-set and use-attribute-sets 2026-06-09 01:39:45 +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
XSLTWhitespaceTests.swift feat(xslt): implement xsl:strip-space and xsl:preserve-space 2026-06-09 01:22:59 +02:00