Re: Body start tag. (fwd)

Arnaud Le Hors <lehors@w3.org> wrote:
>
> FYI, on this topic, I forwarded to the WG the idea of having two
> different DTDs and people quite liked it. However given the amount of
> data which needs to be shared it was decided to build one after the
> other using marked sections and a "switch".

Dave Raggett <dsr@w3.org> wrote:
>
> The editors propose to use a DTD entity to control marked
> sections to allow the DTD to either have a FRAMESET and no
> BODY or a BODY and no FRAMESET depending on the value of
> the entity.


How would authors specify which version of the DTD to use?
Would there be two different PUBLIC identifiers?

	<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
	<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">

Or would it be specified in the internal subset:

	<!DOCTYPE HTML PUBLIC "..."
	[
	    <!ENTITY % framesets "INCLUDE">
	]>

(This probably isn't the best solution, given the widespread
lack of support for internal DTD subsets.)


Another solution is to use two different root elements.
That way the DTD doesn't need to have any conditional marked
sections at all; it can simply declare:

	<!ELEMENT HTML  	O O (HEAD, BODY)>
	<!ELEMENT HTML-FRAMED	O O (HEAD, FRAMESET)>


and authors can specify the desired root element
in the <!DOCTYPE ...>  declaration:


	<!DOCTYPE HTML     	PUBLIC "-//W3C//DTD HTML 4.0//EN">
	<!DOCTYPE HTML-FRAMED 	PUBLIC "-//W3C//DTD HTML 4.0//EN">



While on the subject, is it *really* still necessary for
the <HEAD> and <BODY> tags to be omissible?  Start-tag
omissibility can make DTD evolution and maintenance much
more difficult than it otherwise would be (as the problem
which started this thread demonstrates). 



--Joe English

  joe@art.com

Received on Monday, 28 July 1997 13:57:03 UTC