Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions data/keywords.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
learnjsonschemalink: 'https://www.learnjsonschema.com/2020-12/core/comment'
links:
- url: 'https://json-schema.org/understanding-json-schema/reference/comments#comments'
title: Generic Keyowrds ($comment)
title: Generic Keywords ($comment)
- url: 'https://json-schema.org/draft/2020-12/json-schema-core#name-comments-with-comment'
title: Draft 2020-12
- name: $defs
Expand Down Expand Up @@ -43,9 +43,9 @@
learnjsonschemalink: 'https://www.learnjsonschema.com/2020-12/core/id'
links:
- url: 'https://json-schema.org/learn/getting-started-step-by-step#create-a-schema-definition'
title: Create a schema defination
title: Create a schema definition
- url: 'https://json-schema.org/understanding-json-schema/basics#declaring-a-unique-identifier'
title: Declaring a unique identifer
title: Declaring a unique identifier
- url: 'https://json-schema.org/draft/2020-12/json-schema-core#name-the-id-keyword'
title: Draft 2020-12
- name: $ref
Expand All @@ -55,7 +55,7 @@
- url: 'https://json-schema.org/understanding-json-schema/basics#declaring-a-json-schema'
title: Declaring a JSON Schema
- url: 'https://json-schema.org/learn/getting-started-step-by-step#create-a-schema-definition'
title: Create a schema defination
title: Create a schema definition
- url: 'https://json-schema.org/understanding-json-schema/reference/array#unevaluateditems'
title: Unevaluated Items
- url: 'https://json-schema.org/understanding-json-schema/structuring#dollarref'
Expand Down Expand Up @@ -149,7 +149,7 @@
learnjsonschemalink: 'https://www.learnjsonschema.com/2020-12/applicator/not'
links:
- url: 'https://json-schema.org/understanding-json-schema/reference/combining#schema-composition'
title: Schema Compositon
title: Schema Composition
- url: 'https://json-schema.org/draft/2020-12/json-schema-core#name-not'
title: Draft 2020-12
- name: oneOf
Expand All @@ -159,9 +159,9 @@
- url: 'https://json-schema.org/learn/file-system#modeling-a-file-system-with-json-schema'
title: Modeling a file system with JSON Schema
- url: 'https://json-schema.org/understanding-json-schema/reference/array#unevaluateditems'
title: Unevaluted Items
title: Unevaluated Items
- url: 'https://json-schema.org/understanding-json-schema/reference/combining#schema-composition'
title: Schema Compositon
title: Schema Composition
- url: 'https://json-schema.org/draft/2020-12/json-schema-core#name-oneof'
title: Draft 2020-12
- name: patternProperties
Expand Down Expand Up @@ -189,7 +189,7 @@
- url: 'https://json-schema.org/understanding-json-schema/reference/object#properties'
title: Properties
- url: 'https://json-schema.org/learn/getting-started-step-by-step#create-a-schema-definition'
title: Schema Defination
title: Schema Definition
- url: 'https://json-schema.org/draft/2020-12/json-schema-core#name-properties'
title: Draft 2020-12
- name: propertyNames
Expand Down Expand Up @@ -389,7 +389,7 @@
- url: 'https://json-schema.org/understanding-json-schema/basics#the-type-keyword'
title: The type keyword
- url: 'https://json-schema.org/learn/getting-started-step-by-step#create-a-schema-definition'
title: Create a Schema Defination
title: Create a Schema Definition
- url: 'https://json-schema.org/draft/2020-12/json-schema-validation#name-type'
title: Draft 2020-12
- name: uniqueItems
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -587,4 +587,4 @@ A Validator is a tool that implements the JSON Schema specification. All validat

