RE: [xsl] displaying sql results in dropdown menus

Subject: RE: [xsl] displaying sql results in dropdown menus
From: "Andrew Welch" <ajwelch@xxxxxxxxxxxxxxx>
Date: Thu, 19 Aug 2004 09:57:28 +0100
> I'm trying to get dropdown menus of values from a xml file, which is
> the  result of a SQL request:
>
> <td>Collection</td>
>
> // here I caught the names of the request's attributes
>
>              <idattr>sql:id_collection</idattr>
>              <idattr>sql:libelle_collection</idattr>
>
>              <td>
>                  <rowset xmlns="http://apache.org/cocoon/SQL/2.0";
> nrofrows="12">
>                  <row>
>                      <id_collection>1</id_collection>
>                      <libelle_collection>CIP</libelle_collection>
>                  </row>
>                  <row>
>                      <id_collection>2</id_collection>
>
> <libelle_collection>Champignons</libelle_collection>
>                  </row>
>                  <row>
>                      <id_collection>3</id_collection>
>                      <libelle_collection>IEBC</libelle_collection>
>                  </row>
>
>              </rowset>
>              </td>
>
>
> I modified the  XSL file page2html.xsl  in  the following way:
>
> (I don't directly put the attributes' id s in the xsl because
> I want  a
> generalized file,
> which could work for any request' s result)
>
> <xsl:template match="sql:rowset">
>
> // I catch the attributes' ids in xsl variables
>
>      <xsl:variable name="idattr1" select="../../idattr[1]"/>
>      <xsl:variable name="idattr2" select="../../idattr[2]"/>
>
>       <select size="1" name="">
>             <option value="-1">- Silectionnez :</option>
>
>
> // And I try to get their values in a dropdown list
>
>              <xsl:for-each select="sql:row">
>                  <option  value= "$idattr1">
>                 <xsl:value-of select="$idattr2"/>
>                </option>
>               </xsl:for-each>
>          </select>
>
> ...
>   All I manage to obtain is :
>
> <td>Collection</td>
> <td>
> <select name="" size="1">
> <option value="-1">- Silectionnez :</option>
> <option value="$idattr1">sql:libelle_collection</option>
> <option value="$idattr1">sql:libelle_collection</option>
> <option value="$idattr1">sql:libelle_collection</option>
> </select></td>
>
> instead of the dropdown list with the values INSIDE the "
> libelle_collection"  tags...
> Perhaps it is a problem with Cocoon's SQL Transformer...
>
> Has anybody a clue?


Try:

 <xsl:value-of select="*[name() = $idattr2]"/>

...as you are trying to access the value of the node with the name
'sql:libelle_collection'.

cheers
andrew

Current Thread