|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