[Archive copy mirrored from: http://www.textuality.com/sgml-erb/mprdv.html]

Hyperlinking and XML:
Minimum Progress Required to Declare Victory

1. Background

The Web is the largest working hypermedia instance. It supports one widely-used form of hyperlink, the <A> or Anchor element. These links are unidirectional and [this is a basic design principle of the web] specify basically nothing about their target except its location. The links carry no typing or role information, beyond the unconstrained text that may be found between the <A> and </A> tags. HTML offers another hyperlink facility, the LINK header element, but it is not widely used.

Web links support a variety of behaviors, governed by the interaction of the "scheme" part of the URL (http:, file:, ftp:, mailto:) and the logic in the "User Agent" (typically a browser). It might be argued that there are really a smaller number of behaviors (a) retrieve and display, (b) retrieve and save, (c) send mail; but the number of behaviors exceeds one.

There are a variety of other standards that support hyperlinks, of which the most visible are HyTime, part of TEI, and in the area of object naming, the IETF URN work. None of these, at this moment, has overwhelming market acceptance, or credibility at the level enjoyed by SGML. HyTime has ISO's blessing, URN has the IETF's; TEI is used to encode many billions of bytes of text.

2. Minimum Progress on Deliverables

The minimal deliverable is a smallish document (smaller than the XML spec) with an independent existence and name - for example, XHA for Extensible Hyperlink Architecture. The hyperlinking mechanisms should be applicable to XML of course, but also to SGML and (to the extent possible) to HTML.

XHA should have no dependency on XML. However, we may choose to build special machinery into XML (reserved elements/attributes/archforms) to optimize support for XHA.

3. Minimum Progress on Hyperlink Enhancement

The minimum set of hyperlink constructs should:

3.1 subsume the existing WWW Anchor semantics in a smooth and natural way.

3.2 provide a hyperlink mechanism with richness similar to that of the HyTime "ilink" construct.

This means that the link

3.3 support addressing at least by URL and ID attribute, alone or in combination.

4. Minimum Progress on Behavior

The minimum set of behavior machinery should provide:

4.1 mechanisms for users to identify and describe behaviors associated with hyperlinks.

4.2 predefined behaviors equivalent to those already in wide use on the Net.

5. Minimum Progress on Link Roles

The minimum set of link role machinery should provide:

5.1 mechanisms for users to identify and describe roles for link-ends.

5.2 predefined link roles equivalent to those already in wide use on the Internet