Skip to content

Commit 589fb93

Browse files
committed
copy unevaluatedItems wording to unevaluatedProperties
1 parent 0eb1821 commit 589fb93

File tree

1 file changed

+17
-23
lines changed

1 file changed

+17
-23
lines changed

jsonschema-core.md

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1859,46 +1859,40 @@ limited to, `prefixItems`, `items`, and `contains`, itself, and all
18591859
[in-place applicators](#in-place) defined in this document.
18601860

18611861
This keyword applies its subschema to any array elements which have not been
1862-
deemed "evaluated" by other keywords per {#unevaluated}. Validation passes if
1862+
deemed "evaluated" by other keywords per {{#unevaluated}}. Validation passes if
18631863
the keyword's subschema validates against all applicable array elements.
18641864

18651865
If the `unevaluatedItems` subschema is applied to any positions within the
18661866
instance array, it produces an annotation result of boolean true, analogous to
18671867
the behavior of `items`.
18681868

1869-
The presence of this keyword affects the behavior of other `unevaluatedItems` keywords found earlier in the dynamic scope that apply to the same instance location.
1869+
The presence of this keyword affects the behavior of other `unevaluatedItems`
1870+
keywords found earlier in the dynamic scope that apply to the same instance
1871+
location.
18701872

18711873
Omitting this keyword has the same assertion behavior as an empty schema.
18721874

18731875
### `unevaluatedProperties` {#unevaluatedproperties}
18741876

18751877
The value of `unevaluatedProperties` MUST be a valid JSON Schema.
18761878

1877-
The behavior of this keyword depends on the annotation results of adjacent
1878-
keywords that apply to the instance location being validated. Specifically, the
1879-
annotations from `properties`, `patternProperties`, and `additionalProperties`,
1880-
which can come from those keywords when they are adjacent to the
1881-
`unevaluatedProperties` keyword. Those four annotations, as well as
1882-
`unevaluatedProperties`, can also result from any and all adjacent [in-place
1883-
applicator](#in-place) keywords. This includes but is not limited to the
1884-
in-place applicators defined in this document.
1885-
1886-
Validation with `unevaluatedProperties` applies only to the child values of
1887-
instance names that do not appear in the `properties`, `patternProperties`,
1888-
`additionalProperties`, or `unevaluatedProperties` annotation results that apply
1889-
to the instance location being validated.
1879+
This keyword applies to object instances by applying its subschema to the object's
1880+
property values.
18901881

1891-
For all such properties, validation succeeds if the child instance validates
1892-
against the `unevaluatedProperties` schema.
1882+
The behavior of this keyword depends on all adjacent keywords as well as
1883+
keywords in successfully validated subschemas that apply to the same instance
1884+
location by evaluating the instance's property values. This includes, but is not limited
1885+
to, `properties`, `patternProperties`, and `additionalProperties`, itself, and
1886+
all [in-place applicators](#in-place) defined in this document.
18931887

1894-
This means that `properties`, `patternProperties`, `additionalProperties`, and
1895-
all in-place applicators MUST be evaluated before this keyword can be evaluated.
1896-
Authors of extension keywords MUST NOT define an in-place applicator that would
1897-
need to be evaluated after this keyword.
1888+
This keyword applies its subschema to any property values which have not benn deemed "evaluated" by other keywords per {{#unevaluated}}. Validation passes if the keyword's subschema validates against all applicable property values.
18981889

18991890
The annotation result of this keyword is the set of instance property names
1900-
validated by this keyword's subschema. This annotation affects the behavior of
1901-
`unevaluatedProperties` in parent schemas.
1891+
validated by this keyword's subschema.
1892+
1893+
The presence of this keyword affects the behavior of other `unevaluatedProperty`
1894+
keywords found earlier in the dynamic scope that apply to the same instance
1895+
location.
19021896

19031897
Omitting this keyword has the same assertion behavior as an empty schema.
19041898

0 commit comments

Comments
 (0)