Subject: RE: [xsl] Trouble sorting with <xsl:sort> From: "søren jepsen" <demon3d2@xxxxxxxxxxx> Date: Thu, 15 Jun 2006 09:10:39 +0000 |
From: "Michael Kay" <mike@xxxxxxxxxxxx> Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Subject: RE: [xsl] Trouble sorting with <xsl:sort> Date: Thu, 15 Jun 2006 10:01:10 +0100
<xsl:sort select="item[field=$sortby]" order="ascending"/>
I think that should be
<xsl:sort select="item[@field=$sortby]" order="ascending"/>
(If you used schema-aware processing, such errors would be spotted by the compiler)
Michael Kay http://www.saxonica.com/
> -----Original Message----- > From: sxren jepsen [mailto:demon3d2@xxxxxxxxxxx] > Sent: 15 June 2006 09:27 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Trouble sorting with <xsl:sort> > > Hi People! > > > I'm having trouble making xsl:sort element working on some xml data. > Nomatter what i try i can't get the sort function to work. > The sort parameter is based on <xsl:param name="sortby" > select=3D3D"'Kundenavn'"/> (Defined in the start of the xsl) > > Any ideas ? > > > My XSL: > > Look at <xsl:template match="row">... > > <?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet > version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:output method="xml" omit-xml-declaration="yes" > version="1.0" > encoding="iso-8859-1" indent="no"/> > <xsl:strip-space elements="*"/> > <xsl:param name="sortby" select="'Kundenavn'"/> > <xsl:param name="advisorId" select="'t178509'"/> > <xsl:param name="departmentId" select="1"/> > > <xsl:template match="/"> > <html> > <head> > <link rel="stylesheet" > href="http://fioniaportalen/package/fioniabank/medarbejderport > al/external/style/style.css"/> > <title>Talefod projekt</title> > </head> > <body> > <table width="100%" > cellspacing="1" cellpadding="0" border="0" > style="padding:3px"> > <xsl:apply-templates > select="talefod/fioniabank"/> > </table> > </body> > </html> > </xsl:template> > > <xsl:template match="fioniabank"> > <xsl:apply-templates select="departments"/> > </xsl:template> > > > <xsl:template match="departments"> > <xsl:for-each select="department"> > <a> > <xsl:attribute > name="href">?departmentId=<xsl:value-of > select="@id"/></xsl:attribute> > <tr class="tr_top"> > <td class="tblColumnHd"> > <xsl:attribute > name="colspan"> > > <xsl:value-of select="10"/> > </xsl:attribute> > <xsl:value-of > select="@title"/> > </td> > </tr> > </a> > > <xsl:if test="@id = $departmentId"> > <xsl:apply-templates select="advisor"/> > </xsl:if> > > <tr> > <td height="10"> > </td> > </tr> > </xsl:for-each> > </xsl:template> > > > <xsl:template match="advisor"> > <a> > <xsl:attribute > name="href">?advisorId=<xsl:value-of > select="@id"/>&departmentId=<xsl:value-of > select="../@id"/></xsl:attribute> > <tr class="tr_top"> > <td class="tblColumnHd"> > <xsl:attribute name="colspan"> > <xsl:value-of > select="10"/> > </xsl:attribute> > <xsl:value-of select="."/> > </td> > </tr> > </a> > > <xsl:if test="@id = $advisorId"> > <xsl:apply-templates > select="//selectcustomers/headers"/> > <xsl:apply-templates > select="//selectcustomers/data/row"/> > </xsl:if> > > <tr> > <td height="10"/> > </tr> > </xsl:template> > > <xsl:template match="headers"> > <tr class="tr_top"> > <xsl:for-each select="item"> > <td > class="tblColumnHd"><xsl:value-of select="@title"/></td> > </xsl:for-each> > </tr> > </xsl:template> > > <xsl:template match="row"> > <tr class="evenrowno"> > <xsl:for-each select="elements"> > <xsl:sort > select="item[field=$sortby]" order="ascending"/> > <xsl:for-each select="item"> > <td><xsl:value-of > select="." /></td> > </xsl:for-each> > </xsl:for-each> > </tr> > </xsl:template> > > </xsl:stylesheet> > > > > My XML: > > <?xml version="1.0" encoding="utf-8"?> > <talefod> > <!-- All intern Fionia Bank data is located in > <fioniabank>-tags --> > <fioniabank> > <details title="???"> <!-- no title="xxx" means > no header --> > <detailitems> > <item type="text" title="Intern > kreditkode:"> > 123412345 > </item> > <item type="text" title="RKI kode:"> > 1234512345 > </item> > </detailitems> > </details> > <departments> > <department title="OdenseCity" id="1"> > <advisor > id="t178509">Redgiver: Sxren Jepsen0</advisor> > <advisor > id="t178510">Redgiver: Sxren Jepsen1</advisor> > <advisor > id="t178511">Redgiver: Sxren Jepsen2</advisor> > </department> > <department title="Kirkeby" id="2"> > <advisor > id="t178512">Redgiver: Sxren Jepsen3</advisor> > <advisor > id="t178513">Redgiver: Sxren Jepsen4</advisor> > <advisor > id="t178514">Redgiver: Sxren Jepsen5</advisor> > > </department> > </departments> > </fioniabank> > <!-- end --> > <selectcustomers> > <headers> > <item title="Dato"/> > <item title="CPR"/> > <item title="Kundenavn"/> > <item title="Event"/> > <item title="Status"/> > <item title="Emne"/> > <item title="Fritekst" sortable="false"/> > </headers> > <data> <!-- customer data based on 'ridgiverId' --> > <row> > <elements> > <item field="Dato"> > <!-- when type="xxxx" is not defined we default to using > type="text" --> > 01.05.06 <!-- Dato --> > </item> > <item field="CPR"> > XXXXXX-XXXX <!-- CPR --> > </item> > <item field="Kundenavn"> > Anna Jakob > Jensen <!-- Kundenavn --> > </item> > <item field="Event"> > Erlig afd. 06 > <!-- Event --> > </item> > <item field="Status"> > Kontakt <!--Status --> > </item> > <item field="Emne"> > R-Utilfreds <!--Emne --> > </item> > <item> > <!--Fritekst --> > </item> > </elements> > </row> > > <row> > <elements> > <item field="Dato"> > <!-- when type="xxxx" is not defined we default to using > type="text" --> > 01.05.06 <!-- Dato --> > </item> > <item field="CPR"> > XXXXXX-XXXX <!-- CPR --> > </item> > <item field="Kundenavn"> > Pernille > Thorling <!-- Kundenavn --> > </item> > <item field="Event"> > Erlig afd. 06 > <!-- Event --> > </item> > <item field="Status"> > E-mail <!--Status --> > </item> > <item field="Emne"> > B-Utilfreds <!--Emne --> > </item> > <item> > <!--Fritekst --> > </item> > </elements> > </row> > > <row> > <elements> > <item field="Dato"> > <!-- when type="xxxx" is not defined we default to using > type="text" --> > 01.05.06 <!-- Dato --> > </item> > <item field="CPR"> > XXXXXX-XXXX <!-- CPR --> > </item> > <item field="Kundenavn"> > Viggo Mortensen > <!-- Kundenavn --> > </item> > <item field="Event"> > Erlig afd. 06 > <!-- Event --> > </item> > <item field="Status"> > Mxde <!--Status --> > </item> > <item field="Emne"> > Mulighed <!--Emne --> > </item> > <item> > Pension, > e-boks<!--Fritekst --> > </item> > </elements> > </row> > </data> > </selectcustomers> > </talefod> > > _________________________________________________________________ > Ta' pe udsalg eret rundt pe MSN Shopping: > http://shopping.msn.dk - her finder du altid de bedste priser
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Trouble sorting with <xsl, Michael Kay | Thread | Re: [xsl] Trouble sorting with <xsl, Jagdishwar B |
RE: [xsl] Trouble sorting with <xsl, Michael Kay | Date | Re: [xsl] counting the preceding co, Carlo Liwanag |
Month |