Re: [xsl] Can templates be invoked based on the value of a variable?

Subject: Re: [xsl] Can templates be invoked based on the value of a variable?
From: "pilgrim cnonline.net" <pilgrim@xxxxxxxxxxxx>
Date: Thu, 2 Apr 2009 11:27:26 -0500
Thanks, Michael L. & Lisa, the following worked well:

Given:
   <xsl:variable name="item" select="concat( 'item', $i)"/>

both
   <xsl:apply-templates select="*[ local-name() = $item ]"/>
and
   <xsl:apply-templates select="element()[ local-name() = $item ]"/>
worked fine.

Anyway,
a) I had missed the local-name() method, and name() wasn't doing any good.
b) I need more experience with XPath constructs, but at least I'm
getting better than I used to be!

I wanted to avoid the <xsl:choose/> construct since I have many more
than 2 possible "item" definitions to be processed.  Doable, but
bulky.  I have enough similar "item" templates as it is, which have
their own data to be processed by (thankfully) a common template.

New question:  Is there any execution efficiency advantage between
using "child::*"  or  "element()"?

Thanks again, Mike

Current Thread