|
1595 | 1595 | a reference to its own root, identified by the empty fragment
|
1596 | 1596 | URI reference ("#").
|
1597 | 1597 | </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> |
1598 | 1607 | <t>
|
1599 | 1608 | For an example using these keyword, see appendix
|
1600 | 1609 | <xref target="recursive-example" format="counter" />.
|
|
1634 | 1643 | </t>
|
1635 | 1644 | <t>
|
1636 | 1645 | 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 |
1638 | 1647 | that of "$ref".
|
1639 | 1648 | </t>
|
1640 | 1649 | </section>
|
|
1651 | 1660 | </t>
|
1652 | 1661 | <t>
|
1653 | 1662 | 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 |
1655 | 1664 | by examining the <xref target="scopes">dynamic scope</xref> for
|
1656 | 1665 | the outermost schema that also contains "$recursiveAnchor"
|
1657 | 1666 | with a value of true. The base URI of that schema is then used
|
|
0 commit comments