diff --git a/jsonschema-core.xml b/jsonschema-core.xml index 7179716f..02b0a9a4 100644 --- a/jsonschema-core.xml +++ b/jsonschema-core.xml @@ -1483,27 +1483,22 @@ Together with "$dynamicAnchor", "$dynamicRef" implements a cooperative extension mechanism that is primarily useful with recursive schemas - (schemas that reference themselves). Both the extension point and the - runtime-determined extension target are defined with "$dynamicAnchor", - and only exhibit runtime dynamic behavior when referenced with - "$dynamicRef". + (schemas that reference themselves). The extension point is defined with + "$dynamicAnchor" and only exhibits runtime dynamic behavior when referenced + with "$dynamicRef". - The value of the "$dynamicRef" property MUST be a string which is - a IRI-Reference. Resolved against the current IRI base, it produces - the IRI used as the starting point for runtime resolution. This initial - resolution is safe to perform on schema load. + The value of the "$dynamicRef" property MUST be a string which is a + IRI-Reference that contains a valid plain name + fragment. Resolved against the current IRI base, it indicates + the schema resource used as the starting point for runtime resolution. + This initial resolution is safe to perform on schema load. - If the initially resolved starting point IRI includes a fragment that - was created by the "$dynamicAnchor" keyword, the initial IRI MUST be - replaced by the IRI (including the fragment) for the outermost schema - resource in the dynamic scope that defines - an identically named fragment with "$dynamicAnchor". - - - Otherwise, its behavior is identical to "$ref", and no runtime - resolution is needed. + The schema to apply is the outermost schema resource in the + dynamic scope that defines a + "$dynamicAnchor" that matches the plain name fragment in the initially + resolved IRI. For a full example using these keyword, see appendix @@ -3863,6 +3858,7 @@ https://example.com/schemas/common#/$defs/count/minimum "contains" now applies to objects as well as arrays + Remove bookending requirement for "$dynamicRef"