cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vindevogel - van Loco" <vindevogel.vanl...@skynet.be>
Subject RE: passing parameters to xsp files
Date Mon, 02 Jun 2003 19:52:04 GMT
passing parameters to xsp filesHi Carolien,

I guess you want something like this .....
(I did it in plain xml/xsl, didn't find the time to use cocoon on this one,
but it's a working sample.
Where I use the document function in XSL, you should put the values you
cincluded ....)

I made 2 xml files (BillGates.xml and JenniferLopez.xml)
I have one file to fill the comboboxes with the "Gender" attribute.
I then transform the files into HTML using the fourth file, the Client.xsl.

As you will see, the genders are depicted correctly for both (as far as I
know)

The code that really does it is this ...

<select>
 <xsl:for-each select="document('genders.xml')/xml/gender">
  <option value="@id" >
   <xsl:if test="@id = /xml/client/gender">
    <xsl:attribute name="selected">true</xsl:attribute>
   </xsl:if>

   <xsl:value-of select="@description"/>


  </option>
 </xsl:for-each>
</select>


I think this will solve your problem, as your comboboxes are put on the
value they already had ....

Regards,
Yves Vindevogel

  -----Original Message-----
  From: Carolien.Coenen@cm.be [mailto:Carolien.Coenen@cm.be]
  Sent: maandag 2 juni 2003 15:53
  To: cocoon-users@xml.apache.org
  Subject: passing parameters to xsp files


  Hi,

  Currently I'm working on a web application that uses an Oracle 8i
database, Cocoon 2.0, Tomcat 4.1 and Apache 2.0. I'm using XSP to query,
insert and update my database.

  Now I stumbled upon the following problem. I've searched the web for
answers, but even Google wasn't able to help me. So you guys and girls are
my last hope. ;-)

  Using XSP want to update a table in my database. So far, no problems. This
is the relevant section in the sitemap:

  <!--updating the different columns of the element -->
          <map:match pattern="update/*.xml">
                  <map:generate type="xsp" src="xsp/select/{1}.xsp"/>
                  <map:transform src="xslt/update/{1}.xslt"/>
                  <map:transform type="cinclude"/>
                  <map:serialize type="html"/>
          </map:match>
          <!-- update application form processing -->
          <map:match pattern="form/update-application">
                  <map:act type="form-validator">
                          <map:parameter name="descriptor"
value="context:///DIS/database/validate/insert-application.xml"/>

                          <map:parameter name="validate-set"
value="insert-application"/>
                          <!-- if success -->
                          <map:generate type="xsp"
src="xsp/update/update-application.xsp"/>
                          <map:transform src="xslt/succes_update.xslt"/>
                          <map:serialize type="html"/>
                  </map:act>
                  <!-- if fail -->
                  <map:read src="html/error.html" mime-type="text/html"/>
          </map:match>
          <map:match pattern="include/owner.xml">
                  <map:generate type="xsp" src="xsp/owner.xsp"/>
                  <map:transform src="xslt/include/owner.xslt"/>
                  <map:serialize type="html"/>
          </map:match>

  I've also attached the relevant xslt and xsp files.

  As you can see, I include the transformed owner.xsp file in my
application.xsp file. I do this, because I want my users to have a drop down
box with them showing all the possible foreign keys. This way they can never
make a mistake updating foreign keys in the database.

  This all works fine, updating and everything. Except for this: I want the
right foreign key selected in my form. I cannot expect my users to select
the right owner in the drop down box everytime they do an update. So I want
to tell the owner.xsp file the owner_id of the application.xsp file that
includes it. A simple test in the owner.xslt should then do the trick. I
know it is possible to pass parameters through the sitemap, but in this case
I want the contents of my parameter to be dependent on the contents of my
xsp file. I don't know how to do this. I don't even know if I'm thinking in
the right direction.

  Can you please help me on this? Thanks!

  Carolien Coenen

  <<application.xslt>> <<application.xsp>> <<owner.xslt>>
<<owner.xsp>>

Mime
View raw message