Skip to content

Commit 554d0c5

Browse files
committed
Modify some requirements and language relating to compound schema documents based on feedback in #1032.
Allow embedded schema resources to use relative URIs as opposed to just absolute URIs. Reference dialect rather than in terms of processing requirements for embedded resources which don't specify their dialect via .
1 parent 26f223b commit 554d0c5

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

jsonschema-core.xml

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1856,14 +1856,14 @@
18561856
<t>
18571857
The bundling process for creating a Compound Schema Document is defined as taking
18581858
references (such as "$ref") to an external Schema Resource and embedding the referenced
1859-
Schema Resources within the referring document. Bundling is done in such a way that
1859+
Schema Resources within the referring document. Bundling SHOULD be done in such a way that
18601860
all URIs (used for referencing) in the base document and any referenced/embedded
18611861
documents do not require altering.
18621862
</t>
18631863
<t>
1864-
Each embedded JSON Schema Resource MUST identify itself with an absolute URI using the "$id" keyword,
1864+
Each embedded JSON Schema Resource MUST identify itself with a URI using the "$id" keyword,
18651865
and SHOULD make use of the "$schema" keyword to identify the dialect it is using, in the root of the
1866-
schema resource.
1866+
schema resource. It is RECOMMENDED that the URI identifier value of "$id" be an Absolute URI.
18671867
</t>
18681868
<t>
18691869
When the Schema Resource referenced by a by-reference applicator is bundled, the Schema Resource
@@ -1874,7 +1874,7 @@
18741874
bundling process.
18751875
</t>
18761876
<t>
1877-
Bundled Schema Resource MUST NOT be bundled by replacing the schema object from which it was
1877+
Schema Resources MUST NOT be bundled by replacing the schema object from which it was
18781878
referenced, or by wrapping the Schema Resource in other applicator keywords.
18791879
</t>
18801880
<t>
@@ -1891,14 +1891,13 @@
18911891
</section>
18921892
<section title="Differing and Default Dialects">
18931893
<t>
1894-
If multiple schema resources are present in a single document, then
1895-
schema resources which do not have a "$schema" keyword in their root
1896-
schema object MUST be processed as if "$schema" were present with the
1897-
same value as for the immediately enclosing resource.
1894+
When multiple schema resources are present in a single document,
1895+
schema resources which do not define with which dialect they should be processed
1896+
MUST be processed with the same dialect as the enclosing resource.
18981897
</t>
18991898
<t>
19001899
Since any schema that can be referenced can also be embedded, embedded schema resources MAY
1901-
specify different "$schema" values from their enclosing resource.
1900+
specify different processing dialects using the "$schema" values from their enclosing resource.
19021901
</t>
19031902
</section>
19041903
<section title="Validating">

0 commit comments

Comments
 (0)