Skip to content

Commit 26c0e47

Browse files
committed
Add discussion of loading/evaluation outcomes
1 parent 6ec6862 commit 26c0e47

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

jsonschema-core.xml

+40
Original file line numberDiff line numberDiff line change
@@ -608,6 +608,46 @@
608608
</t>
609609
</section>
610610

611+
<section title="Evaluation Results">
612+
<t>
613+
Evaluating an instance against a schema MUST produce one of four general outcomes:
614+
615+
<list>
616+
<t>
617+
success: the evaluation completed without failing any validation assertions
618+
</t>
619+
<t>
620+
failure: the evaluation completed with assertion failures
621+
</t>
622+
<t>
623+
runtime error: the schema was understood but the evaluation could not
624+
complete
625+
</t>
626+
<t>
627+
refusal to process: the schema was not understood and evaluation never began
628+
</t>
629+
</list>
630+
</t>
631+
<t>
632+
Runtime errors include but are not limited to: failure of reference resolution,
633+
detection of an infinite reference loop, or excessive consumption of memory.
634+
</t>
635+
<t>
636+
Implementations MAY detect certain refusal-to-process conditions when a schema is
637+
loaded, prior to attempting any evaluation. For example, a schema that requires
638+
a vocabulary that the implementation does not support cannot be processed
639+
regardless of the instance.
640+
</t>
641+
<t>
642+
Some conditions can manifest as either runtime or refusal-to-process outcomes.
643+
For example, a reference to a non-existent location within a schema resource can
644+
be detected at schema load time, but a reference to a non-existent external schema
645+
might not be detected until runtime as that reference target schema might
646+
be provided between the loading of the reference source schema and the first
647+
attempted evaluation with an instance.
648+
</t>
649+
</section>
650+
611651
<section title="Extending JSON Schema" anchor="extending">
612652
<t>
613653
Additional schema keywords and schema vocabularies MAY be defined

0 commit comments

Comments
 (0)