|
2077 | 2077 | "additionalProperties", whose behavior is defined in terms of
|
2078 | 2078 | "properties" and "patternProperties"
|
2079 | 2079 | </t>
|
2080 |
| - <t> |
2081 |
| - "unevaluatedProperties", whose behavior is defined in terms of |
2082 |
| - annotations from "properties", "patternProperties", |
2083 |
| - "additionalProperties" and itself |
2084 |
| - </t> |
2085 | 2080 | <t>
|
2086 | 2081 | "items", whose behavior is defined in terms of "prefixItems"
|
2087 | 2082 | </t>
|
2088 | 2083 | <t>
|
2089 |
| - "unevaluatedItems", whose behavior is defined in terms of annotations |
2090 |
| - from "prefixItems", "items", "contains", and itself |
| 2084 | + "contains", whose behavior is defined in terms of "minContains" |
2091 | 2085 | </t>
|
2092 | 2086 | </list>
|
2093 | 2087 | </t>
|
|
2515 | 2509 | before the next to indicate the same syntax and semantics
|
2516 | 2510 | as those listed here.
|
2517 | 2511 | </t>
|
| 2512 | + |
| 2513 | + <section title="Keyword Independence"> |
| 2514 | + <t> |
| 2515 | + Schema keywords typically operate independently, without |
| 2516 | + affecting each other's outcomes. However, the keywords in this |
| 2517 | + vocabulary are notable exceptions: |
| 2518 | + <list> |
| 2519 | + <t> |
| 2520 | + "unevaluatedItems", whose behavior is defined in terms of annotations |
| 2521 | + from "prefixItems", "items", "contains", and itself |
| 2522 | + </t> |
| 2523 | + <t> |
| 2524 | + "unevaluatedProperties", whose behavior is defined in terms of |
| 2525 | + annotations from "properties", "patternProperties", |
| 2526 | + "additionalProperties" and itself |
| 2527 | + </t> |
| 2528 | + </list> |
| 2529 | + </t> |
| 2530 | + </section> |
| 2531 | + |
2518 | 2532 | <section title="unevaluatedItems" anchor="unevaluatedItems">
|
2519 | 2533 | <t>
|
2520 | 2534 | The value of "unevaluatedItems" MUST be a valid JSON Schema.
|
|
2524 | 2538 | adjacent keywords that apply to the instance location being validated.
|
2525 | 2539 | Specifically, the annotations from "prefixItems", "items", and "contains",
|
2526 | 2540 | which can come from those keywords when they are adjacent to the
|
2527 |
| - "unevaluatedItems" keyword. Those two annotations, as well as |
| 2541 | + "unevaluatedItems" keyword. Those three annotations, as well as |
2528 | 2542 | "unevaluatedItems", can also result from any and all adjacent
|
2529 | 2543 | <xref target="in-place">in-place applicator</xref> keywords.
|
2530 | 2544 | This includes but is not limited to the in-place applicators
|
@@ -3639,11 +3653,11 @@ https://example.com/schemas/common#/$defs/count/minimum
|
3639 | 3653 | </t>
|
3640 | 3654 | <t>
|
3641 | 3655 | The main example meta-schema also restricts the usage of the Applicator
|
3642 |
| - vocabulary by forbidding the keywords prefixed with "unevaluated", which |
| 3656 | + vocabulary by forbidding the keywords prefixed with "additional", which |
3643 | 3657 | are particularly complex to implement. This does not change the semantics
|
3644 | 3658 | or set of keywords defined by the Applicator vocabulary. It just ensures
|
3645 | 3659 | that schemas using this meta-schema that attempt to use the keywords
|
3646 |
| - prefixed with "unevaluated" will fail validation against this meta-schema. |
| 3660 | + prefixed with "additional" will fail validation against this meta-schema. |
3647 | 3661 | </t>
|
3648 | 3662 | <t>
|
3649 | 3663 | Finally, this meta-schema describes the syntax of a keyword, "localKeyword",
|
@@ -3676,7 +3690,7 @@ https://example.com/schemas/common#/$defs/count/minimum
|
3676 | 3690 | {"$ref": "https://example.com/meta/example-vocab",
|
3677 | 3691 | ],
|
3678 | 3692 | "patternProperties": {
|
3679 |
| - "^unevaluated.*$": false |
| 3693 | + "^additional.*$": false |
3680 | 3694 | },
|
3681 | 3695 | "properties": {
|
3682 | 3696 | "localKeyword": {
|
|
0 commit comments