xsl-list
[Top] [All Lists]

RE: [xsl] RE: Troubling passing parameter to xsl:sort via ASP

2007-08-02 09:35:59
Ok...thanks.

I understand that I need to replace $foo with $order, but do I need to do
anything with *[name()?  Also, what is the difference between the following
2 statements?

select="*[name()=$order]"
And
select="*[local-name() = $order]"

Thanks!!!

-----Original Message-----
From: Michael Kay [mailto:mike(_at_)saxonica(_dot_)com] 
Sent: Thursday, August 02, 2007 12:27 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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(_at_)sunlightstudios-icd(_dot_)com]
Sent: 02 August 2007 17:12
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--