diff --git a/jsonschema-validation.xml b/jsonschema-validation.xml index a8426471..a5b8e34d 100644 --- a/jsonschema-validation.xml +++ b/jsonschema-validation.xml @@ -214,6 +214,28 @@ . +
+ + Schema keywords typically operate independently, without + affecting each other's outcomes. + + + For schema author convenience, there are some exceptions among the + keywords in this vocabulary: + + + "requireAllExcept", whose behavior is defined in terms of "properties" + + + "minContains", whose behavior is defined in terms of "contains" + + + "maxContains", whose behavior is defined in terms of "contains" + + + +
+
@@ -493,6 +515,21 @@
+
+ + The value of this keyword MUST be an array. + Elements of this array, if any, MUST be strings, and MUST be unique. + + + This keyword specifies properties that are required based on the property + names declared in a "properties" keyword within the same schema object. + The set of required properites is the set of property names declared in + "properties" minus the set of property names declared in this keyword's + array. An object instance is valid against this keyword if it has defined + properties for each of the property names in this set of required properties. + +
+
The value of this keyword MUST be an object. Properties in @@ -1445,6 +1482,7 @@ Use IRIs instead of URIs + Add the "requireAllExcept" keyword diff --git a/meta/validation.json b/meta/validation.json index 69d52e95..8ff98638 100644 --- a/meta/validation.json +++ b/meta/validation.json @@ -61,6 +61,7 @@ "maxProperties": { "$ref": "#/$defs/nonNegativeInteger" }, "minProperties": { "$ref": "#/$defs/nonNegativeIntegerDefault0" }, "required": { "$ref": "#/$defs/stringArray" }, + "requireAllExcept": { "$ref": "#/$defs/stringArray" }, "dependentRequired": { "type": "object", "additionalProperties": {