HTMLのネストしたリスト

今まで何気にこんな風に書いてたけど,Validator に怒られて間違いに気がついた。

<ul>
<li>favorite</li>
<ul>
<li>ceres</li>
<li>marino</li>
</ul>
</ul>

(XHTMLの)DTDはこんなかんじ。HTML2.0まで遡ったけれど基本的には同じだった。

<!ELEMENT ul (li)+>

要素ulの子は要素liのみ。というわけで,こっちが正しい。

<ul>
<li>favorite
<ul>
<li>ceres</li>
<li>marino</li>
</ul>
</li>
</ul>

10年くらいずっと間違ってたってことか…。
もっとも,XHTMLでないHTMLだと,要素liを明示的に閉じなくても良いので,間違った認識をしていても,2番目の要素ulが実は要素liの子になっていて問題なかったり。

<UL>
<LI>favorite
<UL>
<LI>ceres
<LI>marino
</UL>
</UL>

ただ,私の場合,XHTML以前から閉じタグ書いてたので…。