The following example template executes a transformation pipeline using the pipeDocument function.

<xsl:template match="/">
        <pipe:pipeDocument source="in/infile.xml" target="out/outfile.xml">
                <stylesheet href="start.xsl" />
                <stylesheet href="do_stuff.xsl" />
                <stylesheet href="end.xsl"/>
        </pipe:pipeDocument>
</xsl:template>

What I would like to do is create a smart pipeline that logically executes transformations.

<xsl:template match="/">
        <pipe:pipeDocument source="in/infile.xml" target="out/outfile.xml">
                <stylesheet href="start.xsl" />
                <stylesheet href="do_stuff.xsl" />

                <xsl:if test="descendant::message">
                        <stylesheet href="do_message.xsl"/>
                </xsl:if>
                
                <stylesheet href="end.xsl"/>
        </pipe:pipeDocument>
</xsl:template>

The second example ignores the xsl:test block and do_message.xsl is never executed.
Is there any way to use pipeDocument to create a "smart" pipeline??
Jim




Reply via email to