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

RE: RE: Troubling passing parameter to xsl:sort via AS

Subject: RE: RE: Troubling passing parameter to xsl:sort via ASP
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Thu, 2 Aug 2007 17:27:18 +0100
RE:  RE: Troubling passing parameter to xsl:sort via AS
Funnily enough I just posted

<xsl:sort select="$order"/>

as an example of the-most-common-programming-mistakes over on an XQuery
list.

If $order is "foo", then the sort key for every element is the string "foo",
so every element has the same sort key, so they are returned in their
original order. You want select="*[name()=$foo]".

Michael Kay
http://www.saxonica.com/

> -----Original Message-----
> From: Jessica Hennessey [mailto:jessica@xxxxxxxxxxxxxxxxxxxxxxx] 
> Sent: 02 August 2007 17:12
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject:  RE: Troubling passing parameter to xsl:sort via ASP
> 
> I am a complete newbie at xml/xsl and can't figure out why my 
> parameter is not being "read" by my xsl template.  The XML 
> document is dynamically generated each time the page runs.  I 
> have no control over how that gets generated.
> ****************************************************
> ASP Code:
> Set objXmlHttp1 = Server.CreateObject("Msxml2.serverxmlhttp")
> Set objDom = Server.CreateObject("MSXML2.FreeThreadedDOMDocument")
> objXmlHttp1.send strSend
> xmlOK = objDom.loadXML (objXmlHttp1.responseText)
> 
> set xsl = Server.CreateObject("MSXML2.FreeThreadedDOMDocument")
> xsl.async = false
> xslOK = xsl.load(Server.MapPath("includes/joblist.xsl"))
> 
>  set xslt = Server.CreateObject("MSXML2.XSLTemplate")
>  set xslt.stylesheet = xsl
>  Set xslProc = xslt.createProcessor()
>  xslProc.input = objDom
>  xslProc.addParameter "order", request("order")  
> xslProc.transform  sOutput = xslProc.output  response.write 
> sOutput  set xslProc = nothing  set xslt = nothing
> ******************************************************************
> 
> XSL Code:
> 
> <?xml version='1.0'?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> <xsl:param name="order"/>
> 
> <xsl:template match="/">
>       <xsl:for-each select="root/job">
>    <xsl:sort select="$order" order="ascending"/>
> 
>       <tr>
>         <td><a>
>    <xsl:attribute name="href">jobdetail.asp?jobid=<xsl:value-of
> select="JOBPOSTINGID_INT"/></xsl:attribute>
>    <xsl:value-of select="TITLE_STRING" /></a></td>
>   <td><xsl:value-of select="CITY_STRING"/>, <xsl:value-of 
> select="STATE_STRING"/></td>
>         <td><xsl:value-of select="EMPLOYMENTTYPE_STRING"/></td>
>       </tr>
>       </xsl:for-each>
> </xsl:template>
> </xsl:stylesheet>
> **************************************************************
> ************
>  
>  
> Jessica Hennessey
> Sunlight Studios - Internet Consulting & Development 
> www.sunlightstudios-icd.com

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.