You need to use the FOP plugin from JEuclid (JEuclid.sf.net).
This will convert the MathML to FOP.
I will usually have all my MathML in separate files and then xinclude
them.
<equation align="center"><title>Here is a
nice centered equation</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="" />
</equation>
The MathML support can be a little "touchy" but once its working, its
pretty solid.
Regards
Dean Nelson
In a message dated 7/11/2012 6:57:23 A.M. Pacific Daylight Time,
writes:
Is
there any single way to use the same method for generating PDFs? (instead of
HTML)
I modified the method described earlier to generate PDF files
with MathML equations, but I didn't succeed.
Attempt
one:
I just changed the import href link from HTML to FO
Content of the transformation XSL file:
(PDF_MathML.xsl)
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import
href=""/>
<xsl:output method="html" encoding="utf-8"
indent="yes" />
<xsl:template
match="inlineequation | equation | informalequation">
<xsl:variable name="id"
select="@id"/>
<xsl:variable name="mathml" select="concat('math/',$id, '.math')"/>
<xsl:apply-templates
select="document($mathml,.)/*"/>
</xsl:template>
</xsl:stylesheet>
I used
Apache-FOP on Windows:
fop.bat -c conf/fop.xconf -xml
DSP_korrekted_2_abrak.xml -xsl PDF_MathML.xsl -param body.font.family
Times-Roman -param title.font.family Times-Roman -pdf manual.pdf
It
gave me some errors related to missing fo: namespace. (or maybe root? I cant
remember well)
Attempt two:
I modified the fo/math.xsl file, and included the following
lines:
<xsl:template match="inlineequation | equation |
informalequation">
<xsl:variable name="id"
select="@id"/>
<xsl:variable name="mathml"
select="concat('math/',$id, '.math')"/>
<xsl:apply-templates
select="document($mathml,.)/*"/>
</xsl:template>
It
gave me a bunch of MathML-related warnings:
WARNING: Unknown formatting object "{http://www.w3.org/1998/Math/MathML}
etc. etc.
And then a bunch of MathML files not found:
WARNING: Page xxiv: Unresolved ID reference "Eq_1096" found.
Ideas appreciated
2012/6/28 Zoltán János Jánosi <>
Here is the result of "dynamically include MathML files
with the help of XSLT when generating HTML files":
Test
setup:
DocBook v4.4 files with equation, inlineequation and informalequation
tags, where every equatin has an id
MathML files has the same name as the equations id's
DocBook XSLT files v1.77.1 (http://sourceforge.net/projects/docbook/files/docbook-xsl/1.77.1/docbook-xsl-1.77.1.zip/download)
Content of the transformation XSL file:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import
href=""/>
<xsl:output method="html" encoding="utf-8"
indent="yes" />
<xsl:template
match="inlineequation | equation | informalequation">
<xsl:variable name="id"
select="@id"/>
<xsl:variable name="mathml" select="concat('math/',$id, '.math')"/>
<xsl:apply-templates
select="document($mathml,.)/*"/>
</xsl:template>
</xsl:stylesheet>
I used Saxon 6.5.5 (http://sourceforge.net/projects/saxon/files/saxon6/6.5.5/saxon6-5-5.zip/download)
as an XSLT 1.0 processor. (XSLT 2.0 processors gave errors with DocBook
v1.77.1)
The following command was used:
java -jar saxon.jar -o output.html DSP_DocBook_v44_v0.45.xml
HTML5_MathML.xsl
The resulting html file contains the MathML equations and in FireFox they
look great.
This solution is not perfect (lacks differrences of equation types), but
it works and is a good starting point for further
development.