diff --git a/hyper-schema.json b/hyper-schema.json index 28f9ad4f..484af6c5 100644 --- a/hyper-schema.json +++ b/hyper-schema.json @@ -10,7 +10,7 @@ "https://json-schema.org/draft/2019-09/vocab/content": true, "https://json-schema.org/draft/2019-09/vocab/hyper-schema": true }, - "$recursiveAnchor": true, + "$dynamicAnchor": "meta", "title": "JSON Hyper-Schema", "allOf": [ diff --git a/links.json b/links.json index 7b1a578f..07ad7a42 100644 --- a/links.json +++ b/links.json @@ -2,6 +2,7 @@ "$schema": "https://json-schema.org/draft/2019-09/hyper-schema", "$id": "https://json-schema.org/draft/2019-09/links", "title": "Link Description Object", + "allOf": [ { "required": [ "rel", "href" ] }, { "$ref": "#/$defs/noRequiredFields" } @@ -36,7 +37,7 @@ "format": "uri-template" }, "hrefSchema": { - "$recursiveRef": "https://json-schema.org/draft/2019-09/hyper-schema", + "$dynamicRef": "https://json-schema.org/draft/2019-09/hyper-schema#meta", "default": false }, "templatePointers": { @@ -63,7 +64,7 @@ "type": "string" }, "targetSchema": { - "$recursiveRef": "https://json-schema.org/draft/2019-09/hyper-schema", + "$dynamicRef": "https://json-schema.org/draft/2019-09/hyper-schema#meta", "default": true }, "targetMediaType": { @@ -71,7 +72,7 @@ }, "targetHints": { }, "headerSchema": { - "$recursiveRef": "https://json-schema.org/draft/2019-09/hyper-schema", + "$dynamicRef": "https://json-schema.org/draft/2019-09/hyper-schema#meta", "default": true }, "submissionMediaType": { @@ -79,7 +80,7 @@ "default": "application/json" }, "submissionSchema": { - "$recursiveRef": "https://json-schema.org/draft/2019-09/hyper-schema", + "$dynamicRef": "https://json-schema.org/draft/2019-09/hyper-schema#meta", "default": true }, "$comment": { diff --git a/meta/applicator.json b/meta/applicator.json index a7c4a314..85b9ef0c 100644 --- a/meta/applicator.json +++ b/meta/applicator.json @@ -4,52 +4,52 @@ "$vocabulary": { "https://json-schema.org/draft/2019-09/vocab/applicator": true }, - "$recursiveAnchor": true, + "$dynamicAnchor": "meta", "title": "Applicator vocabulary meta-schema", "properties": { - "additionalItems": { "$recursiveRef": "#" }, - "unevaluatedItems": { "$recursiveRef": "#" }, + "additionalItems": { "$dynamicRef": "#meta" }, + "unevaluatedItems": { "$dynamicRef": "#meta" }, "items": { "anyOf": [ - { "$recursiveRef": "#" }, + { "$dynamicRef": "#meta" }, { "$ref": "#/$defs/schemaArray" } ] }, - "contains": { "$recursiveRef": "#" }, - "additionalProperties": { "$recursiveRef": "#" }, - "unevaluatedProperties": { "$recursiveRef": "#" }, + "contains": { "$dynamicRef": "#meta" }, + "additionalProperties": { "$dynamicRef": "#meta" }, + "unevaluatedProperties": { "$dynamicRef": "#meta" }, "properties": { "type": "object", - "additionalProperties": { "$recursiveRef": "#" }, + "additionalProperties": { "$dynamicRef": "#meta" }, "default": {} }, "patternProperties": { "type": "object", - "additionalProperties": { "$recursiveRef": "#" }, + "additionalProperties": { "$dynamicRef": "#meta" }, "propertyNames": { "format": "regex" }, "default": {} }, "dependentSchemas": { "type": "object", "additionalProperties": { - "$recursiveRef": "#" + "$dynamicRef": "#meta" } }, - "propertyNames": { "$recursiveRef": "#" }, - "if": { "$recursiveRef": "#" }, - "then": { "$recursiveRef": "#" }, - "else": { "$recursiveRef": "#" }, + "propertyNames": { "$dynamicRef": "#meta" }, + "if": { "$dynamicRef": "#meta" }, + "then": { "$dynamicRef": "#meta" }, + "else": { "$dynamicRef": "#meta" }, "allOf": { "$ref": "#/$defs/schemaArray" }, "anyOf": { "$ref": "#/$defs/schemaArray" }, "oneOf": { "$ref": "#/$defs/schemaArray" }, - "not": { "$recursiveRef": "#" } + "not": { "$dynamicRef": "#meta" } }, "$defs": { "schemaArray": { "type": "array", "minItems": 1, - "items": { "$recursiveRef": "#" } + "items": { "$dynamicRef": "#meta" } } } } diff --git a/meta/content.json b/meta/content.json index f6752a8e..e69ccdfa 100644 --- a/meta/content.json +++ b/meta/content.json @@ -4,7 +4,7 @@ "$vocabulary": { "https://json-schema.org/draft/2019-09/vocab/content": true }, - "$recursiveAnchor": true, + "$dynamicAnchor": "meta", "title": "Content vocabulary meta-schema", @@ -12,6 +12,6 @@ "properties": { "contentMediaType": { "type": "string" }, "contentEncoding": { "type": "string" }, - "contentSchema": { "$recursiveRef": "#" } + "contentSchema": { "$dynamicRef": "#meta" } } } diff --git a/meta/core.json b/meta/core.json index 3d5311bf..3a84feb1 100644 --- a/meta/core.json +++ b/meta/core.json @@ -4,7 +4,7 @@ "$vocabulary": { "https://json-schema.org/draft/2019-09/vocab/core": true }, - "$recursiveAnchor": true, + "$dynamicAnchor": "meta", "title": "Core vocabulary meta-schema", "type": ["object", "boolean"], @@ -51,7 +51,7 @@ }, "$defs": { "type": "object", - "additionalProperties": { "$recursiveRef": "#" }, + "additionalProperties": { "$dynamicRef": "#meta" }, "default": {} } } diff --git a/meta/format.json b/meta/format.json index 09bbfdda..68ad5b0d 100644 --- a/meta/format.json +++ b/meta/format.json @@ -4,7 +4,7 @@ "$vocabulary": { "https://json-schema.org/draft/2019-09/vocab/format": true }, - "$recursiveAnchor": true, + "$dynamicAnchor": "meta", "title": "Format vocabulary meta-schema", "type": ["object", "boolean"], diff --git a/meta/hyper-schema.json b/meta/hyper-schema.json index 3d230589..f36d3477 100644 --- a/meta/hyper-schema.json +++ b/meta/hyper-schema.json @@ -4,7 +4,7 @@ "$vocabulary": { "https://json-schema.org/draft/2019-09/vocab/hyper-schema": true }, - "$recursiveAnchor": true, + "$dynamicAnchor": "meta", "title": "JSON Hyper-Schema Vocabulary Schema", "type": ["object", "boolean"], diff --git a/meta/meta-data.json b/meta/meta-data.json index da04cff6..bbb171e9 100644 --- a/meta/meta-data.json +++ b/meta/meta-data.json @@ -4,7 +4,7 @@ "$vocabulary": { "https://json-schema.org/draft/2019-09/vocab/meta-data": true }, - "$recursiveAnchor": true, + "$dynamicAnchor": "meta", "title": "Meta-data vocabulary meta-schema", diff --git a/meta/validation.json b/meta/validation.json index 9f59677b..75ba4522 100644 --- a/meta/validation.json +++ b/meta/validation.json @@ -4,7 +4,7 @@ "$vocabulary": { "https://json-schema.org/draft/2019-09/vocab/validation": true }, - "$recursiveAnchor": true, + "$dynamicAnchor": "meta", "title": "Validation vocabulary meta-schema", "type": ["object", "boolean"], diff --git a/schema.json b/schema.json index 2248a0c8..4d4e8782 100644 --- a/schema.json +++ b/schema.json @@ -9,7 +9,7 @@ "https://json-schema.org/draft/2019-09/vocab/format": false, "https://json-schema.org/draft/2019-09/vocab/content": true }, - "$recursiveAnchor": true, + "$dynamicAnchor": "meta", "title": "Core and Validation specifications meta-schema", "allOf": [ @@ -25,7 +25,7 @@ "definitions": { "$comment": "While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.", "type": "object", - "additionalProperties": { "$recursiveRef": "#" }, + "additionalProperties": { "$dynamicRef": "#meta" }, "default": {} }, "dependencies": { @@ -33,7 +33,7 @@ "type": "object", "additionalProperties": { "anyOf": [ - { "$recursiveRef": "#" }, + { "$dynamicRef": "#meta" }, { "$ref": "meta/validation#/$defs/stringArray" } ] }