Re: Agree: empty P, container PP [Was: Hot Metal and HTML ]

"Daniel W. Connolly" <connolly@oclc.org>
Date: Wed, 15 Jun 94 13:33:25 EDT
Message-id: <9406151731.AA00728@ulua.hal.com>
Reply-To: html-ig@oclc.org
Originator: html-ig@oclc.org
Sender: html-ig@oclc.org
Precedence: bulk
From: "Daniel W. Connolly" <connolly@oclc.org>
To: Multiple recipients of list <html-ig@oclc.org>
Subject: Re: Agree: empty P, container PP [Was: Hot Metal and HTML ] 
X-Listprocessor-Version: 6.0c -- ListProcessor by Anastasios Kotsikonas
X-Comment: HTML Implementation Group
In message <9406151304.aa09742@dali.scocan.sco.COM>, Murray Maloney writes:
>
>Second, I'd like to respond to the assertion that
>"the SGML tag implication algorithm is not strong enough"
>to deduce opening tags.  That's not quite accurate.
>In fact, I have been toying with this all morning
>and through my lunch hour.

>
>Also, %flow; would have to be modified so that instead
>of allowing (%text | %block ), it would allow ( P, (%block)*)
>
>Comments?

Short version: Been there. Done that. No workie.

Long version:

It conflicts with several of my test cases.  The trivial example is
something like:


	<h1>head</h1>
	<ul>
	<li>xxx
	</ul>


At first you might think that this is equivalent to:

	<h1>head</h1>
	<p></p>
	<ul>
	<li><p>xxx</p>
	</ul>

But you can't omit start tags of empty elements:

>From ISO 8879-1986, 7.3.1.1 Start-tag Omission:

	The start-tag can be omitted if the element is a contextually
	required element and if any other elements that could occur
	are contextually optional elements, except if:

	a) the element type has a required attribute or declared content, or
	b) the content of the instance of the element is empty

Dan