PureXML/Sources/Parsing
Mihaela Mihaljevic 82e70679ef feat(validation): 3.3.3 attribute normalization, 4.3.1 text declarations, 4.4.5 PE char-refs
Tokenized (non-CDATA) attribute values normalize before validity
checks, so enumerations, NOTATION lists, and the ID/IDREF table see
collapsed values. External parsed entities lose their leading text
declaration (validated: version optional, encoding required, never
standalone) instead of carrying it into replacement text. Character
references in PE literals expand at declaration time, making the
Appendix D '%zz;' example parse. A PI target inside the DTD subset
must be separated from its data. Sun baselines tighten to not-wf 55/56
and valid 26/28; the two remaining valid failures share one cause
(replacement text with markup is included as character data, filed
separately).
2026-06-10 06:43:25 +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): 3.3.3 attribute normalization, 4.3.1 text declarations, 4.4.5 PE char-refs 2026-06-10 06:43:25 +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(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
DocumentType.swift feat(dtd): conditional sections, notations, NDATA, external parameter entities 2026-06-08 14:39:42 +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): entity replacement-text well-formedness, fifth suite pass 2026-06-10 05:47:42 +02:00
EntityReplacementGrammar.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
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): strict DTD subset grammar, oasis section of xmlconf fully clean 2026-06-10 06:29:13 +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 chore: scaffold PureXML pure-Swift XML package 2026-06-07 23:20:20 +02:00
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): line-ending normalization and XML 1.1 line terminators 2026-06-08 15:07:21 +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