[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: xsl:param and attribute testing

Subject: Re: xsl:param and attribute testing
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Mon, 29 Jan 2001 21:19:08 -0800 (PST)
vendour email contact 2006 .com.
Reuel,

> <xsl:variable name="acount" select="count(Analyst/@id[text()=10
> or text()=103 or text()=998]) + 1" />

Attribute nodes do not have any children, so this test (@id[Text()=10])
will never return true. The test that will perform as you expected will
be:

@id[. = 10]


> Is there any way to pass the attributes 10, 103, and 998 (or any
other set
> of numbers) to the stylesheet using xsl:param?

Yes, you can pass parameters to a template from another template if you
specify xsl:with-param elements within the contents of the
xsl:apply-templates or xsl:call-template. The value of the @name 
attribute of an xsl:param must be one of the values of the @name
attributes of an xsl:param of the template being called/applied.

It seems to me, that what you really want is to pass parameters into
your stylesheet ***externally***. 

This can be done and is vendour-dependent. Typically, using DOM in your
script, you manipulate the nodes of your loaded stylesheet and change
the value of the @select attribute of an xsl:param or a xsl:variable.

Then you apply the transformation.

Dimitre Novatchev.


Reuel Alvarez wrote:

I'd like to be able to pass a parameter to my xsl stylesheet that will
count
nodes with specific attributes.  For example, I'd like to count Analyst
elements whose analyst_id attributes are 10, 103, or 998 like so:

<xsl:template match="Analyst">
<xsl:variable name="acount" select="count(Analyst/@id[text()=10
or text()=103 or text()=998]) + 1" />
<xsl:value-of select="$acount" />
</xsl:template>

Is there any way to pass the attributes 10, 103, and 998 (or any other
set
of numbers) to the stylesheet using xsl:param? Assuming that I can do
that,
how can I specify that the nodes selected contain those parameters that
were
passed?







__________________________________________________
Get personalized email addresses from Yahoo! Mail - only $35 
a year!  http://personal.mail.yahoo.com/

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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.