Re: details for /Math/XSL/ at w3

Hi.

> > > 3.  The document must not have a "<!DOCTYPE" declaration.
> > 
> > It can reference a DOCTYPE but mozilla won't read it.
> 
> I thought I saw IE get upset when DOCTYPE was present.  Was that
> an anomaly?

IE chokes on the *real* DTD which declares the plane 1 entities from
Unicode 3.2, as MathML 2 is supposed to.  However David C. prepared a
modified version of the *combined* XTHML+MathML dtd in which these
entities are declared to be in the private usea area of the BMP.  That
let's IE read the DTD.

The point is this:  if you want a single file that works in both
NS7/IE6+MathPlayer, say, then you need the following:

0) a proper XHTML + MathML document with a
1) DOCTYPE (to the modified DTD IE6 can read),
2) MathML namespace indicated via a prefix,
3) MathPlayer object tag,
4) Processing instruction binding MathPlayer to the MathML namespace
   prefix

The killer is that this single file has to be served as XML to NS7 and
HTML to IE6, which requires server-side trickery or something.

So, the better alternative is to use David's stylesheet which does the
MIME type switching for you client-side.  And, since it can write out
the other declarations as well, you don't have to put in the awkward bits
that have to be ignored by one browser or the other when preparing a
single, common file.  So, going this route, you need

0) a proper XHTML + MathML document with
1) no DOCTYPE (which means you can't use entity names)
2) MathML namespace indicated whatever way you find most convenient 
3) the stylesheet processing instruction (and stylesheet, of course)

Anyway, that's my summary of the situation.  And, just to finish it
off, I include minimal sample docs below, showing each method:


----------------------------------------------------------------------
Document which works in both IE6 and NS7 if served with the
appropriate MIME type for each
----------------------------------------------------------------------

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
               "http://www.w3.org/Math/DTD/xhtml-math11-f.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:m="http://www.w3.org/1998/Math/MathML">
  <head>
   <title>An xhtml+dtd example</title>
   <OBJECT ID="MathPlayer" CLASSID="clsid:32F66A20-7614-11D4-BD11-00104BD3F987"></OBJECT>
   <?IMPORT NAMESPACE="m" IMPLEMENTATION="#MathPlayer"?>
  </head>
  <body>
    <h2>An xhtml+dtd example</h2>
    <m:math>
      <m:mi>y</m:mi><m:mo>&ap;</m:mo><m:mfrac><m:mi>x</m:mi><m:mn>3</m:mn></m:mfrac>
    </m:math>
  </body>
</html>


----------------------------------------------------------------------
Simpler Document which works in both IE6 and NS7 when used with 
David Carlisle's stylesheet
----------------------------------------------------------------------


<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="pmathml.xsl"?>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
   <title>Universal Math Style Sheet example (no DTD)</title>
  </head>
  <body>
    <h2>Universal Math Style Sheet example (no DTD)</h2>
    <math xmlns="http://www.w3.org/1998/Math/MathML">
      <mi>y</mi><mo>&#x02248;</mo><mfrac><mi>x</mi><mn>3</mn></mfrac>
    </math>
  </body>
</html>


--Robert

------------------------------------------------------------------
Robert Miner                                    RobertM@dessci.com
MathML 2.0 Specification Co-editor                    651-223-2883
Design Science, Inc.   "How Science Communicates"   www.dessci.com
------------------------------------------------------------------

Received on Thursday, 18 July 2002 11:14:35 UTC