|
68 | 68 | </t>
|
69 | 69 |
|
70 | 70 | <t>
|
71 |
| - Use Cases catalog a variety of personal objectives that users may have, due to various objectives and constraints, that the specification shall address, but without concern for a specific design or implementation. Use cases guide the minimum functionality that the specification must be capable of. |
| 71 | + Use Cases catalog a variety of personal objectives that users may have, due to various motivations and constraints, that the specification shall accommodate, but without proscribing a specific design or implementation. |
72 | 72 | </t>
|
73 | 73 |
|
74 | 74 | <t>
|
|
78 | 78 |
|
79 | 79 | <section title="Objectives">
|
80 | 80 | <t>
|
81 |
| - JSON Schema shall be built to support the following objectives, including expansion into uses not currently described by any use case, but which fall within the objectives. |
| 81 | + JSON Schema shall be built to support the following objectives, supporting expansion into uses not currently described by any use case, but which fall within the objectives. |
82 | 82 | </t>
|
83 | 83 |
|
84 | 84 | <section title="Validation">
|
|
115 | 115 |
|
116 | 116 | <section title="Use Cases">
|
117 | 117 | <t>
|
118 |
| - JSON Schema shall written to standardize these use cases, or to accommodate implementations targeted at these uses. |
| 118 | + JSON Schema shall written to standardize these use cases, or shall accommodate implementations targeted at these uses. |
119 | 119 | </t>
|
120 | 120 |
|
121 | 121 | <section title="Structural validation" anchor="uc-structural">
|
|
248 | 248 | <t>
|
249 | 249 | Not every feature needs to be supported by every implementation.
|
250 | 250 | To accommodate a wide variety of niche audiences, it should be possible to specify features that are optional to implement.
|
251 |
| - This includes standardized features that are optional to implement, and bespoke or user-defined features that are not standardized. |
252 |
| - Implementations that do not support optional extensions must degrade in a predictable fashion. |
| 251 | + This includes standardized features that are optional to implement, bespoke or user-defined features that are not standardized, and new features added to future publications of the specification. |
| 252 | + For forward compatibility, implementations that do not support optional extensions must degrade in a predictable fashion. |
253 | 253 | </t>
|
254 | 254 | </section>
|
255 | 255 |
|
|
261 | 261 |
|
262 | 262 | <section title="Intra-document data consistency validation">
|
263 | 263 | <t>
|
264 |
| - A JSON document may carry relational data whose consistency must be verified. Example constraints include: |
| 264 | + A JSON document may carry relational data that must be internally consistent. Example constraints include: |
265 | 265 | </t>
|
266 | 266 | <ul>
|
267 | 267 | <li>One-to-one calculations, like that children's birthdates come after their parent's birthdates;</li>
|
|
271 | 271 |
|
272 | 272 | <section title="Inter-database consistency validation">
|
273 | 273 | <t>
|
274 |
| - A JSON document may carry relational data whose consistency must be verified. Example constraints include: |
| 274 | + A JSON document may carry relational data that must be verified against outside data sources. Example constraints include: |
275 | 275 | </t>
|
276 | 276 | <ul>
|
277 | 277 | <li>References to a user ID points to a user in a central users database.</li>
|
|
284 | 284 | Sometimes it's desirable to require formatting that does not impact the application-level meaning of the document, but instead specifies requirements purely for aesthetic or compatibility reasons.
|
285 | 285 | </t>
|
286 | 286 | <t>
|
287 |
| - For example, for security reasons, a linter may need to ensure that a JSON document does not contain the string "<tt></script</tt>" but is written instead with a character escape such as "<tt><\/script</tt>". This would ensure that, if the JSON were to be embedded in a <tt><script></tt> tag, that it would not have any part that could close the tag and start being interpreted as HTML. |
| 287 | + For example, for security reasons, an application may want to verify a JSON document does not contain the string "<tt></script</tt>" but is written instead with a character escape such as "<tt><\/script</tt>". This would ensure that, if the JSON were to be embedded in a <tt><script></tt> tag, it could not close the tag and be interpreted as HTML. |
288 | 288 | </t>
|
289 | 289 | <t>
|
290 |
| - This is not a standard part of JSON Schema because it may violate the semantics of JSON, by adding an ability to distinguish two documents that are supposed to be equal to the receiving application. |
| 290 | + This is not a standard part of JSON Schema because it may violate the semantics of JSON, by adding an ability to distinguish between encodings which are supposed to be equal to receiving applications. |
291 | 291 | </t>
|
292 | 292 | </section>
|
293 | 293 | </section>
|
|
0 commit comments