On Sep 8, 2005, at 17:26, Ian Hickson wrote:

On Thu, 8 Sep 2005, Henri Sivonen wrote:

I think the text/html flavor of HTML5 should not allow the following SGML minimization features (which are theoretically allowed in HTML 4), because each of them causes problems in at least one of Opera, Firefox and Safari.

 * <>
 * </>

Agreed. Those should generate comment nodes, I think.

Opera, Firefox and Safari already interoperably handle <> as character data (equivalent to &lt;&gt;) and ignore </>.

 * tagc omission ie. <foo<bar>...</bar</foo>

Well we have to define what that does, and the most obvious error handling
behaviour here is to start the new tag. So effectively, I would say we
shoul have TAGC omission.

But it would still be an error as far as a conformance checker is concerned, right?

 * <foo/bar/

Agreed, sadly. That would be equivalent to something like <foo /bar/="">
(or something similar).

I think the HTML5 spec should allow TagSoup to be updated for HTML5 or an equivalent of TagSoup for HTML5 to be written. TagSoup guarantees to the application that it acts as if it was an XML parser parsing XHTML. Therefore, XML and, by extension, the SAX2 API contract restrict the attribute names to legal XML attribute names. If HTML5 required "/bar/" to be reported as an attribute name, TagSoup would have to violate that constraint and could not claim conformance.

* attribute name omission (except for the well-known "boolean attributes")

Again, we have to define error handling. <foo bar baz> will probably just
be equivalent to <foo bar="" baz="">.

I have previously argued for <foo bar="bar" baz="baz"> in the TagSoup-like scenario, because that would be the same as the treatment required for the "boolean attributes".

--
Henri Sivonen
[EMAIL PROTECTED]
http://hsivonen.iki.fi/

Reply via email to