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
+44-26
Original file line number
Diff line number
Diff line change
@@ -2071,34 +2071,44 @@ Omitting this keyword has the same assertion behavior as an empty schema.
2071
2071
2072
2072
## Output Formatting {#output}
2073
2073
2074
-
In order to foster increased usability and interoperability, implementations SHOULD adhere to well-defined output formats.
2074
+
In order to foster increased usability and interoperability, implementations
2075
+
SHOULD adhere to well-defined output formats.
2075
2076
2076
-
Because JSON Schema has multiple uses cases, and those uses cases have different intended consumers, this specification defers the details of any output formats to other documents. Implementations are encouraged to support multiple output formats as required by their target user base.
2077
+
Because JSON Schema has multiple uses cases, and those uses cases have different
2078
+
intended consumers, this specification defers the details of any output formats
2079
+
to other documents. Implementations are encouraged to support multiple output
2080
+
formats as required by their target user base.
2077
2081
2078
-
The scope of this section, therefore, is limited to defining common terms that SHOULD be used in JSON Schema output specifications in order to align the vernacular across differing formats. Output specifications which use this information MUST use this terminology to describe it. Conversely, output specifications which use these terms MUST maintain their meaning.
2082
+
The scope of this section, therefore, is limited to defining common terms that
2083
+
SHOULD be used in JSON Schema output specifications in order to align the
2084
+
vernacular across differing formats. Output specifications which use this
2085
+
information MUST use this terminology to describe it. Conversely, output
2086
+
specifications which use these terms MUST maintain their meaning.
2079
2087
2080
2088
### Evaluation path
2081
2089
2082
-
The evaluation path is the set of keys, starting from the schema root, through which evaluation passes to reach the schema object that produced a specific result.
2083
-
The value MUST be expressed as a JSON Pointer, and it MUST include any by-reference
2084
-
applicators such as `$ref` or `$dynamicRef`.
2090
+
The evaluation path is the set of keys, starting from the schema root, through
2091
+
which evaluation passes to reach the schema object that produced a specific
2092
+
result. The value MUST be expressed as a JSON Pointer, and it MUST include any
2093
+
by-reference applicators such as `$ref` or `$dynamicRef`.
2085
2094
2086
2095
```
2087
2096
/properties/width/$ref/allOf/1
2088
2097
```
2089
2098
2090
-
Note that this pointer may not be resolvable on the root schema by the normal JSON Pointer process.
2091
-
It is intended as an indication of the traversal path only.
2099
+
Note that this pointer may not be resolvable on the root schema by the normal
2100
+
JSON Pointer process. It is intended as an indication of the traversal path
2101
+
only.
2092
2102
2093
2103
When represented in JSON, the key for this information MUST be "evaluationPath".
2094
2104
2095
2105
### Schema Location
2096
2106
2097
-
The schema location is the absolute, dereferenced location of the schema object that produced a result.
2098
-
The value MUST be expressed using the canonical IRI of the relevant
2099
-
schema resource plus a JSON Pointer fragment that indicates the schema object
2100
-
that produced the output. It MUST NOT include by-reference applicators such as
2101
-
`$ref` or `$dynamicRef`.[^14]
2107
+
The schema location is the absolute, dereferenced location of the schema object
2108
+
that produced a result. The value MUST be expressed using the canonical IRI of
2109
+
the relevant schema resource plus a JSON Pointer fragment that indicates the
2110
+
schema object that produced the output. It MUST NOT include by-reference
2111
+
applicators such as `$ref` or `$dynamicRef`.[^14]
2102
2112
2103
2113
[^14]: Note that "absolute" here is in the sense of "absolute filesystem path"
2104
2114
(meaning the complete location) rather than the "absolute-IRI" terminology from
@@ -2113,36 +2123,44 @@ When represented in JSON, the key for this information MUST be "schemaLocation".
2113
2123
2114
2124
### Instance Location
2115
2125
2116
-
The instance location is the location of the JSON value within the root instance being validated.
2117
-
The value MUST be expressed as a JSON Pointer.
2126
+
The instance location is the location of the JSON value within the root instance
2127
+
being validated. The value MUST be expressed as a JSON Pointer.
2118
2128
2119
-
When represented in JSON, the key for this information MUST be "instanceLocation".
2129
+
When represented in JSON, the key for this information MUST be
2130
+
"instanceLocation".
2120
2131
2121
2132
### Errors
2122
2133
2123
-
Errors are textual representations of individual validation failures, often intended for human consumers. This specification contains no requirements for the content of these errors.
2134
+
Errors are textual representations of individual validation failures, often
2135
+
intended for human consumers. This specification contains no requirements for
2136
+
the content of these errors.
2124
2137
2125
2138
When represented in JSON, the key for this information MUST be "errors".
2126
2139
2127
2140
### Annotations
2128
2141
2129
-
Many keywords are defined to produce annotations, whether intended for inter-keyword communication (e.g. between `properties` and `unevaluatedProperties`) or for application consumption (e.g. `title` or `readOnly`). Annotation values may be of any type and are defined by the keywords that produced them.
2142
+
Many keywords are defined to produce annotations, whether intended for
2143
+
inter-keyword communication (e.g. between `properties` and
2144
+
`unevaluatedProperties`) or for application consumption (e.g. `title` or
2145
+
`readOnly`). Annotation values may be of any type and are defined by the
2146
+
keywords that produced them.
2130
2147
2131
2148
When represented in JSON, the key for this information MUST be "annotations".
2132
2149
2133
2150
### Dropped Annotations
2134
2151
2135
-
A dropped annotation is any annotation produced and subsequently dropped by the evaluation due to an
2136
-
unsuccessful validation result of the containing subschema.
2137
-
This information MAY be included if the validation result of the containing subschema was unsuccessful.
2138
-
It MUST NOT be included if the local validation result of the containing
2139
-
subschema was successful.
2152
+
A dropped annotation is any annotation produced and subsequently dropped by the
2153
+
evaluation due to an unsuccessful validation result of the containing subschema.
2154
+
This information MAY be included if the validation result of the containing
2155
+
subschema was unsuccessful. It MUST NOT be included if the local validation
2156
+
result of the containing subschema was successful.
2140
2157
2141
-
Implementations that wish to provide dropped annotations MUST NOT provide them as
2142
-
their default behavior. Dropped annotations MUST only be included when the
2158
+
Implementations that wish to provide dropped annotations MUST NOT provide them
2159
+
as their default behavior. Dropped annotations MUST only be included when the
2143
2160
implementations is explicitly configured to do so.
2144
2161
2145
-
When represented in JSON, the key for this information MUST be "droppedAnnotations".
2162
+
When represented in JSON, the key for this information MUST be
0 commit comments