
Hi Eliot, The DITA OT bundled with Oxygen contains our own custom MathML plugin:
OXYGEN_INSTALL_DIR\frameworks\dita\DITA-OT\plugins\mathml
which adds our XSL override of the template:
<xsl:template match="*[contains(@class,' topic/foreign ') or contains(@class,' topic/unknown ')]" > <xsl:apply-templates select="mml:math" xmlns:mml="http://www.w3.org/1998/Math/MathML" mode="copyMathML"/> <xsl:apply-templates select="*[contains(@class,' topic/object ')][@type='DITA-foreign']"/> </xsl:template>
Probably when you were running your plugin with the DITA OT bundled with Oxygen our own MathML processing plugin's XSL had a higher import priority and handled the namespace correctly so your XSLT template was probably not called at all. When you tested in an external DITA OT, your plugin's XSLT template was used instead and it had that bug which did not handle the namespace correctly. And indeed, the first step to debug the issue would have been to check the "topic.fo" contents. Regards, Radu Radu Coravu <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com On 1/8/2014 7:03 PM, Eliot Kimber wrote:
OK, final answer. It appears that all my problems were caused by the serialization of <math> without the namespace declaration.
With that corrected, then simply putting the JEuclid jars in the fop/lib dir is sufficient to get the equation rendering, as it should be. I tested both a clean 1.8.M2 install and my previously-tested 1.6.3 install (I also inspected the FOP-related Ant scripts in the PDF2 transform and there’s no difference between them that would affect this).
So the lesson is make sure your FO files are really correct before spending hours trying to track down a non-existent class path configuration problem . . . .
Cheers,
Eliot
--