- From: William F Hammond <hammond@csc.albany.edu>
- Date: Thu, 14 Dec 2006 12:03:16 -0500
- To: www-math@w3.org
Re: the example
http://xml-maiden.com/temp/namespaces.xhtml
David Carlisle <davidc@nag.co.uk> writes:
> Paul
...
> It's wrong to assume that it won't be read but it's just as wrong to
> assume it will be read, as the XML spec makes this optional (and as far
> as I know IE is the only common browser which _does_ read external DTD
> files in its default configuration).
I agree. There are signs, however, that down the road a content
provider _may_ be able to rely upon standard full-service user agents
having memorized certain formal public identifiers and system
identifiers when used in a DOCTYPE declaration. That's different from
reading an external dtd.
The issue White Lynx raised that I was responding to, however, is
still different: reading an internal subset provided in a DOCTYPE
declaration. But now I'm told that "xmlns" is a special case.
> Actually in the case of MathML if you don't use the XSL stylesheet and
> instead use MathPlayer's auto-detection of XHTML+MathML I don't think
> the issue arises as the document is not parsed by msxml in that case,
Yes. The content-type is application/xhtml+xml, and, in fact, I viewed
the content before responding to White Lynx (Math Player version 2.0b,
I think).
> but otherwise if the dcument is sent with an XML mime type to IE, it
> will be parsed by MSXML3 and you will be hit by this. (This is why IE
> can't read the XHTML DTD for example, the XHTML+MathML DTD does not
> default the namespaces for this reason).
Might it make sense in future (X)HTML specs to add a name like
"externalNameSpace" to the attribute list for the root "html" element?
It might be a way better to get the attention of user agents (given
their record with internal declaration subsets).
Illustration: instead of the lines:
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
"http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd"
[<!ATTLIST math xmlns
CDATA #FIXED "http://www.w3.org/1998/Math/MathML" display CDATA "block">]>
<html xmlns="http://www.w3.org/1999/xhtml">
hypothetically one might then use something like these lines:
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 3.1 plus MathML 4.0//EN"
"http://www.w3.org/Math/DTD/mathml4/xhtml-math.dtd"
<html
xmlns="http://www.w3.org/1999/xhtml"
externalNameSpace="math http://www.w3.org/1998/Math/MathML">
Of course, this approach would require no overlaps in element names
among different namespaces, which I think is reasonable for html
as a special case of XML.
-- Bill
Received on Thursday, 14 December 2006 17:03:29 UTC