|  | 
| 179 | 179 | 
 | 
| 180 | 180 |             <section title="Validation of primitive types and child values"> | 
| 181 | 181 |                 <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. | 
| 184 | 185 |                 </t> | 
| 185 | 186 |                 <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. | 
| 187 | 192 |                 </t> | 
| 188 | 193 |                 <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. | 
| 191 | 202 |                 </t> | 
| 192 | 203 |             </section> | 
| 193 | 204 | 
 | 
|  | 
| 335 | 346 |                     If absent, it can be considered present with an empty schema. | 
| 336 | 347 |                 </t> | 
| 337 | 348 |                 <t> | 
| 338 |  | -                    This keyword controls child instance validation.  Validation of the | 
| 339 |  | -                    primitive instance type against this keyword always succeeds. | 
|  | 349 | +                    This keyword determines how child instances validate for arrays, | 
|  | 350 | +                    and does not directly validate the immediate instance itself. | 
| 340 | 351 |                 </t> | 
| 341 | 352 |                 <t> | 
| 342 | 353 |                     If "items" is a schema, child validation succeeds if all elements | 
|  | 
| 357 | 368 |                     If absent, it can be considered present with an empty schema. | 
| 358 | 369 |                 </t> | 
| 359 | 370 |                 <t> | 
| 360 |  | -                    This keyword controls child instance validation.  Validation of the | 
| 361 |  | -                    primitive instance type against this keyword always succeeds. | 
|  | 371 | +                    This keyword determines how child instances validate for arrays, | 
|  | 372 | +                    and does not directly validate the immediate instance itself. | 
| 362 | 373 |                 </t> | 
| 363 | 374 |                 <t> | 
| 364 | 375 |                     If "items" is an array of schemas, child validation succeeds | 
|  | 
| 473 | 484 |                     MUST be a valid JSON Schema. | 
| 474 | 485 |                 </t> | 
| 475 | 486 |                 <t> | 
| 476 |  | -                    If absent, it can be considered the same as an empty object. | 
|  | 487 | +                    If absent, it can be considered the same as an empty schema. | 
| 477 | 488 |                 </t> | 
| 478 | 489 |                 <t> | 
| 479 |  | -                    This keyword controls child instance validation.  Validation of the | 
| 480 |  | -                    primitive instance type against this keyword always succeeds. | 
|  | 490 | +                    This keyword determines how child instances validate for objects, | 
|  | 491 | +                    and does not directly validate the immediate instance itself. | 
| 481 | 492 |                 </t> | 
| 482 | 493 |                 <t> | 
| 483 | 494 |                     Child validation succeeds if, for each name that appears in both | 
| 484 |  | -                    the instance and as a name within this keyword's value, the instance | 
| 485 |  | -                    value successfully validates against the corresponding schema. | 
|  | 495 | +                    the instance and as a name within this keyword's value, the child | 
|  | 496 | +                    instance for that name successfully validates against the | 
|  | 497 | +                    corresponding schema. | 
| 486 | 498 |                 </t> | 
| 487 | 499 |             </section> | 
| 488 | 500 | 
 | 
|  | 
| 494 | 506 |                     MUST be a valid JSON Schema. | 
| 495 | 507 |                 </t> | 
| 496 | 508 |                 <t> | 
| 497 |  | -                    If absent, it can be considered the same as an empty object. | 
|  | 509 | +                    If absent, it can be considered the same as an empty schema. | 
| 498 | 510 |                 </t> | 
| 499 | 511 |                 <t> | 
| 500 |  | -                    This keyword controls child instance validation.  Validation of the | 
| 501 |  | -                    primitive instance type against this keyword always succeeds. | 
|  | 512 | +                    This keyword determines how child instances validate for objects, | 
|  | 513 | +                    and does not directly validate the immediate instance itself. | 
|  | 514 | +                    Validation of the primitive instance type against this keyword | 
|  | 515 | +                    always succeeds. | 
| 502 | 516 |                 </t> | 
| 503 | 517 |                 <t> | 
| 504 | 518 |                     Child validation succeeds if, for each instance name that matches any | 
|  | 
| 517 | 531 |                     an empty schema as a value. | 
| 518 | 532 |                 </t> | 
| 519 | 533 |                 <t> | 
| 520 |  | -                    This keyword controls child instance validation.  Validation of the | 
| 521 |  | -                    primitive instance type against this keyword always succeeds. | 
|  | 534 | +                    This keyword determines how child instances validate for objects, | 
|  | 535 | +                    and does not directly validate the immediate instance itself. | 
| 522 | 536 |                 </t> | 
| 523 | 537 |                 <t> | 
| 524 | 538 |                     Child validation with "additionalProperties" applies only to the child | 
|  | 
0 commit comments