Skip to content

Commit 98c8d84

Browse files
committed
Make refusal vs error less confusing
The point at which the condition is detected should not change the type of outcome.
1 parent 26c0e47 commit 98c8d84

File tree

1 file changed

+4
-12
lines changed

1 file changed

+4
-12
lines changed

jsonschema-core.xml

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -633,18 +633,10 @@
633633
detection of an infinite reference loop, or excessive consumption of memory.
634634
</t>
635635
<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.
636+
Unlike runtime errors, refusal-to-process is the expected outcome in certain cases.
637+
Currently, the only situations where refusal-to-process is either required or allowed
638+
are when a vocabulary cannot be supported, or a dialect cannot be determined. These
639+
scenarios are noted in the appropriate sections of the specification.
648640
</t>
649641
</section>
650642

0 commit comments

Comments
 (0)