xsl-list
[Top] [All Lists]

[xsl] Trouble sorting with <xsl:sort>

2006-06-15 01:27:17
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/medarbejderportal/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"/>&amp;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">Rådgiver: Søren 
Jepsen0</advisor>
                                        <advisor id="t178510">Rådgiver: Søren 
Jepsen1</advisor>
                                        <advisor id="t178511">Rådgiver: Søren 
Jepsen2</advisor>
                        </department>
                        <department title="Kirkeby" id="2">
                                        <advisor id="t178512">Rådgiver: Søren 
Jepsen3</advisor>
                                        <advisor id="t178513">Rådgiver: Søren 
Jepsen4</advisor>
                                        <advisor id="t178514">Rådgiver: Søren 
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">
                                                Årlig 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">
                                                Årlig 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">
                                                Årlig afd. 06 <!-- Event -->
                                        </item>
                                        <item field="Status">
                                                Møde <!--Status -->
                                        </item>
                                        <item field="Emne">
                                                Mulighed <!--Emne -->
                                        </item>
                                        <item>
                                                 Pension, e-boks<!--Fritekst -->
                                        </item>
                                </elements>
                        </row>
                </data>
        </selectcustomers>
</talefod>

_________________________________________________________________
Ta' på udsalg året rundt på MSN Shopping: http://shopping.msn.dk - her finder du altid de bedste priser


--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>