diff --git a/index.html b/index.html
index 1bb6b8c..c393643 100644
--- a/index.html
+++ b/index.html
@@ -35,7 +35,7 @@
| KDL |
plain text |
- diff with main |
+ same as main |
diff --git a/zkat/schema-v2/draft-marchan-kdl2.html b/zkat/schema-v2/draft-marchan-kdl2.html
index c3fa963..917b2b9 100644
--- a/zkat/schema-v2/draft-marchan-kdl2.html
+++ b/zkat/schema-v2/draft-marchan-kdl2.html
@@ -1347,7 +1347,7 @@ depending on the characters used.¶
The toplevel concept of KDL is a Document. A Document is composed of zero or
more Nodes (Section 3.2), separated by newlines and whitespace, and eventually
terminated by an EOF.¶
-All KDL documents should be UTF-8 encoded and conform to the specifications in
+
All KDL documents MUST be encoded in UTF-8 and conform to the specifications in
this document.¶
@@ -2803,10 +2803,13 @@ string-character :=
[^\\"] - disallowed-literal-code-points
ws-escape := '\\' (unicode-space | newline)+
hex-digit := [0-9a-fA-F]
-hex-unicode := hex-digit{1, 6} - surrogates
-surrogates := [dD][8-9a-fA-F]hex-digit{2}
-// U+D800-DFFF: D 8 00
-// D F FF
+hex-unicode := hex-digit{1, 6} - surrogate - above-max-scalar // Unicode Scalar Value in hex₁₆, leading 0s allowed within length ≤ 6
+surrogate := [0]{0, 2} [dD] [8-9a-fA-F] hex-digit{2}
+// U+D800-DFFF: D 8 00
+// D F FF
+above-max-scalar = [2-9a-fA-F] hex-digit{5} | [1] [1-9a-fA-F] hex-digit{4}
+// >U+10FFFF: >1 _____ 1 >0 ____
+
raw-string := '#' raw-string-quotes '#' | '#' raw-string '#'
raw-string-quotes :=
diff --git a/zkat/schema-v2/draft-marchan-kdl2.txt b/zkat/schema-v2/draft-marchan-kdl2.txt
index 9dd7e11..0bdf991 100644
--- a/zkat/schema-v2/draft-marchan-kdl2.txt
+++ b/zkat/schema-v2/draft-marchan-kdl2.txt
@@ -137,7 +137,7 @@ Table of Contents
zero or more Nodes (Section 3.2), separated by newlines and
whitespace, and eventually terminated by an EOF.
- All KDL documents should be UTF-8 encoded and conform to the
+ All KDL documents MUST be encoded in UTF-8 and conform to the
specifications in this document.
3.1.1. Example
@@ -1111,10 +1111,13 @@ Table of Contents
[^\\"] - disallowed-literal-code-points
ws-escape := '\\' (unicode-space | newline)+
hex-digit := [0-9a-fA-F]
- hex-unicode := hex-digit{1, 6} - surrogates
- surrogates := [dD][8-9a-fA-F]hex-digit{2}
- // U+D800-DFFF: D 8 00
- // D F FF
+ hex-unicode := hex-digit{1, 6} - surrogate - above-max-scalar // Unicode Scalar Value in hex₁₆, leading 0s allowed within length ≤ 6
+ surrogate := [0]{0, 2} [dD] [8-9a-fA-F] hex-digit{2}
+ // U+D800-DFFF: D 8 00
+ // D F FF
+ above-max-scalar = [2-9a-fA-F] hex-digit{5} | [1] [1-9a-fA-F] hex-digit{4}
+ // >U+10FFFF: >1 _____ 1 >0 ____
+
raw-string := '#' raw-string-quotes '#' | '#' raw-string '#'
raw-string-quotes :=