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


The first thing I see is that you need to include the mathml namespace in your customization layer

<xsl:stylesheet
     version="1.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:mml="http://www.w3.org/1998/Math/MathML
"
     xmlns:xi="
http://www.w3.org/2001/XInclude">

Elements for the MathML namespace should be prefixed with the prefix you chose (mml in the case above). Same thing with the XIncllude elements, they have to be on their own namespace (xi)

Each ID has to be unique. Otherwise when inserting the MathML equation the XSLT processor will throw an error for duplicate IDs

Using the code you provide below I would do something like this:

<inlineequation id="Eq_0005">
    <inlinemediaobject>
      <imageobject>
        <imagedata fileref="math/Eq_0005.gif"/>
      </imageobject>
      <textobject>
         <xi:include href="">      </textobject>
    </inlinemediaobject>
</inlineequation>

The processor will use the first element that it can handle (as explained in http://docbook.org/tdg51/en/html/inlinemediaobject.html) so the order in which you put them may be important.

Using xincludes may also change the way in which you process your documents. Look at Bob Stayton's book for how to pre-process your document with xincluded content (http://www.sagehill.net/docbookxsl/Xinclude.html)


On Wed, Jun 13, 2012 at 1:52 AM, Zoltán János Jánosi <jazoja4@gmail.com> wrote:
Hi all!

My question:
Is there any way (with XSLT) to dynamically pull in MathML files (by their ID) and put them into the XML/HTML files?


The situation is the following:

The source equation looks like this: (DocBook 4.4)
<para>
<inlineequation id="Eq_0005">
    <inlinemediaobject>
      <imageobject>
        <imagedata fileref="math/Eq_0005.gif"/>
      </imageobject>
    </inlinemediaobject>
</inlineequation>
<para>


I'd like to dynamically transform the equation object to include the MathML version rather than the graphics version. I tried to transform the DocBook document into XHTML and HTML5, and use xinclude to include the MathML XML files, but didn't succeed yet.
It should look something like this at the end: (I think)
<p>
<math>
    <mrow>
        <mi>a</mi>
        <mo>&InvisibleTimes;</mo>
        <msup>
        ...
</math>
</p>


What I have tried yet:
Here is a simple XSLT to get the equation ID:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="html"/>
 <xsl:template match="inlineequation">
  The ID of equation is <xsl:value-of select="@id"/>
 </xsl:template>
</xsl:stylesheet>


Then I tried to use the xinclude and put into the XSLT but none of them seemed to work.

Any ideas appreciated.
Thanx in advance!



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