Skip to content

Commit a3ba78a

Browse files
committed
use reference style links for repeated urls
1 parent eb10496 commit a3ba78a

File tree

1 file changed

+27
-21
lines changed

1 file changed

+27
-21
lines changed

specs/jsonschema-core.md

Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ interpreted as described in [RFC 2119](https://www.rfc-editor.org/info/rfc2119).
4343

4444
The terms "JSON", "JSON text", "JSON value", "member", "element", "object",
4545
"array", "number", "string", "boolean", "true", "false", and "null" in this
46-
document are to be interpreted as defined in [RFC 8259](https://www.rfc-editor.org/info/rfc8259).
46+
document are to be interpreted as defined in [RFC 8259][RFC8259].
4747

4848
## Overview
4949

@@ -296,7 +296,7 @@ identifier structures: plain names and JSON Pointers. The
296296
structure: JSON Pointers.
297297

298298
The use of JSON Pointers as IRI fragment identifiers is described in [RFC
299-
6901](https://www.rfc-editor.org/info/rfc6901). For `application/schema+json`, which supports two fragment
299+
6901][RFC6901]. For `application/schema+json`, which supports two fragment
300300
identifier syntaxes, fragment identifiers matching the JSON Pointer syntax,
301301
including the empty string, MUST be interpreted as JSON Pointer fragment
302302
identifiers.
@@ -336,7 +336,7 @@ keyword](#anchors) section.
336336

337337
### Range of JSON Values
338338

339-
An instance may be any valid JSON value as defined by [JSON](https://www.rfc-editor.org/info/rfc8259). JSON
339+
An instance may be any valid JSON value as defined by [JSON][RFC8259]. JSON
340340
Schema imposes no restrictions on type: JSON Schema can describe any JSON value,
341341
including, for example, null.
342342

@@ -367,7 +367,7 @@ schema authors SHOULD limit themselves to the following regular expression
367367
tokens:
368368

369369
- individual Unicode characters, as defined by the [JSON
370-
specification](https://www.rfc-editor.org/info/rfc8259);
370+
specification][RFC8259];
371371
- simple atoms: `.` (any character except line terminator);
372372
- simple character classes (`[abc]`), range character classes (`[a-z]`);
373373
- complemented simple character classes (`[^abc]`);
@@ -899,17 +899,17 @@ To differentiate between schemas in a vast ecosystem, schema resources are
899899
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
902-
IRI normalization procedures defined in [RFC 3987](https://www.rfc-editor.org/info/rfc3987), section 5.3.
902+
IRI normalization procedures defined in [RFC 3987][RFC3987], section 5.3.
903903

904-
Several keywords can accept a relative [IRI reference](https://www.rfc-editor.org/rfc/rfc3987.html#section-2.2), or a value
904+
Several keywords can accept a relative IRI reference, 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/rfc/rfc3987.html#section-2.2) without a fragment.
912+
MUST represent a valid IRI reference 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
@@ -951,8 +951,8 @@ fragments, rather than absolute IRIs as seen with `$id`.
951951
keyword is appended to the IRI of the schema resource containing it. As
952952
discussed in {{id-keyword}}, this is either the nearest `$id` in the same or an
953953
ancestor schema object, or the base IRI for the document as determined according
954-
to [RFC 3987](https://www.rfc-editor.org/info/rfc3987) and
955-
[RFC 3986](https://www.rfc-editor.org/info/rfc3986).
954+
to [RFC 3987][RFC3987] and
955+
[RFC 3986][RFC3986].
956956

957957
In contrast, `$dynamicAnchor` operates independently of resource IRIs and is
958958
instead dependent on the dynamic scope of the evaluation. `$dynamicAnchor`
@@ -1095,13 +1095,13 @@ 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/rfc/rfc3987.html#section-6.5)
1099-
and [RFC 3986 section 5](https://www.rfc-editor.org/rfc/rfc3986.html#section-5).
1098+
content), the base IRI is that determined per RFC 3987 Section 6.5
1099+
and RFC 3986 section 5.
11001100

11011101
If no source is known, or no IRI scheme is known for the source, a suitable
1102-
implementation-specific default IRI MAY be used as described in [RFC 3987
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-
that implementations document any default base IRI that they assume.
1102+
implementation-specific default IRI MAY be used as described in RFC 3987 Section
1103+
6.5 and RFC 3986 Section 5.1.4. It is RECOMMENDED that implementations document
1104+
any default base IRI that they assume.
11051105

11061106
If a schema object is embedded in a document of another media type, then the
11071107
initial base IRI is determined according to the rules of that media type.
@@ -1152,7 +1152,7 @@ expect such features to be interoperable across implementations.
11521152
Schemas can be identified by any IRI that has been given to them, including a
11531153
JSON Pointer or their IRI given directly by `$id`. In all cases, dereferencing a
11541154
`$ref` reference involves first resolving its value as a IRI reference against
1155-
the current base IRI per [RFC 3986](https://www.rfc-editor.org/info/rfc3986).
1155+
the current base IRI per [RFC 3986][RFC3986].
11561156

11571157
If the resulting IRI identifies a schema within the current document, or within
11581158
another schema document that has been made available to the implementation, then
@@ -1424,7 +1424,7 @@ all annotation results), would result in a resolution failure.
14241424
JSON has been adopted widely by HTTP servers for automated APIs and robots. This
14251425
section describes how to enhance processing of JSON documents in a more RESTful
14261426
manner when used with protocols that support media types and [Web
1427-
linking](https://www.rfc-editor.org/info/rfc8288).
1427+
linking][RFC8288].
14281428

14291429
##### Linking to a Schema
14301430

@@ -1433,7 +1433,7 @@ downloadable JSON Schema using the link relation "describedby", as defined by
14331433
[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
1436-
header](https://www.rfc-editor.org/info/rfc8288). An example of such a header would be:
1436+
header][RFC8288]. An example of such a header would be:
14371437

14381438
```
14391439
Link: <https://example.com/my-hyper-schema>; rel="describedby"
@@ -1955,7 +1955,7 @@ SHOULD use the terms defined by this document to do so.
19551955
## Security Considerations {#security}
19561956

19571957
Both schemas and instances are JSON values. As such, all security considerations
1958-
defined in [RFC 8259](https://www.rfc-editor.org/info/rfc8259) apply.
1958+
defined in [RFC 8259][RFC8259] apply.
19591959

19601960
Instances and schemas are both frequently written by untrusted third parties, to
19611961
be deployed on public Internet servers. Implementations should take care that
@@ -1994,7 +1994,7 @@ Subtype name:: schema+json
19941994
Required parameters:: N/A
19951995

19961996
Encoding considerations:: Encoding considerations are identical to those
1997-
specified for the `application/json` media type. See [JSON](https://www.rfc-editor.org/info/rfc8259).
1997+
specified for the `application/json` media type. See [JSON][RFC8259].
19981998

19991999
Security considerations:: See {{security}} above.
20002000

@@ -2015,7 +2015,7 @@ Subtype name:: schema-instance+json
20152015
Required parameters:: N/A
20162016

20172017
Encoding considerations:: Encoding considerations are identical to those
2018-
specified for the `application/json` media type. See [JSON](https://www.rfc-editor.org/info/rfc8259).
2018+
specified for the `application/json` media type. See [JSON][RFC8259].
20192019

20202020
Security considerations:: See {{security}} above.
20212021

@@ -2053,7 +2053,7 @@ name fragment identifiers.
20532053
```
20542054

20552055
The schemas at the following locations (indicated by plain
2056-
[JSON Pointers](https://www.rfc-editor.org/info/rfc6901) relative to the root document) have the following base
2056+
[JSON Pointers][RFC6901] relative to the root document) have the following base
20572057
IRIs, and are identifiable by any listed IRI in accordance with {{fragments}}
20582058
and {{embedded}} above.
20592059

@@ -2491,3 +2491,9 @@ to the document.
24912491
| Greg Dennis | | <gregsdennis@yahoo.com> | <https://github.com/gregsdennis> |
24922492

24932493
[^19]: This section to be removed before leaving Internet-Draft status.
2494+
2495+
[RFC3986]: https://www.rfc-editor.org/info/rfc3986
2496+
[RFC3987]: https://www.rfc-editor.org/info/rfc3987
2497+
[RFC6901]: https://www.rfc-editor.org/info/rfc6901
2498+
[RFC8259]: https://www.rfc-editor.org/info/rfc8259
2499+
[RFC8288]: https://www.rfc-editor.org/info/rfc8288

0 commit comments

Comments
 (0)