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