![How JSON Schema works](https://json-schema.org/img/json_schema.svg)

To try it yourself, please visit [Tools](https://json-schema.org/tools#validators) and select the validator that better suit your needs, our use the editors available below to explore the different Schemas and Instances and see the different validation results.
To try it yourself, please visit [Tools](https://json-schema.org/tools#validators) and select the validator that better suit your needs, or use the editors available below to explore the different Schemas and Instances and see the different validation results.
2 changes: 1 addition & 1 deletion pages/learn/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ For example, the `not` keyword takes a subschema value and inverts its result, s
Some subschemas may appear in more complex nested locations within a parent schema.
The `allOf` keyword, for instance, takes an array of multiple subschemas and succeeds whenever all of the subschemas do individually.

Whether something that otherwise *appears* to be a schema (based on its contents) actually *is* a subschema can be misleading at first glance without context or knowlege about its location within the parent schema.
Whether something that otherwise *appears* to be a schema (based on its contents) actually *is* a subschema can be misleading at first glance without context or knowledge about its location within the parent schema.
Specifically, in our above example, `{"type": "string"}` was a subschema of a larger schema, but in the schema `{"const": {"type": "string"}}`, it is *not* a subschema.
Even though as a value it looks the same, the `const` keyword, which compares instances against a specific expected value, does *not* take a subschema as its value, its value is an opaque value with no particular meaning (such that in this schema, the number 12 would be invalid, but the precise instance `{"type": "string"}` is valid).
Said more plainly, whether a particular value is a subschema or not depends on its precise location within a parent schema, as interpretation of the value depends on the defined behavior of the keyword(s) it lives under.
Expand Down
2 changes: 1 addition & 1 deletion pages/learn/miscellaneous-examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ next:
url: /learn/file-system
---

In this page, you will find miscellaneous examples illustrating different uses cases to help you get the most out of your JSON Schemas. Each example comes with accompanying JSON data and explanation.
In this page, you will find miscellaneous examples illustrating different use cases to help you get the most out of your JSON Schemas. Each example comes with accompanying JSON data and explanation.

- [A typical minimum schema](#basic)
- [Arrays of things](#arrays-of-things)
Expand Down
2 changes: 1 addition & 1 deletion public/draft/2019-09/draft-handrews-json-schema-02.html
Original file line number Diff line number Diff line change
Expand Up @@ -2125,7 +2125,7 @@ <h1 id="rfc.appendix.D.2">
<a href="#rfc.appendix.D.2">D.2.</a> <a href="#example-meta-schema" id="example-meta-schema">Example meta-schema with vocabulary declarations</a>
</h1>
<p id="rfc.section.D.2.p.1">This meta-schema explicitly declares both the Core and Applicator vocabularies, together with an extension vocabulary, and combines their meta-schemas with an "allOf". The extension vocabulary's meta-schema, which describes only the keywords in that vocabulary, is shown after the main example meta-schema. </p>
<p id="rfc.section.D.2.p.2">The main example meta-schema also restricts the usage of the Applicator vocabulary by forbidding the keywords prefixed with "unevaluated", which are particularly complex to implement. This does not change the semantics or set of keywords defined by the Applicator vocabulary. It just ensures that schemas using this meta-schema that attempt to use the keywords prefixed with "unevaluted" will fail validation against this meta-schema. </p>
<p id="rfc.section.D.2.p.2">The main example meta-schema also restricts the usage of the Applicator vocabulary by forbidding the keywords prefixed with "unevaluated", which are particularly complex to implement. This does not change the semantics or set of keywords defined by the Applicator vocabulary. It just ensures that schemas using this meta-schema that attempt to use the keywords prefixed with "unevaluated" will fail validation against this meta-schema. </p>
<p id="rfc.section.D.2.p.3">Finally, this meta-schema describes the syntax of a keyword, "localKeyword", that is not part of any vocabulary. Presumably, the implementors and users of this meta-schema will understand the semantics of "localKeyword". JSON Schema does not define any mechanism for expressing keyword semantics outside of vocabularies, making them unsuitable for use except in a specific environment in which they are understood. </p>
<p>This meta-schema combines several vocabularies for general use. </p>
<pre>
Expand Down
2 changes: 1 addition & 1 deletion public/draft/2020-12/draft-bhutton-json-schema-00.html
Original file line number Diff line number Diff line change
Expand Up @@ -1366,7 +1366,7 @@ <h1 id="rfc.section.9.3.1">
<a href="#rfc.section.9.3.1">9.3.1.</a> Bundling</h1>
<p id="rfc.section.9.3.1.p.1">The bundling process for creating a Compound Schema Document is defined as taking references (such as "$ref") to an external Schema Resource and embedding the referenced Schema Resources within the referring document. Bundling SHOULD be done in such a way that all URIs (used for referencing) in the base document and any referenced/embedded documents do not require altering. </p>
<p id="rfc.section.9.3.1.p.2">Each embedded JSON Schema Resource MUST identify itself with a URI using the "$id" keyword, and SHOULD make use of the "$schema" keyword to identify the dialect it is using, in the root of the schema resource. It is RECOMMENDED that the URI identifier value of "$id" be an Absolute URI. </p>
<p id="rfc.section.9.3.1.p.3">When the Schema Resource referenced by a by-reference applicator is bundled, it is RECOMMENDED that the Schema Resource be located as a value of a "$defs" object at the containing schema's root. The key of the "$defs" for the now embedded Schema Resource MAY be the "$id" of the bundled schema or some other form of application defined unique identifer (such as a UUID). This key is not intended to be referenced in JSON Schema, but may be used by an application to aid the bundling process. </p>
<p id="rfc.section.9.3.1.p.3">When the Schema Resource referenced by a by-reference applicator is bundled, it is RECOMMENDED that the Schema Resource be located as a value of a "$defs" object at the containing schema's root. The key of the "$defs" for the now embedded Schema Resource MAY be the "$id" of the bundled schema or some other form of application defined unique identifier (such as a UUID). This key is not intended to be referenced in JSON Schema, but may be used by an application to aid the bundling process. </p>
<p id="rfc.section.9.3.1.p.4">A Schema Resource MAY be embedded in a location other than "$defs" where the location is defined as a schema value. </p>
<p id="rfc.section.9.3.1.p.5">A Bundled Schema Resource MUST NOT be bundled by replacing the schema object from which it was referenced, or by wrapping the Schema Resource in other applicator keywords. </p>
<p id="rfc.section.9.3.1.p.6">In order to produce identical output, references in the containing schema document to the previously external Schema Resources MUST NOT be changed, and now resolve to a schema using the "$id" of an embedded Schema Resource. Such identical output includes validation evaluation and URIs or paths used in resulting annotations or errors. </p>
Expand Down
2 changes: 1 addition & 1 deletion public/draft/2020-12/draft-bhutton-json-schema-01.html
Original file line number Diff line number Diff line change
Expand Up @@ -3536,7 +3536,7 @@ <h4 id="name-bundling">
When the Schema Resource referenced by a by-reference applicator is bundled, it is RECOMMENDED that
the Schema Resource be located as a value of a "$defs" object at the containing schema's root.
The key of the "$defs" for the now embedded Schema Resource MAY be the "$id" of the bundled schema
or some other form of application defined unique identifer (such as a UUID). This key is not
or some other form of application defined unique identifier (such as a UUID). This key is not
intended to be referenced in JSON Schema, but may be used by an application to aid the
bundling process.<a href="#section-9.3.1-3" class="pilcrow">¶</a></p>
<p id="section-9.3.1-4">
Expand Down
Loading