Subject: Re: 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
|