Re: Q: DL in HTML 2.0 DTD

Earl Hood (ehood@imagine.convex.com)
Wed, 22 Mar 95 22:05:56 EST

In article <dwb-2203951141220001@caas17.butler.brown.edu>,
David W. Baker <dwb@brown.edu> wrote:

><!ELEMENT DL - - (DT | DD)+>

>The specification <URL:http://www.ics.uci.edu/pub/ietf/html/
>html2/htmlspec281194_18.html#HEADING52>:
>
> Single occurrences of a <DT> tag without a subsequent <DD> tag are allowed,
> and have the same significance as if the <DD> tag had been present with no
> text.
>
> The opening list tag must be <DL> and must be immediately followed by the
> first term (<DT>).
>
>Thus, I would expect the DTD to look something like (pardon my SGML):
>
><!ELEMENT DL - - (DT,DD?)+>
>
> I checked the following on the HalSoft HTML verifier, <URL:http://www.
>hal.com/%7Emarkg/WebTechs/validation-form.html>, and it marks this as
>correct HTML:

[example deleted]

> So, is this merely a case where:
>
>+ the DTD doesn't completely define what is legal HTML
>+ the specification text is a more definitive source in such a contradiction
>+ my previous interpretation of definition lists (must be a series of
> DTs with zero or one DDs immediately following each) is correct

Basically, the DTD defines what is legal. One of the problems though
is backward compatability with legacy documents. Many HTML documents
use only DDs within DLs. I believe the specification text is trying to
instruct on the intended usage of the DL element.

I do agree with you that the specification text does conflict with the
DTD. I believe the spec should make some statement about these
possible conflicts, or change the wording to imply desired usage
instead of required usage. I.e. Make a note that earlier practices of
HTML may be phased out in later version of HTML, and are therefore
discouraged (if the spec already does this, then ignore me).

There was discussion among the working group on the content model
of DL. Take a look at <URL:http://www.acl.lanl.gov/HTML_WG/
html-wg-94q4.messages/0259.html>, and the other messages discussing
the DL content model.

--ewh