Draft: draft-ietf-core-resource-directory

Commentary: The previous text did not match my intentions , back when I thought of " absolute URIs " as " URI references that are already in URI form " , where actually they are a construct intended for protocols to express that the fragment part does not take part in the dereferencing process . Closes : Will merge soon unless it conflicts with someone 's private branches or draws other negative comments . 
 +1 for awareness of the difference between a URI and a reference to a URI 
 Oh , I see . But then I 've been using the term wrong . In ABNF terminology for RFC3986 , there 's a " URI " ( thing - with - scheme ) , a " relative - ref " and a " URI - reference " ( which can be relative or not ) . I had thought it wise to talk of absolute URIs when I mean thing - with - scheme to disambiguate " URI " from " URI - reference " , unaware that " absolute - URI " is even stricter . As we are not designing a communication protocol , we should not use the term " absolute URI " , but talk of " URI " or ( if ambiguous ) a " complete URI " . I 'll need to patch that in the draft , sorry for the mess and thanks for pointing it out .
Paragraph (version A):
The expression "a URI-reference is _resolved against_ a base URI"
is used to describe the process of RFC3986 Section 5.2.
Noteworthy corner cases are that resolving an absolute URI against
any base URI gives the original URI, and that resolving an empty
URI reference gives the base URI.
Paragraph (version B):
The expression "a URI-reference is _resolved against_ a base URI"
is used to describe the process of RFC3986 Section 5.2.
Noteworthy corner cases are that if the URI-reference is a (full)
URI and resolved against any base URI, that gives the original
full URI, and that resolving an empty URI reference gives the base
URI without any fragment identifier.
Paragraph (version A):
The Base URI of a Registration is a URI that typically gives
scheme and authority information about an Endpoint.  The
Registration Base URI is provided by the Endpoint at registration
time, and is used by the Resource Directory to resolve relative
references inside the registration into absolute URIs.
Paragraph (version B):
The Base URI of a Registration is a URI that typically gives
scheme and authority information about an Endpoint.  The
Registration Base URI is provided by the Endpoint at registration
time, and is used by the Resource Directory to resolve relative
references inside the registration into URIs.
Paragraph (version A):
While the link targets in this discovery step are often expressed in
path-absolute form, this is not a requirement.  Clients SHOULD
therefore accept URIs of all schemes they support, both in absolute
and relative forms, and not limit the set of discovered URIs to those
hosted at the address used for URI discovery.
Paragraph (version B):
While the link targets in this discovery step are often expressed in
path-absolute form, this is not a requirement.  Clients SHOULD
therefore accept URIs of all schemes they support, both as URIs and
relative references, and not limit the set of discovered URIs to
those hosted at the address used for URI discovery.
Paragraph (version A):
A relative href value denotes the path to the registration resource
of the Endpoint.  When pointing to a registration resource on a
different RD, the href value is an absolute URI.
Paragraph (version B):
A relative href value denotes the path to the registration resource
of the Endpoint.  When pointing to a registration resource on a
different RD, the href value is a URI.
Paragraph (version A):
Links that did not have an anchor attribute are therefore returned
with the (explicitly or implicitly set) base URI of the registration
as the anchor.  Links whose href or anchor was submitted as an
absolute URI are returned with respective attributes unmodified.
Paragraph (version B):
Links that did not have an anchor attribute are therefore returned
with the (explicitly or implicitly set) base URI of the registration
as the anchor.  Links whose href or anchor was submitted as a (full)
URI are returned with respective attributes unmodified.
Paragraph (version A):
Note that "href" is also a valid search criterion and matches target
references.  Like all search criteria, on a resource lookup it can
match the target reference of the resource link itself, but also the
registration resource of the endpoint that registered it, or any
group resource that endpoint is contained in.  Queries for resource
link targets MUST be in absolute form and are matched against a
resolved link target.  Queries for groups and endpoints SHOULD be
expressed in path-absolute form if possible and MUST be expressed in
absolute form otherwise; the RD SHOULD recognize either.
Paragraph (version B):
Note that "href" is also a valid search criterion and matches target
references.  Like all search criteria, on a resource lookup it can
match the target reference of the resource link itself, but also the
registration resource of the endpoint that registered it, or any
group resource that endpoint is contained in.  Queries for resource
link targets MUST be in URI form (ie. not relative references) and
are matched against a resolved link target.  Queries for groups and
endpoints SHOULD be expressed in path-absolute form if possible and
MUST be expressed in URI form otherwise; the RD SHOULD recognize
either.
Paragraph (version B):
Talk of "relative references" and "URIs" rather than "relative"
and "absolute" URIs.  (The concept of "absolute URIs" of RFC3986
is not needed in RD).