Re: Proposed extensions to HTML

Dave Raggett (dsr@hplb.hpl.hp.com)
Mon, 21 Nov 94 11:07:31 GMT


From: Dave Raggett <dsr@hplb.hpl.hp.com>
Message-Id: <9411211107.AA20167@dragget.hpl.hp.com>
Subject: Re: Proposed extensions to HTML
To: www-html@www0.cern.ch
Date: Mon, 21 Nov 94 11:07:31 GMT

> <OL>
>     Your average ordered list counts 1, 2, 3, ... etc. We have also
>     added the TYPE tag to this element to allow authors to specify
>     whether the want their list items marked with: capital letters
>     (TYPE=A), small letters (TYPE=a), large roman numerals (TYPE=I),
>     small roman numerals (TYPE=i), or the default numbers (TYPE=1).

The Netscape extensions to OL (ordered lists) look useful, but are
unfortunately ILLEGAL as SGML.

This is because SGML doesn't differentiate "i" from "I" and doesn't
permit duplicate NAME tokens for attribute values (regardless of
attribute name). The sgmls parser gives the following error message:

 sgmls: SGML error at html3.dtd, line 498 in declaration parameter 24:
       Group token 3: duplicate name or name token "I" ignored
 sgmls: SGML error at html3.dtd, line 498 in declaration parameter 24:
       Group token 5: duplicate name or name token "A" ignored

The following is my current suggestion for HTML 3.0. It gives better
control than the Netscape extensions, is legal SGML and based on the
tried and tested DocBook DTD. I have also added a list header element
as this is needed for compatability with ICADD, following Yuri Rubinsky's
recommendations. The style attributes would also be controllable via
linked style sheets, and I am participating in the dsssl-lite discussions
to see what can be achieved in the short term on this.

<!ELEMENT (OL|UL) - -  (LH?, LI+)>

<!ENTITY % ol.li "arabic|upperalpha|loweralpha|upperroman|lowerroman">

<!ATTLIST OL
        %attrs;
        %needs; -- for control of text flow --
        type    (%ol.li)     #IMPLIED   -- rendering style --
        inherit (inherit)    #IMPLIED   -- prefix from parent, eg "3.1.b" --
        continue (continue)  #IMPLIED   -- don't restart sequence number --
        start    NUMBER      #IMPLIED   -- starting sequence number --
        compact (compact)    #IMPLIED   -- reduced interitem spacing --
        >

<!ENTITY % ul.li  "disc|circle|square|custom">

<!ATTLIST UL
        %attrs;
        %needs; -- for control of text flow --
        plain (plain) #IMPLIED      -- suppress bullets --
        wrap (vert|horiz|none) none -- multicolumn list style --
        type (%ul.li)  #IMPLIED     -- bullet style --
        bullet (%URI;) #IMPLIED     -- default bullet graphic --
        base IDREF #IMPLIED         -- for resolving relative links --
        urn CDATA   #IMPLIED        -- universal resource number --
        compact (compact) #IMPLIED  -- reduced interitem spacing --
        >

<!ELEMENT LH - O (%text;)+ -- list header -->
<!ATTLIST LH %attrs;>

<!ELEMENT LI - O %flow; -- list item -->
<!ATTLIST LI
        %attrs;
        %needs; -- for control of text flow --
        bullet (%URI;) #IMPLIED -- custom bullet graphic --
        base IDREF  #IMPLIED    -- for resolving relative links --
        urn CDATA   #IMPLIED    -- universal resource number --
        label CDATA #IMPLIED    -- custom label --
        skip NUMBER #IMPLIED    -- skip seq nums for missing items --
        >


The documentation for the initial draft of HTML 3.0 is nearly complete
and will be browsable over the Web. This is for discussion purposes and
will evolve over the next few months as we bash it into shape.
--
Best wishes,

Dave Raggett
-----------------------------------------------------------------------------
Hewlett Packard Laboratories              email: dsr@hplb.hpl.hp.com
Filton Road, Stoke Gifford                tel:   +44 272 228046
Bristol BS12 6QZ                          fax:   +44 272 228003
United Kingdom