Re: [xsl] using parameters in a select

Subject: Re: [xsl] using parameters in a select
From: lwong@xxxxxxxxxxx
Date: Tue, 24 Apr 2001 13:48:49 -0600
Actaually I'm a she, not a he :-)

My $servicePlanNames variable does resolve to the entire xpath statement:
Name='Cingular Nation 100' or Name='Cingular Nation 1500'

Hence, I only want to select service plans with these Name values.

<xsl:apply-templates select="ServicePlan[$servicePlanNames]" />

I *thought* the above line would evaluate to:

<xsl:apply-templates select="ServicePlan[Name='Cingular Nation 100' or
Name='Cingular Nation 1500']" />

However, when I run the trace utility, it seems that the transformer
interprets this as:
Line #39, Column #61: apply-templates, test='ServicePlan[$servicePlans]':

It looks like the transformer does not substitute the value of $servicePlans
before doing the test.

Thanks for your helpful suggestions,
Leah


----- Original Message -----
From: "James Eberhardt" <JEberhardt@xxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Tuesday, April 24, 2001 1:19 PM
Subject: RE: [xsl] using parameters in a select


>>>>   Can I use parameters in the apply-templates select statement?
> No.  Check out the FAQ at http://www.dpawson.co.uk/xsl/nono.html#d44e8531

Actually, it's the reverse of what he is asking.  The variable that he would
need goes in the <xsl:apply-templates> part, not the <xsl:template> part,
like the FAQ is indicating.

The problem with his code is the XPath statement that he is using resolves
to nothing.
<xsl:apply-templates select="ServicePlan[$servicePlanNames]" />

What is supposed to equal $servicePlanNames ??

If you had a bit of XML like:
<ServicePlan type="default value" />

Then your xsl would have to look like this:
<xsl:apply-templates select="ServicePlan[type=$servicePlanNames]" />

Hope this helps.

James

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list




 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread