You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/2020-12/unevaluated/unevaluatedItems.markdown
+46-12Lines changed: 46 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,18 +27,52 @@ related:
27
27
keyword: unevaluatedProperties
28
28
---
29
29
30
-
If no relevant annotations are present, the `unevaluatedItems` subschema must be applied to all locations in the array. If a boolean true value is present from any of the relevant annotations, `unevaluatedItems` is ignored. Otherwise, the subschema must be applied to any index greater than the largest annotation value for `prefixItems`, which does not appear in any annotation value for `contains`.
31
-
32
-
## Evaluation
33
-
34
-
It's crucial to understand what evaluation means in this context.
35
-
36
-
`unevaluatedItems` considers annotations from `prefixItems`, `items`, and `contains`, both as adjacent keywords and in subschemas of adjacent keywords. Additionally, it is also affected by other `unevaluatedItems` in nested schemas (if present).
37
-
38
-
- The keywords `prefixItems`, `items`, `contains` and `unevaluatedItems` produce annotations for the indexes they successfully validate against.
39
-
- If any of these keywords generate an annotation for a particular index, that index is considered as evaluated.
40
-
- By definition, the `unevaluatedItems` subschema is always applied after `prefixItems`, `items`, and `contains` subschemas.
41
-
- As its name implies, `unevaluatedItems` applies to any array index that has not been previously evaluated.
30
+
The [`unevaluatedItems`]({{< ref "2020-12/unevaluated/unevaluateditems" >}})
31
+
keyword is a generalisation of the [`items`]({{< ref "2020-12/applicator/items"
32
+
>}}) keyword that considers related keywords even when they are not direct
33
+
siblings of this keyword. More specifically, this keyword is affected by
34
+
occurences of [`prefixItems`]({{< ref "2020-12/applicator/prefixitems" >}}),
35
+
[`items`]({{< ref "2020-12/applicator/items" >}}), and [`unevaluatedItems`]({{<
36
+
ref "2020-12/unevaluated/unevaluateditems"
37
+
>}}) itself, as long as the evaluate path that led to
0 commit comments