diff --git a/jsonschema-core.xml b/jsonschema-core.xml
index 18ced482..4cc95a71 100644
--- a/jsonschema-core.xml
+++ b/jsonschema-core.xml
@@ -1159,7 +1159,7 @@
Meta-schema authoring is an advanced usage of JSON Schema, so the design of
meta-schema features emphasizes flexibility over simplicity.
-
+
The "$schema" keyword is both used as a JSON Schema feature set identifier and
as the identifier of a resource which is itself a JSON Schema, which describes the
@@ -1180,16 +1180,6 @@
It MUST NOT appear in non-resource root schema objects. If absent from
the document root schema, the resulting behavior is implementation-defined.
-
- If multiple schema resources are present in a single document, then
- schema resources which do not have a "$schema" keyword in their root
- schema object MUST be processed as if "$schema" were present with the
- same value as for the immediately enclosing resource.
-
-
- Embedded schema resources MAY specify different "$schema" values from their
- enclosing resource, as any schema that can be referenced can also be embedded.
-
Values for this property are defined elsewhere in this and other documents,
and by other parties.
@@ -1845,6 +1835,86 @@
+
+
+ A Compound Schema Document is defined as JSON document (sometimes called a "bundled" schema)
+ which has multiple embedded JSON Schema Resources bundled into the same document to
+ ease transportation.
+
+
+ Each embedded Schema Resource MUST be treated as an individual Schema Resource, following standard
+ schema loading and processing requirements, including determining vocabulary support.
+
+
+
+ The bundling process for creating a Compound Schema Document is defined as taking
+ references (such as "$ref") to an external Schema Resource and embedding the referenced
+ Schema Resources within the referring document. Bundling is done in such a way that
+ all URIs (used for referencing) in the base document and any referenced/embedded
+ documents do not require altering.
+
+
+ Each embedded JSON Schema Resource MUST identify itself with an absolute URI using the "$id" keyword,
+ and SHOULD make use of the "$schema" keyword to identify the dialect it is using, in the root of the
+ schema resource.
+
+
+ When the Schema Resource referenced by a by-reference applicator is bundled, the Schema Resource
+ MUST be located as a value of a "$defs" object at the containing schema's root.
+ The key of the "$defs" for the now embedded Schema Resource MAY be the "$id" of the bundled schema
+ or some other form of application defined unique identifer (such as a UUID). This key is not
+ intended to be referenced in JSON Schema, but may be used by an application to aid the
+ bundling process.
+
+
+ Bundled Schema Resource MUST NOT be bundled by replacing the schema object from which it was
+ referenced, or by wrapping the Schema Resource in other applicator keywords.
+
+
+ In order to produce identical output, references in the containing schema document to the
+ previously external Schema Resources MUST NOT be changed, and now resolve to a schema using the
+ "$id" of an embedded Schema Resource. Such identical output includes validation evaluation and URIs
+ or paths used in resulting annotations or errors.
+
+
+ While the bundling process will often be the main method for creating a Compound Schema Document,
+ it is also possible and expected that some will be created by hand, potentially without individual
+ Schema Resources existing on their own previously.
+
+
+
+
+ If multiple schema resources are present in a single document, then
+ schema resources which do not have a "$schema" keyword in their root
+ schema object MUST be processed as if "$schema" were present with the
+ same value as for the immediately enclosing resource.
+
+
+ Since any schema that can be referenced can also be embedded, embedded schema resources MAY
+ specify different "$schema" values from their enclosing resource.
+
+
+
+
+ Given that a Compound Schema Document may have embedded resources which identify as using different
+ dialects, these documents SHOULD NOT be validated by applying a meta-schema
+ to the Compound Schema Document as an instance. It is RECOMMENDED that an alternate
+ validation process be provided in order to validate Schema Documents. Each Schema Resource
+ SHOULD be separately validated against its associated meta-schema.
+
+ If you know a schema is what's being validated, you can identify if the schemas
+ is a Compound Schema Document or not, by way of use of "$id", which identifies an
+ embedded resource when used not at the document's root.
+
+
+
+ A Compound Schema Document in which all embedded resources idenfity as using the same
+ dialec, or in which "$schema" is omitted and therefore defaults to that of the enclosing resource,
+ MAY be validated by applying the appropriate meta-schema.
+
+
+
+
@@ -3854,7 +3924,7 @@ https://example.com/schemas/common#/$defs/count/minimum
Rename $recursive* to $dynamic*
$dynamicAnchor defines a fragment like $anchor
$dynamic* (previously $recursive) no longer use runtime base URI determination
-
+ Define Compound Schema Documents (bundle) and processing