[
Lists Home |
Date Index |
Thread Index
]
thanks for the heads up on which list to post to. will take my issues
there :)
i amended the xsl to but then recieved the following error "A reference
to variable or parameter 'sorted_field' cannot be resolved. The
variable or parameter may not be defined, or it may not be in scope"
anyway, thanks for the help
Regards
Christopher Beach MCP
Senior Software Developer
Assistant Treasurer
The Bank of New York Europe Limited
Direct: +44 (0)20 7964 5344
Switch: +44 (0)20 7512 3784
Email: cbeach@bankofny.com
Web: www.bankofny.com
|---------+------------------------------->
| | "G. Ken Holman" |
| | <gkholman@CraneSoftw|
| | rights.com> |
| | |
| | 03/12/03 12:42 |
| | |
|---------+------------------------------->
>--------------------------------------------------------------------------------------------------------------------------------------------|
| |
| To: xml-dev@lists.xml.org |
| cc: |
| Subject: Re: [xml-dev] Strange Sorting Problem |
>--------------------------------------------------------------------------------------------------------------------------------------------|
XSLT and XPath questions would be better posted to the following list:
http://www.mulberrytech.com/xsl/xsl-list
There are a number of subscribers who would enthusiastically respond to
such questions.
There is also an *excellent* FAQ at:
http://www.dpawson.co.uk
At 2003-12-03 12:01 +0000, CBeach@bankofny.com wrote:
>i wish to sort dynamically
XPath expressions cannot be resolved dynamically in XSLT 1.0, they must
be
coded in the stylesheet and not obtained from any kind of source.
><staffware viewcompany="-1" viewdepartment="-1" viewwork="-1"
search="0"
>company="ABN" sortfield="@caseref">
Above you have encoded an XPath expression.
> <xsl:template match='/'>
> <xsl:variable name="sort_field"
select="staffware/@sortfield"/>
>...
> <xsl:with-param name="sorted_field"
select="$sort_field"/>
>...
> <xsl:sort select='$sorted_field' order='ascending'/>
This will produce the fixed string "@caseref" for every item being
sorted,
thus the result will be in document order.
The following would work:
sortfield="caseref">
<xsl:template match='/'>
<xsl:variable name="sort_field"
select="staffware/@sortfield"/>
...
<xsl:with-param name="sorted_field"
select="$sort_field"/>
...
<xsl:sort select='@*[name(.)=$sorted_field]'
order='ascending'/>
because then you are dealing with the names of XPath nodes, not with
XPath
expressions.
I hope this helps.
................. Ken
--
Next public European delivery: 3-day XSLT/2-day XSL-FO 2004-01-??
Instructor-led on-site corporate, government & user group training
for XSLT and XSL-FO world-wide: please contact us for the details
G. Ken Holman mailto:gkholman@CraneSoftwrights.com
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/x/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
ISBN 0-13-065196-6 Definitive XSLT and XPath
ISBN 0-13-140374-5 Definitive XSL-FO
ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath
ISBN 1-894049-11-X Practical Formatting Using XSL-FO
Member of the XML Guild of Practitioners: http://XMLGuild.info
Male Breast Cancer Awareness http://www.CraneSoftwrights.com/x/bc
-----------------------------------------------------------------
The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
initiative of OASIS <http://www.oasis-open.org>
The list archives are at http://lists.xml.org/archives/xml-dev/
To subscribe or unsubscribe from this list use the subscription
manager: <http://lists.xml.org/ob/adm.pl>
________________________________________________________________________
The information in this e-mail, and any attachment therein, is confidential and for use by the addressee only. If you are not the intended recipient, please return the e-mail to the sender and delete it from your computer. Although The Bank of New York attempts to sweep e-mail and attachments for viruses, it does not guarantee that either are virus-free and accepts no liability for any damage sustained as a result of viruses.
|