Am Freitag, 19. Oktober 2007 schrieb Michael Kay:
[...]
Use modes to make it clear which templates apply to which phase of
processing.
I tried to adapt your model (used your mode names to see if I understand it)
but there must be an error, I don't get any output.
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="yes"/>
<xsl:template match="@*|node()" mode="phase-1">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="acronym" mode="phase-1">
<xsl:value-of select="@text"/>
</xsl:template>
<xsl:template match="/" mode="phase-2">
<p>
<xsl:value-of select="/file/content/para"/>
</p>
</xsl:template>
<xsl:variable name="phase-1-output">
<xsl:apply-templates select="/" mode="phase-1"/>
</xsl:variable>
<xsl:variable name="phase-2-output">
<xsl:apply-templates select="$phase-1-output" mode="phase-2"/>
</xsl:variable>
<xsl:template match="/">
<xsl:apply-templates select="$phase-2-output" mode="phase-3"/>
</xsl:template>
</xsl:stylesheet>
So it works like this:
1) template (match="/") pulls in result from $phase-2-output
2) $phase-2-output is build by applying phase-2 templates to $phase-1-output
3) $phase-1-output is build by applying phase-1 templates to root of document
Am I right?
O.
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--