- From: Steven J. DeRose <sjd@ebt.com>
- Date: Tue, 04 Mar 1997 08:27:46 -0500
- To: Steve Pepper <pepper@FALCH.NO>, w3c-sgml-wg@w3.org
At 07:57 PM 03/03/97 +0100, Steve Pepper wrote: >Thanks to Jon and Tim for providing some rationale for the ERB decisions. > >The arguments against using LINK syntax seem to be falling into a number >of distinct categories: > >1) Malediction >2) Confusion caused by the very word LINK >3) "Nobody understands it" >4) "LINK can't do the job anyway" >5) Verbosity and lack of clarity of the syntax >6) Difficulty of implementation >7) "LINK is unnecessary if WG8 gives us multiple attlists" > There are several others: LINK poses problems because you can't override the value on particular instances; it's not just a default, like you can do with ATTLISTs. Which reminds me since the question was asked: one specific design flaw in LINK that I find fatal is that you can't address anything that isn't already an element. For example, if you want to apply processing attributes that indicate something is supposed to be set all in caps, or as a drop cap, you can't do it *unless the something is already an element*, which in those cases is unlikely ("set the first line of each section in bold"; "drop-cap the first character of every chapter", and so on). lack of ability to handle anything that isn't already an element means you *must* have *another* way to associate processing as well, that can do that. And if you have that, LINK is redundant. [I was going to leave out the obvious exception that you could add a link attribute reading something like "small-cap the character 30 bytes into the content of this element". Of course you can, but if you're going to build an addressing language there's no reason it has to go inside link attributes when it could go in the stylesheet in the first place (and there's a nice ISO standard with such a style and semantics language already, whereas whatever you packed into link attributes would be a new invention just to work around the link limitation)] Link also uses a baroque style of overriding its settings: changes at event boundaries, pretty much like troff. This leads to very subtle surprises when you try to maintain the settings as contexts change or expand, because LINK's set of distinguishable contexts is not organized quite like SGML's. Also, complexity of implementation is not so much an issue as is a decade's evidence that no one need bother. Link just hasn't proven itself useful enough for almost anyone to bother building or using. The things it *can* do can be done more powerfully by other tools (and now that DSSSL transforms are around, can be done by *ISO* standard methods far more powerful than LINK). Also, if indeed its main function is to adding processing-specific attributes without "actually" putting them on the tags, what advantage does it have over multiple attlists, which have countless *independent* reasons to exist? Eschew redundancy.
Received on Tuesday, 4 March 1997 08:31:25 UTC