Re: Received DTD comments?

Earl Hood (ehood@imagine.convex.com)
Fri, 11 Nov 94 18:26:46 EST

> * change to DL content model from (DT*, DD?)+ to (DT | DD)*.
> OK, I guess.

Both basically define the same set of combinations. The second is
better because it reflects common practice, and it is easier to
understand.

> * (LI)+ => (LI)* in OL and UL: why?

I have a ToC program that generates nested lists automatically.
Conditions can exist when the following construct can occur:

<UL>
<LI>...
<LI>
<UL>
<UL>
<LI>...
</UL>
</UL>
</UL>

I guess I'm asking what is the best way to solve this problem. This
problem is different than (LI)* since markup is being generated where
UL is a direct child element of UL. The following

<UL>
<LI>
<UL>
<LI>Item
<LI>Item
</UL>
</UL>

gives undesired results. Example Lynx output:

*
+ Item
+ Item

Mosaic does this

* + Item
+ Item

(Looks worse when saving to formatted ascii)

Am I SOL, or is there a way in HTML to handle this case. Current clients
have no problems with the invalid markup, but validators will.

Another(?) way to state the problem is:

Should one be able to have a N+2, or greater, level list be a
child of a Nth level list?

Starting <UL>/<OL> tags would be needed to make a construct asked about
in the question. Therefore, the N+2 list is not really a child but a
descendant.

HTML already allows similiar constructs by allowing Hn elements to
occur in any order (implying arbitrary levels of sections). Should the
same leniency be applied to other elements as well?

--ewh