Re: Recognizing xhtml under text/html (Was Re: Examples)

There is a serious roadblock for the use of MathML in web pages
arising from the differing expectation of user agents in regard to
the HTTP content-type for a web page with such content.

This situation actually reflects inadequate flexibility for content
providers under the plans represented by the Baker draft for IETF
registration of the content type "application/xhtml+xml".

I would like to propose that added flexibility for content providers
be arranged by using a new HTTP content-type parameter called
"profile"

I am suggesting that it should have two initial values, one for the
MathML issue and the other for the more general need of content
providers wishing to have a smooth migration path from classical HTML
to fully functioning XHTML.

Older agents should not change behavior in the face of an unknown HTTP
content-type parameter for text/html.  All of the older agents I've
checked are OK in this regard.

For the MathML situation a content provider may use:

    Content-Type: text/html; profile=math

which means:

    The object should be handled as HTML extended by MathML using
    the best means, if any, the user agent provides, while other
    user agents should be sane handling the content classically
    (though some meaning of content in name space extensions may
    be lost).

Without regard to the particular situation in MathML a content
provider who wishes to migrate from HTML to fully functioning XHTML
without providing dual resources and without "throwing a switch" may
use:

    Content-Type: text/html; profile=xhtml

which means:

    The object should be handled as fully functional XHTML by those
    user agents prepared to deal with XHTML while older agents
    should be sane handling it classically.

The "xhtml" value might be imagined to fail in usefulness for the
MathML issue at the point where a browser handling MathML only in
classic HTML mode might begin to recognize the new profile parameter.

Note also that there is an HTTP content-type parameter for the
proposed type "application/xhtml+xml" called "profile" with a somewhat
different, more elaborate, purpose.

Appendix C of XHTML 1.0 is relevant for all XHTML, not just 1.0, if a
content provider wishes new content to be maximally useful in older
user agents.  There is specified user agent behavior for unknown
element names.  Appendix C is, however, informative.  Decisions
about following its guidelines belong to content providers, but
content providers are encouraged to follow those guidelines.

                                    -- Bill

Received on Tuesday, 11 December 2001 10:28:56 UTC