[lots of good stuff deleted...]
| And if we are to evolve HTML technology from its current
| very-useful-but-far-from-sufficient state, we MUST apply
| more formal methods to abstract the essential techinques
| from the various applications. I suggest we take a serious
| look at the architectural-form techniques from the HyTime
| standard development, and develop (1) a set of WWW
| architectural forms for linking and navigation, and
| (2) a stylesheet mechanism so that the WWW linking and
| navigation techniques can be applied to a variety of SGML
| DTDs.
|
|</SoapBox>
|
|Whew! I needed that!
Hear! Hear!
I support this view wholeheartedly. Indeed, this is the subject of the
<A HREF="http://tyr.let.rug.nl/~bert/SGML.html"> WWW'94 workshop</A>
that I propose to organize. We need to reach enough consensus on this
topic that we can start a coordinated development effort.
Architectural forms are nice, I even wrote an HTML meta-DTD some time
ago (on paper, and I've thrown it away), but eventually I decided that
they have too many disadvantages compared to stylesheets. Unless we
have access to so many resources that we have development capacity to
spare, I think we should focus on style sheets first.
HyTime itself is much too complex for us at the present time, maybe in
five years time it will be feasible. HyTime-like Architectural Forms
have the advantage that they are pure SGML, but the disadvantage that
they are difficult to understand and that SGML doesn't seem to be a
very convenient language for writing programs in. Stylesheets can be
written in better languages.
Although I hate Lisp, I think the Scheme-based DSSSL (currently an ISO
draft standard, I believe) is the best bet when it comes to defining
the tree-transformations that define the on-screen/on-paper
representation of an SGML element. I'm waiting for the first WWW
browser with an embedded Scheme interpreter!
<sidebar>
Surprisingly, a stylesheet in Scheme would work in exactly the
opposite way from previously proposed stylesheet mechanisms. Simple
stylesheets are `document-driven': they define for each SGML element
how it would be rendered. A formatter would read a document as a
stream and apply a style to each element it encounters.
A stylesheet in Scheme is very different: a formatter would read the
style and *execute* it as a Scheme program. The document is treated
as a database from which the Scheme program can retrieve elements,
in any order, even more than once or not at all.
</sidebar>
Bert
-- __________________________________ / _ Bert Bos <bert@let.rug.nl> | () |/ \ Alfa-informatica, | \ |\_/ Rijksuniversiteit Groningen | \_____/| Postbus 716 | | 9700 AS GRONINGEN | | Nederland | | http://tyr.let.rug.nl/~bert/ | \__________________________________|