169
169
A JSON document to which a schema is applied is known as an "instance".
170
170
</t >
171
171
172
- <section title =" Instance data model " >
172
+ <section title =" Instance Data Model " >
173
173
<t >
174
174
JSON Schema interprets documents according to a data model. A JSON value
175
175
interpreted according to this data model is called an "instance".
211
211
</t >
212
212
</section >
213
213
214
- <section title =" Instance media types " >
214
+ <section title =" Instance Media Types " >
215
215
<t >
216
216
JSON Schema is designed to fully work with "application/json" documents,
217
217
as well as media types using the "+json" structured syntax suffix.
230
230
</t >
231
231
</section >
232
232
233
- <section title =" Instance equality " >
233
+ <section title =" Instance Equality " >
234
234
<t >
235
235
Two JSON instances are said to be equal if and only if they are of the same type
236
236
and have the same value according to the data model. Specifically, this means:
258
258
</section >
259
259
</section >
260
260
261
- <section title =" JSON Schema documents " >
261
+ <section title =" JSON Schema Documents " >
262
262
<t >
263
263
A JSON Schema document, or simply a schema, is a JSON document used to describe
264
264
an instance.
269
269
fragment identifier syntax and semantics provided by
270
270
"application/schema-instance+json".
271
271
</t >
272
- <section title =" JSON Schema values and keywords " >
272
+ <section title =" JSON Schema Values and Keywords " >
273
273
<t >
274
274
A JSON Schema MUST be an object or a boolean.
275
275
</t >
314
314
properties.
315
315
</t >
316
316
</section >
317
- <section title =" JSON Schema vocabularies " anchor =" vocabulary" >
317
+ <section title =" JSON Schema Vocabularies " anchor =" vocabulary" >
318
318
<t >
319
319
A JSON Schema vocabulary is a set of keywords defined for a particular
320
320
purpose. The vocabulary specifies the meaning of its keywords as
354
354
</cref >
355
355
</t >
356
356
</section >
357
- <section title =" Root schema and subschemas " >
357
+ <section title =" Root Schema and Subschemas " >
358
358
<t >
359
359
The root schema is the schema that comprises the entire JSON document
360
360
in question.
386
386
387
387
</section >
388
388
389
- <section title =" Fragment identifiers " anchor =" fragments" >
389
+ <section title =" Fragment Identifiers " anchor =" fragments" >
390
390
<t >
391
391
In accordance with section 3.1 of <xref target =" RFC6839" ></xref >,
392
392
the syntax and semantics of fragment identifiers specified for
424
424
</t >
425
425
</section >
426
426
427
- <section title =" General considerations " >
427
+ <section title =" General Considerations " >
428
428
429
- <section title =" Range of JSON values " >
429
+ <section title =" Range of JSON Values " >
430
430
<t >
431
431
An instance may be any valid JSON value as defined by <xref target =" RFC7159" >JSON</xref >.
432
432
JSON Schema imposes no restrictions on type: JSON Schema can describe any JSON
433
433
value, including, for example, null.
434
434
</t >
435
435
</section >
436
436
437
- <section title =" Programming language independence " anchor =" language" >
437
+ <section title =" Programming Language Independence " anchor =" language" >
438
438
<t >
439
439
JSON Schema is programming language agnostic, and supports the full range of
440
440
values described in the data model.
443
443
</t >
444
444
</section >
445
445
446
- <section title =" Mathematical integers " anchor =" integers" >
446
+ <section title =" Mathematical Integers " anchor =" integers" >
447
447
<t >
448
448
Some programming languages and parsers use different internal representations
449
449
for floating point numbers than they do for integers.
476
476
477
477
</section >
478
478
479
- <section title =' The "$schema" keyword ' >
479
+ <section title =' The "$schema" Keyword ' >
480
480
<!-- TODO a custom $schema keyword might also be used to enforce minimum required functionality of a validator -->
481
481
<t >
482
482
The "$schema" keyword is both used as a JSON Schema version identifier and the
521
521
</t >
522
522
</section >
523
523
524
- <section title =' Schema references with "$ref"' >
524
+ <section title =' Schema References With "$ref"' >
525
525
<t >
526
526
The "$ref" keyword is used to reference a schema, and provides the ability to
527
527
validate recursive structures through self-reference.
548
548
</t >
549
549
</section >
550
550
551
- <section title =" Base URI and dereferencing " >
552
- <section title =" Initial base URI" >
551
+ <section title =" Base URI and Dereferencing " >
552
+ <section title =" Initial Base URI" >
553
553
<t >
554
554
<xref target =" RFC3986" >RFC3986 Section 5.1</xref > defines how to determine the
555
555
default base URI of a document.
560
560
</t >
561
561
</section >
562
562
563
- <section title =' The "$id" keyword ' anchor =" id-keyword" >
563
+ <section title =' The "$id" Keyword ' anchor =" id-keyword" >
564
564
<t >
565
565
The "$id" keyword defines a URI for the schema, and the base URI that
566
566
other URI references within the schema are resolved against.
646
646
<t hangText =" #/definitions/C" >urn:uuid:ee564b8a-7a87-4125-8c96-e9f123d6766f</t >
647
647
</list >
648
648
</t >
649
- <section title =" Internal references " >
649
+ <section title =" Internal References " >
650
650
<t >
651
651
Schemas can be identified by any URI that has been given to them, including
652
652
a JSON Pointer or their URI given directly by "$id".
692
692
resolve the fragment against the base URI.
693
693
</t >
694
694
</section >
695
- <section title =" External references " >
695
+ <section title =" External References " >
696
696
<t >
697
697
To differentiate schemas between each other in a vast ecosystem, schemas are
698
698
identified by URI. As specified above, this does not necessarily mean
714
714
</section >
715
715
</section >
716
716
717
- <section title =' Comments with "$comment"' >
717
+ <section title =' Comments With "$comment"' >
718
718
<t >
719
719
This keyword is reserved for comments from schema authors to readers or
720
720
maintainers of the schema.
746
746
</t >
747
747
</section >
748
748
749
- <section title =" Usage for hypermedia " >
749
+ <section title =" Usage for Hypermedia " >
750
750
751
751
<t >
752
752
JSON has been adopted widely by HTTP servers for automated APIs and robots. This
755
755
<xref target =" RFC8288" >Web linking</xref >.
756
756
</t >
757
757
758
- <section title =' Linking to a schema ' >
758
+ <section title =' Linking to a Schema ' >
759
759
<t >
760
760
It is RECOMMENDED that instances described by a schema provide a link to
761
761
a downloadable JSON Schema using the link relation "describedby", as defined by
@@ -778,7 +778,7 @@ Link: <http://example.com/my-hyper-schema#>; rel="describedby"
778
778
</section >
779
779
780
780
781
- <section title =' Identifying a schema via a media type parameter ' anchor =" parameter" >
781
+ <section title =' Identifying a Schema via a Media Type Parameter ' anchor =" parameter" >
782
782
<t >
783
783
Media types MAY allow for a "schema" media type parameter, which gives
784
784
HTTP servers the ability to perform Content-Type Negotiation based on schema.
@@ -847,7 +847,7 @@ Link: </alice>;rel="schema", </bob>;rel="schema"
847
847
848
848
</section >
849
849
850
- <section title =" Usage over HTTP" >
850
+ <section title =" Usage Over HTTP" >
851
851
<t >
852
852
When used for hypermedia systems over a network,
853
853
<xref target =" RFC7231" >HTTP</xref > is frequently the protocol of choice for
@@ -883,7 +883,7 @@ User-Agent: product-name/5.4.1 so-cool-json-schema/1.0.2 curl/7.43.0
883
883
884
884
</section >
885
885
886
- <section title =" Security considerations " anchor =" security" >
886
+ <section title =" Security Considerations " anchor =" security" >
887
887
<t >
888
888
Both schemas and instances are JSON values. As such, all security considerations
889
889
defined in <xref target =" RFC7159" >RFC 7159</xref > apply.
0 commit comments