Re: Link draft: 5.2 location source

At 05:10 PM 3/8/97 CST, Paul Grosso wrote:
>In the May 5 XML Link draft, section 5.2, location source:
>I don't understand "referrer".  I don't know how to interpret
>"the non-link element that refers to the link element."  I assume
>"link element" should read "linking element" (ref. section 1.3),
>but I didn't know the linking element was necessarily referred to
>by anything.  Can someone please explain this to me?

In HyTime, the "referrer" is the non-*location address* element that refers
to a location address.  The distinction is necessary because the location
source for a location address element may either be the referrer or defined
by the referrer.  However, only the top rung of a location ladder can have
a default location source, and since the top rung will be referred to by
the rung below it (unless the ladder consists of exactly one location
address), we can't talk about any element referring to the location address.

Consider this HyTime (TC) example:

<link href=foo><a></a><b><b></link>
<treeloc id=foo naimpsrc=referrer>1 2</treeloc>

The treeloc addresses the second child of its location source, which is the
referrer element (the Link), thus it addresses the element B.  In this case
there is exactly one step in the location path from the Link element to its
ultimate target, so the element that refers directly to the treeloc is also
the element that makes the initial reference to the location path the
treeloc is in (because there is only one step in the path, the treeloc).

If we interpose another step in the location path, we see the nomencature

<link href=bar><a></a><b><b></link>
<nmsploc id=bar nmspace=elements>foo</bar><!-- Default locsrc is current
doc -->
<treeloc id=foo naimpsrc=referrer>1 2</treeloc>

The link points to the name-space loc, which then addresses the treeloc,
forming a two-step location path, with the treeloc at the end.  The Link
element doesn't refer directly to the treeloc but is still the treeloc's
referrer for the purposes of determing the implied location source of the
treeloc because the Link pointed to the location path of which the treeloc
is a member.  Intermediate location addresses can't be referrers because
otherwise you'd never be able to form this example.