[Home] [By Thread] [By Date] [Recent Entries]
Martynas Jusevicius wrote:
I want to pipeline 2 templates opendoc2xhtml.xsl (from OpenOffice) and xhtml2epub.xsl (my own) into a single opendoc2epub, that is, to pass the result of the first one into the second one. As I understand, the common technique is to get the first result into a variable, and then run the second transformation on it (assuming XSLT 2). Have you tried to match on e.g. document-node(element(foo)) and document-node(element(bar)) where foo would be the root element type of the first input and bar would be the root element type of the temporary result? Along these lines (you will need to change that for the real root element name of opendoc, I am not familiar with that format): <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:x="http://www.w3.org/1999/xhtml" version="2.0"> <xsl:import href="opendoc2xhtml.xsl"/> <xsl:include href="xhtml2epub.xsl"/> <xsl:template match="document-node(element(opendocrootname))">
<xsl:variable name="temp">
<xsl:apply-imports/>
</xsl:variable>
<xsl:apply-templates select="$temp"/>
</xsl:template> <xsl:template match="document-node(element(x:html))">
<xsl:next-match/>
</xsl:template></xsl:stylesheet> -- Martin Honnen http://msmvps.com/blogs/martin_honnen/
|

Cart



