diff --git a/CHANGELOG.md b/CHANGELOG.md index d5ec8b2..0700dae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +- RELAX NG conformance: `datatypeLibrary`, value-space ``, name-class + subtraction, and compact-syntax breadth (#79). The in-scope `datatypeLibrary` + is now inherited from the nearest ancestor; the default library defines only + `string` and `token`, the W3C XML Schema library defines the full built-in set, + and a type no in-scope library defines is an unknown datatype, so its `` + or `` matches nothing rather than validating silently. A `` + carries its datatype and compares in that type's value space, so `1` equals + `01` and `1.5` equals `1.50`, booleans treat `1`/`true` and `0`/`false` as + equal, and `string`/`token` compare by their whitespace-normalized form. A new + `nsNameExcept` name class backs `` with `` and the compact + `prefix:* - name` subtraction. The compact parser also skips `[ … ]` + annotations, treats `div { … }` as transparent grouping, and folds `~` string + concatenation. - XSLT template parameters and modes (toward full parity, #61). `xsl:param` declarations (with defaults), `xsl:with-param` on `apply-templates` and `call-template`, and `mode` on templates and `apply-templates` are now honored: diff --git a/README.md b/README.md index 417a2f1..b58a04c 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,7 @@ flowchart TB PureXML is a working, dependency-free XML library today: parse, emit, validate, query, and stream documents on macOS, Linux, Windows, and WASM. The test suite -currently runs **506 tests in 69 suites** (`swift test`). +currently runs **573 tests in 84 suites** (`swift test`). ### Shipped (libxml2-aligned surface)