PureXML/Sources
Mihaela Mihaljevic b98c2ff41f feat(emitting): CJK output encodings, closing output-encoding parity
Extend ByteEncoder to the multi-byte CJK encodings (Shift-JIS, EUC-JP,
EUC-KR, GBK, GB18030, Big5). Each inverse is built by running the existing,
tested whole-buffer decoder over every valid byte sequence and recording
the shortest sequence per scalar, so the encoder is by construction the
exact inverse of the decoder, with no new data or separate encode tables.
GB18030's astral range uses the four-byte pointer formula, so every scalar
encodes. Round-trip tests cover Japanese, Korean, Chinese, and a GB18030
astral character.

Closes #106
2026-06-09 09:41:28 +02:00
..
Canonical feat(canonical): C14N 2.0 sequential prefix rewrite, QName-aware values, node-set selection (#85) 2026-06-09 04:06:02 +02:00
Catalog
Emitting feat(emitting): output encoding for UTF and single-byte families 2026-06-09 09:32:39 +02:00
HTML feat(html): vendor the complete WHATWG named entity set (#84) 2026-06-09 07:45:55 +02:00
Model feat(model): first-class doctype/entity-reference/namespace nodes, ownerDocument, adoption (#90) 2026-06-09 03:43:24 +02:00
Parsing feat(emitting): CJK output encodings, closing output-encoding parity 2026-06-09 09:41:28 +02:00
Pattern
Regex
Schema fix(xsd): locate identity-constraint errors at the offending node 2026-06-09 08:57:33 +02:00
Stream
Validation feat(html): conformance validator as composable Validation rules 2026-06-09 04:39:03 +02:00
XInclude feat(xinclude): range inclusion via XPointer range model (#87) 2026-06-09 04:19:38 +02:00
XPath
XPointer feat(xpointer): range(), range-to(), and string-range() schemes (#88) 2026-06-09 04:16:23 +02:00
XSLT feat(xslt): document() fragments and base-URI resolution, completing #82 2026-06-09 03:12:49 +02:00
API.swift feat(emitting): output encoding for UTF and single-byte families 2026-06-09 09:32:39 +02:00
Lint.swift
PureXML.swift
QuickFix.swift