Skip to content

Commit bf7da9d

Browse files
committed
Use cases: Reword some language for clarity
1 parent 1e532b0 commit bf7da9d

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

jsonschema-use-cases.xml

+9-9
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
</t>
6969

7070
<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.
7272
</t>
7373

7474
<t>
@@ -78,7 +78,7 @@
7878

7979
<section title="Objectives">
8080
<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.
8282
</t>
8383

8484
<section title="Validation">
@@ -115,7 +115,7 @@
115115

116116
<section title="Use Cases">
117117
<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.
119119
</t>
120120

121121
<section title="Structural validation" anchor="uc-structural">
@@ -248,8 +248,8 @@
248248
<t>
249249
Not every feature needs to be supported by every implementation.
250250
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.
253253
</t>
254254
</section>
255255

@@ -261,7 +261,7 @@
261261

262262
<section title="Intra-document data consistency validation">
263263
<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:
265265
</t>
266266
<ul>
267267
<li>One-to-one calculations, like that children's birthdates come after their parent's birthdates;</li>
@@ -271,7 +271,7 @@
271271

272272
<section title="Inter-database consistency validation">
273273
<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:
275275
</t>
276276
<ul>
277277
<li>References to a user ID points to a user in a central users database.</li>
@@ -284,10 +284,10 @@
284284
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.
285285
</t>
286286
<t>
287-
For example, for security reasons, a linter may need to ensure that a JSON document does not contain the string "<tt>&lt;/script</tt>" but is written instead with a character escape such as "<tt>&lt;\/script</tt>". This would ensure that, if the JSON were to be embedded in a <tt>&lt;script&gt;</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>&lt;/script</tt>" but is written instead with a character escape such as "<tt>&lt;\/script</tt>". This would ensure that, if the JSON were to be embedded in a <tt>&lt;script&gt;</tt> tag, it could not close the tag and be interpreted as HTML.
288288
</t>
289289
<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.
291291
</t>
292292
</section>
293293
</section>

0 commit comments

Comments
 (0)