xsl-list
[Top] [All Lists]

RE: Sorting on an attribute passed as a parameter from JavaScript

2004-02-03 13:11:53
If you know that the name being passed in is an attribute, then you can
do

<xsl:sort select="@*[name()=$param1]"/>

If you don't know whether it's an element or an attribute then you've
got a problem because it's ambiguous, but you could try

<xsl:sort select="(*|@*)[name()=$param1]"/>

Michael Kay


-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com 
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Grant, Kathryn --- Sr. Technical Writer --- WGO
Sent: 03 February 2004 19:18
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Sorting on an attribute passed as a parameter 
from JavaScript


I think this problem probably has a simple solution. I have a 
web page with a JavaScript that passes a parameter to an XSL 
file so a sort can be performed using the parameter. The sort 
works with element names, but not with attribute names.

For example, given the following XML:

    <SCReg reg_num="04">EREG</SCReg>

when I pass "SCReg" to the XSL file as param1, the sort works 
correctly. But when I pass "SCReg/@reg_num," the sort doesn't work. 

Here's the sort code from the XSL file:

    <xsl:sort select="*[name()=$param1]"/>

Apparently this code doesn't work with attributes. How can I 
tweak it so it works with elements and attributes?

I should add that <xsl:sort select="SCReg/@reg_num"/> DOES work.

Thanks in advance!
Kathryn


**********************************************************
This message contains information that is confidential
and proprietary to FedEx Freight or its affiliates.
It is intended only for the recipient named and for
the express purpose(s) described therein.
Any other use is prohibited.
****************************************************************


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



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



<Prev in Thread] Current Thread [Next in Thread>