Subject: Hyperlinks: MPRDV
From: Tim Bray <firstname.lastname@example.org>
Date: Thu, 19 Dec 1996 20:19:45 -0800
From email@example.com Thu Dec 19 23: 20:22 1996
X-Mailer: Windows Eudora Pro Version 3.0 Demo (32)
In the meeting of Dec. 18, the ERB discussed how we might start moving forward
on hyperlinking. Attempts to proceed as we did with the base XML language,
i.e. agree on a statement of principles and start subsetting an existing
standard, seem fraught with difficulty; in particular it seems very difficult
to separate the meta-discussion of design goals from the discussion of
implementation details and standards compliance.
To help get things going, and after running this idea past the ERB, I am
introducing a proposal entitled Minimum Progress Required to Declare Victory.
The idea is to continue running with the XML premise; that you can do a lot
with a little. In particular, we should be able to offer the Web community
something subtantially better than they're used to without having to go very
far. It should be borne in mind that to do a good job on specifying even a
little, you have to fight through some surprisingly hairy problems (as witness
our recent experience on this list). This is an attempt to spot the
low-hanging fruit in the hyperlinking jungle.
Sensible reactions to this proposal include:
- suggestions that we add facility X, because it's easy and useful
- suggestions that we add facility X whether it's easy or not because
it's such a basic need that we're wasting our time if we leave it out
- suggestions that we remove facility X, because it'll get us in trouble
- suggestions for compliance, at some level, with some existing standard
- meta-suggestions for good ways to structure this discussion
- comprehensive yet compact fully thought out proposals for a hyperlinking
facility, supported by multiple public-domain reference implementations
This will presumably launch us on a fairly free-form discussion ranging from
philosophy through implementation, which is no bad thing at this stage. At
some point we will have to impose structure on the discussion and generate a
draft and so on; this point will doubtless arrive before many of us are
comfortable that we're ready. Speaking unofficially, but I think on behalf of
the ERB, it seems that the breakneck pace at which we plowed through XML was
on balance a good thing, and we'll try to stick with that.
Having said all this, I should emphasize that while the ERB gave me the OK to
post this and get things going, it is *not* a position of the ERB, and no hint
should be taken that we are leaning in this direction or any other. Once
again, it will be helpful if those responding use subject lines to help sort
I'll place an HTML version of this at
Minimum Progress Required to Declare Victory
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
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
- has a type,
- has multiple ends, each of which has a role, and
- may be located away from any of its ends, thus supporting links into
3.3 support addressing at least by URL and ID attribute, alone or
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
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
Cheers, Tim Bray
firstname.lastname@example.org http://www.textuality.com/ +1-604-488-1167