What is the URI of an element?

The XML Base recommendation is very clear on how to interpret URIs
appearing in attribute values, but I am not entirely certain what
should be the URI of an element with an ID attribute.

Let me give an example:

  <!-- Document located at http://www.foo.no/ -->
  <doc xml:base="http://www.foo.no/examples/"
       xmlns:xlink="http://www.w3.org/1999/xlink">
    <thing id="thing1"/>
    <thingRef xlink:href="#thing1"/>
  </doc>

What is the URI of the <thing> element in this document? Is it

  1) http://www.foo.no/examples/#thing1

or

  2) http://www.foo.no/#thing1


I know what the [base uri] property of the element <thing> is, and
that seems to imply that 1) is correct. This seems further supported
by the fact that if 2) is correct, the <thingRef> will be broken,
since it will point to an element that does not exist.

On the other hand, intelligent people are claiming that 2) is correct,
and there is a certain logic to their arguments. It does seem difficult,
however, to construct the URIs of elements from the XML Infoset if 2)
is correct, if one is to take entities and so on into account.

Guidance on this would be much appreciated.

--Lars M.

Received on Friday, 29 June 2001 08:11:51 UTC