You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 2, 2023. It is now read-only.
Slightly loosen the language defining dialects and vocabularies.
Even though this isn't fully consistent with the current spec definitions, it
matches colloquial uses, and perhaps plans for future changes to these two
concepts, without sacrificing accuracy today.
Copy file name to clipboardExpand all lines: learn/glossary.md
+8-5Lines changed: 8 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -16,12 +16,15 @@ The entries on this page can be linked to via anchor links (e.g. `https://json-s
16
16
17
17
### dialect
18
18
19
-
A collection of [vocabularies](#vocabulary), along with an indication of whether supporting each vocabulary is required to process schemas written in the dialect.
19
+
A cohesive collection of [keywords](#keyword) available for use within a schema, often representing a use-case specific single release of the JSON Schema specification.
20
20
21
-
Dialects are identified by a URI, which [schemas](#schema) may then reference in their `$schema`[keyword](#keyword).
21
+
Dialects, particularly the 2019-09 and 2020-12 dialects, are often defined via a collection of [vocabularies](#vocabulary).
22
+
23
+
Each dialect is identified by a URI, its *dialect identifier*, which [schemas](#schema) may then reference in their `$schema`[keyword](#keyword).
22
24
Doing so identifies the schema as being written in the dialect, and thereby indicates which keywords are usable within it, along with their intended meaning.
23
25
24
-
The JSON Schema specification [defines](https://json-schema.org/specification.html#general-purpose-meta-schema) a number of dialects, each of which enable vocabularies suitable for the dialect's specific use case.
26
+
The JSON Schema specification defines a number of dialects, each of which enable vocabularies suitable for the dialect's specific use case.
27
+
These vocabularies are [described](https://json-schema.org/specification.html#general-purpose-meta-schema) in meta-schemas.
25
28
26
29
### draft
27
30
@@ -82,15 +85,15 @@ In recent [drafts](#draft) of the specification, a schema is either a JSON objec
82
85
83
86
### vocabulary
84
87
85
-
A collection of related[keywords](keyword), grouped to facilitate re-use.
88
+
A tightly related collection of [keywords](keyword), grouped to facilitate re-use.
86
89
87
90
A vocabulary is specified by a prose document or specification which explains the semantics of its keywords in a way suitable for implementers and users of the vocabulary.
88
91
It often also includes a [meta-schema](#meta-schema) (or multiple metaschemas) which define the syntax of its keywords.
89
92
90
93
Anyone can create and publish a vocabulary, and implementations generally will include facilities for extending themselves with support for additional vocabularies and their keywords.
91
94
The JSON Schema specification includes a number of vocabularies which cover each of the keywords it defines.
92
95
93
-
Vocabularies are identified by a URI which may be referenced via the `$vocabulary` keyword in order to enable the vocabulary within a [dialect](#dialect).
96
+
In some [dialects](#dialect) of JSON Schema, the `$vocabulary` keyword can be used to include the keywords defined by a vocabulary into the dialect, as well as to indicate whether implementations must specifically recognize the vocabulary in order to be able to process schemas written in the dialect or not.
0 commit comments