xsl-list
[Top] [All Lists]

RE: displaying sql results in dropdown menus

2004-08-19 01:57:28

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">- Sélectionnez :</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">- Sélectionnez :</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


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