Re: XHTML character entity support

On Nov 11, 2009, at 14:47, David Carlisle wrote:

> Henri wrote: 
> 
>> One can use <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML
>> 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd"> and
>> trade compat with WebKit and Opera into the ability to use the MathML
>> entities in shipped Gecko. (Here's a point where interop between
>> browsers is lacking, BTW.)
> 
> 
> Using an xhtml1+mathm2 dtd with an  xhtml5+mathml3 document would
> work in a browser but would be confusing and fragile and
> break in other xml pipelines.

Using something that doesn't name an old version of MathML gets you the YSoD in shipped Gecko, which is pretty bad if you care about working in Gecko *and* other pipelines. Presumably, the other pipelines are more flexible in what kind of entity resolver you have.

Confusing is a lesser problem than the YSoD, right?

Of course, if you also care about graceful degradation in WebKit, you are constrained to avoiding MathML entities altogether.

> Presumably compatibility with xml workflows would be a major reason for 
> use of the xml serialisation of html5, so saying you have to use a
> doctype that makes the document invalid would seem pretty odd.

It doesn't make the document invalid if you use a non-legacy validation mechanism and turn off DTD validation. (To pre-empt concerns like this, Validator.nu doesn't let you enable DTD validation even as an option.)

> However I think the html5 spec could suggest (perhaps even an rfc
> .should. requirement) that a system using a non validating parser and
> the xml representation served over application/xhtml+xml (act as if it)
> uses a catalog that defaults a dtd if it were not there, and uses an
> entity resolver such that any external dtd is mapped to the same default
> dtd which could be essentially
> 
> 
>       Public identifier: -//W3C//ENTITIES Combined Set//EN//XML
>       System identifier: http://www.w3.org/2003/entities/2007/w3centities-f.ent

If the conclusion is to mint a new entity-enabling public id instead of using the one that is backwards-compatible with shipped Gecko, then definitely the public id should be something like the above and not suggest anything about a particular HTML or MathML spec level/version to avoid the perceived need to mint yet another public id in the future.

-- 
Henri Sivonen
hsivonen@iki.fi
http://hsivonen.iki.fi/

Received on Wednesday, 11 November 2009 13:38:24 UTC