- 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