Subject: RE: [xsl] RE: Troubling passing parameter to xsl:sort via ASP From: "Jessica Hennessey" <jessica@xxxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 2 Aug 2007 12:53:53 -0400 |
Thanks. This did the trick and I can now pass my order parameter. Now I want to add a second parameter to pass ascending/descending To the sort order. Based on everyone's comments, I have changed my xslt to this: <xsl:param name="order"/> <xsl:param name="orderdirection" select="'ascending'"/> . . . <xsl:sort select="*[name()=$order]" order="$orderdirection"/> I added to my asp page: xslProc.addParameter "orderdirection", strOrderDirection However, when I run my page, I get this error: The value of the "order" attribute may only be "ascending" or "descending". -----Original Message----- From: Michael Kay [mailto:mike@xxxxxxxxxxxx] Sent: Thursday, August 02, 2007 12:27 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: RE: [xsl] RE: Troubling passing parameter to xsl:sort via ASP 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: [xsl] 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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] RE: Troubling passing par, Jessica Hennessey | Thread | Re: [xsl] RE: Troubling passing par, Florent Georges |
Re: [xsl] Split element with mixed , Abel Braaksma | Date | Re: [xsl] RE: Troubling passing par, Florent Georges |
Month |