xsl-list
[Top] [All Lists]

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

2009-04-02 12:27:55
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

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--