Skip to content

Remove $dynamicRef bookending requirement #1064

Closed
@jdesrosiers

Description

@jdesrosiers

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions