Skip to content

Commit 1e1e79f

Browse files
committed
Clarifications from review feedback on $recursive*
1 parent 48f3f5f commit 1e1e79f

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

jsonschema-core.xml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1603,6 +1603,15 @@
16031603
a reference to its own root, identified by the empty fragment
16041604
URI reference ("#").
16051605
</t>
1606+
<t>
1607+
Simply stated, a "$recursiveRef" behaves identically to "$ref", except
1608+
when its target schema contains "$recursiveAnchor" with a value of true.
1609+
In that case, the dynamic scope is examined to determine a new base URI,
1610+
and the URI-reference in "$recursiveRef" is re-evaluated against that
1611+
base URI. Unlike base URI changes with "$id", changes with
1612+
"$recursiveAnchor" are calculated each time a "$recursiveRef" is
1613+
resolved, and do not impact any other keywords.
1614+
</t>
16061615
<t>
16071616
For an example using these keyword, see appendix
16081617
<xref target="recursive-example" format="counter" />.
@@ -1642,7 +1651,7 @@
16421651
</t>
16431652
<t>
16441653
Note that in the absence of "$recursiveAnchor" (and in some cases
1645-
when it is present", "$recursiveRef"'s behavior is identical to
1654+
when it is present), "$recursiveRef"'s behavior is identical to
16461655
that of "$ref".
16471656
</t>
16481657
</section>
@@ -1659,7 +1668,7 @@
16591668
</t>
16601669
<t>
16611670
If set to true, then when the containing schema object is used
1662-
as a dynamic reference target, a new base URI is determined
1671+
as a target of "$recursiveRef", a new base URI is determined
16631672
by examining the <xref target="scopes">dynamic scope</xref> for
16641673
the outermost schema that also contains "$recursiveAnchor"
16651674
with a value of true. The base URI of that schema is then used

0 commit comments

Comments
 (0)