|
1603 | 1603 | a reference to its own root, identified by the empty fragment
|
1604 | 1604 | URI reference ("#").
|
1605 | 1605 | </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> |
1606 | 1615 | <t>
|
1607 | 1616 | For an example using these keyword, see appendix
|
1608 | 1617 | <xref target="recursive-example" format="counter" />.
|
|
1642 | 1651 | </t>
|
1643 | 1652 | <t>
|
1644 | 1653 | 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 |
1646 | 1655 | that of "$ref".
|
1647 | 1656 | </t>
|
1648 | 1657 | </section>
|
|
1659 | 1668 | </t>
|
1660 | 1669 | <t>
|
1661 | 1670 | 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 |
1663 | 1672 | by examining the <xref target="scopes">dynamic scope</xref> for
|
1664 | 1673 | the outermost schema that also contains "$recursiveAnchor"
|
1665 | 1674 | with a value of true. The base URI of that schema is then used
|
|
0 commit comments