xsl-list
[Top] [All Lists]

RE: runaway template application

2003-02-11 03:33:59
|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.

As so often happens, I gave you the literal solution to the problem as
you stated it, which was to process the next sibling [node]. Jeni
correctly guessed that what you really wanted to do was to process the
next sibling element, ignoring any sibling text nodes.

Michael Kay
Software AG
home: Michael(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com 


|

|
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



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



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