Subject: MathML tags in an attribute of an HTML EMBED tag ? From: Frédéric SCHWEBEL <schwebel@xxxxxxxxxxxxxxxx> Date: Wed, 25 Oct 2000 15:03:41 +0200 |
Hi folks, I use the "cocoon package" (so Xalan as the XSL processor), but also test my xsl with Instant Saxon 5.2. I have this in my XML file : <FORMULE> <MATH>... some mathml ... </MATH> <FORMULE> and I want to output this : <EMBED TYPE="text/mathml" MMLDATA=" <math>...some mathml ...</math>" HEIGHT="75" WIDTH="200" /> to render MathML with the IBM techexplorer plug-in. I checked many parts of the (great) daveP FAQ dealing with this stuff : http://www.dpawson.freeserve.co.uk/xsl/cdata.html http://www.dpawson.freeserve.co.uk/xsl/N7150.html http://www.dpawson.freeserve.co.uk/xsl/N4554.html I tried many different solutions, none works. Here are the three "general" types of solutions I used : **************** <xsl:template match="FORMULE"> <EMBED TYPE="text/mathml" MMLDATA="<xsl:apply-templates /> " HEIGHT="75" WIDTH="200" /> </xsl:template> RESULT : "The value of attribute "MMLDATA" must not contain the '<' character" (result is the same if I put <xsl:text> before and after the apply-tempaltes, with or without disable-output-escaping, and also if i replace the apply-templates with <xsl:copy-of select="math" />) **************** second serie of attempts :) <xsl:template match="FORMULE"> <![CDATA[ <EMBED TYPE="text/mathml" MMLDATA="]]> <xsl:copy-of select="math" /> <![CDATA[ " HEIGHT="75" WIDTH="200" /> ]]> </xsl:template> RESULT : I just get the string "<EMBED ..." in the output window (the < > and " have been replaced with < > and ") I get the same result if i put xsl:text disable-output-escaping="yes" before each CDATA section EXCEPT that in the source of output I have this : <?xslt-next-is-raw formatter-to-dom?> before the mathml starts (all the mathml is in the source, but since the plug-in is not started...) **************** third and last serie of attempts : <xsl:template match="FORMULE"> <xsl:element name="embed"> <xsl:attribute name="TYPE">text/mathml</xsl:attribute> <xsl:attribute name="HEIGHT">75</xsl:attribute> <xsl:attribute name="WIDTH">200</xsl:attribute> <xsl:attribute name="MMLDATA"><xsl:copy-of select="math" /> </xsl:attribute> </xsl:template> RESULT : this time, the plug-in starts but I get the message " Missing Math ML root element" in the plug-in zone. Looking at the source, I see that all MathML tags have been removed (both with saxon and Xalan) within the MML data attribute !!!! Why ? the result is the same if I put the xsl-copy of math in a param and then try to put <xsl:value-of select="$parameter"> for the value of MMLDATA. ************** By the way, the ouput method is "text/html/loose" for my stylesheet. I tried "text" but the rest of the doc don't work if I do that... So I really need the help of somebody, here... Thanks in advance for any reply. There is still the solution of putting the MathML in a separate file and the put an SRC attribute for the EMBED tag instead of MMLDATA with the name of the .mml file, but I really would like to avoid it... Frederic PS : I don't know if somebody might be interested in it, but the XSL sheet I made last last year to translate MathML into French Braille is available at http://handy.univ-lyon1.fr/projets/bramanet/ I prefer working for blind people : they just need ASCII chars, they don't need plug-ins ! XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: Using XSLT to search XML, Kay Michael | Thread | Re: MathML tags in an attribute of , Jeni Tennison |
2xml files -> one xml file and sear, Michael Hoffmann | Date | xsl:with-param and xsl:apply-templa, Norman Walsh |
Month |