Re: Link style sheets

Terry Allen (terry@ora.com)
Fri, 12 May 95 17:16:05 EDT

Thanks for the additional posts, Craig. I think I have things
straight now. I am concerned about the SGML angle. Here's
what we have now (or at least, had recently):

<!ELEMENT LINK - O EMPTY>
<!ATTLIST LINK
HREF %URI #REQUIRED
%linkExtraAttributes;
%SDAPREF; "Linked to : #AttVal (TITLE) (URN) (HREF)>" >

<!ENTITY % linkExtraAttributes
"REL %linkType #IMPLIED
REV %linkType #IMPLIED
URN CDATA #IMPLIED
TITLE CDATA #IMPLIED
METHODS NAMES #IMPLIED">

and this advice:

<!-- <LINK> Link from this document -->
<!-- <LINK HREF="..."> Address of link destination -->
<!-- <LINK URN="..."> Lasting name of destination -->
<!-- <LINK REL=...> Relationship to destination -->
<!-- <LINK REV=...> Relationship of destination to this -->
<!-- <LINK TITLE="..."> Title of destination (advisory) -->
<!-- <LINK METHODS="..."> Operations allowed (advisory) -->

given the above, one can already point to a style sheet for links with
<LINK HREF="..." REL="linkstylesheet"> where "linkstylesheet"
would need to be standardized. But that's the rub. And Craig's
proposal rests on standardizing a syntax within attribute values,
one which can't be checked by SGML parsing.

That's always a red flag to me. It tells me that I'm trying to
do too much within SGML.

In the case of HTML, it would be easier simply to define a new element,
LINKSTYLESHEET or something, with the attributes HREF and URN. The
semantics of LINKSTYLESHEET are that it points to a specification
for how to interpret the values of REL in LINK. You may want to
have more than one LINKSTYLESHEET in your HEAD, so make it
LINKSTYLESHEET*.

But I think that linking to exterior resources such as style sheets
is better done in something like an SGML catalog. After all,
the browser should know how to interpret the document's markup
before it encounters anything beyond the doctype decl. You can do
the same thing with processing instructions (Panorama does this),
but PIs present the same standardization problems.

In HTML, it is appropriate to agree on common values for the
core functions already implemented. Let's do that for REL, and
if we want to point to something that explains link semantics,
define a new element.

-- 
Terry Allen  (terry@ora.com)   O'Reilly & Associates, Inc.
Editor, Digital Media Group    101 Morris St.
			       Sebastopol, Calif., 95472
occasional column at:  http://gnn.com/meta/imedia/webworks/allen/

A Davenport Group sponsor. For information on the Davenport Group see ftp://ftp.ora.com/pub/davenport/README.html or http://www.ora.com/davenport/README.html