Commit Graph

300 Commits

Author SHA1 Message Date
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
a8cf4d2d76 Merge #90: DOM node kinds, ownerDocument, adoption 2026-06-09 03:43:32 +02:00
46131bff1b feat(model): first-class doctype/entity-reference/namespace nodes, ownerDocument, adoption (#90) 2026-06-09 03:43:24 +02:00
a71178ba9b docs: move closed Schematron #80 to done in roadmap 2026-06-09 03:31:29 +02:00
5c9c6366bd docs: refresh test count to 666 2026-06-09 03:30:44 +02:00
4256670758 Merge: Schematron key/document/current functions (#80) 2026-06-09 03:30:44 +02:00
2db9915fb2 feat(schematron): support key(), document(), and current() in tests
Schematron tests, lets, and message expressions can now use key() backed
by xsl:key declarations parsed from the schema, document() loading an
external file through an injected documentLoader, and current() resolving
to the rule context node. A node-keyed function-table factory threads
through the evaluation. Completes the Schematron audit.
2026-06-09 03:30:43 +02:00
e1a0b5698c docs: move closed RELAX NG #79 to done in roadmap 2026-06-09 03:21:37 +02:00
259aa251fd docs: refresh test count to 662 2026-06-09 03:20:48 +02:00
7487f50e0e Merge: RNC follow-annotations (#79) 2026-06-09 03:20:48 +02:00
dbdf98e231 feat(relaxng): skip RNC >> follow-annotations, completing #79
A >> follow-annotation after a pattern (a foreign element name with
optional [ ... ] content) is skipped, chaining and combining with leading
annotations; neither carries schema semantics. Namespace declarations
inside annotations were already dropped by the annotation skipper, so the
RNC compact syntax is now fully covered.
2026-06-09 03:20:47 +02:00
45001f3422 docs: bring the shipped-overview roadmap node current with catalog #86 and XSLT #81 #82 2026-06-09 03:16:05 +02:00