352
352
</t >
353
353
<t >
354
354
A JSON Schema MAY contain properties which are not schema keywords or are not recognized as schema keywords.
355
- The behavior of such keywords is governed by section
356
- <xref target =" unrecognized" format =" counter" ></xref >.
355
+ The behavior of such keywords is governed by <xref target =" unrecognized" ></xref >.
357
356
</t >
358
357
<t >
359
358
An empty schema is a JSON Schema with no properties.
439
438
<t >
440
439
The root schema is the schema that comprises the entire JSON document
441
440
in question. The root schema is always a schema resource, where the
442
- IRI is determined as described in section
443
- <xref target =" initial-base" format =" counter" ></xref >.
441
+ IRI is determined as described in <xref target =" initial-base" ></xref >.
444
442
<cref >
445
443
Note that documents that embed schemas in another format will not
446
444
have a root schema resource in this sense. Exactly how such usages
471
469
As with the root schema, a subschema is either an object or a boolean.
472
470
</t >
473
471
<t >
474
- As discussed in section
475
- <xref target =" id-keyword" format =" counter" ></xref >, a JSON Schema document
472
+ As discussed in <xref target =" id-keyword" ></xref >, a JSON Schema document
476
473
can contain multiple JSON Schema resources. When used without qualification,
477
474
the term "root schema" refers to the document's root schema. In some
478
475
cases, resource root schemas are discussed. A resource's root schema
657
654
location in the instance is evaluated against the assertion and
658
655
annotation keywords in the schema object. The interactions of those
659
656
keyword results to produce the schema object results are governed by
660
- section <xref target =" annot-assert" format = " counter " ></xref >, while the
657
+ <xref target =" annot-assert" ></xref >, while the
661
658
relationship of subschema results to the results of the applicator
662
- keyword that applied them is described by section
663
- <xref target =" applicators" format =" counter" ></xref >.
659
+ keyword that applied them is described by <xref target =" applicators" ></xref >.
664
660
</t >
665
661
<t >
666
662
Evaluation of a parent schema object can complete once all of its
816
812
</t >
817
813
<t >
818
814
<xref target =" annotations" >Annotation</xref > results from subschemas
819
- are preserved in accordance with section
820
- <xref target =" collect" format =" counter" ></xref > so that applications
815
+ are preserved in accordance with <xref target =" collect" ></xref > so that applications
821
816
can decide how to interpret multiple values. Applicator keywords
822
817
do not play a direct role in this preservation.
823
818
</t >
1110
1105
keywords.
1111
1106
</t >
1112
1107
<t >
1113
- While these keywords do not directly affect results, as explained in section
1114
- <xref target =" non-schemas" format = " counter " ></xref > unrecognized
1108
+ While these keywords do not directly affect results, as explained in
1109
+ <xref target =" non-schemas" ></xref > unrecognized
1115
1110
extension keywords that reserve locations for re-usable schemas may have
1116
1111
undesirable interactions with references in certain circumstances.
1117
1112
</t >
1283
1278
or link relation types, or through documented default implementation-defined
1284
1279
behavior in the absence of an explicit meta-schema. If a meta-schema
1285
1280
does not contain "$vocabulary", the set of vocabularies in use is determined
1286
- according to section <xref target =" default-vocabs" format = " counter " ></xref >.
1281
+ according to <xref target =" default-vocabs" ></xref >.
1287
1282
</t >
1288
1283
<t >
1289
1284
Any vocabulary in use by a schema and understood by the implementation
1294
1289
<t >
1295
1290
Any vocabulary that is not present in "$vocabulary" MUST NOT be made
1296
1291
available for use in schemas described by that meta-schema, except for
1297
- the core vocabulary as specified by the introduction to section
1298
- <xref target =" core" format = " counter " ></xref >.
1292
+ the core vocabulary as specified by the introduction to
1293
+ <xref target =" core" ></xref >.
1299
1294
</t >
1300
1295
<t >
1301
1296
Implementations that do not support a vocabulary required by a schema
1304
1299
<t >
1305
1300
Implementations that do not support a vocabulary that is optionally used
1306
1301
by a schema SHOULD proceed with processing the schema. The keywords will
1307
- be considered to be unrecognized keywords as addressed by section
1308
- <xref target =" unrecognized" format = " counter " ></xref >. Note that since
1302
+ be considered to be unrecognized keywords as addressed by
1303
+ <xref target =" unrecognized" ></xref >. Note that since
1309
1304
the recommended behavior for such keywords is to collect them as
1310
1305
annotations, vocabularies consisting only of annotations will have
1311
1306
the same behavior when used optionally whether the implementation
1341
1336
</t >
1342
1337
<t >
1343
1338
Guidance regarding vocabularies with identically-named keywords is provided
1344
- in Appendix <xref target =" vocab-practices" format = " counter " ></xref >.
1339
+ in <xref target =" vocab-practices" ></xref >.
1345
1340
</t >
1346
1341
</section >
1347
1342
<section title =" Default vocabularies" anchor =" default-vocabs" >
1444
1439
the parent schema resource. Note that an "$id" consisting of an empty IRI or
1445
1440
of the empty fragment only will result in the embedded resource having
1446
1441
the same IRI as the encapsulating resource, which SHOULD be considered
1447
- an error per section <xref target =" duplicate-iris" format = " counter " ></xref >.
1442
+ an error per <xref target =" duplicate-iris" ></xref >.
1448
1443
</t >
1449
1444
<t >
1450
1445
If no parent schema object explicitly identifies itself as a resource
1498
1493
</t >
1499
1494
<t >
1500
1495
If present, the value of these keywords MUST be a string and MUST conform
1501
- to the plain name fragment identifier syntax defined in section
1502
- <xref target =" fragments" format = " counter " ></xref >.
1496
+ to the plain name fragment identifier syntax defined in
1497
+ <xref target =" fragments" ></xref >.
1503
1498
<cref >
1504
1499
Note that the anchor string does not include the "#" character,
1505
1500
as it is not a IRI-reference. An "$anchor": "foo" becomes the
1583
1578
resolved IRI.
1584
1579
</t >
1585
1580
<t >
1586
- For a full example using these keyword, see appendix
1587
- <xref target =" recursive-example" format =" counter" />.
1581
+ For a full example using these keyword, see <xref target =" recursive-example" />.
1588
1582
<cref >
1589
1583
The difference between the hyper-schema meta-schema in pre-2019
1590
1584
drafts and an this draft dramatically demonstrates the utility
1724
1718
on the trust that the validator has in the schema. Such IRIs and schemas
1725
1719
can be supplied to an implementation prior to processing instances, or may
1726
1720
be noted within a schema document as it is processed, producing associations
1727
- as shown in appendix <xref target =" idExamples" format = " counter " ></xref >.
1721
+ as shown in <xref target =" idExamples" ></xref >.
1728
1722
</t >
1729
1723
</section >
1730
1724
1926
1920
<t >
1927
1921
Further examples of such non-canonical IRI construction, as well as
1928
1922
the appropriate canonical IRI-based fragments to use instead,
1929
- are provided in appendix <xref target =" idExamples" format = " counter " ></xref >.
1923
+ are provided in <xref target =" idExamples" ></xref >.
1930
1924
</t >
1931
1925
</section >
1932
1926
</section >
2577
2571
Validation MUST always succeed against this keyword.
2578
2572
The value of this keyword is used as its annotation result.
2579
2573
</t >
2580
- <t > Per section <xref target =" default-behaviors" format = " counter " ></xref >,
2574
+ <t > Per <xref target =" default-behaviors" ></xref >,
2581
2575
omitted keywords MUST NOT produce annotation results. However, as described
2582
2576
in the section for "contains", the absence of this keyword's annotation
2583
2577
causes "contains" to assume a minimum value of 1.
@@ -3599,8 +3593,7 @@ https://example.com/schemas/common#/$defs/allOf/1
3599
3593
media type. See <xref target =" RFC8259" >JSON</xref >.
3600
3594
</t >
3601
3595
<t >
3602
- Security considerations: See Section
3603
- <xref target =" security" format =" counter" ></xref > above.
3596
+ Security considerations: See <xref target =" security" ></xref > above.
3604
3597
</t >
3605
3598
<t >
3606
3599
Interoperability considerations: See Sections
@@ -3609,8 +3602,8 @@ https://example.com/schemas/common#/$defs/allOf/1
3609
3602
<xref target =" regex" format =" counter" ></xref > above.
3610
3603
</t >
3611
3604
<t >
3612
- Fragment identifier considerations: See Section
3613
- <xref target =" fragments" format = " counter " ></xref >
3605
+ Fragment identifier considerations: See
3606
+ <xref target =" fragments" ></xref >
3614
3607
</t >
3615
3608
</list >
3616
3609
</t >
@@ -3630,8 +3623,7 @@ https://example.com/schemas/common#/$defs/allOf/1
3630
3623
media type. See <xref target =" RFC8259" >JSON</xref >.
3631
3624
</t >
3632
3625
<t >
3633
- Security considerations: See Section
3634
- <xref target =" security" format =" counter" ></xref > above.
3626
+ Security considerations: See <xref target =" security" ></xref > above.
3635
3627
</t >
3636
3628
<t >
3637
3629
Interoperability considerations: See Sections
@@ -3640,8 +3632,7 @@ https://example.com/schemas/common#/$defs/allOf/1
3640
3632
<xref target =" regex" format =" counter" ></xref > above.
3641
3633
</t >
3642
3634
<t >
3643
- Fragment identifier considerations: See Section
3644
- <xref target =" fragments" format =" counter" ></xref >
3635
+ Fragment identifier considerations: See <xref target =" fragments" ></xref >
3645
3636
</t >
3646
3637
</list >
3647
3638
</t >
@@ -3772,8 +3763,7 @@ https://example.com/schemas/common#/$defs/allOf/1
3772
3763
The schemas at the following IRI-encoded <xref target =" RFC6901" >JSON
3773
3764
Pointers</xref > (relative to the root schema) have the following
3774
3765
base IRIs, and are identifiable by any listed IRI in accordance with
3775
- sections <xref target =" fragments" format =" counter" ></xref > and
3776
- <xref target =" embedded" format =" counter" ></xref > above.
3766
+ <xref target =" fragments" ></xref > and <xref target =" embedded" ></xref > above.
3777
3767
</t >
3778
3768
<t >
3779
3769
<list style =" hanging" >
0 commit comments