PureXML/Sources/Parsing
Mihaela Mihaljevic 89cb299201 feat(validation): DTD declaration-level validity constraints
VC Root Element Type (root matches the DOCTYPE name), VC Unique
Element Type Declaration, VC No Duplicate Types in mixed content, VC
One ID per Element Type, VC Notation Attributes and Notation Declared,
VC Attribute Default Legal plus ID Attribute Default, lexical Name
checks for the ID family, and CDATA as character data in element
content. Strict mode adds VC Attribute Value Type (every attribute
declared; namespace declarations exempt). Declaration findings are
computed once at schema build and reported at the document root. Sun
invalid coverage moves from 43/74 to 62/74; the twelve remaining are
all the standalone='yes' family.
2026-06-10 07:05:14 +02:00
..
Big5Decoder.swift feat(parsing): Big5 (Traditional Chinese / HKSCS) 2026-06-09 08:30:57 +02:00
Big5Table1.swift feat(parsing): Big5 (Traditional Chinese / HKSCS) 2026-06-09 08:30:57 +02:00
Big5Table2.swift feat(parsing): Big5 (Traditional Chinese / HKSCS) 2026-06-09 08:30:57 +02:00
Big5Table3.swift feat(parsing): Big5 (Traditional Chinese / HKSCS) 2026-06-09 08:30:57 +02:00
Big5Table4.swift feat(parsing): Big5 (Traditional Chinese / HKSCS) 2026-06-09 08:30:57 +02:00
Big5Table5.swift feat(parsing): Big5 (Traditional Chinese / HKSCS) 2026-06-09 08:30:57 +02:00
Big5Table6.swift feat(parsing): Big5 (Traditional Chinese / HKSCS) 2026-06-09 08:30:57 +02:00
Big5Table.swift feat(parsing): Big5 (Traditional Chinese / HKSCS) 2026-06-09 08:30:57 +02:00
ByteDecoder.swift feat(parsing): fourth W3C-suite strictness pass, declaration grammar 2026-06-10 05:34:11 +02:00
ByteEncoder.swift feat(emitting): CJK output encodings, closing output-encoding parity 2026-06-09 09:41:28 +02:00
CJKByteEncoder.swift feat(emitting): CJK output encodings, closing output-encoding parity 2026-06-09 09:41:28 +02:00
Diagnostic.swift feat(parsing): fourth W3C-suite strictness pass, declaration grammar 2026-06-10 05:34:11 +02:00
DoctypeScanner.swift feat(validation): DTD declaration-level validity constraints 2026-06-10 07:05:14 +02:00
DoctypeScannerConditional.swift feat(parsing): strict DTD subset grammar, oasis section of xmlconf fully clean 2026-06-10 06:29:13 +02:00
DoctypeScannerStrict.swift feat(parsing): splice entity replacement markup into content 2026-06-10 06:55:40 +02:00
DocumentType.swift feat(validation): DTD declaration-level validity constraints 2026-06-10 07:05:14 +02:00
DTDAttListGrammar.swift feat(parsing): entity replacement-text well-formedness, fifth suite pass 2026-06-10 05:47:42 +02:00
DTDContentModelGrammar.swift feat(parsing): strict <!ELEMENT> content-model grammar 2026-06-10 05:20:33 +02:00
EntityDecoder.swift feat(parsing): splice entity replacement markup into content 2026-06-10 06:55:40 +02:00
EntityReplacementGrammar.swift feat(parsing): splice entity replacement markup into content 2026-06-10 06:55:40 +02:00
EntityResolver.swift feat(dtd): external and parameter entities, secure by default 2026-06-08 03:08:20 +02:00
EUCJPDecoder.swift feat(parsing): EUC-JP decoding with vendored JIS X 0212 index (#99) 2026-06-09 07:57:52 +02:00
EUCKRDecoder.swift feat(parsing): EUC-KR (CP949) decoding with vendored index (#99) 2026-06-09 08:02:14 +02:00
EUCKRTable1.swift feat(parsing): EUC-KR (CP949) decoding with vendored index (#99) 2026-06-09 08:02:14 +02:00
EUCKRTable2.swift feat(parsing): EUC-KR (CP949) decoding with vendored index (#99) 2026-06-09 08:02:14 +02:00
EUCKRTable3.swift feat(parsing): EUC-KR (CP949) decoding with vendored index (#99) 2026-06-09 08:02:14 +02:00
EUCKRTable4.swift feat(parsing): EUC-KR (CP949) decoding with vendored index (#99) 2026-06-09 08:02:14 +02:00
EUCKRTable5.swift feat(parsing): EUC-KR (CP949) decoding with vendored index (#99) 2026-06-09 08:02:14 +02:00
EUCKRTable6.swift feat(parsing): EUC-KR (CP949) decoding with vendored index (#99) 2026-06-09 08:02:14 +02:00
EUCTWDecoder.swift refactor(parsing): drop slice copies; document the expansion bounds 2026-06-10 04:01:16 +02:00
EUCTWPlane11.swift feat(parsing): EUC-TW (CNS 11643) decoding, closing #108 2026-06-09 17:44:22 +02:00
EUCTWPlane12.swift feat(parsing): EUC-TW (CNS 11643) decoding, closing #108 2026-06-09 17:44:22 +02:00
EUCTWPlane13.swift feat(parsing): EUC-TW (CNS 11643) decoding, closing #108 2026-06-09 17:44:22 +02:00
EUCTWPlane21.swift feat(parsing): EUC-TW (CNS 11643) decoding, closing #108 2026-06-09 17:44:22 +02:00
EUCTWPlane22.swift feat(parsing): EUC-TW (CNS 11643) decoding, closing #108 2026-06-09 17:44:22 +02:00
EUCTWPlane23.swift feat(parsing): EUC-TW (CNS 11643) decoding, closing #108 2026-06-09 17:44:22 +02:00
EUCTWTable.swift feat(parsing): EUC-TW (CNS 11643) decoding, closing #108 2026-06-09 17:44:22 +02:00
Event.swift feat(parser): add a streaming, iterative XML parser 2026-06-08 00:10:50 +02:00
EventReader.swift feat(parsing): splice entity replacement markup into content 2026-06-10 06:55:40 +02:00
EventReaderAttributes.swift feat(parsing): fourth W3C-suite strictness pass, declaration grammar 2026-06-10 05:34:11 +02:00
EventReaderRecovery.swift feat(parsing): fourth W3C-suite strictness pass, declaration grammar 2026-06-10 05:34:11 +02:00
ExternalID.swift feat(dtd): external and parameter entities, secure by default 2026-06-08 03:08:20 +02:00
GB18030Decoder.swift refactor(parsing): drop slice copies; document the expansion bounds 2026-06-10 04:01:16 +02:00
GB18030Ranges.swift feat(parsing): full GB18030 four-byte sequences 2026-06-09 08:24:00 +02:00
GBKDecoder.swift feat(parsing): GBK/GB2312 decoding completes the CJK encodings (#99) 2026-06-09 08:08:52 +02:00
GBKTable1.swift feat(parsing): GBK/GB2312 decoding completes the CJK encodings (#99) 2026-06-09 08:08:52 +02:00
GBKTable2.swift feat(parsing): GBK/GB2312 decoding completes the CJK encodings (#99) 2026-06-09 08:08:52 +02:00
GBKTable3.swift feat(parsing): GBK/GB2312 decoding completes the CJK encodings (#99) 2026-06-09 08:08:52 +02:00
GBKTable4.swift feat(parsing): GBK/GB2312 decoding completes the CJK encodings (#99) 2026-06-09 08:08:52 +02:00
GBKTable5.swift feat(parsing): GBK/GB2312 decoding completes the CJK encodings (#99) 2026-06-09 08:08:52 +02:00
GBKTable6.swift feat(parsing): GBK/GB2312 decoding completes the CJK encodings (#99) 2026-06-09 08:08:52 +02:00
InputEncoding.swift feat(parsing): EUC-TW (CNS 11643) decoding, closing #108 2026-06-09 17:44:22 +02:00
ISO2022JPDecoder.swift refactor(parsing): drop slice copies; document the expansion bounds 2026-06-10 04:01:16 +02:00
JIS0208Table1.swift feat(parsing): Shift-JIS decoding with vendored JIS X 0208 index (#99) 2026-06-09 07:54:05 +02:00
JIS0208Table2.swift feat(parsing): Shift-JIS decoding with vendored JIS X 0208 index (#99) 2026-06-09 07:54:05 +02:00
JIS0208Table3.swift feat(parsing): Shift-JIS decoding with vendored JIS X 0208 index (#99) 2026-06-09 07:54:05 +02:00
JIS0212Table1.swift feat(parsing): EUC-JP decoding with vendored JIS X 0212 index (#99) 2026-06-09 07:57:52 +02:00
JIS0212Table2.swift feat(parsing): EUC-JP decoding with vendored JIS X 0212 index (#99) 2026-06-09 07:57:52 +02:00
Limits.swift feat(parser): optional DTD with internal entities and billion-laughs defense 2026-06-08 01:17:09 +02:00
Mark.swift
NamespaceContext.swift feat(parser): resolve XML namespaces at the start-element boundary 2026-06-08 01:03:29 +02:00
ParsedDocument.swift feat(parsing): surface the XML declaration (version, encoding, standalone) 2026-06-08 14:53:04 +02:00
ParseError.swift feat(parsing): fourth W3C-suite strictness pass, declaration grammar 2026-06-10 05:34:11 +02:00
Parser.swift feat(parsing): surface the XML declaration (version, encoding, standalone) 2026-06-08 14:53:04 +02:00
PseudoAttributeScanner.swift feat(parsing): fourth W3C-suite strictness pass, declaration grammar 2026-06-10 05:34:11 +02:00
PushAsync.swift feat(parsing): resumable push / feed streaming API 2026-06-08 07:21:22 +02:00
PushParser.swift feat(parsing): resumable push / feed streaming API 2026-06-08 07:21:22 +02:00
PushScanner.swift feat(parsing): resumable push / feed streaming API 2026-06-08 07:21:22 +02:00
Reader.swift feat(parsing): splice entity replacement markup into content 2026-06-10 06:55:40 +02:00
ReadResult.swift feat(parsing): recovering reader that never crashes on invalid input 2026-06-08 12:15:18 +02:00
SAXHandler.swift feat(parsing): add SAX2 push-callback API 2026-06-08 02:26:04 +02:00
ShiftJISDecoder.swift feat(parsing): Shift-JIS decoding with vendored JIS X 0208 index (#99) 2026-06-09 07:54:05 +02:00
SingleByteEncodings.swift feat(parsing): Windows-1255/1256/1258, KOI8-U complete the single-byte set (#97) 2026-06-09 07:29:25 +02:00
SingleByteTables.swift feat(parsing): Windows-1255/1256/1258, KOI8-U complete the single-byte set (#97) 2026-06-09 07:29:25 +02:00
SourceRange.swift feat(editor): source spans on the tree, mapping findings to positions 2026-06-08 13:14:29 +02:00
StreamingDecoder.swift feat(parsing): EUC-TW (CNS 11643) decoding, closing #108 2026-06-09 17:44:22 +02:00
StreamingDecoderEUCTW.swift feat(parsing): EUC-TW (CNS 11643) decoding, closing #108 2026-06-09 17:44:22 +02:00
StreamingDecoderISO2022JP.swift feat(parsing): streaming honors the declared encoding; streaming ISO-2022-JP 2026-06-09 17:33:52 +02:00
TextReader.swift feat(parsing): xmlReader breadth: attribute navigation, namespaces, lang, position 2026-06-08 15:01:48 +02:00
UnparsedEntity.swift feat(dtd): conditional sections, notations, NDATA, external parameter entities 2026-06-08 14:39:42 +02:00
XMLCharacter.swift feat(dtd): attribute defaulting, tokenized types, value normalization 2026-06-08 14:31:42 +02:00
XMLDeclaration.swift feat(parsing): strict DTD subset grammar, oasis section of xmlconf fully clean 2026-06-10 06:29:13 +02:00