xsl-list
[Top] [All Lists]

RE: sorting - lost in a maze

2005-03-11 09:27:50

Hi,

        I believe the problem is with the following line in your stylesheet.

     <xsl:if test="texte/*= $keyword">
        "*" implies all children of the texte node and you cannot compare a set 
of
nodes to a single value.

        Try replacing with
  <xsl:if test="texte/*[1][self::cattouristique] ">

GL,
  Omprakash.V



-----Original Message-----
From: Jason Trépanier [mailto:jtrepanier(_at_)cforp(_dot_)on(_dot_)ca]
Sent: Friday, March 11, 2005 8:40 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] sorting - lost in a maze




I am trying to get records out of an xml file that match a $parameter givin.

for example the parameter must search "cattouristique" for "Agrotourisme"
and then the records that match "Agrotourisme" are returned.
Also the records returned must have alternating row colors.

I cant get this working when trying to combine both the for-each and
alternate rows
and I think its because the paths are wrong?

can someone take a peak at the XSL code below and post the right way to do
it?

thanks in advance



XML :

<fiches>
         <fiche>
                 <texte>
                         <cattouristique>Agrotourisme</cattouristique>
                         <typeheberg>Hôtel</typeheberg>
                         <fichetitre>Nouvelle nouvelle fiche avec
Images</fichetitre>
                         <courtedescription>Neque porro</courtedescription>
                         <longuedescription>Lorem ipsum</longuedescription>
                         <infogeneral>Lorem ipsum</infogeneral>
                         <services>Lorem ipsum</activities>
                 </texte>
         </fiche>
</fiches>

XSL:

<?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="html" encoding="ISO-8859-1" indent="yes"/>

     <xsl:param name="keyword">none</xsl:param>

<xsl:template match="/">
     <xsl:for-each select="//fiche">
     <xsl:sort order="descending" select="texte/fichetitre"/>
     <xsl:if test="texte/*= $keyword">
     <table width="100%"  border="0" cellspacing="0" cellpadding="0">
         <tr class="myBkgnd_{position()  mod 2 -1}">

         <td width="*" class="pad">
             <xsl:value-of select="texte/fichetitre" />
         </td>
         <td width="150" align="center" class="pad"><xsl:value-of
select="texte/typeheberg" /></td>
         <td width="150" align="center"
class="pad"><xsl:text>123</xsl:text></td>
         <td width="100" align="center" class="pad"><xsl:value-of
select="region/regionnseo" /></td>
     </tr>
     </table>
     </xsl:if>
     </xsl:for-each>
</xsl:template>

</xsl:stylesheet>



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



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