- From: James Clark <jjc@jclark.com>
- Date: Sun, 14 Jan 2001 13:46:49 +0700
- To: www-html-editor@w3.org
The frames module redefines the content model for the html element to be (head, frameset), and disallows (head, body). Why? Any user agent that supports frames is surely not going to require that documents use frames and thus will surely support documents that use body instead of frameset. This makes the frames module quite unlike all the other modules. I'm guessing that the reason the frames module does things this way is because XHTML 1.0 does things this way. I'm also guessing the reason that XHTML 1.0 does things this way is because HTML 4 does things this way. But why does HTML 4 do things this way? There's a comment in the HTML 4 DTD that explains: <!-- The content model for HTML documents depends on whether the HEAD is followed by a FRAMESET or BODY element. The widespread omission of the BODY start tag makes it impractical to define the content model without the use of a marked section. --> In other words, the only reason that HTML.Frameset doesn't define the content model for HTML to (HEAD, (BODY|FRAMESET)) is because that would cause problems with the SGML rules on the omission of the start-tag for the BODY element. But obviously this reason is irrelevant to both XHTML 1.0 and to XHTML MOD. I would therefore suggest that the frames module redefine the content model for html to be (head, (body|frameset)). James
Received on Sunday, 14 January 2001 01:48:40 UTC