In the DTD, I have renamed the generic style attribute to "CLASS" as
this better reflects its new role. My thanks to Eric Severson and
Steve DeRose for helpful discussions on the sgml-internet list, which
have led to the following additions to the HTML 3.0 DTD:
<!--
A style sheet can be associated with the document using the
LINK element, e.g. <LINK rel=stylesheet href="housestyle.dsssl">.
Style overrides can be placed in the document head using the
STYLES element, e.g.
<styles notation=dsssl-lite>
<style class=bigcaps>(dsssl-lite-stuff)
<style class=para17>(more dsssl-lite-stuff)
</styles>
Later on in the document you can use:
<h2 class=bigcaps>Header with bigger than normal capitals</h2>
<p class=para17>A paragraph with a unique style of its own
...
We may want to use a convention for hierarchical classes,
e.g. class=stanza.couplet which defines couplet as a subclass
of stanza. The compound name can be up to NAMELEN chars long
Currently, this is set to 72 chars and shouldn't cause problems.
Note: the entity style-notations can be overridden in the
document type definition subset when you want to use a notation
that isn't defined in the DTD itself.
-->
<!ENTITY % style-notations "dsssl-lite">
<!NOTATION dsssl-lite PUBLIC "-//ISO//DSSSL Lite ??//EN//">
<!ELEMENT STYLES - - (STYLE*)>
<!ATTLIST STYLES
notation NOTATION (%style-notations;) #REQUIRED
>
<!ELEMENT STYLE - O (#PCDATA)>
<!ATTLIST STYLE class NMTOKEN #REQUIRED>
Further info on dsssl-lite can be found on James Clark's server at
http://jclark.com/dsssl/ Its possible that we may also want a simple
parameterized style sheet mechanism which is easier for non-techies
to create/modify. I will be exploring both options soon, as I am
about to start work on developing a streamed parser for HTML 3.0
with style sheet support, for W3C.
An issue, still to be resolved, is whether there still is a need for
limited presentation attributes in HTML. Such attributes can be justified
as they ensure document text is the same, whether or not, your browser
supports style sheets. For example, if we don't include attributes for
controlling the numbering of list elements, then browsers which don't
support style sheets will show different numbers from those that do.
-- Dave Raggett <dsr@w3.org> tel: +44 272 228046 fax: +44 272 228003
Hewlett Packard Laboratories, Filton Road, Bristol BS12 6QZ, United Kingdom