|
980 | 980 | </section>
|
981 | 981 | <section title="The JSON Schema Core Vocabulary">
|
982 | 982 | <t>
|
983 |
| - Keywords declared in in this specification that begin with "$" make up |
| 983 | + Keywords declared in in this section, which all begin with "$", make up |
984 | 984 | the JSON Schema Core vocabulary. These keywords are either required in
|
985 | 985 | order process any schema or meta-schema, including those split across
|
986 | 986 | multiple documents, or exist to reserve keywords for purposes that
|
|
989 | 989 | <t>
|
990 | 990 | The Core vocabulary MUST be considered mandatory at all times, in order
|
991 | 991 | to bootstrap the processing of further vocabularies. Meta-schemas
|
992 |
| - that use "$vocabulary" MUST explicitly list the Core vocabulary, |
| 992 | + that use the <xref target="vocabulary">"$vocabulary"</xref> keyword |
| 993 | + to declare the vocabularies in use MUST explicitly list the Core vocabulary, |
993 | 994 | which MUST have a value of true indicating that it is required.
|
994 | 995 | </t>
|
995 | 996 | <t>
|
996 | 997 | The behavior of a false value for this vocabulary (and only this
|
997 | 998 | vocabulary) is undefined, as is the behavior when "$vocabulary"
|
998 | 999 | is present but the Core vocabulary is not included. However, it
|
999 | 1000 | is RECOMMENDED that implementations detect these cases and raise
|
1000 |
| - an error when they occur. |
| 1001 | + an error when they occur. It is not meaningful to declare that |
| 1002 | + a meta-schema optionally uses Core. |
1001 | 1003 | </t>
|
1002 | 1004 | <t>
|
1003 | 1005 | Meta-schemas that do not use "$vocabulary" MUST be considered to
|
|
1012 | 1014 | <eref target="https://json-schema.org/draft/2019-08/meta/core"/>.
|
1013 | 1015 | </t>
|
1014 | 1016 | <t>
|
1015 |
| - Updated vocabulary and meta-schema URIs MAY be published between |
1016 |
| - specification drafts in order to correct errors. Implementations |
1017 |
| - SHOULD consider URIs dated after this specification draft and |
1018 |
| - before the next to indicate the same syntax and semantics |
1019 |
| - as those listed here. |
| 1017 | + While the "$" prefix is not formally reserved for the Core vocabulary, |
| 1018 | + it is RECOMMENDED that extension keywords (in vocabularies or otherwise) |
| 1019 | + begin with a character other than "$" to avoid possible future collisions. |
1020 | 1020 | </t>
|
1021 | 1021 |
|
1022 | 1022 | <section title="Meta-Schemas and Vocabularies" anchor="vocabulary">
|
|
1184 | 1184 | </t>
|
1185 | 1185 | </section>
|
1186 | 1186 | </section>
|
| 1187 | + <section title="Updates to Meta-Schema and Vocabulary URIs"> |
| 1188 | + <t> |
| 1189 | + Updated vocabulary and meta-schema URIs MAY be published between |
| 1190 | + specification drafts in order to correct errors. Implementations |
| 1191 | + SHOULD consider URIs dated after this specification draft and |
| 1192 | + before the next to indicate the same syntax and semantics |
| 1193 | + as those listed here. |
| 1194 | + </t> |
| 1195 | + </section> |
1187 | 1196 | <section title="Detecting a Meta-Schema">
|
1188 | 1197 | <t>
|
1189 | 1198 | Implementations MUST recognize a schema as a meta-schema if it
|
|
0 commit comments