Re: HTML Link Types [Was: Linking RDF]

Aaron Swartz wrote:
> 
> Murray Altheim <altheim@eng.sun.com> wrote:
> 
> > The use of CDATA for %LinkTypes; was only an oversight, in that had the
> > original designer thought to use NMTOKENS, this would have been more
> > appropriate in the DTD. The design in the HTML 4 specification of link
> > types is a list of tokens, not a list of URIs, so XHTML is merely a
> > correction in this sense. You can find in the HTML 4 specification that
> > the intention is explicitly tokens:
> >
> > http://www.w3.org/TR/html401/types.html#type-links
> 
> I do not see this. The spec says:
> 
>     In the DTD, %LinkTypes refers to a space-separated list of link types.
>     White space characters are not permitted within link types.
> 
> Nowhere does it say they must be XML names. Since space characters are not
> allowed in URIs, use of URIs seems reasonable. The only issue is that URIs
> are case sensitive, whereas LinkTypes are not. However, this issue can be
> overcome by proper behavior on the part of the URI provider.

Nownere? I'm sorry but you're quite wrong. What seems reasonable
to you isn't necessarily what the designers intended, or what
would seem reasonable to them. If you want to extend functionality
so radically, perhaps a redesign is in order, not a hack like this.

> Since this added NMTOKENS restriction is new, could it be considered an
> error in the spec? I think it should be, since it severely restricts the use
> of LinkTypes.

I think I've already answered this. I'm not sure how more clear I 
can be.

I've been following HTML closely since 1993 and I've never seen a 
specification that included the idea that %LinkTypes; was meant to 
be a list of URIs. Perhaps nobody between 1991 and 1999 thought that
anyone would put a list of URIs into that attribute value, as they 
would have specified it as such. HTML 2.0 used NAMES for %linkType;,
which is even more restrictive than NMTOKENS. HTML 3.2 described
link types still as tokens. The most that has been written on the
subject that I'm aware of is the IETF draft by Murray Maloney and
Liam Quin (draft-ietf-html-relrev-00.txt), which again uses name
tokens as examples. If HTML 4 had intended to include URIs as 'rel'
and 'rev' values, it would have specified the parameter entity 
differently or mentioned this possibility in the specification. 
If XHTML 1.0 had intended a list of URIs, it would have specified
it as %UriList;. The discussions I've had on this over the last
five years or so have always conceived of extensions to the list
of 'rel' and 'rev' values (which was left open for extension) as
new tokens, not new notations.

The prose and examples of every single specification of HTML uses
name tokens and not URIs. As far as I know (and I do have some
background here) the intention of the design has always been to
be name tokens. That someone wants to stuff a bunch of URIs in
there doesn't suprise me, but it's not part of the design. It is
not an error in the specification, only your desire to extend it.
 
Murray

...........................................................................
Murray Altheim, SGML/XML Grease Monkey     <mailto:altheim&#64;eng.sun.com>
XML Technology Center
Sun Microsystems, 1601 Willow Rd., MS UMPK17-102, Menlo Park, CA 94025

         america was once a paradise 
         of timberland and stream
         but it is dying because of the greed
         and money lust of a thousand little kings -- archy (1927)

Received on Sunday, 29 April 2001 05:52:16 UTC