|
1007 | 1007 | </section>
|
1008 | 1008 | <section title="The JSON Schema Core Vocabulary">
|
1009 | 1009 | <t>
|
1010 |
| - Keywords declared in in this specification that begin with "$" make up |
| 1010 | + Keywords declared in in this section, which all begin with "$", make up |
1011 | 1011 | the JSON Schema Core vocabulary. These keywords are either required in
|
1012 | 1012 | order process any schema or meta-schema, including those split across
|
1013 | 1013 | multiple documents, or exist to reserve keywords for purposes that
|
|
1016 | 1016 | <t>
|
1017 | 1017 | The Core vocabulary MUST be considered mandatory at all times, in order
|
1018 | 1018 | to bootstrap the processing of further vocabularies. Meta-schemas
|
1019 |
| - that use "$vocabulary" MUST explicitly list the Core vocabulary, |
| 1019 | + that use the <xref target="vocabulary">"$vocabulary"</xref> keyword |
| 1020 | + to declare the vocabularies in use MUST explicitly list the Core vocabulary, |
1020 | 1021 | which MUST have a value of true indicating that it is required.
|
1021 | 1022 | </t>
|
1022 | 1023 | <t>
|
1023 | 1024 | The behavior of a false value for this vocabulary (and only this
|
1024 | 1025 | vocabulary) is undefined, as is the behavior when "$vocabulary"
|
1025 | 1026 | is present but the Core vocabulary is not included. However, it
|
1026 | 1027 | is RECOMMENDED that implementations detect these cases and raise
|
1027 |
| - an error when they occur. |
| 1028 | + an error when they occur. It is not meaningful to declare that |
| 1029 | + a meta-schema optionally uses Core. |
1028 | 1030 | </t>
|
1029 | 1031 | <t>
|
1030 | 1032 | Meta-schemas that do not use "$vocabulary" MUST be considered to
|
|
1039 | 1041 | <eref target="https://json-schema.org/draft/2019-08/meta/core"/>.
|
1040 | 1042 | </t>
|
1041 | 1043 | <t>
|
1042 |
| - Updated vocabulary and meta-schema URIs MAY be published between |
1043 |
| - specification drafts in order to correct errors. Implementations |
1044 |
| - SHOULD consider URIs dated after this specification draft and |
1045 |
| - before the next to indicate the same syntax and semantics |
1046 |
| - as those listed here. |
| 1044 | + While the "$" prefix is not formally reserved for the Core vocabulary, |
| 1045 | + it is RECOMMENDED that extension keywords (in vocabularies or otherwise) |
| 1046 | + begin with a character other than "$" to avoid possible future collisions. |
1047 | 1047 | </t>
|
1048 | 1048 |
|
1049 | 1049 | <section title="Meta-Schemas and Vocabularies" anchor="vocabulary">
|
|
1211 | 1211 | </t>
|
1212 | 1212 | </section>
|
1213 | 1213 | </section>
|
| 1214 | + <section title="Updates to Meta-Schema and Vocabulary URIs"> |
| 1215 | + <t> |
| 1216 | + Updated vocabulary and meta-schema URIs MAY be published between |
| 1217 | + specification drafts in order to correct errors. Implementations |
| 1218 | + SHOULD consider URIs dated after this specification draft and |
| 1219 | + before the next to indicate the same syntax and semantics |
| 1220 | + as those listed here. |
| 1221 | + </t> |
| 1222 | + </section> |
1214 | 1223 | <section title="Detecting a Meta-Schema">
|
1215 | 1224 | <t>
|
1216 | 1225 | Implementations MUST recognize a schema as a meta-schema if it
|
|
0 commit comments