Skip to content

Commit 605a9e4

Browse files
committed
Improve child validation wording from feedback.
This implements suggestions from discussions in issue #161.
1 parent d951d88 commit 605a9e4

File tree

1 file changed

+36
-19
lines changed

1 file changed

+36
-19
lines changed

jsonschema-validation.xml

Lines changed: 36 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -179,15 +179,26 @@
179179

180180
<section title="Validation of primitive types and child values">
181181
<t>
182-
Two of the primitive types, array and object, allow for child values. The validation of
183-
the primitive type is considered separately from the validation of child instances.
182+
Two of the primitive types, array and object, allow for child values.
183+
The validation of the primitive type is considered separately from
184+
the validation of child instances.
184185
</t>
185186
<t>
186-
For arrays, primitive type validation consists of validating restrictions on length.
187+
For arrays, primitive type validation consists of validating
188+
restrictions on length with "minItems" and "maxItems", while
189+
"items" and "additionalItems" determine which subschemas apply
190+
to which elements of the array. In addition, "uniqueItems"
191+
and "contains" validate array contents as a whole.
187192
</t>
188193
<t>
189-
For objects, primitive type validation consists of validating restrictions on the presence
190-
or absence of property names.
194+
For objects, primitive type validation consists of validating
195+
restrictions on which and how many properties appear with
196+
"required", "minProperties", "maxProperties", "propertyNames",
197+
and the string array form of "dependencies", while "properties",
198+
"patternProperties", and "additionalProperties" determine which
199+
subschemas apply to which object property values.
200+
In addition, the schema form of "dependencies" validates the
201+
object as a whole based on the presence of specific property names.
191202
</t>
192203
</section>
193204

@@ -342,8 +353,9 @@
342353
If absent, it can be considered present with an empty schema.
343354
</t>
344355
<t>
345-
This keyword controls child instance validation. Validation of the
346-
primitive instance type against this keyword always succeeds.
356+
This keyword controls child instance validation for arrays.
357+
Validation of the primitive instance type against this keyword
358+
always succeeds.
347359
</t>
348360
<t>
349361
If "items" is a schema, child validation succeeds if all elements
@@ -364,8 +376,9 @@
364376
If absent, it can be considered present with an empty schema.
365377
</t>
366378
<t>
367-
This keyword controls child instance validation. Validation of the
368-
primitive instance type against this keyword always succeeds.
379+
This keyword controls child instance validation for arrays.
380+
Validation of the primitive instance type against this keyword
381+
always succeeds.
369382
</t>
370383
<t>
371384
If "items" is an array of schemas, child validation succeeds
@@ -476,16 +489,18 @@
476489
MUST be a valid JSON Schema.
477490
</t>
478491
<t>
479-
If absent, it can be considered the same as an empty object.
492+
If absent, it can be considered the same as an empty schema.
480493
</t>
481494
<t>
482-
This keyword controls child instance validation. Validation of the
483-
primitive instance type against this keyword always succeeds.
495+
This keyword controls child instance validation for objects.
496+
Validation of the primitive instance type against this keyword
497+
always succeeds.
484498
</t>
485499
<t>
486500
Child validation succeeds if, for each name that appears in both
487-
the instance and as a name within this keyword's value, the instance
488-
value successfully validates against the corresponding schema.
501+
the instance and as a name within this keyword's value, the child
502+
instance for that name successfully validates against the
503+
corresponding schema.
489504
</t>
490505
</section>
491506

@@ -497,11 +512,12 @@
497512
MUST be a valid JSON Schema.
498513
</t>
499514
<t>
500-
If absent, it can be considered the same as an empty object.
515+
If absent, it can be considered the same as an empty schema.
501516
</t>
502517
<t>
503-
This keyword controls child instance validation. Validation of the
504-
primitive instance type against this keyword always succeeds.
518+
This keyword controls child instance validation for objects.
519+
Validation of the primitive instance type against this keyword
520+
always succeeds.
505521
</t>
506522
<t>
507523
Child validation succeeds if, for each instance name that matches any
@@ -520,8 +536,9 @@
520536
an empty schema as a value.
521537
</t>
522538
<t>
523-
This keyword controls child instance validation. Validation of the
524-
primitive instance type against this keyword always succeeds.
539+
This keyword controls child instance validation for objects.
540+
Validation of the primitive instance type against this keyword
541+
always succeeds.
525542
</t>
526543
<t>
527544
Child validation with "additionalProperties" applies only to the child

0 commit comments

Comments
 (0)