Skip to content

Commit eb10496

Browse files
committedJan 10, 2025
link more directly to the specific sections
1 parent 824fee7 commit eb10496

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed
 

‎specs/jsonschema-core.md

+16-16
Original file line numberDiff line numberDiff line change
@@ -243,9 +243,9 @@ are using.
243243
#### Root Schema and Subschemas and Resources {#root}
244244

245245
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,
247247
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.
249249
This can occur with the empty fragment, or when one schema resource is embedded
250250
in another. Any such IRIs with fragments are considered to be non-canonical.
251251

@@ -285,7 +285,7 @@ are processed in the same way, with the same available behaviors.
285285

286286
## Fragment Identifiers {#fragments}
287287

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
289289
of fragment identifiers specified for any +json media type SHOULD be as
290290
specified for `application/json`. (At publication of this document, there is no
291291
fragment identification syntax defined for `application/json`.)
@@ -306,9 +306,9 @@ identifiers](#w3cwd-fragid-best-practices-20121025), plain name fragment
306306
identifiers in `application/schema+json` are reserved for referencing locally
307307
named schemas.
308308

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
312312
convenience, the `NCName` syntax is reproduced here in ABNF form, using
313313
a minimal set of rules:
314314

@@ -896,26 +896,26 @@ by other parties.
896896
### Base IRI, Anchors, and Dereferencing
897897

898898
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
900900
are used to create references between schema resources. When comparing IRIs for
901901
the purposes of resource identification, implementations SHOULD first follow the
902902
IRI normalization procedures defined in [RFC 3987](https://www.rfc-editor.org/info/rfc3987), section 5.3.
903903

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
905905
used to construct a relative IRI reference. For these keywords, it is necessary
906906
to establish a base IRI in order to resolve the reference.
907907

908908
#### The `$id` Keyword {#id-keyword}
909909

910910
An `$id` keyword in a schema or subschema identifies that schema or subschema as
911911
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.
913913

914914
When the value of this keyword is resolved against the current base IRI, the
915915
resulting absolute IRI then serves as the identifier for the schema resource and
916916
as a base IRI for relative IRI references in keywords within that schema
917917
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
919919
embedded in content and RFC 3986 section 5.1.2 regarding encapsulating entities.
920920

921921
Note that this IRI is an identifier and not necessarily a network locator. In
@@ -933,7 +933,7 @@ given in {{initial-base}}.
933933
##### Identifying the root schema
934934

935935
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).
937937

938938
#### Defining location-independent identifiers {#anchors}
939939

@@ -1087,20 +1087,20 @@ MUST NOT be collected as an annotation result.
10871087

10881088
#### Initial Base IRI {#initial-base}
10891089

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
10911091
how to determine the default base IRI of a document.
10921092

10931093
Informatively, the initial base IRI of a schema is the IRI at which it was
10941094
found, whether that was a network location, a local filesystem, or any other
10951095
situation identifiable by a IRI of any known scheme.
10961096

10971097
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).
11001100

11011101
If no source is known, or no IRI scheme is known for the source, a suitable
11021102
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
11041104
that implementations document any default base IRI that they assume.
11051105

11061106
If a schema object is embedded in a document of another media type, then the
@@ -1430,7 +1430,7 @@ linking](https://www.rfc-editor.org/info/rfc8288).
14301430

14311431
It is RECOMMENDED that instances described by a schema provide a link to a
14321432
downloadable JSON Schema using the link relation "describedby", as defined by
1433-
[Linked Data Protocol 1.0, section 8.1](https://www.w3.org/TR/2015/REC-ldp-20150226).
1433+
[Linked Data Protocol 1.0, section 8.1](https://www.w3.org/TR/2015/REC-ldp-20150226/#link-relation-describedby).
14341434

14351435
In HTTP, such links can be attached to any response using the [Link
14361436
header](https://www.rfc-editor.org/info/rfc8288). An example of such a header would be:

0 commit comments

Comments
 (0)
Failed to load comments.