This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: More efficient way than following-sibling?
- From: "Oleg Tkachenko" <olegt at multiconn dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Wed, 20 Mar 2002 23:59:11 +0200
- Subject: RE: [xsl] More efficient way than following-sibling?
- Reply-to: xsl-list at lists dot mulberrytech dot com
Hello Michael!
> I am trying to find a more efficient way to determine if a node has
> siblings, and then access the next sibling.
>
> Currently, I am running the following XSLT code:
>
> <xsl:if test="$TheNode/following-sibling::node()">
> <xsl:call-template name="GenericTemplate">
> <xsl:with-param name="TheNode"
> select="$TheNode/following-sibling::*[1]"/>
> </xsl:call-template>
> </xsl:if>
>
> However, this is very expensive, when it comes to large XML documents.
>
> Does anyone know a more efficient way to do this?
The most efficient way I believe is to eliminate preliminary testing at all:
<xsl:apply-templates select="$TheNode/following-sibling::*[1]" mode="foo"/>
<xsl:template match="node() | @*" mode="foo">
<xsl:call-template name="GenericTemplate">
<xsl:with-param name="TheNode" select="."/>
</xsl:call-template>
</xsl:template>
---
Oleg Tkachenko,
Multiconn International, Israel
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list