1.2 link and 1.6 traversal

I'm sorry to go back to basics, but I think we need to.

I think a LOT of the terminological problems we're wrestling with stem
from a simple failure to distinguish things from their specifications,
just like the SGML spec. failed to distinguish between text and tree.

Our specific problem is not distinguishing between link descriptions
and links.

Links are out there in the ether, CONNECTING points in document

Link descriptions are things you find in documents.

Links (types) have a topology (number of ends, directionality), sub-structure
(e.g. terminus roles) and contextually-bound semantics (see previous
message about Application semantics vs. application behaviour).  Links
(tokens) have actual end-points.

Link descriptions have a syntax (GI, attribute names and values, etc.)
and a semantics (what type of link they specify, how to instantiate
individual links when processing a link description in a document

Of course you all understand this distinction, the use of the words
'implicit' and 'explicit' makes that clear (when a link description
(type) describes a link one of whose ends is the link description
itself, that's the implicit case).  But not making the distinction
clear in the terminology sows confusion.

Consider the text of 1.4.2:

> 2. link: A data object which explicitly represents a relationship
> between two or more termini. A link has link-type, a name intended to
> communicate the overall significance of the relationship.

This doesn't GIVE us a name for the thing itself (the 'relationship') and
uses 'link' for the description thereof.  This may be from a desire to
stay close to ordinary usage, but it's causing more trouble than it's
worth.  The most obvious case is in 1.4.6

> 6. traversal: The action of using a link; that is, of accessing another
> terminus from an initial terminus. Usually traversal is considered a
> user action (commonly initiated by clicking on a displayed terminus),
> but it can also occur under program control.

where the incoherent (and not elsewhere defined) idea of an 'initial
terminus' is appealed to.  Point is, MOST applications will 'use' a
link by starting from the link DESCRIPTION, which may or may not be a

Note further that a particular link description may well describe
DIFFERENT links at different times or if its host document moves, a
point difficult to address if you can't distinguish between the two.

I'll try to produce a redraft of 1.4 and 1.5 which points the way to how
things might change if this distinction were made explicit.


Follow-Ups: References: