- From: Richard Kaye <R.W.Kaye@bham.ac.uk>
- Date: Tue, 29 May 2007 19:22:27 +0100
- To: www-math@w3.org
Dear all I have made a few small discoveries. Most importantly, that the mimetypes text/xml and application/xhtml+xml behave quite differently in IE7 in at least two different ways. If I serve a document with extension .xml and Content-type: text/xml; charset=utf-8 then Mathplayer is triggered correctly provided I have the appropriate key in ../PROTOCOLS/Filter/ with name "text/xml; charset=utf-8". If the same file is served with Content-type: text/xml;charset=utf-8 (no space) then all is OK but only provided I rename the registry key, removing the space. Do the same for "application/xhtml+xml; charset=..." with a file still with .xml extension and I get a readable web page, but no MathML and MathPlayer is not started. (that's even after checking all the registry keys etc are correct). In all the experiments I have done, if the extension is .xhtml and there is a charset spec in the Content-Type then the IE always displays the xml tree. I was able to display MathML-enabled XHTML correctly, when served from a tomcat servlet (where there was no file or file extension) but only after changing the mimetype to "text/xml;charset=utf-8" and tweaking the registry on the client accordingly. I can't verify Robert's idea that it is somehow the way the document is served, though clearly IE uses an extension (.xml, .xhtml) if one is available. So it seems to me that: (1) it seems that IE makes an effort to display html when the extension is ".xml" irrespective of the mimetype; and (2) fiddling with the registry keys works for text/xml but not for application/xhtml+xml. It's getting late over here and I am tired. I may be jumping to false conclusions over here, so if you are interested you had better double-check this yourself. This does not yet provide me with a workaround for my blog server since the Tomcat I have insists on removing the space in the "; charset=..." even when I deliberately put it there, and therefore a registry tweak would be needed on all client machines. (That's because MathPlayer installs with the "text/xml; charset=utf-8" key but not the "text/xml;charset=utf-8" key. If only one is provided then that is probably the right way round as my Apache actually inserts a space in ";charset=..." even when I deliberately omit it...) A couple of other things: 1. I did try the effect of adding a BOM a long time ago, with no effect on the documents giving me XML trees. 2. I have also used URLs with no extension (the correct document provided by content negotiation) successfully before. I didn't think the client knew the full name of the file in such cases, but now I look at it I have noticed a Content-Location: <filename> HTTP header which might explain a lot. Does IE use this? 3. I had never thought about using text/xml until now. I seem to remember reading reasons why text/xml is a Bad Thing, but can't remember them. Anyone else know? Richard On Tue, 2007-05-29 at 08:48 -0700, Robert Miner wrote: > Hi Jacques, > > There isn't a direct connection between the charset and the XML tree. > But just as IE doesn't seem to always follow the rules for determining > the encoding, it also does not play by the rules for determining the > MIME type (as I'm sure you know). > > The XML tree shows up when IE doesn't believe the http header's > declaration that the MIME type is application/xhtml+xml and doesn't > start up MathPlayer. Somewhere later on, it must realize the document > is XML at least, since it displays the tree. But at the point it is > supposed to invoke MathPlayer if the MIME type is application/xhtml+xml, > the call never comes, at least as far as I can determine by setting a > breakpoint in the relevant routine in the debugger. > > We had been experimenting with the charset parameter, on the hypothesis > that somehow that might be preventing IE from recognizing the MIME > declaration in the http header. But it doesn't seem to. Mostly it seems > like if the document is dynamically generated, so there isn't a file > name in the http header, IE just sniffs the content and get's it wrong > for purposes of firing off MathPlayer. At least that is what the > experimental evidence seems to suggest to me. > > I thought perhaps Richard's comment about the BOM meant that if there > was a BOM, suddenly IE's sniffer did the right thing and recognized the > content as application/xhtml+xml and fired up MathPlayer. But I guess > not. > > --Robert > > Robert Miner > Director, New Product Development > > Design Science, Inc. > 140 Pine Avenue, 4th Floor > Long Beach, California 90802 > USA > Tel: (651) 223-2883 > Fax: (651) 292-0014 > robertm@dessci.com > www.dessci.com > ~ Makers of MathType, MathFlow, MathPlayer, WebEQ, Equation Editor, > TexAide ~ > > > > -----Original Message----- > > From: Jacques Distler [mailto:distler@golem.ph.utexas.edu] > > Sent: Tuesday, May 29, 2007 10:19 AM > > To: Robert Miner > > Cc: R.W.Kaye@bham.ac.uk; www-math@w3.org; William F. Hammond > > Subject: Re: MathML won't display (or: what triggers mathplayer > > behaviour?) > > > > -----BEGIN PGP SIGNED MESSAGE----- > > Hash: SHA1 > > > > > > On May 29, 2007, at 9:33 AM, Robert Miner wrote: > > > > > So does the byte order mark solve the problem in all the situations > > > you know of? It would be great if it really was that simple? > > > > Depends on what "the problem" is. > > > > MSIE (both 6 and 7) does not, under some circumstances, respect the > > established rules for setting the encoding of the document. Instead, > > it tries to sniff the encoding, a procedure that probably does not > > play well with the MathPlayer plugin. See, e.g. this discussion: > > > > http://annevankesteren.nl/2005/02/charset#comment-3167 > > > > That, as far as I can tell, does not have anything to do with the "IE7 > > +MathPlayer shows an XML document tree" problem. > > > > Or, if it does, no one has explained the connection to me. > > -----BEGIN PGP SIGNATURE----- > > Version: GnuPG v1.4.3 (Darwin) > > Comment: PGP Key - http://golem.ph.utexas.edu/~distler/distler.asc > > > > iD8DBQFGXERwnyqPIXpYcjcRAhfDAKCSA4L/MunLbgzFDUoTpsLzJJV5KACgy1oS > > UqriwBgMkVIKJZx8J17n5zA= > > =lDK+ > > -----END PGP SIGNATURE----- > >
Received on Tuesday, 29 May 2007 18:23:15 UTC