From f4b73061bc3a861c66b47b18014d8835acbd08a2 Mon Sep 17 00:00:00 2001 From: "Henry H. Andrews" Date: Sun, 4 Dec 2022 23:20:23 -0800 Subject: [PATCH 1/2] Plain name IRI fragments can use unicode --- jsonschema-core.xml | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/jsonschema-core.xml b/jsonschema-core.xml index a8ca268f..82ebc573 100644 --- a/jsonschema-core.xml +++ b/jsonschema-core.xml @@ -516,13 +516,34 @@ locally named schemas. - Plain name fragments MUST start with a letter ([A-Za-z]) or underscore ("_"), - followed by any number of letters, digits ([0-9]), hyphens ("-"), - underscores ("_"), and periods ("."). This matches the US-ASCII part of XML's + Plain name fragments MUST follow XML's NCName production, which allows for compatibility with the recommended plain name syntax for - XML-based media types. + XML-based media types. For convenience, the NCName syntax is reproduced here in ABNF form, using + a minimal set of rules: + + Note that the previous syntax for plain name fragment is a subset of this syntax, + which used only the first line of each of the NCNameStartChar and NCNameChar rules. + +
+ + + +
All fragment identifiers that do not match the JSON Pointer syntax MUST be interpreted as From 8e52bace7f2612b8f3a3dfdfa5fb042c93765606 Mon Sep 17 00:00:00 2001 From: Austin Wright Date: Mon, 27 Mar 2023 02:46:44 -0700 Subject: [PATCH 2/2] Correct the ABNF --- jsonschema-core.xml | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/jsonschema-core.xml b/jsonschema-core.xml index 82ebc573..006ea58a 100644 --- a/jsonschema-core.xml +++ b/jsonschema-core.xml @@ -526,24 +526,20 @@ which used only the first line of each of the NCNameStartChar and NCNameChar rules. -
- - - -
+ +NCNameStartChar = "_" / ALPHA + / %xC0-D6 / %xD8-F6 / %xF8-2FF + / %x370-37D / %x37F-1FFF + / %x200C-200D / %x2070-218F + / %x2C00-2FEF / %x3001-D7FF + / %xF900-FDCF / %xFDF0-FFFD + / %x10000-EFFFF + +NCNameChar = NCNameStartChar / "-" / "." / DIGIT + / %xB7 / %x0300-036F / %x203F-2040 +]]> All fragment identifiers that do not match the JSON Pointer syntax MUST be interpreted as