W3C home > Mailing lists > Public > www-html@w3.org > August 2001

Element prohibitions in XHTML

From: Bjoern Hoehrmann <derhoermi@gmx.net>
Date: Wed, 15 Aug 2001 23:45:23 +0200
To: www-html@w3.org, www-html-editor@w3.org
Message-ID: <6hqlnts2gks523ugdlkhb2md7nlqqkgo6q@4ax.com>
Hi,

   Section 4.9 reads:

  [...]
  For example, the HTML 4 Strict DTD forbids the nesting of an 'a'
  element within another 'a' element to any descendant depth. It is not
  possible to spell out such prohibitions in XML. Even though these
  prohibitions cannot be defined in the DTD, certain elements should not
  be nested. A summary of such elements and the elements that should not
  be nested in them is found in the normative Appendix B.
  [...]

  * This isn't consistent with HTML 4 and normative appendix B of XHTML,
    it should say '... elements MUST NOT be nested ...'. XHTML 1.0
    defines "should" as

  [...]
  With respect to documents, the word "should" is to be interpreted as
  recommended programming practice for documents and a requirement for 
  Strictly Conforming XHTML Documents. 
  [...]

    thus such nesting would be allowed for not strictly conforming
    documents (XHTML 1.0 however lacks of a definition of that), this
    isn't, as I said, not consistent with HTML 4 and not reflected in
    XHTML m12n.

Further, it doesn't make sense to spell out such prohibitions in section
4.9 and appendix B. While it is true, that XML doesn't allow SGML
exclusions, XML supports positive lists, i.e. you can define what
elements _are_ allowed to be in the content model of a certain element,
thus XHTML 1.0 should use that instead of adding confusion and reduce
the usability of the XHTML 1.0 DTDs. The possible reason for doing this
might probably be the use of parameter entities similar as in HTML 4,
but XHTML 1.0 is meant to be "A Reformulation of HTML 4 in XML 1.0" and
thus using the means of XML 1.0 to reformulate HTML 4 and using a
positive list is a means of XML 1.0. XHTML m12n uses for example the
parameter entity %InlNoAnchor.mix; to exclude the element a from the
content model, XHTML 1.0 should adhere to this and define something
similar for the other "element prohibitions".

regards,
-- 
Björn Höhrmann { mailto:bjoern@hoehrmann.de } http://www.bjoernsworld.de
am Badedeich 7 } Telefon: +49(0)4667/981028 { http://bjoern.hoehrmann.de
25899 Dagebüll { PGP Pub. KeyID: 0xA4357E78 } http://www.learn.to/quote/
Received on Wednesday, 15 August 2001 17:46:30 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 27 March 2012 18:15:49 GMT