stefano 2003/03/27 09:55:48
Modified: src/webapp/samples/xsp/xsp-js hello.xsp
src/webapp/samples/soap sitemap.xmap samples.xml
src/webapp/samples block-samples.xml samples.xml
sitemap.xmap
src/webapp/samples/xsp samples.xml
src/webapp/samples/stylesheets dynamic-page2html.xsl
src/webapp/samples/slides sitemap.xmap
src/webapp/samples/common/style/xsl/html
simple-page2html.xsl
src/webapp/samples/xsp/xsp logicsheet.xsp
Added: src/webapp/samples/soap/pages/xscript getquote2.xsp
getquote1.xsp simple.xsp getquote3.xsp test.xsp
src/webapp/samples/soap/pages currency.xsp
src/webapp/samples/stream sitemap.xmap OrderPage.xml
src/webapp/samples/xsp sitemap.xmap
src/webapp/samples/xsp/logicsheets hello.xsl
Removed: src/webapp/samples old_sitemap.xmap
src/webapp/samples/soap/pages simple.xsp getquote3.xsp
joke.xsp fortune.xsp getquote2.xsp getquote.xsp
test.xsp getquote1.xsp
Log:
getting closer to finish sample refactoring.
Revision Changes Path
1.2 +2 -7 cocoon-2.1/src/webapp/samples/xsp/xsp-js/hello.xsp
Index: hello.xsp
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/webapp/samples/xsp/xsp-js/hello.xsp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- hello.xsp 26 Mar 2003 21:21:38 -0000 1.1
+++ hello.xsp 27 Mar 2003 17:55:45 -0000 1.2
@@ -13,12 +13,7 @@
</xsp:element>
<para>
- <xsp:logic>
- align = "center";
- </xsp:logic>
- <p>
- <xsp:attribute name="align"><xsp:expr>align</xsp:expr></xsp:attribute>
-
+ <p align="center">
<xsp:logic>
msg = "Executed at: ";
<xsp:content>
1.2 +14 -12 cocoon-2.1/src/webapp/samples/soap/sitemap.xmap
Index: sitemap.xmap
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/webapp/samples/soap/sitemap.xmap,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sitemap.xmap 26 Mar 2003 21:21:48 -0000 1.1
+++ sitemap.xmap 27 Mar 2003 17:55:45 -0000 1.2
@@ -14,18 +14,12 @@
</map:transform>
<map:serialize/>
</map:match>
-
- <map:match pattern="*">
- <map:generate src="pages/{1}.xsp" type="serverpages"/>
- <map:transform src="context://stylesheets/system/xml2html.xslt"/>
- <map:serialize/>
- </map:match>
<!-- ======================== XScript Samples ========================= -->
- <map:match pattern="getquote1">
- <map:generate src="docs/samples/xscript/soap-getquote1.xsp"
type="serverpages"/>
- <map:transform src="docs/samples/xscript/soap-getquote1.xsl"/>
+ <map:match pattern="xscript/getquote1">
+ <map:generate src="pages/xscript/getquote1.xsp" type="serverpages"/>
+ <map:transform src="stylesheets/soap-getquote1.xsl"/>
<map:transform src="context://samples/stylesheets/dynamic-page2html.xsl">
<map:parameter name="servletPath" value="{request:servletPath}"/>
<map:parameter name="sitemapURI" value="{request:sitemapURI}"/>
@@ -36,8 +30,8 @@
<map:serialize/>
</map:match>
- <map:match pattern="*">
- <map:generate src="{1}.xsp" type="serverpages"/>
+ <map:match pattern="xscript/*">
+ <map:generate src="pages/xscript/{1}.xsp" type="serverpages"/>
<map:transform src="context://samples/stylesheets/dynamic-page2html.xsl">
<map:parameter name="servletPath" value="{request:servletPath}"/>
<map:parameter name="sitemapURI" value="{request:sitemapURI}"/>
@@ -47,6 +41,14 @@
</map:transform>
<map:serialize/>
</map:match>
+
+ <!-- ======================== XScript Samples ========================= -->
+
+ <map:match pattern="*">
+ <map:generate src="pages/{1}.xsp" type="serverpages"/>
+ <map:transform src="context://stylesheets/system/xml2html.xslt"/>
+ <map:serialize/>
+ </map:match>
</map:pipeline>
</map:pipelines>
1.2 +11 -13 cocoon-2.1/src/webapp/samples/soap/samples.xml
Index: samples.xml
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/webapp/samples/soap/samples.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- samples.xml 26 Mar 2003 21:21:48 -0000 1.1
+++ samples.xml 27 Mar 2003 17:55:45 -0000 1.2
@@ -5,36 +5,34 @@
<samples>
<group name="SOAP">
- <sample name="Fortune" href="fortune">
- </sample>
- <sample name="Joke" href="joke">
- </sample>
<sample name="Temperature" href="temperature">
+ Find out the current temperature in Beverly Hills, CA.
+ </sample>
+ <sample name="Currency Conversion" href="currency">
+ Get current Euro/Dollar exchange rate.
</sample>
- <sample name="Quote" href="getquote">
- </sample>
</group>
<group name="XScript">
- <sample name="Simple Sample" href="simple">
- A simple sample for XScript.
+ <sample name="Simple Sample" href="xscript/simple">
+ A simple sample for the SOAP logicsheet (XScript).
</sample>
- <sample name="SOAP Stock Quote Example 1" href="getquote1">
+ <sample name="SOAP Stock Quote Example 1" href="xscript/getquote1">
This page demonstrates the SOAP logicsheet for
Cocoon. It accesses a SOAP service that provides stock quotes
and displays the result.
</sample>
- <sample name="SOAP Sample 2" href="getquote2">
+ <sample name="SOAP Sample 2" href="xscript/getquote2">
This example uses an inline XSLT stylesheet and an
XScript transform instruction to extract the stock
price.
</sample>
- <sample name="SOAP Sample 3" href="getquote3">
+ <sample name="SOAP Sample 3" href="xscript/getquote3">
This is yet another example of the XScript and SOAP
logicsheets. This sample is very similar with
SOAP Sample 2, except that the stylesheet is defined in an external file.
</sample>
- <sample name="Test" href="test">
+ <sample name="Test" href="xscript/test">
</sample>
</group>
1.3 +1 -5 cocoon-2.1/src/webapp/samples/block-samples.xml
Index: block-samples.xml
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/webapp/samples/block-samples.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- block-samples.xml 20 Mar 2003 08:14:06 -0000 1.2
+++ block-samples.xml 27 Mar 2003 17:55:45 -0000 1.3
@@ -3,9 +3,5 @@
<!-- CVS: $Id$ -->
<samples xmlns:xlink="http://www.w3.org/1999/xlink" name="blocks">
-
- <group name="Main examples page">
- <sample name="Back" href="welcome">to Cocoon examples main page</sample>
- </group>
</samples>
1.9 +31 -16 cocoon-2.1/src/webapp/samples/samples.xml
Index: samples.xml
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/webapp/samples/samples.xml,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- samples.xml 26 Mar 2003 21:21:37 -0000 1.8
+++ samples.xml 27 Mar 2003 17:55:45 -0000 1.9
@@ -25,6 +25,9 @@
in different ways, but also to syndicate, aggregate or otherwise transform
content provided by other web sites.
</sample>
+ <sample name="Slides" href="slides/slides">
+ An example of more complex use of XSTL for navigation and content filtering.
+ </sample>
<sample name="Resource Catalog" href="catalog/">
XML is handy but also very complex. Cocoon integrates a number of
facilities to help you during your journey thru XML-land. One of these
@@ -33,8 +36,6 @@
the use of catalogs.
</sample>
</group>
-
- <!-- still to fix
<group name="Web Services">
<sample name="SOAP" href="soap/">
@@ -44,9 +45,7 @@
</sample>
</group>
- -->
-
- <!--
+<!--
FIXME (SM) this should move into the proxy block
@@ -63,7 +62,9 @@
services without writing a single line of business logic code.
Only styling is used in addition to the proxy.
</sample>
- </group> -->
+ </group>
+
+-->
<group name="Input Modules">
<sample name="Input Modules" href="modules/">
@@ -120,17 +121,31 @@
you built the web application
</sample>
</group>
-
- <!-- still to fix
-
+
+ <group name="Extensible Server Pages">
+ <sample name="XSP" href="xsp/">
+ Extensible Server Pages.
+ </sample>
+ </group>
+
+ <group name="B2B">
+ <sample name="Order Page" href="stream/order" xlink:role="dynamic">
+ An example
+ </sample>
+ </group>
+
<group name="Web Applications">
<sample name="Protected Area" href="protected/login">
- An example web-application built around db-authenticator,
- form-validator, session-validator and session-invalidator
- actions.
+ An example web-application built around db-authenticator,
+ form-validator, session-validator and session-invalidator
+ actions.
</sample>
</group>
-
+
+<!--
+
+ FIXME (SM): obsoleted by xmlform?
+
<group name="Sample Forms">
<sample name="Simple Form Validation - Transformer" href="simpleform/sform"
xlink:role="dynamic">
This example demonstrates the use of an action to validate user
@@ -141,8 +156,8 @@
input and report validation errors to the user through a taglib.
</sample>
</group>
-
- -->
+
+-->
<group name="Block samples">
<sample name="Blocks with samples" href="blocks">
1.10 +11 -95 cocoon-2.1/src/webapp/samples/sitemap.xmap
Index: sitemap.xmap
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/webapp/samples/sitemap.xmap,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- sitemap.xmap 26 Mar 2003 21:21:37 -0000 1.9
+++ sitemap.xmap 27 Mar 2003 17:55:45 -0000 1.10
@@ -26,6 +26,7 @@
<!-- =========================== Views =================================== -->
<map:views>
+
<map:view name="content" from-label="content">
<map:serialize type="xml"/>
</map:view>
@@ -41,65 +42,6 @@
</map:views>
-<!-- =========================== Resources ================================= -->
-
- <map:resources>
-
- <map:resource name="dynamic-page">
- <map:generate src="{target}.xsp" type="serverpages"/>
- <map:transform src="context://samples/stylesheets/dynamic-page2html.xsl">
- <map:parameter name="servletPath" value="{request:servletPath}"/>
- <map:parameter name="sitemapURI" value="{request:sitemapURI}"/>
- <map:parameter name="contextPath" value="{request:contextPath}"/>
- <map:parameter name="file" value="{target}.xsp"/>
- <map:parameter name="remove" value="{remove}"/>
- </map:transform>
- <map:serialize/>
- </map:resource>
-
- <map:resource name="dynamic-page1">
- <!-- print all current sitemap parameters to log -->
- <map:act type="session-state">
- <map:parameter name="new-state" value="{../0}"/>
- <!--
- use the complete string that was matched as a parameter. Compare
- this with the target parameter below. There the third
- sitemap parameter refers to the very same string. Verfy this
- by looking at the log. This irritating effect stems from
- the fact, that the above map:parameter belongs conceptually
- still to the parent element while all other nested tags
- are, well, nested.
- -->
- <map:call resource="dynamic-page">
- <map:parameter name="target"
value="{../target}/state{../../../0}{../../0}"/>
- <map:parameter name="remove" value="{../remove}"/>
- </map:call>
- </map:act>
- </map:resource>
-
- <map:resource name="dynamic-page2">
- <map:act type="session-state">
- <map:parameter name="new-state" value="1"/>
- <map:call resource="dynamic-page">
- <map:parameter name="target" value="{../target}1"/>
- <map:parameter name="remove" value="{../remove}"/>
- </map:call>
- </map:act>
- </map:resource>
-
- <map:resource name="simple-page">
- <map:generate src="{target}.xml" type="file"/>
- <map:transform src="context://samples/stylesheets/page/simple-page2html.xsl">
- <map:parameter name="servletPath" value="{request:servletPath}"/>
- <map:parameter name="sitemapURI" value="{request:sitemapURI}"/>
- <map:parameter name="contextPath" value="{request:contextPath}"/>
- <map:parameter name="file" value="{target}.xml"/>
- <map:parameter name="remove" value="{remove}"/>
- </map:transform>
- <map:serialize/>
- </map:resource>
- </map:resources>
-
<!-- =========================== Pipelines ================================= -->
<map:pipelines>
@@ -114,50 +56,24 @@
<map:serialize/>
</map:match>
- <!-- =========================== Dynamic ================================ -->
+ <!-- ========================== Stream ================================= -->
- <map:match pattern="xsp/*">
- <map:generate src="docs/samples/xsp/{1}.xsp" type="serverpages"/>
- <map:transform src="context://samples/stylesheets/dynamic-page2html.xsl">
+ <map:match pattern="order">
+ <map:generate src="stream/OrderPage.xml"/>
+ <map:transform src="context://samples/stylesheets/dynamic-page2html.xsl">
<map:parameter name="servletPath" value="{request:servletPath}"/>
<map:parameter name="sitemapURI" value="{request:sitemapURI}"/>
<map:parameter name="contextPath" value="{request:contextPath}"/>
- <map:parameter name="file" value="docs/samples/xsp/{1}.xsp"/>
- <map:parameter name="remove" value="{0}"/>
- <!--
- Run-time configuration is done through these
- <map:parameter/> elements. Again, let's have a look at the
- javadocs:
-
- "[...] All <map:parameter> declarations will be made
- available in the XSLT stylesheet as xsl:variables. [...]"
- -->
- </map:transform>
- <map:serialize/>
- </map:match>
-
- <map:match pattern="xsp-plain/*">
- <map:generate src="docs/samples/xsp/{1}.xsp" type="serverpages"/>
- <map:serialize/>
+ <map:parameter name="file" value=".xsp"/>
+ </map:transform>
+ <map:serialize type="html"/>
</map:match>
- <!-- ========================== Stream ================================= -->
-
- <map:match pattern="request1">
+ <map:match pattern="process-order">
<map:generate type="stream">
<map:parameter name="form-name" value="Foo"/>
</map:generate>
- <map:serialize type="xml"/>
- </map:match>
-
- <map:match pattern="Order">
- <map:generate src="docs/samples/stream/OrderPage.xml"/>
- <map:transform src="context://samples/stylesheets/dynamic-page2html.xsl">
- <map:parameter name="servletPath" value="{request:servletPath}"/>
- <map:parameter name="sitemapURI" value="{request:sitemapURI}"/>
- <map:parameter name="contextPath" value="{request:contextPath}"/>
- <map:parameter name="file" value=".xsp"/>
- </map:transform>
+ <map:transform src="context://stylesheets/system/xml2html.xslt"/>
<map:serialize type="html"/>
</map:match>
1.1 cocoon-2.1/src/webapp/samples/soap/pages/xscript/getquote2.xsp
Index: getquote2.xsp
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- CVS: $Id: getquote2.xsp,v 1.1 2003/03/27 17:55:46 stefano Exp $ -->
<!--
Author: Ovidiu Predescu "[EMAIL PROTECTED]"
Date: October 9, 2001
-->
<xsp:page language="java"
xmlns:xsp="http://apache.org/xsp"
xmlns:xsp-request="http://apache.org/xsp/request/2.0"
xmlns:xscript="http://apache.org/xsp/xscript/1.0"
xmlns:soap="http://apache.org/xsp/soap/3.0">
<page>
<title>SOAP Stock Quote Example 2</title>
<content>
<xsp:logic>
String symbol = request.getParameter("symbol");
if (symbol == null || symbol.equals("")) {
<para>This page demonstrates the SOAP logicsheet for
Cocoon2. It accesses a SOAP service that provides stock quotes
and displays the result.</para>
<para>This example uses an inline XSLT stylesheet and an
XScript <code>transform</code> instruction to extract the stock
price. Compare this with the approach used in
<code>soap-getquote1.xsp</code>, which uses a sitemap XSLT
transformer to achieve the same thing.</para>
<para>Please enter the stock ticker: </para>
<form href="soap-getquote">
<input name="symbol" type="text" value="HPQ"/>
<input value="Do it!" type="submit"/>
</form>
} else {
<para>The stock price for <xsp:expr>symbol</xsp:expr> is
<xscript:variable name="soap-result">
<soap:call url="http://services.xmethods.net:80/soap">
<ns1:getQuote xmlns:ns1="urn:xmethods-delayed-quotes">
<soap:enc/>
<symbol xsi:type="xsd:string"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"><xsp-request:get-parameter
name="symbol"/></symbol>
</ns1:getQuote>
</soap:call>
</xscript:variable>
<xscript:variable name="stylesheet">
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:n="urn:xmethods-delayed-quotes"
exclude-result-prefixes="soap n">
<xsl:template match="/">
<b>
<xsl:value-of
select="/soap:Envelope/soap:Body/n:getQuoteResponse/Result"/>
</b>
</xsl:template>
</xsl:stylesheet>
</xscript:variable>
<xscript:transform name="soap-result" stylesheet="stylesheet"/>
</para>
<form href="soap-getquote">
<input value="Back" type="submit"/>
</form>
}
</xsp:logic>
</content>
</page>
</xsp:page>
1.1 cocoon-2.1/src/webapp/samples/soap/pages/xscript/getquote1.xsp
Index: getquote1.xsp
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- CVS: $Id: getquote1.xsp,v 1.1 2003/03/27 17:55:46 stefano Exp $ -->
<!--
Author: Ovidiu Predescu "[EMAIL PROTECTED]"
Date: October 9, 2001
-->
<xsp:page language="java"
xmlns:xsp="http://apache.org/xsp"
xmlns:xsp-request="http://apache.org/xsp/request/2.0"
xmlns:xscript="http://apache.org/xsp/xscript/1.0"
xmlns:soap="http://apache.org/xsp/soap/3.0">
<page>
<title>SOAP Stock Quote Example 1</title>
<content>
<xsp:logic>
String symbol = request.getParameter("symbol");
if (symbol == null || symbol.equals("")) {
<para>This page demonstrates the SOAP logicsheet for
Cocoon2. It accesses a SOAP service that provides stock quotes
and displays the result.</para>
<para>The SOAP result is placed in the generated page, and the
stock price is extracted from it using an external XSLT
stylesheet. Compare this approach with the one used in
<code>soap-getquote2.xsp</code>, which uses an internal XScript
stylesheet to extract the stock price.</para>
<para>Please enter the stock ticker: </para>
<form href="soap-getquote">
<input name="symbol" type="text" value="HPQ"/>
<input value="Do it!" type="submit"/>
</form>
} else {
<para>The stock price for <xsp:expr>symbol</xsp:expr> is
<soap:call url="http://services.xmethods.net:80/soap">
<ns1:getQuote xmlns:ns1="urn:xmethods-delayed-quotes">
<soap:enc/>
<symbol xsi:type="xsd:string"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"><xsp-request:get-parameter
name="symbol"/></symbol>
</ns1:getQuote>
</soap:call>
</para>
<form href="soap-getquote">
<input value="Back" type="submit"/>
</form>
}
</xsp:logic>
</content>
</page>
</xsp:page>
1.1 cocoon-2.1/src/webapp/samples/soap/pages/xscript/simple.xsp
Index: simple.xsp
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- CVS: $Id: simple.xsp,v 1.1 2003/03/27 17:55:46 stefano Exp $ -->
<!--
Author: Ovidiu Predescu "[EMAIL PROTECTED]"
Date: September 18, 2001
-->
<xsp:page language="java"
xmlns:xsp="http://apache.org/xsp"
xmlns:xsp-request="http://apache.org/xsp/request/2.0"
xmlns:xscript="http://apache.org/xsp/xscript/1.0">
<page>
<title>Inline XScript variable</title>
<content>
<para>
This is a simple XSP page demonstrating how to work with
inline XScript variables. This example show how one can create
and later refer to an XScript variable.
</para>
<xscript:variable name="my-var">
<b>123</b>
</xscript:variable>
<para>
The content of the XScript variable is: <xscript:get name="my-var"/>.
</para>
<para>
We now remove the Xscript variable "my-var", and try to access
it again. You should see an error message indicating it's no
longer available.
</para>
<para>
<xscript:remove name="my-var"/>
<xscript:get name="my-var"/>
</para>
</content>
</page>
</xsp:page>
1.1 cocoon-2.1/src/webapp/samples/soap/pages/xscript/getquote3.xsp
Index: getquote3.xsp
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- CVS: $Id: getquote3.xsp,v 1.1 2003/03/27 17:55:46 stefano Exp $ -->
<!--
Author: Ovidiu Predescu "[EMAIL PROTECTED]"
Date: October 9, 2001
-->
<xsp:page language="java"
xmlns:xsp="http://apache.org/xsp"
xmlns:xsp-request="http://apache.org/xsp/request/2.0"
xmlns:xscript="http://apache.org/xsp/xscript/1.0"
xmlns:soap="http://apache.org/xsp/soap/3.0">
<page>
<title>SOAP Stock Quote Example 3</title>
<content>
<xsp:logic>
String symbol = request.getParameter("symbol");
if (symbol == null || symbol.equals("")) {
<para>This page demonstrates the SOAP logicsheet for
Cocoon2. It accesses a SOAP service that provides stock quotes
and displays the result.</para>
<para>This is yet another example of the XScript and SOAP
logicsheets. This sample is very similar with
<code>soap-getquote2.xsp</code>, except that the stylesheet is
defined in an external file.
</para>
<para>Please enter the stock ticker: </para>
<form href="soap-getquote">
<input name="symbol" type="text" value="HPQ"/>
<input value="Do it!" type="submit"/>
</form>
} else {
<para>
The stock price for <xsp:expr>symbol</xsp:expr> is
<xscript:variable name="soap-result">
<soap:call url="http://services.xmethods.net:80/soap">
<ns1:getQuote xmlns:ns1="urn:xmethods-delayed-quotes">
<soap:enc/>
<symbol xsi:type="xsd:string"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"><xsp-request:get-parameter
name="symbol"/></symbol>
</ns1:getQuote>
</soap:call>
</xscript:variable>
<xscript:variable name="stylesheet"
href="stylesheets/soap-getquote3.xsl"/>
<xscript:transform name="soap-result" stylesheet="stylesheet"/>
</para>
<form href="soap-getquote">
<input value="Back" type="submit"/>
</form>
}
</xsp:logic>
</content>
</page>
</xsp:page>
1.1 cocoon-2.1/src/webapp/samples/soap/pages/xscript/test.xsp
Index: test.xsp
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- CVS: $Id: test.xsp,v 1.1 2003/03/27 17:55:46 stefano Exp $ -->
<!--
Author: Vadim Gritsenko "[EMAIL PROTECTED]"
-->
<xsp:page language="java"
xmlns:xsp="http://apache.org/xsp"
xmlns:xscript="http://apache.org/xsp/xscript/1.0"
xmlns:xalan="http://xml.apache.org/xalan"
xmlns:saxon="http://icl.com/saxon"
>
<page>
<title>XScript tests</title>
<content>
<h2>Creating Variables</h2>
<h3>Create Global Scope Variable</h3>
<xscript:variable scope="global" name="test">
<b>This is the content of the <u>global</u> scope variable.</b>
</xscript:variable>
<para>
The content of the test variable from global scope is:
<xscript:get scope="global" name="test"/>.
</para>
<para>
The content of the first test variable is:
<xscript:get name="test"/>.
</para>
<h3>Create Page Scope Variable</h3>
<xscript:variable scope="page" name="test">
<b>This is the content of the <u>page</u> scope variable.</b>
</xscript:variable>
<para>
The content of the test variable from page scope is:
<xscript:get scope="page" name="test"/>.
</para>
<para>
The content of the first test variable is:
<xscript:get name="test"/>.
</para>
<h3>Create Session Scope Variable</h3>
<xscript:variable scope="session" name="test">
<b>This is the content of the <u>session</u> scope variable.</b>
</xscript:variable>
<para>
The content of the test variable from session scope is:
<xscript:get scope="session" name="test"/>.
</para>
<para>
The content of the first test variable is:
<xscript:get name="test"/>.
</para>
<h3>Create Request Scope Variable</h3>
<xscript:variable scope="request" name="test">
<b>This is the content of the <u>request</u> scope variable.</b>
</xscript:variable>
<para>
The content of the test variable from request scope is:
<xscript:get scope="request" name="test"/>.
</para>
<para>
The content of the first test variable is:
<xscript:get name="test"/>.
</para>
<h2>Transformations</h2>
<h3>Transform with stylesheet variable</h3>
<xscript:variable name="stylesheet">
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<p align="right">
<xsl:value-of select="*"/>
<br/>(transformed by the stylesheet)
</p>
</xsl:template>
</xsl:stylesheet>
</xscript:variable>
<para>
The content of the first test variable transformed with stylesheet
variable:
<xscript:transform name="test" stylesheet="stylesheet"/>
</para>
<h3>Copy of test variable</h3>
<para>
Copy of the test variable is:
<xscript:copy-of name="test"/>
</para>
<para>
Copy of the /b/u part of the test variable is:
<xscript:copy-of name="test" select="/b/u"/>.
</para>
<h2>Removing Variables</h2>
<h3>Remove Request Scope Variable</h3>
<xscript:remove scope="request" name="test"/>
<para>
The content of the test variable from request scope is:
<xscript:get scope="request" name="test"/>.
</para>
<para>
The content of the first test variable is:
<xscript:get name="test"/>.
</para>
<h3>Remove Session Scope Variable</h3>
<xscript:remove scope="session" name="test"/>
<para>
The content of the test variable from session scope is:
<xscript:get scope="session" name="test"/>.
</para>
<para>
The content of the first test variable is:
<xscript:get name="test"/>.
</para>
<h3>Remove Page Scope Variable</h3>
<xscript:remove scope="page" name="test"/>
<para>
The content of the test variable from page scope is:
<xscript:get scope="page" name="test"/>.
</para>
<para>
The content of the first test variable is:
<xscript:get name="test"/>.
</para>
<h3>Remove Global Scope Variable</h3>
<xscript:remove scope="global" name="test"/>
<para>
The content of the test variable from global scope is:
<xscript:get scope="global" name="test"/>.
</para>
<para>
The content of the first test variable is:
<xscript:get name="test"/>.
</para>
</content>
</page>
</xsp:page>
1.1 cocoon-2.1/src/webapp/samples/soap/pages/currency.xsp
Index: currency.xsp
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsp:page
language="java"
xmlns:xsp="http://apache.org/xsp"
xmlns:xsp-request="http://apache.org/xsp/request/2.0"
xmlns:xscript="http://apache.org/xsp/xscript/1.0"
xmlns:soap="http://apache.org/xsp/soap/3.0"
>
<page>
<soap:call url="http://services.xmethods.net:9090/soap">
<ns1:getRate xmlns:ns1="urn:xmethods-CurrencyExchange"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance">
<soap:enc/>
<country1 xsi:type="xsd:string">euro</country1>
<country2 xsi:type="xsd:string">united states</country2>
</ns1:getRate>
</soap:call>
</page>
</xsp:page>
1.1 cocoon-2.1/src/webapp/samples/stream/sitemap.xmap
Index: sitemap.xmap
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!-- CVS $Id: sitemap.xmap,v 1.1 2003/03/27 17:55:47 stefano Exp $ -->
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
<!-- =========================== Views =================================== -->
<map:views>
<map:view name="content" from-label="content">
<map:serialize type="xml"/>
</map:view>
<map:view name="pretty-content" from-label="data">
<map:transform src="context://stylesheets/system/xml2html.xslt"/>
<map:serialize type="html"/>
</map:view>
<map:view name="links" from-position="last">
<map:serialize type="links"/>
</map:view>
</map:views>
<!-- =========================== Pipelines ================================= -->
<map:pipelines>
<map:pipeline>
<map:match pattern="order">
<map:generate src="stream/OrderPage.xml"/>
<map:transform src="context://samples/stylesheets/dynamic-page2html.xsl">
<map:parameter name="servletPath" value="{request:servletPath}"/>
<map:parameter name="sitemapURI" value="{request:sitemapURI}"/>
<map:parameter name="contextPath" value="{request:contextPath}"/>
<map:parameter name="file" value=".xsp"/>
</map:transform>
<map:serialize type="html"/>
</map:match>
<map:match pattern="process-order">
<map:generate type="stream">
<map:parameter name="form-name" value="Foo"/>
</map:generate>
<map:transform src="context://stylesheets/system/xml2html.xslt"/>
<map:serialize type="html"/>
</map:match>
</map:pipeline>
</map:pipelines>
</map:sitemap>
1.1 cocoon-2.1/src/webapp/samples/stream/OrderPage.xml
Index: OrderPage.xml
===================================================================
<page>
<title>B2B processing</title>
<content>
<form action="process-order" id="FORM1" method="post" name="FORM1">
<para>Input your XML documet here:</para>
<textarea cols="80" id="TEXTAREA1" name="Foo" rows="60"><?xml
version="1.0"?>
<Orders>
<OrderID>20259</OrderID>
<CustomerID>WWWWWWW</CustomerID>
<EmployeeID>6</EmployeeID>
<OrderDate>2001-05-05 00:00:00</OrderDate>
<RequiredDate>2001-06-05 00:00:00</RequiredDate>
<ShippedDate>2001-06-01 00:00:00</ShippedDate>
<ShipVia>1</ShipVia>
<Freight>11.6100</Freight>
<ShipName>Thoms White</ShipName>
<ShipAddress>Somestr. 48</ShipAddress>
<ShipCity>Munster</ShipCity>
<ShipRegion>West</ShipRegion>
<ShipPostalCode>00000</ShipPostalCode>
<ShipCountry>Germany</ShipCountry>
<OrderDetails>
<OrderID>20259</OrderID>
<ProductID>51</ProductID>
<UnitPrice>42.4000</UnitPrice>
<Quantity>40</Quantity>
<Discount>0.0</Discount>
</OrderDetails>
<OrderDetails>
<OrderID>20259</OrderID>
<ProductID>14</ProductID>
<UnitPrice>18.6000</UnitPrice>
<Quantity>9</Quantity>
<Discount>0.0</Discount>
</OrderDetails>
<OrderDetails>
<OrderID>20259</OrderID>
<ProductID>7</ProductID>
<UnitPrice>12.4000</UnitPrice>
<Quantity>30</Quantity>
<Discount>0.0</Discount>
</OrderDetails>
<Customers>
<CustomerID>WWWWWWW</CustomerID>
<CompanyName>Thomas White</CompanyName>
<ContactName>Karin Black</ContactName>
<ContactTitle>Marketing Manager</ContactTitle>
<Address>Somestr. 48</Address>
<City>Munster</City>
<Region>West</Region>
<PostalCode>00000</PostalCode>
<Country>Germany</Country>
<Phone>xxxx-yyyyyy</Phone>
<Fax>xxxx-yyyyyy</Fax>
</Customers>
</Orders>
</textarea>
<input id="submit1" name="submit1" type="submit" value="Submit"/>
</form>
</content>
</page>
1.2 +23 -30 cocoon-2.1/src/webapp/samples/xsp/samples.xml
Index: samples.xml
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/webapp/samples/xsp/samples.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- samples.xml 26 Mar 2003 21:21:44 -0000 1.1
+++ samples.xml 27 Mar 2003 17:55:47 -0000 1.2
@@ -4,74 +4,67 @@
<samples xmlns:xlink="http://www.w3.org/1999/xlink">
- <group name="Back">
- <sample name="Back" href="welcome">
- Back to samples home page.
- </sample>
- </group>
-
<group name="Hello, XSP">
- <sample name="Hello Page" href="xsp/hello">
+ <sample name="Hello Page" href="java/hello">
Dynamically generated hello page.
</sample>
-
- <sample name="Logicsheet" href="xsp/logicsheet">
+ <sample name="Logicsheet" href="java/logicsheet">
Greetings page with logic separated into logicsheet.
</sample>
-
- <sample name="Cacheable" href="xsp/cacheable">
+ <sample name="Cacheable" href="java/cacheable">
Cacheable XSP page.
</sample>
</group>
<group name="eXtensible Server Pages in Java">
- <sample name="Simple XSP" href="xsp/simple">
+ <sample name="Simple XSP" href="java/simple">
Simple XSP example showing usage of several logicsheets.
</sample>
- <sample name="Session XSP" href="xsp/sessionpage" xlink:role="dynamic">
+ <sample name="Session XSP" href="java/sessionpage" xlink:role="dynamic">
Sample Session XSP to illustrate session handling.
</sample>
- <sample name="File Uploads" href="xsp/upload" xlink:role="dynamic">
+ <sample name="File Uploads" href="java/upload" xlink:role="dynamic">
Sample to illustrate file uploads.
</sample>
- <sample name="Request" href="xsp/request" xlink:role="dynamic">
+ <sample name="Request" href="java/request" xlink:role="dynamic">
Request logicsheet tests.
</sample>
- <sample name="Response" href="xsp/response" xlink:role="dynamic">
+ <sample name="Response" href="java/response" xlink:role="dynamic">
Response logicsheet tests.
</sample>
- <sample name="Session" href="xsp/session" xlink:role="dynamic">
+ <sample name="Session" href="java/session" xlink:role="dynamic">
Session logicsheet tests.
</sample>
- <sample name="Cookie" href="xsp/cookie" xlink:role="dynamic">
+ <sample name="Cookie" href="java/cookie" xlink:role="dynamic">
Cookies logicsheet tests.
</sample>
- <sample name="Util" href="xsp/resolver" xlink:role="dynamic">
+ <sample name="Util" href="java/resolver" xlink:role="dynamic">
Util logicsheet tests.
</sample>
</group>
+<!--
+
+ Excluded until fixed.
+
<group name="eXtensible Server Pages in Javascript">
- <sample name="Hello" href="xsp-js/hello">
+ <sample name="Hello" href="js/hello">
Hello in Javascript
</sample>
- <sample name="Simple" href="xsp-js/simple" xlink:role="dynamic">
+ <sample name="Simple" href="js/simple" xlink:role="dynamic">
Another simple XSP example.
</sample>
- <sample name="Request" href="xsp-js/request" xlink:role="dynamic">
+ <sample name="Request" href="js/request" xlink:role="dynamic">
Request logicsheet tests (same as in Java).
</sample>
- <sample name="Response" href="xsp-js/response" xlink:role="dynamic">
+ <sample name="Response" href="js/response" xlink:role="dynamic">
Response logicsheet tests (same as in Java).
</sample>
- <sample name="Session" href="xsp-js/session" xlink:role="dynamic">
+ <sample name="Session" href="js/session" xlink:role="dynamic">
Session logicsheet tests (same as in Java).
</sample>
</group>
- <group name="eXtensible Server Pages in Python">
- <sample name="Hello" href="xsp-py/hello">
- Hello in Python
- </sample>
- </group>
+-->
+
</samples>
1.1 cocoon-2.1/src/webapp/samples/xsp/sitemap.xmap
Index: sitemap.xmap
===================================================================
<?xml version="1.0"?>
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
<map:pipelines>
<map:pipeline>
<map:match pattern="">
<map:generate src="samples.xml"/>
<map:transform
src="context://samples/common/style/xsl/html/simple-samples2html.xsl">
<map:parameter name="contextPath" value="{request:contextPath}"/>
</map:transform>
<map:serialize/>
</map:match>
<map:match pattern="java/*">
<map:generate src="xsp/{1}.xsp" type="serverpages"/>
<map:transform src="context://samples/stylesheets/dynamic-page2html.xsl">
<map:parameter name="servletPath" value="{request:servletPath}"/>
<map:parameter name="sitemapURI" value="{request:sitemapURI}"/>
<map:parameter name="contextPath" value="{request:contextPath}"/>
<map:parameter name="file" value="xsp/{1}.xsp"/>
<map:parameter name="remove" value="{0}"/>
</map:transform>
<map:serialize/>
</map:match>
<map:match pattern="js/*">
<map:generate src="xsp-js/{1}.xsp" type="serverpages"/>
<map:transform src="context://samples/stylesheets/dynamic-page2html.xsl">
<map:parameter name="servletPath" value="{request:servletPath}"/>
<map:parameter name="sitemapURI" value="{request:sitemapURI}"/>
<map:parameter name="contextPath" value="{request:contextPath}"/>
<map:parameter name="file" value="xsp-js/{1}.xsp"/>
<map:parameter name="remove" value="{0}"/>
</map:transform>
<map:serialize/>
</map:match>
</map:pipeline>
</map:pipelines>
</map:sitemap>
1.1 cocoon-2.1/src/webapp/samples/xsp/logicsheets/hello.xsl
Index: hello.xsl
===================================================================
<?xml version="1.0"?>
<!--
* Hello World logicsheet for the Java language
*
* @author <a href="mailto:[EMAIL PROTECTED]>Vadim Gritsenko</a>
* @version CVS $Revision: 1.1 $ $Date: 2003/03/27 17:55:47 $
-->
<xsl:stylesheet
version="1.0"
xmlns:xsp="http://apache.org/xsp"
xmlns:xsp-hello="http://apache.org/xsp/hello/1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="xsp-hello:greeting">
<xsl:variable name="name">
<xsl:choose>
<xsl:when test="@name">"<xsl:value-of select="@name"/>"</xsl:when>
<xsl:when test="xsp-hello:name">
<xsl:call-template name="get-nested-content">
<xsl:with-param name="content" select="xsp-hello:name"/>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name="value">
<xsl:choose>
<xsl:when test="@value">"<xsl:value-of select="@value"/>"</xsl:when>
<xsl:when test="xsp-hello:value">
<xsl:call-template name="get-nested-content">
<xsl:with-param name="content" select="xsp-hello:value"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>"Hello"</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsp:content>
<xsp:expr><xsl:value-of select="$value"/></xsp:expr>,
<xsp:expr><xsl:value-of select="$name"/></xsp:expr>!
</xsp:content>
</xsl:template>
<xsl:template name="get-nested-content">
<xsl:param name="content"/>
<xsl:choose>
<xsl:when test="$content/*">
<xsl:apply-templates select="$content/*"/>
</xsl:when>
<xsl:otherwise>"<xsl:value-of select="$content"/>"</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="@*|*|text()|processing-instruction()">
<xsl:copy>
<xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
1.2 +2 -2 cocoon-2.1/src/webapp/samples/stylesheets/dynamic-page2html.xsl
Index: dynamic-page2html.xsl
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/webapp/samples/stylesheets/dynamic-page2html.xsl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- dynamic-page2html.xsl 9 Mar 2003 00:11:21 -0000 1.1
+++ dynamic-page2html.xsl 27 Mar 2003 17:55:47 -0000 1.2
@@ -6,8 +6,8 @@
xmlns:xsp-request="http://apache.org/xsp/request/2.0"
xmlns:xsp="http://apache.org/xsp">
- <xsl:include href="page/simple-page2html.xsl"/>
-
+ <xsl:include href="../common/style/xsl/html/simple-page2html.xsl"/>
+
<xsl:template match="xsp-request:uri">
<b><xsl:value-of select="."/></b>
</xsl:template>
1.2 +5 -14 cocoon-2.1/src/webapp/samples/slides/sitemap.xmap
Index: sitemap.xmap
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/webapp/samples/slides/sitemap.xmap,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sitemap.xmap 26 Mar 2003 21:21:37 -0000 1.1
+++ sitemap.xmap 27 Mar 2003 17:55:47 -0000 1.2
@@ -1,24 +1,13 @@
<?xml version="1.0"?>
-<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
<!-- CVS: $Id$ -->
- <map:components>
- <map:generators default="file"/>
- <map:transformers default="xslt"/>
- <map:readers default="resource"/>
- <map:serializers default="html"/>
- <map:matchers default="wildcard"/>
- <map:selectors default="browser"/>
- </map:components>
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
<map:pipelines>
+
<map:pipeline>
- <map:match pattern="">
- <map:redirect-to uri="slides" />
- </map:match>
-
<map:match pattern="slides">
<map:generate src="slides.xml"/>
<map:transform src="stylesheets/navigation.xsl">
@@ -41,5 +30,7 @@
</map:match>
</map:pipeline>
+
</map:pipelines>
+
</map:sitemap>
1.3 +3 -15
cocoon-2.1/src/webapp/samples/common/style/xsl/html/simple-page2html.xsl
Index: simple-page2html.xsl
===================================================================
RCS file:
/home/cvs/cocoon-2.1/src/webapp/samples/common/style/xsl/html/simple-page2html.xsl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- simple-page2html.xsl 26 Mar 2003 21:21:44 -0000 1.2
+++ simple-page2html.xsl 27 Mar 2003 17:55:47 -0000 1.3
@@ -18,7 +18,7 @@
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
- <xsl:variable name="path"
select="concat($contextPath,'/samples/view-file?filename=')"/>
+ <xsl:variable name="path"
select="concat($contextPath,'/samples/view-source?filename=')"/>
<xsl:variable name="view-source" select="concat($realpath,$file)"/>
<xsl:variable name="directory"
select="substring-before($servletPath,$sitemapURI)"/>
<!-- assume that sitemapURIs don't occur in servletPath more than once -->
@@ -26,7 +26,7 @@
<xsl:template match="page">
<html>
- <link rel="stylesheet" href="{concat($contextPath,'/samples/samples.css')}"
title="Default Style"/>
+ <link rel="stylesheet" href="/styles/main.css" title="Default Style"/>
<head>
<title>
<xsl:value-of select="title"/>
@@ -35,29 +35,17 @@
<body>
<xsl:call-template name="resources"/>
<xsl:apply-templates/>
- <xsl:call-template name="footer"/>
</body>
</html>
</xsl:template>
- <xsl:template name="footer">
- <div class="footer">
- <table>
- <tbody>
- <tr><td>Source: </td><td>$COCOON<xsl:value-of
select="$view-source"/></td></tr>
- <tr><td>Sitemap: </td><td>$COCOON<xsl:value-of
select="$sitemap"/></td></tr>
- </tbody>
- </table>
- </div>
- </xsl:template>
-
<xsl:template name="resources">
<div class="resources">
<table width="100%">
<tbody>
<tr>
<td>
- <a target="_blank"
href="{concat($contextPath,$servletPath,'?cocoon-view=content')}">Content</a>
+ <a target="_blank"
href="{concat($contextPath,$servletPath,'?cocoon-view=content')}">Content View</a>
</td>
<td>
<a target="_blank" href="{concat($path,$view-source)}">Source</a>
1.2 +2 -2 cocoon-2.1/src/webapp/samples/xsp/xsp/logicsheet.xsp
Index: logicsheet.xsp
===================================================================
RCS file: /home/cvs/cocoon-2.1/src/webapp/samples/xsp/xsp/logicsheet.xsp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- logicsheet.xsp 26 Mar 2003 21:21:33 -0000 1.1
+++ logicsheet.xsp 27 Mar 2003 17:55:47 -0000 1.2
@@ -19,7 +19,7 @@
<!-- Context URL also can be used:
- <xsp:logicsheet location="context://logicsheets/hello.xsl"/>
+ <xsp:logicsheet location="context://samples/xsp/logicsheets/hello.xsl"/>
URL relative to the current sitemap CAN NOT be used, as
logicsheet is the global object, shared between all sitemaps.