Subject: Re: [xsl] Iterating over values in a table of data From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> Date: Wed, 07 Jun 2006 11:42:25 -0400 |
<input> <!-- This is a table of lookup values. --> <data> <item> <value>one</value> </item> <item> <value>two</value> </item> <item> <value>three</value> </item> </data> <!-- This node needs to be repeatedly transformed for each input data item --> <repeat> Item <value-of name="value"/> is in position <position-of name="value"/> </repeat> </input>
<xsl:template match="repeat"/> <!-- suppresses output on default traversal -->
<xsl:template match="data"> <xsl:for-each select="item"> <xsl:apply-templates select="$repeater" mode="repeat"> <xsl:with-param name="item" select="."/> <xsl:with-param name="pos" select="position()"/> </xsl:apply-templates> </xsl:for-each> </xsl:template>
<xsl:template match="repeat" mode="repeat"> <xsl:param name="item" select="/.."/> <xsl:param name="pos" select="0"/> <item> <xsl:apply-templates> <xsl:with-param name="item" select="$item"/> <xsl:with-param name="pos" select="position()"/> </xsl:apply-templates/> </item> </xsl:template>
<xsl:template match="value-of"> <xsl:param name="item"/> <xsl:value-of select="$item"/> </xsl:template>
<xsl:template match="position-of"> <xsl:param name="pos"/> <xsl:value-of select="$pos"/> </xsl:template>
Cheers, Wendell
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Iterating over values in , Neil Crofts | Thread | Re: [xsl] Iterating over values in , Mukul Gandhi |
Re: [xsl] XPath question, Wendell Piez | Date | Re: [xsl] XPath question, andrew welch |
Month |