|
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