Open
Description
Currently, the keywords are organized based on what "kind" of keyword they are: applicator vs annotation vs assertion (vs "special").
core | applicator | validation | unevaluated | meta-data | format | content |
---|---|---|---|---|---|---|
$id | prefixItems | type | unevaluatedItems | title | format | contentEncoding |
$schema | items | const | unevaluatedProperties | description | contentMediaType | |
$ref | contains | enum | default | contentSchema | ||
$anchor | additionalProperties | multipleOf | deprecated | |||
$dynamicRef | properties | maximum | readOnly | |||
$dynamicAnchor | patternProperties | exclusiveMaximum | writeOnly | |||
$vocabulary | dependentSchemas | minimum | examples | |||
$comment | propertyNames | exclusiveMinimum | ||||
$defs | if | maxLength | ||||
then | minLength | |||||
else | pattern | |||||
allOf | maxItems | |||||
anyOf | minItems | |||||
oneOf | uniqueItems | |||||
not | maxContains | |||||
minContains | ||||||
maxProperties | ||||||
minProperties | ||||||
required | ||||||
dependentRequired |
I think it might be easier for schema authors if we organized the keywords by function. This table reorganizes the keywords primarily by what kind of data the keyword addresses. It still has some "special" categories as well.
core | meta-data | combinatorial | array | object | number | string | other/multiple | format |
---|---|---|---|---|---|---|---|---|
$id | title | if | prefixItems | properties | maximum | maxLength | type | format |
$schema | description | then | items | patternProperties | exclusiveMaximum | minLength | const | |
$ref | default | else | unevaluatedItems | additionalProperties | minimum | pattern | enum | |
$anchor | deprecated | allOf | maxItems | unevaluatedProperties | exclusiveMinimum | contentEncoding | maxContains | |
$dynamicRef | readOnly | anyOf | minItems | maxProperties | multipleOf | contentMediaType | minContains | |
$dynamicAnchor | writeOnly | oneOf | uniqueItems | minProperties | contentSchema | contains | ||
$vocabulary | examples | not | required | |||||
$comment | dependentRequired | |||||||
$defs | dependentSchemas | |||||||
propertyNames |
format
is still on its own so that we can include it with false
while leaving the door open to others using it with true
.
Aside from that, I think this organization makes more sense from an author's point of view.
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
In Discussion