Skip to content

Commit 37f0f99

Browse files
committed
Clarifications from review feedback on $recursive*
1 parent f750cc3 commit 37f0f99

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
@@ -1595,6 +1595,15 @@
15951595
a reference to its own root, identified by the empty fragment
15961596
URI reference ("#").
15971597
</t>
1598+
<t>
1599+
Simply stated, a "$recursiveRef" behaves identically to "$ref", except
1600+
when its target schema contains "$recursiveAnchor" with a value of true.
1601+
In that case, the dynamic scope is examined to determine a new base URI,
1602+
and the URI-reference in "$recursiveRef" is re-evaluated against that
1603+
base URI. Unlike base URI changes with "$id", changes with
1604+
"$recursiveAnchor" are calculated each time a "$recursiveRef" is
1605+
resolved, and do not impact any other keywords.
1606+
</t>
15981607
<t>
15991608
For an example using these keyword, see appendix
16001609
<xref target="recursive-example" format="counter" />.
@@ -1634,7 +1643,7 @@
16341643
</t>
16351644
<t>
16361645
Note that in the absence of "$recursiveAnchor" (and in some cases
1637-
when it is present", "$recursiveRef"'s behavior is identical to
1646+
when it is present), "$recursiveRef"'s behavior is identical to
16381647
that of "$ref".
16391648
</t>
16401649
</section>
@@ -1651,7 +1660,7 @@
16511660
</t>
16521661
<t>
16531662
If set to true, then when the containing schema object is used
1654-
as a dynamic reference target, a new base URI is determined
1663+
as a target of "$recursiveRef", a new base URI is determined
16551664
by examining the <xref target="scopes">dynamic scope</xref> for
16561665
the outermost schema that also contains "$recursiveAnchor"
16571666
with a value of true. The base URI of that schema is then used

0 commit comments

Comments
 (0)