Commit Graph

411 Commits

Author SHA1 Message Date
43c7ecc5e3 Merge #97: ISO-8859-3/4/7/13 2026-06-09 07:15:36 +02:00
43dc7b00c4 feat(parsing): ISO-8859-3/4/7/13 vendored from Unicode mappings (#97) 2026-06-09 07:15:35 +02:00
cf8969d08c Merge #97: ISO-8859-2 2026-06-09 07:08:19 +02:00
5f35621ae6 feat(parsing): ISO-8859-2 (Latin-2) vendored from Unicode mapping (#97) 2026-06-09 07:08:19 +02:00
c9b8161ba7 Merge #97: Windows-1254 2026-06-09 07:02:14 +02:00
a005def333 feat(parsing): Windows-1254 (Turkish) encoding (#97) 2026-06-09 07:02:13 +02:00
7c26547915 Merge #97 (partial): single-byte legacy encodings 2026-06-09 06:57:22 +02:00
94890172f2 feat(parsing): single-byte encoding framework + ISO-8859-5/9/15 (#97) 2026-06-09 06:57:21 +02:00
3efb868224 docs: move closed HTML5 tree construction #83 to done in roadmap 2026-06-09 06:39:39 +02:00
3bb4e7a4a0 Merge #83 (stage 11): in-select-in-table 2026-06-09 06:37:35 +02:00
a5b032e9dc feat(html): in-select-in-table closes select on table tags (#83) 2026-06-09 06:37:35 +02:00
7e56265ed2 Merge #83 (stage 10): select content model 2026-06-09 06:32:25 +02:00
3ebbaff07c feat(html): select content model (optgroup/nested-select/input close) (#83) 2026-06-09 06:32:24 +02:00
936a3900d2 Merge: unify head builder onto live TreeNode model 2026-06-09 06:29:00 +02:00
7add3b3fa5 refactor(html): build head on the live TreeNode model, remove DocFrame 2026-06-09 06:29:00 +02:00
b1a15639c0 Merge #83 (stage 9): template content nesting 2026-06-09 06:21:12 +02:00
b245640ee2 fix(html): keep template content nested instead of splitting to body (#83) 2026-06-09 06:21:10 +02:00
b234319657 Merge #83 (stage 8): frameset documents 2026-06-09 06:17:56 +02:00
f637b8e154 feat(html): frameset documents and void frame element (#83) 2026-06-09 06:17:55 +02:00
eb44eb3a49 Merge #83 (stage 7): HTML integration points 2026-06-09 06:06:55 +02:00
2945de0855 feat(html): SVG HTML integration points switch back to HTML namespace (#83) 2026-06-09 06:06:54 +02:00
6dab33a89f Merge #83 (stage 6): table foster-parenting 2026-06-09 06:04:02 +02:00
47e0e3e644 feat(html): table foster-parenting for stray content (#83) 2026-06-09 06:04:01 +02:00
8c168857e1 Merge #83 (stage 5): SVG attribute-name case adjustment 2026-06-09 05:52:26 +02:00
038774cfc2 feat(html): SVG attribute-name case adjustment in foreign content (#83) 2026-06-09 05:52:26 +02:00
2af445dd09 Merge #83 (stage 4b): adoption agency algorithm 2026-06-09 05:46:13 +02:00
9092ab3dbd feat(html): adoption agency algorithm and active formatting elements (#83) 2026-06-09 05:46:12 +02:00
66e510aca9 Merge #83 (stage 4a): live TreeNode body builder 2026-06-09 05:35:27 +02:00
fccb407797 refactor(html): build body as a live mutable TreeNode open-elements stack (#83) 2026-06-09 05:35:26 +02:00
8062dea342 Merge #83 (stage 3): SVG element-name case adjustment 2026-06-09 05:29:15 +02:00
40c5973d5a feat(html): SVG element-name case adjustment in foreign content (#83) 2026-06-09 05:29:14 +02:00
d084e3521f Merge #83 (stage 2): HTML foreign content namespaces 2026-06-09 05:22:38 +02:00
d64bcaf2fa feat(html): SVG/MathML foreign-content namespace switching (#83) 2026-06-09 05:22:37 +02:00
acf1efe366 Merge #83 (stage 1): HTML table tree construction 2026-06-09 05:18:13 +02:00
b7f7e15fbc feat(html): table tree construction with implied tbody/tr (#83) 2026-06-09 05:18:13 +02:00
e978da9b41 Merge #84 (partial): HTML tokenizer states and reference handling 2026-06-09 05:11:18 +02:00
e86c87af3c feat(html): numeric-ref validation, NUL, RCDATA decoding, semicolon-less refs (#84) 2026-06-09 05:11:18 +02:00
704370c779 Merge: HTML conformance validator in the Validation idiom 2026-06-09 04:39:03 +02:00
3a55eeeaa6 feat(html): conformance validator as composable Validation rules 2026-06-09 04:39:03 +02:00
31c6fb6e0b Merge #101: DTD attribute rule decomposition 2026-06-09 04:28:04 +02:00
506c502602 refactor(validation): decompose DTD attribute checks into per-constraint rules (#101) 2026-06-09 04:28:03 +02:00
3391f595a2 Merge #87: XInclude range inclusion 2026-06-09 04:19:38 +02:00
ecb9b8c881 feat(xinclude): range inclusion via XPointer range model (#87) 2026-06-09 04:19:38 +02:00
3bd810dc2c Merge #88: XPointer range model 2026-06-09 04:16:23 +02:00
8871fee977 feat(xpointer): range(), range-to(), and string-range() schemes (#88) 2026-06-09 04:16:23 +02:00
47d071ab8e Merge #85: C14N node-subset, xml:* inheritance, C14N 2.0 prefix rewrite and selection 2026-06-09 04:06:11 +02:00
b3bbacb4e8 feat(canonical): C14N 2.0 sequential prefix rewrite, QName-aware values, node-set selection (#85) 2026-06-09 04:06:02 +02:00
e77b39a449 feat(canonical): node-subset C14N with ancestor namespace and xml:* inheritance (#85) 2026-06-09 03:55:54 +02:00
aca0181be9 Merge #91: serialization round-trip text escaping 2026-06-09 03:48:21 +02:00
87fd7ba889 feat(emitting): textEscaping round-trip option to preserve carriage returns (#91) 2026-06-09 03:48:20 +02:00