diff --git a/jsonschema-core.xml b/jsonschema-core.xml index 1001eb83..94392427 100644 --- a/jsonschema-core.xml +++ b/jsonschema-core.xml @@ -12,6 +12,7 @@ + ]> @@ -513,7 +514,18 @@ Per the W3C's best practices for fragment identifiers, plain name fragment identifiers in "application/schema+json" are reserved for referencing - locally named schemas. All fragment identifiers that do + 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 + NCName production, which allows for compatibility + with the recommended plain name syntax for + XML-based media types. + + + All fragment identifiers that do not match the JSON Pointer syntax MUST be interpreted as plain name fragment identifiers. @@ -522,8 +534,6 @@ "application/schema+json" document are specified in the "$anchor" keyword section. - -
@@ -1455,11 +1465,9 @@ need for "$dynamicAnchor". - If present, the value of this keyword MUST be a string and 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 - NCName production. + If present, the value of these keywords MUST be a string and MUST conform + to the plain name fragment identifier syntax defined in section + . Note that the anchor string does not include the "#" character, as it is not a IRI-reference. An "$anchor": "foo" becomes the @@ -3555,6 +3563,7 @@ https://example.com/schemas/common#/$defs/allOf/1 &RFC7231; &RFC8288; &fragid-best-practices; + &xptr-framework; JSON Schema Validation: A Vocabulary for Structural Validation of JSON