Re: Proposed extensions to HTML

Daniel W. Connolly (connolly@hal.com)
Mon, 21 Nov 1994 10:13:46 -0600


In message <9411211107.AA20167@dragget.hpl.hp.com>, Dave Raggett writes:
>> <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

Not so fast... They don't make use of the obvious features of
SGML, but they're not necessarily illegal.

You can say that the TYPE attribute is CDATA. You leave more
validation and processing to the application (a bad thing) but then
it's case sensitive. For example:

HTML Validation Service Response
********************************

$Id: html-check.pl,v 1.6 1994/11/14 20:55:09 markg Exp $

Check Complete
++++++++++++++

No errors found.

Input
+++++

<TITLE>Test</TITLE>

<ul>
<li type=a>type little-a
<li type=A>type big-a
</ul>

Parsed Output (Element Structure Information Set)
+++++++++++++++++++++++++++++++++++++++++++++++++

AVERSION CDATA -//Mosaic Comm. Corp.//DTD HTML//EN//2.0mcom
(HTML
(HEAD
(TITLE
-Test
)TITLE
)HEAD
(BODY
ACOMPACT IMPLIED
ATYPE IMPLIED
(UL
ATYPE CDATA a <<<<<
AVALUE IMPLIED
(LI
-type little-a
)LI
ATYPE CDATA A <<<<<
AVALUE IMPLIED
(LI
-type big-a
)LI
)UL
-\n
)BODY
)HTML
C

>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.

Very nice.. I suggest you change

> type (%ul.li) #IMPLIED -- bullet style --

to:

> type ENTITY #IMPLIED -- bullet style --

Then we would have some pre-declared entities like bullet, folder,
etc., and you could use URLs as system identifiers to declare others.

Dan