Re: XHTML served as application/xml+xhtml

* Steven Pemberton wrote:
>Let me try and explain: if I serve up an HTML document as text/plain, it
>becomes a text document, not an HTML document, and the rules for text/plain
>apply to it, not the rules for text/html. (IE does this wrong by the way).
>
>If I serve up an XHTML document as text/html, it becomes an HTML document,
>not XHTML, and so the rules for HTML apply (including the ones in CSS).

From a specification point of view this scenario is undefined. From a
common browser behaivour point of view some rules apply but certainly
not HTML rules. If HTML rules applied to a common construct like <br />
the user agent would render the > as character data (as Emacs/W3 does).

The CSS Validator for example uses an XML processor to parse XHTML
documents regardless of MIME Type. This is causing trouble for common
ISO-8859-1 encoded XHTML documents like

  Content-Type: text/html

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  <html xmlns='http://www.w3.org/1999/xhtml'>
  <head>
    <title></title>
    <meta
       http-equiv='Content-Type'
       content='text/html;charset=iso-8859-1' />
  </head>
  <body>
    <p>Björn</p>
  </body>
  </html>

The W3C HTML Validator says the document is fine, the W3C CSS Validator
says the document is broken. The document conforms neither to HTML 2.0,
3.2, 4.0 or 4.01 nor to XHTML 1.0. How are the two user agents supposed
to handle the document and what should they say about it?

>If I serve an XHTML document as application/xhtml+xml (or text/xml), only
>then is it really XHTML, and the HTML rules no longer apply.

>XHTML (served as text/xml, application/xml or application/xhtml+xml) is XML
>and so needs CSS to map the markup to the appropriate display behaviour, as
>described in '<a href="#xml">General XML-based markup languages</a>' above.

I strongly disagree. If XHTML user agents are not required to process
bidi markup according to the rules in HTML 4.01 and as I do not see bidi
markup beeing a special case in XHTML, this would mean that you would
also need external means to do forms, images, links, scripting or frames
in XHTML and it would be impossible to author XHTML documents that
conform to WCAG, i.e., documents that work without style sheets. In
fact, both, XHTML 1.0 and XHTML M12N say

[...]
  When the user agent claims to support facilities [elements,
  attributes, and the semantics associated with those elements and
  attributes] defined within this specification or required by this
  specification through normative reference, it must do so in ways
  consistent with the facilities' definition. 
[...]

and I don't see why bidi markup should be an exception here. There is no
difference between bidi markup in HTML and XHTML.

Received on Tuesday, 26 August 2003 02:41:54 UTC