hi,
        your example is not going to work at all, ..., i suggest you to take a
look at java source code generated from xsp page, this code is located
somewhere in tomcat/work/localhost*/cocoon/org/apache/www/...your_xsp.java, 

you'll find there that element <person-colour> and Java variable person are
cmpletely unrelated, you might try in xsp something like

<xsp:element name="person-colour">
        <xsp:attribute name="person"><xsp-request:get-parameter 
                name="person"/></xsp:attribute>
</xsp:element>

this way the XML output generated by XSP page will contain somewhere the
element

<person-colour person="Peter"/> // or whatever your request parameter was

then you can match in your XSL the element person-colour and use its attribute
@person to take a value from external xml file, ...


cheers,
martin

On Thu, Oct 25, 2001 at 09:57:26AM +1000, Phil Blake wrote:
> I am missing something when it comes to getting and passing request 
> arguments. I've looked at the cocoon examples, and although my test 
> example appears to match the cocoon one in every way there is obviously 
> something fundamental missing.
> 
> I think I'm pretty close. :) If anyone could help me get past this 
> misunderstanding it would be much appreciated.
> 
> My example scenario allows the user to enter a URL like the following: 
> http://hostname/example/colour.html?person=Phil%20Blake
> The result would be a HTML page with the person's favorite colour.
> 
> In the sitemap I added a generic matcher that matches anything .html and 
> returns the corresponding xsp. I figured (as opposed to read anywhere in 
> documentation) that I needed to include the use-request-parameters and 
> use-browser-capabilities-db parameters - I don't know why I want them, 
> just that they appeared in the cocoon sitemap.
>       <!-- Match *.html and map to *.xsp -->
>               <map:match pattern="**.html">
>                       <map:generate type="serverpages" src="{1}.xsp"/>
>                       <map:transform src="Example.xsl">
>                                 <map:parameter 
> name="use-request-parameters" value="true"/>
>                                 <map:parameter 
> name="use-browser-capabilities-db" value="true"/>
>                       </map:transform>
>                       <map:serialize/>
>               </map:match>
> 
> The requested xsp page looks like this. (colour.xsp)
> <xsp:page
>           language="java"
>           xmlns:xsp="http://apache.org/xsp";
>           xmlns:xsp-request="http://apache.org/xsp/request/2.0";
>           xmlns:xsp-response="http://apache.org/xsp/response/2.0";>
>     <xsp:logic>
>         String person = null;
>     </xsp:logic>
>       <html>
>               <title>The favorite colour page - Yay"</title>
>               <xsp:logic>
>                               person = <xsp-request:get-parameter name="person"/>;
>                </xsp:logic>
>                <xsp:expr>person</xsp:expr> has a favorite colour! It is 
> <person-colour/>
>       </html>
> </xsp:page>
> 
> I then have a half/broken stylesheet that is supposed to select the 
> person named in the URL person path arg. Then return their favorite 
> colour. However, as you'll notice, I can't see how to get from the first 
> line, to the second one. I assume the variable selectedPerson contains a 
> person node. (I don't know 'cause I can't make it work).
> However, I have no idea how to use that variable to retrieve the colour.
> XSL Stylesheet:
> <xsl:template match="person-colour">
>       <!-- Select the person, somehow -->
>       <xsl:variable name="selectedPerson" 
> select="document('people.xml',.)/people/person[name='$person']"/>
>       <!-- return their favorite colour, somehow  -->
>       <xsl:value-of select="$selectedPerson/favoriteColour">
> </xsl:template>
> 
> 
> 
> XML External Content (people.xml)
> <people>
>       <person>
>               <name>Phil</name>
>               <favoriteColour>blue</favoriteColour>
>       </person>
>       <person>
>               <name>Arthur</name>
>               <favoriteColour>yellow</favoriteColour>
>       </person>
> </people>
> 
> 
> Thanks for your help. Have fun,
> 
> Phil
> 
> 
> ---------------------------------------------------------------------
> 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]>
> 
> 

-- 
2CC0 4AF6 92DA 5CBF 5F09  7BCB 6202 7024 6E06 0223
http://mman.dyndns.org/mman.gpg

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