Hello,

I've found that the DTD of XHTML Basic 1.1 declares de hr element, but it doesn't appear in the content model of any element, and therefore it cannot be used. A detailed explanation follows.

All the information bellow is based on the revision:
http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd
Revision:   $Id: xhtml-basic11.dtd,v 1.1 2007/07/20 15:00:12 jules Exp $

The XHTML DTD includes the "Presentation Module" which declares the element "hr". See:

http://www.w3.org/MarkUp/DTD/xhtml-pres-1.mod http://www.w3.org/MarkUp/DTD/xhtml-blkpres-1.mod

However, "hr" isn't in the content model of any element. For example, it isn't in the content model of the element "body". The element "body" is declared as:

(from http://www.w3.org/MarkUp/DTD/xhtml-struct-1.mod)

<!ENTITY % body.content
     "( %Block.mix; )+"

<!ELEMENT %body.qname;  %body.content; >

The entity Block.mix is declared as:

(from http://www.w3.org/MarkUp/DTD/xhtml-basic11-model-1.mod)

<!ENTITY % Block.mix
     "%Heading.class;
      | %List.class;
      | %Block.class;
      %Misc.class;"


You can check that "hr" is not declared in any of these entities as it should.

If it helps, the following web site maintained by me shows the information of the DTD in a more human-friednly way. All the information was extracted automatically from the DTD available today (Sep 15 2007):

http://www.it.uc3m.es/jaf/xhtmlpedia/basic-1.1/
http://www.it.uc3m.es/jaf/xhtmlpedia/basic-1.1/element-body.html
http://www.it.uc3m.es/jaf/xhtmlpedia/basic-1.1/element-hr.html

Regards,

Jesús Arias Fisteus
Universidad Carlos III de Madrid (Spain)





Reply via email to