From 01a56ea5682d741548a203359b2d8698b9a0d635 Mon Sep 17 00:00:00 2001 From: Jason Desrosiers Date: Thu, 21 Oct 2021 11:47:31 -0700 Subject: [PATCH] Drop the initial resolve step for dynamic references --- jsonschema-core.xml | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/jsonschema-core.xml b/jsonschema-core.xml index f580d50c..b438f250 100644 --- a/jsonschema-core.xml +++ b/jsonschema-core.xml @@ -1510,22 +1510,15 @@ Together with "$dynamicAnchor", "$dynamicRef" implements a cooperative extension mechanism that is primarily useful with recursive schemas - (schemas that reference themselves). The extension point is defined with - "$dynamicAnchor" and only exhibits 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 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. - - - 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. + The value of the "$dynamicRef" property MUST be a valid + plain name fragment. The schema to apply is + the outermost schema resource in the dynamic scope + that defines a "$dynamicAnchor" matching the value of this keyword. For a full example using these keyword, see appendix