cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Man <Martin....@seznam.cz>
Subject Re: Help needed Passing Parameters
Date Thu, 25 Oct 2001 13:19:10 GMT
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: <cocoon-users-unsubscribe@xml.apache.org>
> For additional commands, e-mail: <cocoon-users-help@xml.apache.org>
> 
> 

-- 
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: <cocoon-users-unsubscribe@xml.apache.org>
For additional commands, e-mail: <cocoon-users-help@xml.apache.org>


Mime
View raw message