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: jsonschema-core.md
+17-23Lines changed: 17 additions & 23 deletions
Original file line number
Diff line number
Diff line change
@@ -1859,46 +1859,40 @@ limited to, `prefixItems`, `items`, and `contains`, itself, and all
1859
1859
[in-place applicators](#in-place) defined in this document.
1860
1860
1861
1861
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
1863
1863
the keyword's subschema validates against all applicable array elements.
1864
1864
1865
1865
If the `unevaluatedItems` subschema is applied to any positions within the
1866
1866
instance array, it produces an annotation result of boolean true, analogous to
1867
1867
the behavior of `items`.
1868
1868
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.
1870
1872
1871
1873
Omitting this keyword has the same assertion behavior as an empty schema.
The value of `unevaluatedProperties` MUST be a valid JSON Schema.
1876
1878
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.
1890
1881
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.
1893
1887
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.
1898
1889
1899
1890
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.
1902
1896
1903
1897
Omitting this keyword has the same assertion behavior as an empty schema.
0 commit comments