|
2083 | 2083 | "additionalProperties", whose behavior is defined in terms of
|
2084 | 2084 | "properties" and "patternProperties"
|
2085 | 2085 | </t>
|
2086 |
| - <t> |
2087 |
| - "unevaluatedProperties", whose behavior is defined in terms of |
2088 |
| - annotations from "properties", "patternProperties", |
2089 |
| - "additionalProperties" and itself |
2090 |
| - </t> |
2091 | 2086 | <t>
|
2092 | 2087 | "items", whose behavior is defined in terms of "prefixItems"
|
2093 | 2088 | </t>
|
2094 | 2089 | <t>
|
2095 |
| - "unevaluatedItems", whose behavior is defined in terms of annotations |
2096 |
| - from "prefixItems", "items", "contains", and itself |
| 2090 | + "contains", whose behavior is defined in terms of "minContains" |
2097 | 2091 | </t>
|
2098 | 2092 | </list>
|
2099 | 2093 | </t>
|
|
2521 | 2515 | before the next to indicate the same syntax and semantics
|
2522 | 2516 | as those listed here.
|
2523 | 2517 | </t>
|
| 2518 | + |
| 2519 | + <section title="Keyword Independence"> |
| 2520 | + <t> |
| 2521 | + Schema keywords typically operate independently, without |
| 2522 | + affecting each other's outcomes. However, the keywords in this |
| 2523 | + vocabulary are notable exceptions: |
| 2524 | + <list> |
| 2525 | + <t> |
| 2526 | + "unevaluatedItems", whose behavior is defined in terms of annotations |
| 2527 | + from "prefixItems", "items", "contains", and itself |
| 2528 | + </t> |
| 2529 | + <t> |
| 2530 | + "unevaluatedProperties", whose behavior is defined in terms of |
| 2531 | + annotations from "properties", "patternProperties", |
| 2532 | + "additionalProperties" and itself |
| 2533 | + </t> |
| 2534 | + </list> |
| 2535 | + </t> |
| 2536 | + </section> |
| 2537 | + |
2524 | 2538 | <section title="unevaluatedItems" anchor="unevaluatedItems">
|
2525 | 2539 | <t>
|
2526 | 2540 | The value of "unevaluatedItems" MUST be a valid JSON Schema.
|
|
2530 | 2544 | adjacent keywords that apply to the instance location being validated.
|
2531 | 2545 | Specifically, the annotations from "prefixItems", "items", and "contains",
|
2532 | 2546 | which can come from those keywords when they are adjacent to the
|
2533 |
| - "unevaluatedItems" keyword. Those two annotations, as well as |
| 2547 | + "unevaluatedItems" keyword. Those three annotations, as well as |
2534 | 2548 | "unevaluatedItems", can also result from any and all adjacent
|
2535 | 2549 | <xref target="in-place">in-place applicator</xref> keywords.
|
2536 | 2550 | This includes but is not limited to the in-place applicators
|
@@ -3644,10 +3658,10 @@ https://example.com/schemas/common#/$defs/count/minimum
|
3644 | 3658 | keywords in that vocabulary, is shown after the main example meta-schema.
|
3645 | 3659 | </t>
|
3646 | 3660 | <t>
|
3647 |
| - The main example meta-schema also restricts the usage of the Applicator |
| 3661 | + The main example meta-schema also restricts the usage of the Unevaluated |
3648 | 3662 | vocabulary by forbidding the keywords prefixed with "unevaluated", which
|
3649 | 3663 | are particularly complex to implement. This does not change the semantics
|
3650 |
| - or set of keywords defined by the Applicator vocabulary. It just ensures |
| 3664 | + or set of keywords defined by the other vocabularies. It just ensures |
3651 | 3665 | that schemas using this meta-schema that attempt to use the keywords
|
3652 | 3666 | prefixed with "unevaluated" will fail validation against this meta-schema.
|
3653 | 3667 | </t>
|
@@ -3682,7 +3696,7 @@ https://example.com/schemas/common#/$defs/count/minimum
|
3682 | 3696 | {"$ref": "https://example.com/meta/example-vocab",
|
3683 | 3697 | ],
|
3684 | 3698 | "patternProperties": {
|
3685 |
| - "^unevaluated.*$": false |
| 3699 | + "^unevaluated": false |
3686 | 3700 | },
|
3687 | 3701 | "properties": {
|
3688 | 3702 | "localKeyword": {
|
|
0 commit comments