You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: specs/jsonschema-core.md
+16-16
Original file line number
Diff line number
Diff line change
@@ -243,9 +243,9 @@ are using.
243
243
#### Root Schema and Subschemas and Resources {#root}
244
244
245
245
A JSON Schema resource is a schema which is [canonically](https://www.rfc-editor.org/info/rfc6596) identified
246
-
by an [absolute IRI](https://www.rfc-editor.org/info/rfc3987). Schema resources MAY also be identified by IRIs,
246
+
by an [absolute IRI](https://www.rfc-editor.org/rfc/rfc3987.html#section-2.2). Schema resources MAY also be identified by IRIs,
247
247
including IRIs with fragments, if the resulting secondary resource (as defined
248
-
by [section 3.5 of RFC 3986](https://www.rfc-editor.org/info/rfc3986)) is identical to the primary resource.
248
+
by [section 3.5 of RFC 3986](https://www.rfc-editor.org/rfc/rfc3986.html#section-3.5)) is identical to the primary resource.
249
249
This can occur with the empty fragment, or when one schema resource is embedded
250
250
in another. Any such IRIs with fragments are considered to be non-canonical.
251
251
@@ -285,7 +285,7 @@ are processed in the same way, with the same available behaviors.
285
285
286
286
## Fragment Identifiers {#fragments}
287
287
288
-
In accordance with section 3.1 of [RFC 6839](https://www.rfc-editor.org/info/rfc6839), the syntax and semantics
288
+
In accordance with [section 3.1 of RFC 6839](https://www.rfc-editor.org/rfc/rfc6839.html#section-3.1), the syntax and semantics
289
289
of fragment identifiers specified for any +json media type SHOULD be as
290
290
specified for `application/json`. (At publication of this document, there is no
291
291
fragment identification syntax defined for `application/json`.)
@@ -306,9 +306,9 @@ identifiers](#w3cwd-fragid-best-practices-20121025), plain name fragment
306
306
identifiers in `application/schema+json` are reserved for referencing locally
307
307
named schemas.
308
308
309
-
Plain name fragments MUST follow XML's [`NCName` production](http://www.w3.org/TR/2006/REC-xml-names11-20060816), which
310
-
allows for compatibility with the recommended plain name
311
-
[syntax](https://www.w3.org/TR/2003/REC-xptr-framework-20030325/) for XML-based media types. For
309
+
Plain name fragments MUST follow XML's [`NCName` production](https://www.w3.org/TR/2006/REC-xml-names11-20060816/#NT-NCName), which
310
+
allows for compatibility with the recommended [plain name
311
+
syntax](https://www.w3.org/TR/2003/REC-xptr-framework-20030325/) for XML-based media types. For
312
312
convenience, the `NCName` syntax is reproduced here in ABNF form, using
313
313
a minimal set of rules:
314
314
@@ -896,26 +896,26 @@ by other parties.
896
896
### Base IRI, Anchors, and Dereferencing
897
897
898
898
To differentiate between schemas in a vast ecosystem, schema resources are
899
-
identified by [absolute IRIs](https://www.rfc-editor.org/info/rfc3987) (without fragments). These identifiers
899
+
identified by [absolute IRIs](https://www.rfc-editor.org/rfc/rfc3987.html#section-2.2) (without fragments). These identifiers
900
900
are used to create references between schema resources. When comparing IRIs for
901
901
the purposes of resource identification, implementations SHOULD first follow the
902
902
IRI normalization procedures defined in [RFC 3987](https://www.rfc-editor.org/info/rfc3987), section 5.3.
903
903
904
-
Several keywords can accept a relative [IRI reference](https://www.rfc-editor.org/info/rfc3987), or a value
904
+
Several keywords can accept a relative [IRI reference](https://www.rfc-editor.org/rfc/rfc3987.html#section-2.2), or a value
905
905
used to construct a relative IRI reference. For these keywords, it is necessary
906
906
to establish a base IRI in order to resolve the reference.
907
907
908
908
#### The `$id` Keyword {#id-keyword}
909
909
910
910
An `$id` keyword in a schema or subschema identifies that schema or subschema as
911
911
a distinct schema resource. The value for this keyword MUST be a string, and
912
-
MUST represent a valid [IRI reference](https://www.rfc-editor.org/info/rfc3987) without a fragment.
912
+
MUST represent a valid [IRI reference](https://www.rfc-editor.org/rfc/rfc3987.html#section-2.2) without a fragment.
913
913
914
914
When the value of this keyword is resolved against the current base IRI, the
915
915
resulting absolute IRI then serves as the identifier for the schema resource and
916
916
as a base IRI for relative IRI references in keywords within that schema
917
917
resource and for embedded schema resources, in accordance with [RFC 3987 section
918
-
6.5](https://www.rfc-editor.org/info/rfc3987) and [RFC 3986 section 5.1.1](https://www.rfc-editor.org/info/rfc3986) regarding base IRIs
918
+
6.5](https://www.rfc-editor.org/rfc/rfc3987.html#section-6.5) and [RFC 3986 section 5.1.1](https://www.rfc-editor.org/rfc/rfc3986.html#section-5.1.1) regarding base IRIs
919
919
embedded in content and RFC 3986 section 5.1.2 regarding encapsulating entities.
920
920
921
921
Note that this IRI is an identifier and not necessarily a network locator. In
@@ -933,7 +933,7 @@ given in {{initial-base}}.
933
933
##### Identifying the root schema
934
934
935
935
The root schema of a JSON Schema document SHOULD contain an `$id` keyword with
936
-
an [absolute IRI](https://www.rfc-editor.org/info/rfc3987) (containing a scheme, but no fragment).
936
+
an [absolute IRI](https://www.rfc-editor.org/rfc/rfc3987.html#section-2.2) (containing a scheme, but no fragment).
@@ -1087,20 +1087,20 @@ MUST NOT be collected as an annotation result.
1087
1087
1088
1088
#### Initial Base IRI {#initial-base}
1089
1089
1090
-
[RFC 3987 Section 6.5](https://www.rfc-editor.org/info/rfc3987) and [RFC 3986 Section 5.1](https://www.rfc-editor.org/info/rfc3986) defines
1090
+
[RFC 3987 Section 6.5](https://www.rfc-editor.org/rfc/rfc3987.html#section-6.5) and [RFC 3986 Section 5.1](https://www.rfc-editor.org/rfc/rfc3986.html#section-5.1) defines
1091
1091
how to determine the default base IRI of a document.
1092
1092
1093
1093
Informatively, the initial base IRI of a schema is the IRI at which it was
1094
1094
found, whether that was a network location, a local filesystem, or any other
1095
1095
situation identifiable by a IRI of any known scheme.
1096
1096
1097
1097
If a schema document defines no explicit base IRI with `$id` (embedded in
1098
-
content), the base IRI is that determined per [RFC 3987 Section 6.5](https://www.rfc-editor.org/info/rfc3987)
1099
-
and [RFC 3986 section 5](https://www.rfc-editor.org/info/rfc3986).
1098
+
content), the base IRI is that determined per [RFC 3987 Section 6.5](https://www.rfc-editor.org/rfc/rfc3987.html#section-6.5)
1099
+
and [RFC 3986 section 5](https://www.rfc-editor.org/rfc/rfc3986.html#section-5).
1100
1100
1101
1101
If no source is known, or no IRI scheme is known for the source, a suitable
1102
1102
implementation-specific default IRI MAY be used as described in [RFC 3987
1103
-
Section 6.5](https://www.rfc-editor.org/info/rfc3987) and [RFC 3986 Section 5.1.4](https://www.rfc-editor.org/info/rfc3986). It is RECOMMENDED
1103
+
Section 6.5](https://www.rfc-editor.org/rfc/rfc3987.html#section-6.5) and [RFC 3986 Section 5.1.4](https://www.rfc-editor.org/rfc/rfc3986.html#section-5.1.4). It is RECOMMENDED
1104
1104
that implementations document any default base IRI that they assume.
1105
1105
1106
1106
If a schema object is embedded in a document of another media type, then the
0 commit comments