Description
The current process for resolving a $dynamicRef
requires that both ends of the dynamic scope have a $dynamicAnchor
. This bookending requirement complicates $dynamicRef
resolution, makes some use cases impossible, and doesn't seem to serve any useful purpose as far as I can tell.
The only explanation for the bookending requirement in the spec comes from this cref.
Requiring both the initial and final URI fragment to be defined
by "$dynamicAnchor" ensures that the more common "$anchor"
never unexpectedly changes the dynamic resolution process
due to a naming conflict across resources. Users of
"$dynamicAnchor" are expected to be aware of the possibility
of such name collisions, while users of "$anchor" are not.
But, that doesn't make sense. I don't see how $anchor
could effect the dynamic resolution process nor what effect bookending could have in stabilizing the process.
I'll follow up shortly with a couple examples of how the bookending requirement is harmful.
(This was originally reported in #1030 and split off here)