Subject: Re: [xsl] setParameter method in Netscape From: António Mota <amsmota@xxxxxxxxx> Date: Fri, 18 Mar 2005 14:09:30 +0000 |
Why don't you use Sarissa that has a cross-browser Javascript library, it's free as in beer, and open-source too? http://sarissa.sourceforge.net On Fri, 18 Mar 2005 08:29:57 -0500, Maria Amuchastegui <mamuchastegui@xxxxxxxxxxx> wrote: > Now I am trying to duplicate the same functionality in Netscape, i.e. use > the setParameter method to pass a parameter to a stylesheet. The parameter > seems to be getting passed but the data is not sorting. I read "The > XSLT/JavaScript Interface in Gecko" but the code does not seem to work. Any > suggestions on how to get it to work? > > Here is the HTML/XML: > > <html> > <head> > <script language="JavaScript"> > function sortXML(column,order) > { > var xslStylesheet; > var xsltProcessor = new XSLTProcessor(); > var myDOM; > var xmlDoc; > > // load the xslt file > var myXMLHTTPRequest = new XMLHttpRequest(); > myXMLHTTPRequest.open("GET", "Sort.xsl", false); > myXMLHTTPRequest.send(null); > xslStylesheet = myXMLHTTPRequest.responseXML; > xsltProcessor.importStylesheet(xslStylesheet); > > // create a new XML document in memory > var xmlDoc = document.implementation.createDocument("", "", > null); > var myNode = document.getElementById('ChargeableMessages'); > var clonedNode = > xmlDoc.importNode(myNode.childNodes.item(1), true); > xmlDoc.appendChild(clonedNode); > > // set the parameter using the parameter passed to the > outputgroup function > xsltProcessor.setParameter(null, "sortKey", column); > xsltProcessor.setParameter(null, "sortOrder", order);; > var fragment = > xsltProcessor.transformToFragment(xmlDoc,document); > document.getElementById("container").innerHTML = ""; > myDOM = fragment; > document.getElementById("container").appendChild(fragment); > } > > </script> > </head> > > <body onload="sortXML('id','descending');"> > > <div id="container"></div> > > <xml id="ChargeableMessages" style="display:none;"> > <chargeablemessages> > <message> > <id>1-01</id> > <date>2005-04-23</date> > <location>Quebec QC</location> > <number>418 683 1234</number> > <duration>1</duration> > <charges>0.43</charges> > <savings>.043</savings> > <amount/> > </message> > <message> > <id>1-02</id> > <date>2005-04-28</date> > <location>Montreal QC</location> > <number>514 485 6611</number> > <duration>2</duration> > <charges>3.44</charges> > <savings/> > <amount/> > </message> > <message> > <id>1-03</id> > <date>2005-05-01</date> > <location>Winnipeg MB</location> > <number>204 475 4565</number> > <duration>22</duration> > <charges>0.55</charges> > <savings/> > <amount/> > </message> > </chargeablemessages> > </xml> > </body> > </html> > > And here is the stylesheet: > > <?xml version="1.0" encoding="ISO-8859-1"?> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > version="1.0"> > <xsl:output method="html"/> > <xsl:param name="sortKey"/> > <xsl:param name="sortOrder"/> > <xsl:template match="/"> > <xsl:apply-templates select="chargeablemessages"/> > </xsl:template> > <xsl:template match="chargeablemessages"> > <h3>Long distance calls - Click on any column heading to > sort</h3> > <table border="1"> > <tbody> > <tr> > <th><a href="#" > onclick="sortXML('id','ascending');">ID</a></th> > <th><a href="#" > onclick="sortXML('date','ascending');">Date</a></th> > <th><a href="#" > onclick="sortXML('location','ascending');">Location</a></th> > <th><a href="#" > onclick="sortXML('number','ascending');">Number</a></th> > <th><a href="#" > onclick="sortXML('duration','ascending');">Duration</a></th> > <th><a href="#" > onclick="sortXML('charges','ascending');">Charges</a></th> > </tr> > <xsl:apply-templates select="//message"> > <xsl:sort select="*[name() = > $sortKey]" order="{$sortOrder}"/> > </xsl:apply-templates> > </tbody> > </table> > </xsl:template> > <xsl:template match="//message"> > <tr> > <td><xsl:value-of select="id"/></td> > <td><xsl:value-of select="date"/></td> > <td><xsl:value-of select="location"/></td> > <td><xsl:value-of select="number"/></td> > <td><xsl:value-of select="duration"/></td> > <td><xsl:value-of select="charges"/></td> > </tr> > </xsl:template> > </xsl:stylesheet>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] setParameter method in Netsca, Maria Amuchastegui | Thread | [xsl] decorator / wrapper design pa, Schaik, L.B. van |
RE: [xsl] Can i use apply-templates, Maria Amuchastegui | Date | Re: [xsl] Can i use apply-templates, JBryant |
Month |