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

Reply via email to