diff --git a/hyper-schema.json b/hyper-schema.json
index 5d72a263..07d331dd 100644
--- a/hyper-schema.json
+++ b/hyper-schema.json
@@ -1,22 +1,22 @@
{
- "$schema": "http://json-schema.org/draft-08/hyper-schema#",
- "$id": "http://json-schema.org/draft-08/hyper-schema",
+ "$schema": "http://json-schema.org/draft/2019-04/hyper-schema#",
+ "$id": "http://json-schema.org/draft/2019-04/hyper-schema",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2019-04/vocab/core": true,
+ "https://json-schema.org/draft/2019-04/vocab/applicator": true,
+ "https://json-schema.org/draft/2019-04/vocab/validation": true,
+ "https://json-schema.org/draft/2019-04/vocab/meta-data": true,
+ "https://json-schema.org/draft/2019-04/vocab/format": true,
+ "https://json-schema.org/draft/2019-04/vocab/content": true,
+ "https://json-schema.org/draft/2019-04/vocab/hyper-schema": true
+ },
"$recursiveAnchor": true,
"title": "JSON Hyper-Schema",
- "$ref": "http://json-schema.org/draft-08/schema",
- "properties": {
- "base": {
- "type": "string",
- "format": "uri-template"
- },
- "links": {
- "type": "array",
- "items": {
- "$ref": "http://json-schema.org/draft-08/links"
- }
- }
- },
+ "allOf": [
+ {"$ref": "http://json-schema.org/draft/2019-04/schema"},
+ {"$ref": "http://json-schema.org/draft/2019-04/meta/hyper-schema"}
+ ],
"links": [
{
"rel": "self",
diff --git a/jsonschema-core.xml b/jsonschema-core.xml
index e4736366..8f5d6365 100644
--- a/jsonschema-core.xml
+++ b/jsonschema-core.xml
@@ -1058,11 +1058,18 @@
The current URI for the Core vocabulary is:
- .
+ .
The current URI for the corresponding meta-schema is:
- .
+ .
+
+
+ Updated vocabulary and meta-schema URIs MAY be published between
+ specification drafts in order to correct errors. Implementations
+ SHOULD consider URIs dated after this specification draft and
+ before the next to indicate the same syntax and semantics
+ as those listed here.
+
+ Meta-schemas that do not use "$vocabulary" SHOULD be considered to
+ require this vocabulary as if its URI were present with a value of true.
+
The current URI for this vocabulary, known as the Applicator vocabulary, is:
- .
+ .
The current URI for the corresponding meta-schema is:
- .
+ .
- Meta-schemas that do not use "$vocabulary" SHOULD be considered to
- require this vocabulary as if its URI were present with a value of true.
+ Updated vocabulary and meta-schema URIs MAY be published between
+ specification drafts in order to correct errors. Implementations
+ SHOULD consider URIs dated after this specification draft and
+ before the next to indicate the same syntax and semantics
+ as those listed here.
@@ -2479,7 +2493,7 @@
@@ -2555,7 +2569,7 @@ http://json-schema.org/draft-08/schema#/$defs/nonNegativeInteger/minimum
Because this output structure can be quite large, a smaller example is given
- here for brevity. The full output structure of the example above can be found
- here.
+ here for brevity. The URI of the full output structure of the example above is:
+ .
@@ -2775,7 +2789,7 @@ http://json-schema.org/draft-08/schema#/$defs/nonNegativeInteger/minimum
// schema
{
"$id": "http://example.com/polygon#",
- "$schema": "http://json-schema.org/draft-08/schema#",
+ "$schema": "http://json-schema.org/draft/2019-04/schema#",
"type": "object",
"properties": {
"validProp": true,
@@ -2825,10 +2839,11 @@ http://json-schema.org/draft-08/schema#/$defs/nonNegativeInteger/minimum
-
+
- For convenience, a JSON Schema has been provided to validate output generated
- by implementations. It can be found here.
+ For convenience, JSON Schema has been provided to validate output generated
+ by implementations. Its URI is:
+ .
diff --git a/jsonschema-hyperschema.xml b/jsonschema-hyperschema.xml
index cfd90225..e77f077d 100644
--- a/jsonschema-hyperschema.xml
+++ b/jsonschema-hyperschema.xml
@@ -288,14 +288,24 @@
The current URI for the JSON Hyper-Schema meta-schema is
- .
+ .
+
+
+ The current URI for this vocabulary, known as the Hyper-Schema vocabulary, is:
+ .
+
+
+ The current URI for the corresponding meta-schema, which differs from the
+ convenience meta-schema above in that it describes only the hyper-schema
+ keywords ("base" and "link") is:
+ .
The link description format can be used without JSON
Schema, and use of this format can be declared by referencing the normative
link description schema as the schema for the data structure that uses the links.
The URI of the normative link description schema is:
- .
+ .
JSON Hyper-Schema implementations are free to provide output in any format.
@@ -306,7 +316,14 @@
It is RECOMMENDED that implementations be capable of producing output
in this format to facilitated testing. The URI of the JSON Schema
describing the recommended output format is
- .
+ .
+
+
+ Updated vocabulary and meta-schema URIs MAY be published between
+ specification drafts in order to correct errors. Implementations
+ SHOULD consider URIs dated after this specification draft and
+ before the next to indicate the same syntax and semantics
+ as those listed here.
@@ -1607,7 +1624,7 @@ Link: ; rel="describedBy"
; rel="describedBy"
; rel="describedBy"
; rev="up"
; rev="up"
; rev="up"
The current URI for the JSON Schema Validation meta-schema is
- .
- This meta-schema describes the core keywords, the subschema application
- vocabulary from the core specification, and all keywords
- defined by this specification. All implementations of this specification
- SHOULD support the subschema application vocabulary, and MUST NOT
- implement behavior that contradicts that vocabulary.
+ .
+ For schema author convenience, this meta-schema describes all vocabularies
+ defined in this specification and the JSON Schema Core specification.
+ Individual vocabulary and vocabulary meta-schema URIs are given for
+ each section below.
+
+
+ Updated vocabulary and meta-schema URIs MAY be published between
+ specification drafts in order to correct errors. Implementations
+ SHOULD consider URIs dated after this specification draft and
+ before the next to indicate the same syntax and semantics
+ as those listed here.
-
+
Validation keywords in a schema impose requirements for successful validation of an
instance. These keywords are all assertions without any annotation behavior.
+
+ Meta-schemas that do not use "$vocabulary" SHOULD be considered to
+ require this vocabulary as if its URI were present with a value of true.
+
+
+ The current URI for this vocabulary, known as the Validation vocabulary, is:
+ .
+
+
+ The current URI for the corresponding meta-schema is:
+ .
+
-
+
@@ -514,6 +532,20 @@
format attribute and instance SHOULD succeed.
+
+ Meta-schemas that do not use "$vocabulary" SHOULD be considered to
+ require this vocabulary as if its URI were present with a value of true,
+ although see the Implementation Requirements below for details.
+
+
+ The current URI for this vocabulary, known as the Format vocabulary, is:
+ .
+
+
+ The current URI for the corresponding meta-schema is:
+ .
+
+
-
+
@@ -745,6 +777,19 @@
These properties provide additional information required to interpret JSON data
as rich multimedia documents.
+
+ Meta-schemas that do not use "$vocabulary" SHOULD be considered to
+ require this vocabulary as if its URI were present with a value of true,
+ although see the Implementation Requirements below for details.
+
+
+ The current URI for this vocabulary, known as the Content vocabulary, is:
+ .
+
+
+ The current URI for the corresponding meta-schema is:
+ .
+
-
+
These general-purpose annotation keywords provide commonly used information
for documentation and user interface display purposes. They are not intended
to form a comprehensive set of features. Rather, additional vocabularies
can be defined for more complex annotation-based applications.
+
+ Meta-schemas that do not use "$vocabulary" SHOULD be considered to
+ require this vocabulary as if its URI were present with a value of true.
+
+
+ The current URI for this vocabulary, known as the Meta-Data vocabulary, is:
+ .
+
+
+ The current URI for the corresponding meta-schema is:
+ .
+
+
The value of both of these keywords MUST be a string.
diff --git a/links.json b/links.json
index 435eecba..a5d5469c 100644
--- a/links.json
+++ b/links.json
@@ -1,6 +1,6 @@
{
- "$schema": "http://json-schema.org/draft-08/hyper-schema#",
- "$id": "http://json-schema.org/draft-08/links",
+ "$schema": "http://json-schema.org/draft/2019-04/hyper-schema#",
+ "$id": "http://json-schema.org/draft/2019-04/links",
"title": "Link Description Object",
"allOf": [
{ "required": [ "rel", "href" ] },
@@ -36,7 +36,7 @@
"format": "uri-template"
},
"hrefSchema": {
- "$recursiveRef": "http://json-schema.org/draft-08/hyper-schema",
+ "$recursiveRef": "http://json-schema.org/draft/2019-04/hyper-schema",
"default": false
},
"templatePointers": {
@@ -63,7 +63,7 @@
"type": "string"
},
"targetSchema": {
- "$recursiveRef": "http://json-schema.org/draft-08/hyper-schema",
+ "$recursiveRef": "http://json-schema.org/draft/2019-04/hyper-schema",
"default": true
},
"targetMediaType": {
@@ -71,7 +71,7 @@
},
"targetHints": { },
"headerSchema": {
- "$recursiveRef": "http://json-schema.org/draft-08/hyper-schema",
+ "$recursiveRef": "http://json-schema.org/draft/2019-04/hyper-schema",
"default": true
},
"submissionMediaType": {
@@ -79,7 +79,7 @@
"default": "application/json"
},
"submissionSchema": {
- "$recursiveRef": "http://json-schema.org/draft-08/hyper-schema",
+ "$recursiveRef": "http://json-schema.org/draft/2019-04/hyper-schema",
"default": true
},
"$comment": {
diff --git a/applicator.json b/meta/applicator.json
similarity index 87%
rename from applicator.json
rename to meta/applicator.json
index de770dd2..43b104ef 100644
--- a/applicator.json
+++ b/meta/applicator.json
@@ -1,20 +1,12 @@
{
- "$schema": "http://json-schema.org/draft-08/schema#",
- "$id": "https://json-schema.org/draft-08/applicator",
- "$recursiveAnchor": true,
+ "$schema": "http://json-schema.org/draft/2019-04/schema#",
+ "$id": "https://json-schema.org/draft/2019-04/meta/applicator",
"$vocabulary": {
- "https://json-schema.org/draft-08/vocabularies/core": true,
- "https://json-schema.org/draft-08/vocabularies/applicator": true
+ "https://json-schema.org/draft/2019-04/vocab/applicator": true
},
+ "$recursiveAnchor": true,
"title": "Applicator vocabulary meta-schema",
- "$defs": {
- "schemaArray": {
- "type": "array",
- "minItems": 1,
- "items": { "$recursiveRef": "#" }
- }
- },
"properties": {
"additionalItems": { "$recursiveRef": "#" },
"unevaluatedItems": { "$recursiveRef": "#" },
@@ -57,5 +49,12 @@
"anyOf": { "$ref": "#/$defs/schemaArray" },
"oneOf": { "$ref": "#/$defs/schemaArray" },
"not": { "$recursiveRef": "#" }
+ },
+ "$defs": {
+ "schemaArray": {
+ "type": "array",
+ "minItems": 1,
+ "items": { "$recursiveRef": "#" }
+ }
}
}
diff --git a/meta/content.json b/meta/content.json
new file mode 100644
index 00000000..2262099a
--- /dev/null
+++ b/meta/content.json
@@ -0,0 +1,17 @@
+{
+ "$schema": "http://json-schema.org/draft/2019-04/schema#",
+ "$id": "http://json-schema.org/draft/2019-04/meta/content",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2019-04/vocab/content": true
+ },
+ "$recursiveAnchor": true,
+
+ "title": "Content vocabulary meta-schema",
+
+ "type": ["object", "boolean"],
+ "properties": {
+ "contentMediaType": { "type": "string" },
+ "contentEncoding": { "type": "string" },
+ "contentSchema": { "$recursiveRef": "#" }
+ }
+}
diff --git a/core.json b/meta/core.json
similarity index 85%
rename from core.json
rename to meta/core.json
index d845b3dd..6ba4329e 100644
--- a/core.json
+++ b/meta/core.json
@@ -1,10 +1,10 @@
{
- "$schema": "http://json-schema.org/draft-08/schema#",
- "$id": "https://json-schema.org/draft-08/core",
- "$recursiveAnchor": true,
+ "$schema": "http://json-schema.org/draft/2019-04/schema#",
+ "$id": "https://json-schema.org/draft/2019-04/meta/core",
"$vocabulary": {
- "https://json-schema.org/draft-08/vocabularies/core": true
+ "https://json-schema.org/draft/2019-04/vocab/core": true
},
+ "$recursiveAnchor": true,
"title": "Core vocabulary meta-schema",
"type": ["object", "boolean"],
diff --git a/meta/format.json b/meta/format.json
new file mode 100644
index 00000000..02970f37
--- /dev/null
+++ b/meta/format.json
@@ -0,0 +1,14 @@
+{
+ "$schema": "http://json-schema.org/draft/2019-04/schema#",
+ "$id": "http://json-schema.org/draft/2019-04/meta/format",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2019-04/vocab/format": true
+ },
+ "$recursiveAnchor": true,
+
+ "title": "Format vocabulary meta-schema",
+ "type": ["object", "boolean"],
+ "properties": {
+ "format": { "type": "string" }
+ }
+}
diff --git a/meta/hyper-schema.json b/meta/hyper-schema.json
new file mode 100644
index 00000000..8f427d4b
--- /dev/null
+++ b/meta/hyper-schema.json
@@ -0,0 +1,29 @@
+{
+ "$schema": "http://json-schema.org/draft/2019-04/hyper-schema#",
+ "$id": "http://json-schema.org/draft/2019-04/meta/hyper-schema",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2019-04/vocab/hyper-schema": true
+ },
+ "$recursiveAnchor": true,
+
+ "title": "JSON Hyper-Schema Vocabulary Schema",
+ "type": ["object", "boolean"],
+ "properties": {
+ "base": {
+ "type": "string",
+ "format": "uri-template"
+ },
+ "links": {
+ "type": "array",
+ "items": {
+ "$ref": "http://json-schema.org/draft/2019-04/links"
+ }
+ }
+ },
+ "links": [
+ {
+ "rel": "self",
+ "href": "{+%24id}"
+ }
+ ]
+}
diff --git a/meta/meta-data.json b/meta/meta-data.json
new file mode 100644
index 00000000..a5eee1c2
--- /dev/null
+++ b/meta/meta-data.json
@@ -0,0 +1,33 @@
+{
+ "$schema": "http://json-schema.org/draft/2019-04/schema#",
+ "$id": "http://json-schema.org/draft/2019-04/meta/meta-data",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2019-04/vocab/meta-data": true
+ },
+ "$recursiveAnchor": true,
+
+ "title": "Meta-data vocabulary meta-schema",
+
+ "type": ["object", "boolean"],
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ },
+ "default": true,
+ "readOnly": {
+ "type": "boolean",
+ "default": false
+ },
+ "writeOnly": {
+ "type": "boolean",
+ "default": false
+ },
+ "examples": {
+ "type": "array",
+ "items": true
+ }
+ }
+}
diff --git a/meta/validation.json b/meta/validation.json
new file mode 100644
index 00000000..4665fe57
--- /dev/null
+++ b/meta/validation.json
@@ -0,0 +1,101 @@
+{
+ "$schema": "http://json-schema.org/draft/2019-04/schema#",
+ "$id": "http://json-schema.org/draft/2019-04/meta/validation",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2019-04/vocab/validation": true
+ },
+ "$recursiveAnchor": true,
+
+ "title": "Validation vocabulary meta-schema",
+ "type": ["object", "boolean"],
+ "properties": {
+ "multipleOf": {
+ "type": "number",
+ "exclusiveMinimum": 0
+ },
+ "maximum": {
+ "type": "number"
+ },
+ "exclusiveMaximum": {
+ "type": "number"
+ },
+ "minimum": {
+ "type": "number"
+ },
+ "exclusiveMinimum": {
+ "type": "number"
+ },
+ "maxLength": { "$ref": "#/$defs/nonNegativeInteger" },
+ "minLength": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
+ "pattern": {
+ "type": "string",
+ "format": "regex"
+ },
+ "maxItems": { "$ref": "#/$defs/nonNegativeInteger" },
+ "minItems": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
+ "uniqueItems": {
+ "type": "boolean",
+ "default": false
+ },
+ "contains": { "$recursiveRef": "#" },
+ "maxContains": { "$ref": "#/$defs/nonNegativeInteger" },
+ "minContains": {
+ "$ref": "#/$defs/nonNegativeInteger",
+ "default": 1
+ },
+ "maxProperties": { "$ref": "#/$defs/nonNegativeInteger" },
+ "minProperties": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
+ "required": { "$ref": "#/$defs/stringArray" },
+ "dependentRequired": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/$defs/stringArray"
+ }
+ },
+ "const": true,
+ "enum": {
+ "type": "array",
+ "items": true,
+ "minItems": 1,
+ "uniqueItems": true
+ },
+ "type": {
+ "anyOf": [
+ { "$ref": "#/$defs/simpleTypes" },
+ {
+ "type": "array",
+ "items": { "$ref": "#/$defs/simpleTypes" },
+ "minItems": 1,
+ "uniqueItems": true
+ }
+ ]
+ }
+ },
+ "$defs": {
+ "nonNegativeInteger": {
+ "type": "integer",
+ "minimum": 0
+ },
+ "nonNegativeIntegerDefault0": {
+ "$ref": "#/$defs/nonNegativeInteger",
+ "default": 0
+ },
+ "simpleTypes": {
+ "enum": [
+ "array",
+ "boolean",
+ "integer",
+ "null",
+ "number",
+ "object",
+ "string"
+ ]
+ },
+ "stringArray": {
+ "type": "array",
+ "items": { "type": "string" },
+ "uniqueItems": true,
+ "default": []
+ }
+ }
+}
diff --git a/hyper-schema-output.json b/output/hyper-schema.json
similarity index 91%
rename from hyper-schema-output.json
rename to output/hyper-schema.json
index 53593fa2..04e6e05a 100644
--- a/hyper-schema-output.json
+++ b/output/hyper-schema.json
@@ -1,11 +1,11 @@
{
- "$schema": "http://json-schema.org/draft-08/schema#",
- "$id": "http://json-schema.org/draft-08/hyper-schema-output",
+ "$schema": "http://json-schema.org/draft/2019-04/schema#",
+ "$id": "http://json-schema.org/draft/2019-04/output/hyper-schema",
"title": "JSON Hyper-Schema Output",
"type": "array",
"items": {
"allOf": [
- {"$ref": "http://json-schema.org/draft-08/links#/$defs/noRequiredFields" }
+ {"$ref": "http://json-schema.org/draft/2019-04/links#/$defs/noRequiredFields" }
],
"type": "object",
"required": [
diff --git a/schema-output.json b/output/schema.json
similarity index 93%
rename from schema-output.json
rename to output/schema.json
index 579ef8bb..d9ab2cd1 100644
--- a/schema-output.json
+++ b/output/schema.json
@@ -1,7 +1,14 @@
{
- "$schema": "http://json-schema.org/draft-08/schema#",
- "$id": "http://json-schema.org/draft-08/schema-output#",
+ "$schema": "http://json-schema.org/draft/2019-04/schema#",
+ "$id": "http://json-schema.org/draft/2019-04/output/schema",
"description": "A schema that validates the minimum requirements for validation output",
+
+ "oneOf": [
+ { "$ref": "#/$defs/flag" },
+ { "$ref": "#/$defs/basic" },
+ { "$ref": "#/$defs/detailed" },
+ { "$ref": "#/$defs/verbose" }
+ ],
"$defs": {
"outputUnit":{
"properties": {
@@ -75,11 +82,5 @@
"basic": { "$ref": "#/outputUnit" },
"detailed": { "$ref": "#/outputUnit" },
"verbose": { "$ref": "#/outputUnit" }
- },
- "oneOf": [
- { "$ref": "#/$defs/flag" },
- { "$ref": "#/$defs/basic" },
- { "$ref": "#/$defs/detailed" },
- { "$ref": "#/$defs/verbose" }
- ]
-}
\ No newline at end of file
+ }
+}
diff --git a/standardized-output-verbose.json b/output/verbose-example.json
similarity index 100%
rename from standardized-output-verbose.json
rename to output/verbose-example.json
diff --git a/schema.json b/schema.json
index 281912c6..74215b30 100644
--- a/schema.json
+++ b/schema.json
@@ -1,42 +1,25 @@
{
- "$schema": "http://json-schema.org/draft-08/schema#",
- "$id": "http://json-schema.org/draft-08/schema#",
+ "$schema": "http://json-schema.org/draft/2019-04/schema#",
+ "$id": "http://json-schema.org/draft/2019-04/schema#",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2019-04/vocab/core": true,
+ "https://json-schema.org/draft/2019-04/vocab/applicator": true,
+ "https://json-schema.org/draft/2019-04/vocab/validation": true,
+ "https://json-schema.org/draft/2019-04/vocab/meta-data": true,
+ "https://json-schema.org/draft/2019-04/vocab/format": true,
+ "https://json-schema.org/draft/2019-04/vocab/content": true
+ },
"$recursiveAnchor": true,
- "$recursiveRef": "core",
"title": "Core and Validation specifications meta-schema",
- "$defs": {
- "schemaArray": {
- "type": "array",
- "minItems": 1,
- "items": { "$recursiveRef": "#" }
- },
- "nonNegativeInteger": {
- "type": "integer",
- "minimum": 0
- },
- "nonNegativeIntegerDefault0": {
- "$ref": "#/$defs/nonNegativeInteger",
- "default": 0
- },
- "simpleTypes": {
- "enum": [
- "array",
- "boolean",
- "integer",
- "null",
- "number",
- "object",
- "string"
- ]
- },
- "stringArray": {
- "type": "array",
- "items": { "type": "string" },
- "uniqueItems": true,
- "default": []
- }
- },
+ "allOf": [
+ {"$ref": "meta/core"},
+ {"$ref": "meta/applicator"},
+ {"$ref": "meta/validation"},
+ {"$ref": "meta/meta-data"},
+ {"$ref": "meta/format"},
+ {"$ref": "meta/content"}
+ ],
"type": ["object", "boolean"],
"properties": {
"definitions": {
@@ -45,127 +28,15 @@
"additionalProperties": { "$recursiveRef": "#" },
"default": {}
},
- "title": {
- "type": "string"
- },
- "description": {
- "type": "string"
- },
- "default": true,
- "readOnly": {
- "type": "boolean",
- "default": false
- },
- "examples": {
- "type": "array",
- "items": true
- },
- "multipleOf": {
- "type": "number",
- "exclusiveMinimum": 0
- },
- "maximum": {
- "type": "number"
- },
- "exclusiveMaximum": {
- "type": "number"
- },
- "minimum": {
- "type": "number"
- },
- "exclusiveMinimum": {
- "type": "number"
- },
- "maxLength": { "$ref": "#/$defs/nonNegativeInteger" },
- "minLength": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
- "pattern": {
- "type": "string",
- "format": "regex"
- },
- "additionalItems": { "$recursiveRef": "#" },
- "items": {
- "anyOf": [
- { "$recursiveRef": "#" },
- { "$ref": "#/$defs/schemaArray" }
- ]
- },
- "maxItems": { "$ref": "#/$defs/nonNegativeInteger" },
- "minItems": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
- "uniqueItems": {
- "type": "boolean",
- "default": false
- },
- "contains": { "$recursiveRef": "#" },
- "maxContains": { "$ref": "#/$defs/nonNegativeInteger" },
- "minContains": {
- "$ref": "#/$defs/nonNegativeInteger",
- "default": 1
- },
- "maxProperties": { "$ref": "#/$defs/nonNegativeInteger" },
- "minProperties": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
- "required": { "$ref": "#/$defs/stringArray" },
- "additionalProperties": { "$recursiveRef": "#" },
- "properties": {
- "type": "object",
- "additionalProperties": { "$recursiveRef": "#" },
- "default": {}
- },
- "patternProperties": {
- "type": "object",
- "additionalProperties": { "$recursiveRef": "#" },
- "propertyNames": { "format": "regex" },
- "default": {}
- },
- "dependentSchemas": {
- "type": "object",
- "additionalProperties": {
- "$recursiveRef": "#"
- }
- },
- "dependentRequired": {
- "type": "object",
- "additionalProperties": {
- "$ref": "#/$defs/stringArray"
- }
- },
"dependencies": {
"$comment": "\"dependencies\" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to \"dependentSchemas\" and \"dependentRequired\"",
"type": "object",
"additionalProperties": {
"anyOf": [
{ "$recursiveRef": "#" },
- { "$ref": "#/$defs/stringArray" }
+ { "$ref": "meta/validation#/$defs/stringArray" }
]
}
- },
- "propertyNames": { "$recursiveRef": "#" },
- "const": true,
- "enum": {
- "type": "array",
- "items": true,
- "minItems": 1,
- "uniqueItems": true
- },
- "type": {
- "anyOf": [
- { "$ref": "#/$defs/simpleTypes" },
- {
- "type": "array",
- "items": { "$ref": "#/$defs/simpleTypes" },
- "minItems": 1,
- "uniqueItems": true
- }
- ]
- },
- "format": { "type": "string" },
- "contentMediaType": { "type": "string" },
- "contentEncoding": { "type": "string" },
- "if": { "$recursiveRef": "#" },
- "then": { "$recursiveRef": "#" },
- "else": { "$recursiveRef": "#" },
- "allOf": { "$ref": "#/$defs/schemaArray" },
- "anyOf": { "$ref": "#/$defs/schemaArray" },
- "oneOf": { "$ref": "#/$defs/schemaArray" },
- "not": { "$recursiveRef": "#" }
+ }
}
}