xsl-list
[Top] [All Lists]

Re: runaway template application

2003-02-10 15:22:45
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



<Prev in Thread] Current Thread [Next in Thread>