OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [docbook-apps] include MathML files with the help of XSL


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:

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="">/docbook-xsl-1.77.1/fo/docbook.xsl"/>

    <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:

<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:

And then a bunch of MathML files not found:

Ideas appreciated


2012/6/28 Zoltán János Jánosi <jazoja4@gmail.com>
Here is the result of "dynamically include MathML files with the help of XSLT when generating HTML files":

Test setup:

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.




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]