Skip to content

Remove annotation-applicator interaction section #1318

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Oct 21, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 13 additions & 15 deletions jsonschema-core.xml
Original file line number Diff line number Diff line change
Expand Up @@ -655,8 +655,12 @@
Typically, applicator keywords are processed until a schema object with no
applicators (and therefore no subschemas) is reached. The appropriate
location in the instance is evaluated against the assertion and
annotation keywords in the schema object, and their results are gathered
into the parent schema according to the rules of the applicator.
annotation keywords in the schema object. The interactions of those
keyword results to produce the schema object results are governed by
section <xref target="annot-assert" format="counter"></xref>, while the
relationship of subschema results to the results of the applicator
keyword that applied them is described by section
<xref target="applicators" format="counter"></xref>.
</t>
<t>
Evaluation of a parent schema object can complete once all of its
Expand Down Expand Up @@ -811,10 +815,11 @@
assertion conditions of their own.
</t>
<t>
<xref target="annotations">Annotation</xref> results are
preserved along with the instance location and the location of
the schema keyword, so that applications can decide how to
interpret multiple values.
<xref target="annotations">Annotation</xref> results from subschemas
are preserved in accordance with section
<xref target="collect" format="counter"></xref> so that applications
can decide how to interpret multiple values. Applicator keywords
do not play a direct role in this preservation.
</t>
<section title="Referenced and Referencing Schemas" anchor="referenced">
<t>
Expand Down Expand Up @@ -935,7 +940,7 @@
for failing schemas.
</t>

<section title="Collecting Annotations">
<section title="Collecting Annotations" anchor="collect">
<t>
Annotations are collected by keywords that explicitly define
annotation-collecting behavior. Note that boolean schemas cannot
Expand Down Expand Up @@ -1058,7 +1063,7 @@
schema locations.
</t>
</section>
<section title="Annotations and Assertions">
<section title="Annotations and Assertions" anchor="annot-assert">
<t>
Schema objects that produce a false assertion result MUST NOT
produce any annotation results, whether from their own keywords
Expand Down Expand Up @@ -1093,13 +1098,6 @@
is kept, as the instance passes the string type assertions.
</t>
</section>
<section title="Annotations and Applicators">
<t>
In addition to possibly defining annotation results of their own,
applicator keywords aggregate the annotations collected in their
subschema(s) or referenced schema(s).
</t>
</section>
</section>
</section>
<section title="Reserved Locations">
Expand Down