Re: [xsl] runaway template application

Subject: Re: [xsl] runaway template application
From: Terence <tk.lists@xxxxxxxxxxx>
Date: Tue, 11 Feb 2003 09:22:45 +1100
This message is late because it bounced due to me not using the right from address...

|Michael Kay wrote:
|

|The problem I'm having is with the template where mode="group"
specifically with select="following-sibling::node()"
unfortunately, the application of this template keeps going until it reaches the end of the current set of siblings. ALL I WANT IT TO DO AS APPLY THE TEMPLATE FOR THE NEXT SIBLING and then stop.
|


|
Then write select="following-sibling::node()[1]".|

|As it happens, when I have

<xsl:template match="context[position() mod 3 = 1]" mode="group">
<td>
<xsl:apply-templates select="." mode="leaf"/>
<xsl:apply-templates select="following-sibling::node()[1]" mode="leaf"/>
<xsl:apply-templates select="following-sibling::node()[2]" mode="leaf"/>
</td>
</xsl:template>


Then I only get the current node and the next node but not the one after
(as I expected).
if I use

<xsl:template match="context[position() mod 3 = 1]" mode="group">
<td>
<xsl:apply-templates select="." mode="leaf"/>
<xsl:apply-templates select="following-sibling::node()[2]" mode="leaf"/>
<xsl:apply-templates select="following-sibling::node()[3]" mode="leaf"/>
</td>
</xsl:template>


I get exactly the same result. However, when I use

<xsl:template match="context[position() mod 3 = 1]" mode="group">
<td>
    <xsl:apply-templates select="." mode="leaf"/>
    <xsl:apply-templates select="following-sibling::context[1]"
mode="leaf"/>
    <xsl:apply-templates select="following-sibling::context[2]"
mode="leaf"/>
</td>
</xsl:template>

As suggested by Jeni, I get what I want.

|



XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list


Current Thread