Thanks a lot for the help, it worked. I know that we have still a lot to
understand and to learn. Cocoon is a wonderful software but quiet
complicated for beginners.

Sincerely
Torsten


On Sun, 21 Apr 2002, Vadim Gritsenko wrote:

> > From: Torsten Reiners [mailto:[EMAIL PROTECTED]]
> >
> > Hi,
> >
> > sorry, the first post was not complete (had different settings for the
> > keyboard (CTRL-E for end of line and send email :( )
> >
> > there is currently a similar question from Zachary A Lendon but so far
> no
> > answer (Vadim did miss some information). I do have the following
> problem:
> >
> > I call the following web-page
> >
> http://134.169.75.183:8080/cocoon/example.xsp?identifier="ITWORKS!!!!";.
> All
> > :) I want is to pass the parameter to a logicsheet where the value is
> used
> > for an database request. I use the files as attached to this mail.
> >
> > Hope, somebody knows a solution or can tell me where I find an example
> how
> > to pass parameter (dynamically) to a logicsheet
> >
> > Thanks.
> > Torsten
> >
> > ------------------------------------------- example.xsp
> > ------------------------------------------------
> >
> > <?xml version="1.0" encoding="ISO-8859-1"?>
> >
> > <xsp:page
> >          language="java"
> >          xmlns:xsp="http://apache.org/xsp";
> >          xmlns:vormsexample="http://www.vorms.org/xsl";
> >          xmlns:xsp-request="http://apache.org/xsp/request/2.0";
> >          xmlns:cinclude="http://apache.org/cocoon/include/1.0";>
> >
> >          <vormsexample:header/>
> >
> >    <page>
> >          <vormsexample:link>
> >             <xsl:attribute name="identifier">
>
> Now tell me: what XSL is doing here? Will be:
>
>               <vormsexample:identifier>
>
> >                          <xsp-request:get-parameter
> name="identifier"/>
>
> Add ending tag:
>
>               </vormsexample:identifier>
>
> And remove this one:
>
> >             </xsl:attribute>
>
>
> >          </vormsexample:link>
> >
> >          <!-- THIS WORKS but is not dynamic" -->
> >          <!--    <vormsexample:link
> > identifier="LO_VORMS_TP3_BIBLIOGRAPHY_VOSS_REINERS01_1_1"/>-->
> >    </page>
> > </xsp:page>
> >
> >
> > ---------------------------------------------- example.xsl
> > ------------------------------------------------
> >
> > <?xml version="1.0"?>
> >
> > <xsl:stylesheet version="1.0"
> >                  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
> >                  xmlns:xsp="http://apache.org/xsp";
> >                  xmlns:vormsexample="http://www.vorms.org/xsl";
> >                  xmlns:xsp-request="http://apache.org/xsp/request/2.0";
> >                  xmlns:cinclude="http://apache.org/cocoon/include/1.0";
> >                  >
> >
> > <xsl:param name="identifier"/>
>
> Remove this. You pass it differently. And, this is not an XSLT sheet,
> this is
> *logicsheet*.
>
>
> >
> > <xsl:template match="vormsexample:header">
>
> <snip why="irrelevant"/>
>
> > </xsl:template>
> >
> > <!--  HERE THE PARAMETER SHOULD BE KNOWN (identifier) I DID COMMENT
> THE
> > DATABASE ACCESS IN THIS EXAMPLE ----------------------------- -->
> > <xsl:template match="vormsexample:link">
> > Output of identifier:
> >
> > <xsl:value-of select="identifier"/>
>
> This is not even valid XSL. And 100% is not workable logicsheet. Have
> you seen logicsheets shipped with Cocoon?
>
> Must be something like:
>
>     <xsl:variable name="identifier">
>       <xsl:choose>
>         <xsl:when test="@identifier">"<xsl:value-of
> select="@identifier"/>"</xsl:when>
>         <xsl:when test="vormsexample:identifier">
>           <xsl:call-template name="get-nested-content">
>             <xsl:with-param name="content"
> select="vormsexample:identifier"/>
>           </xsl:call-template>
>         </xsl:when>
>         <xsl:otherwise>null</xsl:otherwise>
>       </xsl:choose>
>     </xsl:variable>
>
>
> > End of Output
> >
> > <!--             <cinclude:include>
> >                  <xsp:attribute name="src">
> >                           <xsp:expr>getURI("<xsl:value-of
> > select="@identifier"/>")</xsp:expr>
>
> Nope. Now you have *variable*, and you should use it:
>
>   <xsp:expr>getURI(<xsl:copy-of select="$identifier"/>)</xsp:expr>
>
> Note: No quotes (") ! Because it may contain Java code. And, copy-of
> instead of value-of: because it may have xsp tags!!!
>
>
> >                  </xsp:attribute>
> >                  <xsl:apply-templates/>
> >          </cinclude:include>  -->
> >          <xsl:apply-templates/>
> > </xsl:template>
> >
> >
> > <xsl:template match="@*|node()" priority="-1">
> >          <xsl:copy>
> >                <xsl:apply-templates select="@*|node()"/>
> >          </xsl:copy>
> > </xsl:template>
> >
> > </xsl:stylesheet>
> >
> >
> ------------------------------------------------------------------------
> -
> >
> SITEMAP-----------------------------------------------------------------
> ------
> > ---------------------------
> > Within the sitemap we use the following declarations
> >
> > <map:transformers default="xslt">
> >
> >     <map:transformer name="xslt"
> logger="sitemap.transformer.xslt"
> >
> src="org.apache.cocoon.transformation.TraxTransformer"
> >                      pool-max="32" pool-min="16" pool-grow="4">
> >      <use-request-parameters>false</use-request-parameters>
> >      <use-browser-capabilities-db>false</use-browser-capabilities-db>
> >      <use-deli>false</use-deli>
> >     </map:transformer>
>
> Remove:
>
> >     <map:transformer
> > name="xslt-with-parameters"
> logger="sitemap.transformer.xslt"
> >
> src="org.apache.cocoon.transformation.TraxTransformer"
> >                      pool-max="32" pool-min="16" pool-grow="4">
> >      <use-request-parameters>true</use-request-parameters>
>
> You don't need this for logicsheets. This is *only* for XSL
> *transformer*.
>
>
> >      <use-browser-capabilities-db>false</use-browser-capabilities-db>
> >      <use-deli>false</use-deli>
> >     </map:transformer>
> >
> > </map:transformers>
> >
> >    <!-- ...... SOME OTHER STUFF -->
> >
> >
> >    <map:match pattern="example.xsp">
> >      <map:generate type="serverpages"
> src="/home/vorms/website/example.xsp"/>
> >      <map:transform src="/home/vorms/website/vorms_stylesheet.xsl">
> >          <map:parameter name="view-source"
> > value="/home/vorms/website/example.xsp"/>
> >      </map:transform> -->
> >      <map:transform type="cinclude" />
>
> This:
>
> >      <map:transform type="xslt-with-parameters"
> >         src="/home/vorms/logicsheets/example.xsl">
> >         <map:parameter name="use-request-parameters" value="true"/>
> >         <map:parameter name="identifier" value="identifier"/>
> >      </map:transform>
>
> is *not* how you apply a logicsheet. Do you understand this at this
> moment page is *already* compiled and *executed*?
>
> Have you seen logicsheet sample shipped with Cocoon??
>
> I *highly* recommend to understand it prior writing own logicsheets. Go
> there right now:
>
> http://cvs.apache.org/viewcvs.cgi/xml-cocoon2/src/webapp/docs/samples/xs
> p/logicsheet.xsp?rev=1.4&content-type=text/vnd.viewcvs-markup
>
> Or look in your Cocoon dist.
>
> Vadim
>
> >      <map:serialize/>
> >     </map:match>
> >
>
>
> ---------------------------------------------------------------------
> Please check that your question has not already been answered in the
> FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
>
> To unsubscribe, e-mail: <[EMAIL PROTECTED]>
> For additional commands, e-mail: <[EMAIL PROTECTED]>
>


---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

To unsubscribe, e-mail: <[EMAIL PROTECTED]>
For additional commands, e-mail: <[EMAIL PROTECTED]>

Reply via email to