You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by jo...@apache.org on 2003/05/31 01:05:40 UTC

cvs commit: cocoon-2.1/src/documentation/xdocs/userdocs/flow api.xml jpath.xml velocity.xml views.xml

joerg       2003/05/30 16:05:39

  Modified:    src/documentation/xdocs/userdocs/flow api.xml jpath.xml
                        velocity.xml views.xml
  Log:
  fixed broken files, please do "build validate-xdocs" the next time ;-)
  
  Revision  Changes    Path
  1.10      +176 -176  cocoon-2.1/src/documentation/xdocs/userdocs/flow/api.xml
  
  Index: api.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/documentation/xdocs/userdocs/flow/api.xml,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- api.xml	30 May 2003 15:48:08 -0000	1.9
  +++ api.xml	30 May 2003 23:05:32 -0000	1.10
  @@ -1,176 +1,176 @@
  -<?xml version="1.0" encoding="UTF-8"?>
  -<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.0//EN" "../../dtd/document-v10.dtd">
  -
  -<document>
  -  <header>
  -    <title>Advanced Control Flow</title>
  -    <authors>
  -      <person name="Ovidiu Predescu" email="ovidiu@apache.org"/>
  -      <person name="Christopher Oliver" email="coliver@apache.org"/>
  -    </authors>
  -  </header>
  -
  -  <body>
  -    <s1 title="JavaScript API">
  -	<p>Cocoon provides a JavaScript API to manage control flow based on an <link href="http://cvs.cocoondev.org/cgi-bin/viewcvs.cgi/?cvsroot=rhino">extended</link> version of <link href="http://www.mozilla.org/rhino">Mozilla Rhino</link> that supports continuations.</p>
  -    </s1>
  -    <s1 title="Functions">
  -    <s2 title = "sendPage"><anchor id="sendPage"/>
  -      <p>
  -      <em>Function</em> <code>sendPage([String] uri, [Object] bean)</code>
  -      </p>
  -      <p>
  -      Passes control to the Cocoon sitemap to generate the output page.
  -      </p>
  -      <p>
  -      <code>uri</code> is the relative URL of the page to be sent back to the client.
  -      </p>
  -      <p>
  -       <code>bean</code> is a context object which can be accessed inside this page to extract various values and place them in the generated page.
  -      </p>
  -    </s2>
  -    <s2 title = "sendPageAndWait"><anchor id="sendPageAndWait"/>
  -    <p>
  -    <em>Function</em> <code>[WebContinuation] sendPageAndWait([String] uri, [Object] bean, [Number] timeToLive)</code>
  -    </p>
  -     <p>
  -     Passes control to the Cocoon sitemap to generate the output page.
  -     </p>
  -      <p>The flow script is suspended after the page is generated and the whole execution stack saved in the WebContinuation object returned from this function. </p>
  -     <p> <code>uri</code> is the relative URL of the page to be sent back to the client. <code>bean</code> is a context object which can be accessed inside this page to extract various values and place them in the generated page.</p>
  -     <p><code>timeToLive</code> is the time to live in milliseconds for the continuation created.</p>
  -     <p>The return value is the <link href="#WebContinuation">continuation</link> object.</p>
  -    </s2>
  -  </s1>
  -    <s1 title="Objects">
  -    <s2 title = "cocoon">
  -    <p>The <code>cocoon</code> object represents the current Cocoon sitemap and provides the following readonly properties:</p> 
  -    <s3 title="request">
  -    <p>The current Cocoon request:</p>
  -    <p>
  -    <em>Property</em> <code>[<link href="../../../api/java/org/apache/cocoon/environment/Request.html">org.apache.cocoon.environment.Request</link>] request</code>
  -    </p>
  -    </s3>
  -    <s3 title="response">
  -    <p>The current Cocoon response:</p>
  -    <p>
  -    <em>Property</em> <code>[<link href="../../../api/java/org/apache/cocoon/environment/Response.html">org.apache.cocoon.environment.Response</link>] response</code>
  -    </p>
  -    </s3>
  -    <s3 title="session">
  -    <p>The current Cocoon session:</p>
  -    <p>
  -    <em>Property</em> <code>[<link href="../../../api/java/org/apache/cocoon/environment/Session.html">org.apache.cocoon.environment.Session</link>] session</code>
  -    </p>
  -    </s3>
  -    <s3 title="context">
  -    <p>The current Cocoon application context:</p>
  -    <p>
  -    <em>Property</em> <code>[<link href="../../../api/java/org/apache/cocoon/environment/Context.html">org.apache.cocoon.environment.Context</link>] context</code>
  -    </p>
  -    </s3>
  -    <s3 title="environment">
  -    <p>The current Cocoon environment:</p>
  -    <p>
  -    <em>Property</em> <code>[<link href="../../../api/java/org/apache/cocoon/environment/Environment.html">org.apache.cocoon.environment.Environment</link>] environment</code>
  -    </p>
  -    </s3>
  -    <s3 title="componentManager">
  -    <p>The current Sitemap's component manager:</p>
  -    <p>
  -    <em>Property</em> <code>[org.apache.avalon.framework.component.ComponentManager] componentManager</code>
  -    </p>
  -    </s3>
  -    <s3 title="parameters">
  -    <p>Any parameters passed to the script by the Sitemap:</p>
  -    <p>
  -    <em>Property</em> <code>[Array [org.apache.avalon.framework.parameters.Parameters]] parameters</code>
  -    </p>
  -    <p>The <code>cocoon</code> object also provides the following functions:</p>
  -    </s3>
  -    <s3 title="process">
  -    <p>
  -    <em>Function</em> <code>[Boolean] process([String] uri, [Object] bizData, [java.io.OutputStream] stream)</code></p>
  -    <p>
  -     Call the Cocoon sitemap for the given URI, sending the output of the
  -     eventually matched pipeline to the specified <code>OutputStream</code>.</p>
  -    <p><code>uri</code> is the URI for which the request should be generated.</p>
  -    <p><code>bizData</code> is the business data object
  -     to be made available to the forwarded pipeline</p>
  -     <p><code>stream</code> is an <code>OutputStream</code> where the output should be written to.</p>
  -     <p>Returns the result from the Cocoon processor.
  -     </p>
  -    </s3>
  -    <s3 title="createSession"><anchor id="createSession"/>
  -    
  -    <p> <em>Function</em> <code>createSession()</code></p>
  -    <p>  
  -       Associate the current set of JavaScript global variables with the user's session. This means that all invocations from the
  -       sitemap of a JavaScript function (using the <link href="sitemap.html#callFunction">&lt;map:call
  -       function="..."&gt;</link>), will share global JavaScript variables.
  -    </p> 
  -
  -    </s3>
  -    <s3 title="removeSession">
  -    <p>
  -    <em>Function</em> <code>removeSession()</code>
  -    </p>
  -    <p>
  -       Dissociate global JavaScript variables from the user's session.
  -    </p>
  -    </s3>
  -    <s3 title="load">
  -    <p><em>Function</em> <code>load([String] uri)</code></p>
  -    <p>
  -      Load the JavaScript script specified by <code>uri</code>. The Cocoon
  -     source resolver is used to resolve <code>uri</code>. 
  -    </p>
  -    </s3>
  -    </s2>
  -    <s2 title="WebContinuation"><anchor id="WebContinuation"/>
  -    <p>A <code>WebContinuation</code> represents a continuation of a Flowscript. Because a user may click on the back button in the browser and restart a saved computation in a continuation, each <code>WebContinuation</code> becomes the parent of a subtree of continuations.
  -    </p>
  -    <p>
  -       If there is no parent <code>WebContinuation</code>, the created continuation becomes the root of a tree of <code>WebContinuation</code>s.
  -    </p>
  -    <p>
  -       <code>WebContinuation</code> objects support the following functions and properties:
  -    </p>
  -    <s3 title="getContinuation">
  -    <p>
  -        <em>Function</em> <code>[WebContinuation] getContinuation([Number] level)</code>
  -    </p>
  -    <p>
  -      Return the ancestor continuation situated <code>level</code>s
  -      above the current continuation. The current instance is
  -      considered to be at level 0. The parent continuation of the
  -      receiving instance at level 1, its parent is at level 2 relative
  -      to the receiving instance. If <code>level</code> is bigger than
  -      the depth of the tree, the root of the tree is returned.
  -     
  -    </p>
  -    </s3>
  -    <s3 title="invalidate">
  -    <p>
  -        <em>Function</em> <code>invalidate()</code>
  -    </p>
  -    <p>
  -      Invalidates a <code>WebContinuation</code>. This effectively
  -      means that the continuation object associated with it will no
  -      longer be accessible from Web pages. Invalidating a
  -      <code>WebContinuation</code> invalidates all the
  -      <code>WebContinuation</code>s which are children of it.    
  -    </p>
  -    </s3>
  -    <s3 title="id">
  -    <p>
  -        <em>Property</em> <code>[String] id</code>
  -    </p>
  -    <p>
  -       Returns the unique string identifier of this continuation
  -    </p>
  -    </s3>
  -    </s2>
  -    </s1>
  -  </body>
  -</document>
  +<?xml version="1.0" encoding="UTF-8"?>
  +<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.0//EN" "../../dtd/document-v10.dtd">
  +
  +<document>
  +  <header>
  +    <title>Advanced Control Flow</title>
  +    <authors>
  +      <person name="Ovidiu Predescu" email="ovidiu@apache.org"/>
  +      <person name="Christopher Oliver" email="coliver@apache.org"/>
  +    </authors>
  +  </header>
  +
  +  <body>
  +    <s1 title="JavaScript API">
  +	  <p>Cocoon provides a JavaScript API to manage control flow based on an
  +        <link href="http://cvs.cocoondev.org/cgi-bin/viewcvs.cgi/?cvsroot=rhino">extended</link>
  +        version of <link href="http://www.mozilla.org/rhino">Mozilla Rhino</link> that supports continuations.</p>
  +    </s1>
  +    <s1 title="Functions">
  +    <s2 title = "sendPage"><anchor id="sendPage"/>
  +      <p>
  +      <em>Function</em> <code>sendPage([String] uri, [Object] bean)</code>
  +      </p>
  +      <p>
  +      Passes control to the Cocoon sitemap to generate the output page.
  +      </p>
  +      <p>
  +      <code>uri</code> is the relative URL of the page to be sent back to the client.
  +      </p>
  +      <p>
  +       <code>bean</code> is a context object which can be accessed inside this page to extract
  +       various values and place them in the generated page.
  +      </p>
  +    </s2>
  +    <s2 title = "sendPageAndWait"><anchor id="sendPageAndWait"/>
  +    <p>
  +    <em>Function</em> <code>[WebContinuation] sendPageAndWait([String] uri, [Object] bean, [Number] timeToLive)</code>
  +    </p>
  +     <p>
  +     Passes control to the Cocoon sitemap to generate the output page.
  +     </p>
  +     <p>The flow script is suspended after the page is generated and the whole execution stack
  +        saved in the WebContinuation object returned from this function. </p>
  +     <p><code>uri</code> is the relative URL of the page to be sent back to the client.
  +        <code>bean</code> is a context object which can be accessed inside this page to extract
  +        various values and place them in the generated page.</p>
  +     <p><code>timeToLive</code> is the time to live in milliseconds for the continuation created.</p>
  +     <p>The return value is the <link href="#WebContinuation">continuation</link> object.</p>
  +    </s2>
  +  </s1>
  +    <s1 title="Objects">
  +    <s2 title = "cocoon">
  +    <p>The <code>cocoon</code> object represents the current Cocoon sitemap and provides the following readonly properties:</p> 
  +    <s3 title="request">
  +    <p>The current Cocoon request:</p>
  +    <p>
  +    <em>Property</em> <code>[</code><link href="../../../api/java/org/apache/cocoon/environment/Request.html"><code>org.apache.cocoon.environment.Request</code></link><code>] request</code>
  +    </p>
  +    </s3>
  +    <s3 title="response">
  +    <p>The current Cocoon response:</p>
  +    <p>
  +    <em>Property</em> <code>[</code><link href="../../../api/java/org/apache/cocoon/environment/Response.html"><code>org.apache.cocoon.environment.Response</code></link><code>] response</code>
  +    </p>
  +    </s3>
  +    <s3 title="session">
  +    <p>The current Cocoon session:</p>
  +    <p>
  +    <em>Property</em> <code>[</code><link href="../../../api/java/org/apache/cocoon/environment/Session.html"><code>org.apache.cocoon.environment.Session</code></link><code>] session</code>
  +    </p>
  +    </s3>
  +    <s3 title="context">
  +    <p>The current Cocoon application context:</p>
  +    <p>
  +    <em>Property</em> <code>[</code><link href="../../../api/java/org/apache/cocoon/environment/Context.html"><code>org.apache.cocoon.environment.Context</code></link><code>] context</code>
  +    </p>
  +    </s3>
  +    <s3 title="environment">
  +    <p>The current Cocoon environment:</p>
  +    <p>
  +    <em>Property</em> <code>[</code><link href="../../../api/java/org/apache/cocoon/environment/Environment.html"><code>org.apache.cocoon.environment.Environment</code></link><code>] environment</code>
  +    </p>
  +    </s3>
  +    <s3 title="componentManager">
  +    <p>The current Sitemap's component manager:</p>
  +    <p>
  +    <em>Property</em> <code>[org.apache.avalon.framework.component.ComponentManager] componentManager</code>
  +    </p>
  +    </s3>
  +    <s3 title="parameters">
  +    <p>Any parameters passed to the script by the Sitemap:</p>
  +    <p>
  +    <em>Property</em> <code>[Array [org.apache.avalon.framework.parameters.Parameters]] parameters</code>
  +    </p>
  +    <p>The <code>cocoon</code> object also provides the following functions:</p>
  +    </s3>
  +    <s3 title="process">
  +    <p>
  +    <em>Function</em> <code>[Boolean] process([String] uri, [Object] bizData, [java.io.OutputStream] stream)</code></p>
  +    <p>
  +     Call the Cocoon sitemap for the given URI, sending the output of the
  +     eventually matched pipeline to the specified <code>OutputStream</code>.</p>
  +    <p><code>uri</code> is the URI for which the request should be generated.</p>
  +    <p><code>bizData</code> is the business data object
  +     to be made available to the forwarded pipeline</p>
  +     <p><code>stream</code> is an <code>OutputStream</code> where the output should be written to.</p>
  +     <p>Returns the result from the Cocoon processor.
  +     </p>
  +    </s3>
  +    <s3 title="createSession"><anchor id="createSession"/>
  +      <p><em>Function</em> <code>createSession()</code></p>
  +      <p>
  +        Associate the current set of JavaScript global variables with the user's session. This means
  +        that all invocations from the sitemap of a JavaScript function (using the
  +        <link href="sitemap.html#callFunction">&lt;map:call function="..."&gt;</link>), will share
  +        global JavaScript variables.
  +      </p>
  +    </s3>
  +    <s3 title="removeSession">
  +    <p>
  +    <em>Function</em> <code>removeSession()</code>
  +    </p>
  +    <p>
  +       Dissociate global JavaScript variables from the user's session.
  +    </p>
  +    </s3>
  +    <s3 title="load">
  +    <p><em>Function</em> <code>load([String] uri)</code></p>
  +    <p>
  +      Load the JavaScript script specified by <code>uri</code>. The Cocoon
  +     source resolver is used to resolve <code>uri</code>. 
  +    </p>
  +    </s3>
  +    </s2>
  +    <s2 title="WebContinuation"><anchor id="WebContinuation"/>
  +    <p>A <code>WebContinuation</code> represents a continuation of a Flowscript. Because a user may click on the back button in the browser and restart a saved computation in a continuation, each <code>WebContinuation</code> becomes the parent of a subtree of continuations.
  +    </p>
  +    <p>
  +       If there is no parent <code>WebContinuation</code>, the created continuation becomes the root of a tree of <code>WebContinuation</code>s.
  +    </p>
  +    <p>
  +       <code>WebContinuation</code> objects support the following functions and properties:
  +    </p>
  +    <s3 title="getContinuation">
  +    <p>
  +        <em>Function</em> <code>[WebContinuation] getContinuation([Number] level)</code>
  +    </p>
  +    <p>
  +      Return the ancestor continuation situated <code>level</code>s
  +      above the current continuation. The current instance is
  +      considered to be at level 0. The parent continuation of the
  +      receiving instance at level 1, its parent is at level 2 relative
  +      to the receiving instance. If <code>level</code> is bigger than
  +      the depth of the tree, the root of the tree is returned.
  +    </p>
  +    </s3>
  +    <s3 title="invalidate">
  +    <p>
  +        <em>Function</em> <code>invalidate()</code>
  +    </p>
  +    <p>
  +      Invalidates a <code>WebContinuation</code>. This effectively
  +      means that the continuation object associated with it will no
  +      longer be accessible from Web pages. Invalidating a
  +      <code>WebContinuation</code> invalidates all the
  +      <code>WebContinuation</code>s which are children of it.    
  +    </p>
  +    </s3>
  +    <s3 title="id">
  +    <p><em>Property</em> <code>[String] id</code></p>
  +    <p>Returns the unique string identifier of this continuation</p>
  +    </s3>
  +    </s2>
  +    </s1>
  +  </body>
  +</document>
  
  
  
  1.9       +111 -107  cocoon-2.1/src/documentation/xdocs/userdocs/flow/jpath.xml
  
  Index: jpath.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/documentation/xdocs/userdocs/flow/jpath.xml,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- jpath.xml	30 May 2003 16:06:06 -0000	1.8
  +++ jpath.xml	30 May 2003 23:05:32 -0000	1.9
  @@ -1,107 +1,111 @@
  -<?xml version='1.0' encoding='ISO-8859-1'?>
  -<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.0//EN"
  -"../../dtd/document-v10.dtd">
  -<document>
  -	<header>
  -		<title>Advanced Control Flow</title> 
  -		<authors>
  -			<person name="Christopher Oliver" email="coliver@apache.org" />
  -			<person name="Ovidiu Predescu" email="ovidiu@apache.org" />
  -		</authors>
  -	</header>
  -<body>
  -	<s1 title="JPath Logic Sheet">
  -  <p>
  -The JPath Logic Sheet is an <link href="../xsp/index.html">XSP</link> logic sheet that allows you to access data from a Cocoon Flowscript in an XSP page and inject it into a Cocoon pipeline. It provides a set of tags (similar to the those defined by <link href="http://www.w3.org/TR/xslt">XSLT</link>) that allow you to iterate over Java collections (and Java or JavaScript arrays) and to test for the presence of optional or alternate bean properties. It is based on <link href="http://jakarta.apache.org/commons/jxpath">Apache JXPath</link>.
  -  </p>
  -</s1>
  -<s1 title ="Tags">
  -<p>The JPath tags are defined in the namespace</p>
  -<source>
  -http://apache.org/xsp/jpath/1.0
  -</source>
  -<s2 title ="if">
  -<p>The <code>if</code> tag allows the conditional execution of its body 
  -according to value of a <code>test</code> attribute:</p>
  -<source>
  -  &lt;if test="XPathExpression"&gt;
  -      body
  -  &lt;/if&gt;
  -</source>
  -<p>Example:</p>
  -<source>
  -&lt;jpath:if test="cart/numberOfItems = 0"&gt;
  -  Your cart is empty
  -&lt;/jpath:if&gt;
  -</source>
  -</s2>
  -<s2 title ="choose">
  -<p>The <code>choose</code> tag performs conditional block execution by the 
  -embedded <code>when</code> sub tags. It renders the body of the first 
  -<code>when</code> tag whose <code>test</code> condition evaluates to true. 
  -If none of the <code>test</code> conditions of nested <code>when</code> tags
  -evaluate to <code>true</code>, then the body of an <code>otherwise</code> 
  -tag is evaluated, if present:</p>
  -<source>
  - &lt;choose&gt;
  -   &lt;when test="XPathExpression"&gt;
  -      body
  -   &lt;/when&gt;+
  -   &lt;otherwise&gt;
  -      body
  -   &lt;/otherwise&gt;?
  - &lt;/choose&gt;
  -</source>
  -<p>Example:</p>
  -<source>
  -&lt;choose&gt;
  -  &lt;when test="not(user/loggedIn)"&gt;
  -     You're not logged in
  -  &lt;/when&gt;
  -  &lt;otherwise&gt;
  -     You're already logged in
  -  &lt;/otherwise&gt;
  -&lt;/choose&gt;
  -</source>
  -</s2>
  -<s2 title="value-of">
  -<p>The <code>value-of</code> tag evaluates an expression and outputs 
  -the result of the evaluation:</p>
  -<source>
  -&lt;value-of select="XPathExpression"/&gt;
  -</source>
  -<p>Example:</p>
  -<source>
  -&lt;value-of select="cart/numberOfItems"&gt;
  -</source>
  -</s2>
  -<s2 title="for-each">
  -<p>The <code>for-each</code> tag allows you to iterate over a collection 
  -of objects:</p>
  -<source>
  -  &lt;for-each select="XPathExpression"&gt;
  -    body
  - &lt;/for-each&gt;
  -</source>
  -<p>When using XPath expressions within <code>for-each</code> the current element is the context node and can be referenced with XPath dot operator: 
  -<source>.</source></p>
  -<p>Example:</p>
  -<source>
  -&lt;for-each select="cart/cartItems[position() &lt;= $count]"&gt;
  -   &lt;td&gt;&lt;value-of select="./productId"&gt;&lt;/td&gt;
  -&lt;/for-each&gt;
  -</source>
  -</s2>
  -<s2 title="continuation">
  -<p>The <code>continuation</code> tag returns the id of the current web continuation of your Flowscript. You can refer to previous continuations by supplying the optional <code>level</code> attribute. Zero is the current level, <code>-1</code> refers to the previous continuation, and so on.</p>
  -<source>
  -&lt;continuation [level="Number"]/&gt;
  -</source>
  -<p>Example:</p>
  -<source>
  -&lt;xsp:attribute name="action"&gt;&lt;xsp:expr&gt;&lt;jpath:continuation/&gt;+".form"&lt;/xsp:expr&gt;&lt;/xsp:attribute&gt;
  -</source>
  -</s2>
  -</s1>
  -</body>
  -</document>
  +<?xml version='1.0' encoding='ISO-8859-1'?>
  +<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.0//EN" "../../dtd/document-v10.dtd">
  +<document>
  +  <header>
  +   <title>Advanced Control Flow</title> 
  +   <authors>
  +    <person name="Christopher Oliver" email="coliver@apache.org"/>
  +    <person name="Ovidiu Predescu" email="ovidiu@apache.org"/>
  +   </authors>
  +  </header>
  +  <body>
  +   <s1 title="JPath Logic Sheet">
  +    <p>
  +     The JPath Logic Sheet is an <link href="../xsp/index.html">XSP</link> logic sheet that allows
  +     you to access data from a Cocoon Flowscript in an XSP page and inject it into a Cocoon
  +     pipeline. It provides a set of tags (similar to the those defined by
  +     <link href="http://www.w3.org/TR/xslt">XSLT</link>) that allow you to iterate over Java
  +     collections (and Java or JavaScript arrays) and to test for the presence of optional or
  +     alternate bean properties. It is based on
  +     <link href="http://jakarta.apache.org/commons/jxpath">Apache JXPath</link>.
  +    </p>
  +   </s1>
  +   <s1 title ="Tags">
  +    <p>The JPath tags are defined in the namespace</p>
  +    <source>http://apache.org/xsp/jpath/1.0</source>
  +    <s2 title ="if">
  +     <p>The <code>if</code> tag allows the conditional execution of its body according to value of
  +        a <code>test</code> attribute:</p>
  +     <source>
  +&lt;if test="XPathExpression"&gt;
  +  body
  +&lt;/if&gt;
  +     </source>
  +     <p>Example:</p>
  +     <source>
  +&lt;jpath:if test="cart/numberOfItems = 0"&gt;
  +  Your cart is empty
  +&lt;/jpath:if&gt;
  +     </source>
  +    </s2>
  +    <s2 title ="choose">
  +     <p>The <code>choose</code> tag performs conditional block execution by the embedded
  +        <code>when</code> sub tags. It renders the body of the first <code>when</code> tag whose
  +        <code>test</code> condition evaluates to true. If none of the <code>test</code> conditions
  +        of nested <code>when</code> tags evaluate to <code>true</code>, then the body of an
  +        <code>otherwise</code> tag is evaluated, if present:</p>
  +     <source>
  +&lt;choose&gt;
  +  &lt;when test="XPathExpression"&gt;
  +    body
  +  &lt;/when&gt;
  +  &lt;otherwise&gt;
  +    body
  +  &lt;/otherwise&gt;?
  +&lt;/choose&gt;
  +     </source>
  +     <p>Example:</p>
  +     <source>
  +&lt;choose&gt;
  +  &lt;when test="not(user/loggedIn)"&gt;
  +     You're not logged in
  +  &lt;/when&gt;
  +  &lt;otherwise&gt;
  +     You're already logged in
  +  &lt;/otherwise&gt;
  +&lt;/choose&gt;
  +     </source>
  +    </s2>
  +    <s2 title="value-of">
  +     <p>The <code>value-of</code> tag evaluates an expression and outputs the result of the evaluation:</p>
  +     <source>
  +&lt;value-of select="XPathExpression"/&gt;
  +     </source>
  +     <p>Example:</p>
  +     <source>
  +&lt;value-of select="cart/numberOfItems"&gt;
  +     </source>
  +    </s2>
  +    <s2 title="for-each">
  +     <p>The <code>for-each</code> tag allows you to iterate over a collection of objects:</p>
  +     <source>
  +&lt;for-each select="XPathExpression"&gt;
  +  body
  +&lt;/for-each&gt;
  +     </source>
  +     <p>When using XPath expressions within <code>for-each</code> the current element is the
  +        context node and can be referenced with XPath dot operator:</p>
  +     <source>.</source>
  +     <p>Example:</p>
  +     <source>
  +&lt;for-each select="cart/cartItems[position() &lt;= $count]"&gt;
  +   &lt;td&gt;&lt;value-of select="./productId"&gt;&lt;/td&gt;
  +&lt;/for-each&gt;
  +     </source>
  +    </s2>
  +    <s2 title="continuation">
  +     <p>The <code>continuation</code> tag returns the id of the current web continuation of your
  +        Flowscript. You can refer to previous continuations by supplying the optional
  +        <code>level</code> attribute. Zero is the current level, <code>-1</code> refers to the
  +        previous continuation, and so on.</p>
  +     <source>
  +&lt;continuation [level="Number"]/&gt;
  +     </source>
  +     <p>Example:</p>
  +     <source>
  +&lt;xsp:attribute name="action"&gt;&lt;xsp:expr&gt;&lt;jpath:continuation/&gt;+".form"&lt;/xsp:expr&gt;&lt;/xsp:attribute&gt;
  +     </source>
  +    </s2>
  +   </s1>
  +  </body>
  +</document>
  
  
  
  1.7       +44 -46    cocoon-2.1/src/documentation/xdocs/userdocs/flow/velocity.xml
  
  Index: velocity.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/documentation/xdocs/userdocs/flow/velocity.xml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- velocity.xml	30 May 2003 16:06:06 -0000	1.6
  +++ velocity.xml	30 May 2003 23:05:32 -0000	1.7
  @@ -1,46 +1,44 @@
  -<?xml version='1.0' encoding='ISO-8859-1'?>
  -<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.0//EN"
  -"../../dtd/document-v10.dtd">
  -<document>
  -	<header>
  -		<title>Advanced Control Flow</title> 
  -		<authors>
  -			<person name="Christopher Oliver" email="coliver@apache.org" />
  -			<person name="Ovidiu Predescu" email="ovidiu@apache.org" />
  -		</authors>
  -	</header>
  -<body>
  -	<s1 title="Velocity Generator">
  -  <p>
  -If called from a Flowscript, the Cocoon <link href="http://jakarta.apache.org/velocity">Velocity</link> <link href="../generators/velocity-generator.html">Generator</link> provides access to the immediate properties of the context object passed to <code><link href="api.html#sendPage">sendPage</link></code> and <code><link href="api.html#sendPageAndWait">sendPageAndWait</link></code>. In that case, the current <code><link href="api.html#WebContinuation">WebContinuation</link></code> is also available as a variable named <code>$continuation</code>
  - You would 
  -typically access its <code>id</code>:</p>
  -<source>
  -   &lt;form action="$continuation.id"&gt;
  -</source>
  -<p>You can also reach previous continuations by using the <code>getContinuation()</code> function:</p>
  -<source>
  -    &lt;form action="$continuation.getContinuation(1).id" &gt;
  -</source>
  -
  -<p>In addition the following implicit objects are always available in
  -the Velocity context:</p>
  -<dl>
  -<dt><code>$request</code> (<code>org.apache.cocoon.environment.Request</code>)</dt>
  -<dd>The current Cocoon request</dd>
  -
  -<dt><code>$response</code> (<code>org.apache.cocoon.environment.Response</code>)</dt>
  -<dd>The Cocoon response associated with the current request</dd>
  -
  -<dt><code>$session</code> (<code>org.apache.cocoon.environment.Session</code>)</dt>
  -<dd>The Cocoon session associated with the current request</dd>
  -
  -<dt><code>$context</code> (<code>org.apache.cocoon.environment.Context</code>)</dt>
  -<dd>The Cocoon context associated with the current request</dd>
  -
  -<dt><code>$parameters</code> (<code>org.apache.avalon.framework.parameters.Parameters</code>)</dt>
  -<dd>Any parameters passed to the generator in the pipeline</dd>
  -</dl>
  -</s1>
  -</body>
  -</document>
  +<?xml version='1.0' encoding='ISO-8859-1'?>
  +<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.0//EN" "../../dtd/document-v10.dtd">
  +<document>
  + <header>
  +  <title>Advanced Control Flow</title> 
  +  <authors>
  +   <person name="Christopher Oliver" email="coliver@apache.org" />
  +   <person name="Ovidiu Predescu" email="ovidiu@apache.org" />
  +  </authors>
  + </header>
  + <body>
  +  <s1 title="Velocity Generator">
  +   <p>If called from a Flowscript, the Cocoon
  +    <link href="http://jakarta.apache.org/velocity">Velocity</link>
  +    <link href="../generators/velocity-generator.html">Generator</link>
  +    provides access to the immediate properties of the context object passed to
  +    <link href="api.html#sendPage"><code>sendPage</code></link> and
  +    <link href="api.html#sendPageAndWait"><code>sendPageAndWait</code></link>. In that case,
  +    the current <link href="api.html#WebContinuation"><code>WebContinuation</code></link>
  +    is also available as a variable named <code>$continuation</code>. You would typically access
  +    its <code>id</code>:</p>
  +   <source>
  +  &lt;form action="$continuation.id"&gt;
  +   </source>
  +   <p>You can also reach previous continuations by using the <code>getContinuation()</code> function:</p>
  +   <source>
  +  &lt;form action="$continuation.getContinuation(1).id" &gt;
  +   </source>
  +   <p>In addition the following implicit objects are always available in the Velocity context:</p>
  +   <dl>
  +    <dt><code>$request</code> (<code>org.apache.cocoon.environment.Request</code>)</dt>
  +    <dd>The current Cocoon request</dd>
  +    <dt><code>$response</code> (<code>org.apache.cocoon.environment.Response</code>)</dt>
  +    <dd>The Cocoon response associated with the current request</dd>
  +    <dt><code>$session</code> (<code>org.apache.cocoon.environment.Session</code>)</dt>
  +    <dd>The Cocoon session associated with the current request</dd>
  +    <dt><code>$context</code> (<code>org.apache.cocoon.environment.Context</code>)</dt>
  +    <dd>The Cocoon context associated with the current request</dd>
  +    <dt><code>$parameters</code> (<code>org.apache.avalon.framework.parameters.Parameters</code>)</dt>
  +    <dd>Any parameters passed to the generator in the pipeline</dd>
  +   </dl>
  +  </s1>
  + </body>
  +</document>
  
  
  
  1.5       +27 -27    cocoon-2.1/src/documentation/xdocs/userdocs/flow/views.xml
  
  Index: views.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/documentation/xdocs/userdocs/flow/views.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- views.xml	30 May 2003 16:06:06 -0000	1.4
  +++ views.xml	30 May 2003 23:05:32 -0000	1.5
  @@ -1,27 +1,27 @@
  -<?xml version="1.0" encoding="UTF-8"?>
  -<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.0//EN" "../../dtd/document-v10.dtd">
  -
  -<document>
  -  <header>
  -    <title>Advanced Control Flow</title>
  -    <authors>
  -      <person name="Ovidiu Predescu" email="ovidiu@apache.org"/>
  -      <person name="Christopher Oliver" email="coliver@apache.org"/>
  -    </authors>
  -  </header>
  -
  -  <body>
  -    <s1 title="Flowscript-aware Generators">
  -<p>
  -The second argument to <code><link href="api.html#sendPage">sendPage</link></code> and <code><link href="api.html#sendPageAndWait">sendPageAndWait</link></code> is a context object, which can be a simple dictionary with values that need to be displayed by the View. More generally any Java or JavaScript object can be passed here, as long as the necessary get methods for the important values are provided.
  -</p>
  -<p>
  -The page specified by the URL is processed by the sitemap, using the normal sitemap rules.
  -</p>
  -<p>
  -Several Cocoon generators are provided that allow you to access the context object and inject its values into a pipeline. Currently, these are the <link href="jxtemplate.html">JXTemplate Generator</link>, <link href="jpath.html">JPath XSP Logic Sheet</link>, and <link href="velocity.html">Velocity Generator</link>.
  -</p>
  -    </s1>
  -
  -  </body>
  -</document>
  +<?xml version="1.0" encoding="UTF-8"?>
  +<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.0//EN" "../../dtd/document-v10.dtd">
  +<document>
  + <header>
  +  <title>Advanced Control Flow</title>
  +  <authors>
  +   <person name="Ovidiu Predescu" email="ovidiu@apache.org"/>
  +   <person name="Christopher Oliver" email="coliver@apache.org"/>
  +  </authors>
  + </header>
  + <body>
  +  <s1 title="Flowscript-aware Generators">
  +   <p>The second argument to <link href="api.html#sendPage"><code>sendPage</code></link> and
  +    <link href="api.html#sendPageAndWait"><code>sendPageAndWait</code></link> is a context object,
  +    which can be a simple dictionary with values that need to be displayed by the View. More
  +    generally any Java or JavaScript object can be passed here, as long as the necessary get
  +    methods for the important values are provided.</p>
  +   <p>The page specified by the URL is processed by the sitemap, using the normal sitemap rules.</p>
  +   <p>Several Cocoon generators are provided that allow you to access the context object and inject
  +    its values into a pipeline. Currently, these are the
  +    <link href="jxtemplate.html">JXTemplate Generator</link>,
  +    <link href="jpath.html">JPath XSP Logic Sheet</link> and
  +    <link href="velocity.html">Velocity Generator</link>.
  +   </p>
  +  </s1>
  + </body>
  +</document>