You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by jk...@apache.org on 2006/07/15 18:57:31 UTC

svn commit: r422268 [3/5] - in /tapestry/tapestry4/trunk: src/documentation/ src/images/ src/site/ src/site/xdoc/components/ support/ tapestry-framework/src/documentation/content/xdocs/ tapestry-framework/src/documentation/content/xdocs/tapestry/Compon...

Added: tapestry/tapestry4/trunk/src/site/xdoc/components/InsertText.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/xdoc/components/InsertText.xml?rev=422268&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/src/site/xdoc/components/InsertText.xml (added)
+++ tapestry/tapestry4/trunk/src/site/xdoc/components/InsertText.xml Sat Jul 15 09:57:28 2006
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright 2004, 2005 The Apache Software Foundation
+    
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<document>
+    <properties>
+        <title>InsertText</title>
+    </properties>
+    <body>
+
+        <section name="InsertText">
+
+            <p>
+                Inserts multi-line text, breaking it into individual lines according to a mode.
+                Commonly used to properly display the data provided by a user via the
+                <a href="TextArea.html">TextArea</a>
+                component.
+            </p>
+
+            <p>
+                <strong>
+                    See also:
+                    <a href="../../tapestry-framework/apidocs/org/apache/tapestry/html/InsertText.html">
+                        org.apache.tapestry.html.InsertText
+                    </a>
+                    ,
+                    <a href="../../tapestry-framework/apidocs/org/apache/tapestry/html/InsertTextMode.html">
+                        org.apache.tapestry.html.InsertTextMode
+                    </a>
+                    ,
+                    <a href="TextArea.html">TextArea</a>
+                </strong>
+            </p>
+
+            <section name="Parameters">
+
+
+                <table>
+                    <tr>
+                        <th>Name</th>
+                        <th>Type</th>
+                        <th>Direction</th>
+                        <th>Required</th>
+                        <th>Default</th>
+                        <th>Description</th>
+                    </tr>
+
+                    <tr>
+                        <td>value</td>
+                        <td>string</td>
+                        <td>in</td>
+                        <td>yes</td>
+                        <td></td>
+                        <td>The multi-line string to render.</td>
+                    </tr>
+
+                    <tr>
+                        <td>mode</td>
+                        <td>
+                            <a
+                                href="../../tapestry-framework/apidocs/org/apache/tapestry/html/InsertTextMode.html">
+                                InsertTextMode
+                            </a>
+                        </td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td>BREAK</td>
+                        <td>Controls how each line is rendered.</td>
+                    </tr>
+
+                    <tr>
+                        <td>raw</td>
+                        <td>boolean</td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td>false</td>
+                        <td>
+                            If true, then output is not filtered for HTML entities. Used when the
+                            value parameter contains markup that should be rendered as-is.
+                        </td>
+                    </tr>
+
+                </table>
+
+                <p>
+                    Body:
+                    <strong>removed</strong>
+                </p>
+
+                <p>
+                    Informal parameters:
+                    <strong>forbidden</strong>
+                </p>
+
+                <p>
+                    Reserved parameters:
+                    <em>none</em>
+                </p>
+
+                <p>
+                    The value parameter is split into multiple lines, and each line is printed. The
+                    default
+                    <em>mode</em>
+                    renders a &lt;br/&gt; tag between lines (that is, before each line after the
+                    first line output). The alternate mode renders &lt;p&gt; and &lt;/p&gt; tags
+                    around each line.
+                </p>
+            </section>
+
+            <p>
+                The OGNL expression
+                <code>@org.apache.tapestry.html.InsertTextMode@PARAGRAPH</code>
+                can be used to specify paragraph rendering mode.
+            </p>
+
+        </section>
+
+    </body>
+</document>

Propchange: tapestry/tapestry4/trunk/src/site/xdoc/components/InsertText.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/src/site/xdoc/components/InvokeListener.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/xdoc/components/InvokeListener.xml?rev=422268&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/src/site/xdoc/components/InvokeListener.xml (added)
+++ tapestry/tapestry4/trunk/src/site/xdoc/components/InvokeListener.xml Sat Jul 15 09:57:28 2006
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright 2005 The Apache Software Foundation
+    
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<document>
+    <properties>
+        <title>InvokeListener</title>
+    </properties>
+    <body>
+
+        <section name="InvokeListener">
+
+            <p>
+                Invoke a listener during the render of the page. Parameters may be passed to the
+                listener.
+            </p>
+
+            <p>
+                <strong>
+                    See also:
+                    <a
+                        href="../../tapestry-framework/apidocs/org/apache/tapestry/components/InvokeListener.html">
+                        org.apache.tapestry.components.InvokeListener
+                    </a>
+                    ,
+                    <a href="Delegator.html">Delegator</a>
+                </strong>
+            </p>
+
+            <section name="Parameters">
+
+
+                <table>
+                    <tr>
+                        <th>Name</th>
+                        <th>Type</th>
+                        <th>Direction</th>
+                        <th>Required</th>
+                        <th>Default</th>
+                        <th>Description</th>
+                    </tr>
+
+                    <tr>
+                        <td>listener</td>
+                        <td>
+                            <a
+                                href="../../tapestry-framework/apidocs/org/apache/tapestry/IActionListener.html">
+                                IActionListener
+                            </a>
+                        </td>
+                        <td>in</td>
+                        <td>yes</td>
+                        <td></td>
+                        <td>The listener to invoke.</td>
+                    </tr>
+
+                    <tr>
+                        <td>parameters</td>
+                        <td>Object</td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td></td>
+                        <td>
+                            Parameter(s) gathered at the time the listener is invoked, supplied as
+                            listener parameters in the IRequestCycle available to the listener.
+                            <p>
+                                If the parameter is a Collection, it will be converted to an Object
+                                array (to match the IRequestCycle getListenerParameters()
+                                signature).
+                            </p>
+                        </td>
+                    </tr>
+                </table>
+
+                <p>
+                    Body:
+                    <strong>removed</strong>
+                </p>
+
+                <p>
+                    Informal parameters:
+                    <strong>forbidden</strong>
+                </p>
+
+                <p>
+                    Reserved parameters:
+                    <em>none</em>
+                </p>
+
+                <p>
+                    This component does not render any output at all. The component is a placeholder
+                    within the page or component template that marks a point where logic within the
+                    Java class should be executed. A typical use of this is to setup properties
+                    needed by components within the template, for example, to fetch an object from a
+                    database so that other components may read or update its properties.
+                </p>
+
+            </section>
+
+        </section>
+
+    </body>
+</document>

Propchange: tapestry/tapestry4/trunk/src/site/xdoc/components/InvokeListener.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/src/site/xdoc/components/LinkSubmit.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/xdoc/components/LinkSubmit.xml?rev=422268&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/src/site/xdoc/components/LinkSubmit.xml (added)
+++ tapestry/tapestry4/trunk/src/site/xdoc/components/LinkSubmit.xml Sat Jul 15 09:57:28 2006
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright 2004, 2005 The Apache Software Foundation
+    
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<document>
+    <properties>
+        <title>LinkSubmit</title>
+    </properties>
+    <body>
+
+        <section name="LinkSubmit">
+
+            <p>
+                Creates a hyperlink that submits its enclosing form using a JavaScript function.
+                <br />
+                Pages incorporating a LinkSubmit component must also include a
+                <a href="Body.html">Body</a>
+                component.
+            </p>
+
+            <p>
+                <strong>
+                    See also:
+                    <a href="../../tapestry-framework/apidocs/org/apache/tapestry/form/LinkSubmit.html">
+                        org.apache.tapestry.form.LinkSubmit
+                    </a>
+                    ,
+                    <a href="Form.html">Form</a>
+                    ,
+                    <a href="ImageSubmit.html">ImageSubmit</a>
+                    ,
+                    <a href="Submit.html">Submit</a>
+                </strong>
+            </p>
+
+            <section name="Parameters">
+
+
+                <table>
+                    <tr>
+                        <th>Name</th>
+                        <th>Type</th>
+                        <th>Direction</th>
+                        <th>Required</th>
+                        <th>Default</th>
+                        <th>Description</th>
+                    </tr>
+                    <tr>
+                        <td>disabled</td>
+                        <td>boolean</td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td>false</td>
+                        <td>
+                            Controls whether the link is produced. If disabled, the portion of the
+                            template the link surrounds is still rendered, but not the link itself.
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>selected</td>
+                        <td>Object</td>
+                        <td>out</td>
+                        <td>no</td>
+                        <td></td>
+                        <td>
+                            This parameter is bound to a property that is updated when the submit
+                            button is clicked by the user. The property is updated to match the tag
+                            parameter.
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>tag</td>
+                        <td>Object</td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td></td>
+                        <td>
+                            Tag used with the selected parameter to indicate which Submit button on
+                            a form was clicked.
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>listener</td>
+                        <td>
+                            <a
+                                href="../../tapestry-framework/apidocs/org/apache/tapestry/IActionListener.html">
+                                IActionListener
+                            </a>
+                        </td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td></td>
+                        <td>
+                            If specified, the listener is notified. This notification occurs as the
+                            component is rewinded, i.e., prior to the Form's listener. In addition,
+                            the selected property (if bound) will be updated before the listener is
+                            notified.
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>action</td>
+                        <td>
+                            <a
+                                href="../../tapestry-framework/apidocs/org/apache/tapestry/IActionListener.html">
+                                IActionListener
+                            </a>
+                        </td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td></td>
+                        <td>
+                            A listener that is notified if this component is triggered just before
+                            the form's listener, after all components enclosed by the Form have had
+                            a chance to update their properties.
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>parameters</td>
+                        <td>Object</td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td></td>
+                        <td>
+                            Parameter(s) gathered at the time the link is triggered, supplied as
+                            listener parameters in the IRequestCycle available to the listener.
+                            <p>
+                                If the parameter is a Collection, it will be converted to an Object
+                                array (to match the IRequestCycle getListenerParameters()
+                                signature).
+                            </p>
+                            <p>
+                                Allows deferred listeners (defer = true) access to any rewind state
+                                not conveniently placed using tag/selected (e.g. when there are
+                                multiple objects to select as might happen with a nested Foreach).
+                            </p>
+                        </td>
+                    </tr>
+                </table>
+
+                <p>
+                    Body:
+                    <strong>allowed</strong>
+                </p>
+
+                <p>
+                    Informal parameters:
+                    <strong>allowed</strong>
+                </p>
+
+                <p>
+                    Reserved parameters:
+                    <em>name, href</em>
+                </p>
+
+            </section>
+
+        </section>
+
+    </body>
+</document>

Propchange: tapestry/tapestry4/trunk/src/site/xdoc/components/LinkSubmit.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/src/site/xdoc/components/Option.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/xdoc/components/Option.xml?rev=422268&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/src/site/xdoc/components/Option.xml (added)
+++ tapestry/tapestry4/trunk/src/site/xdoc/components/Option.xml Sat Jul 15 09:57:28 2006
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright 2005 The Apache Software Foundation
+    
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<document>
+    <properties>
+        <title>Option</title>
+    </properties>
+    <body>
+
+        <section name="Option">
+
+            <p>
+                A component that renders an HTML &lt;option&gt; form element. The Option component
+                must be wrapped by a
+                <a href="Select.html">Select</a>
+                component. For a fully worked example showing the Option component, please refer to
+                the
+                <a href="Select.html">Select</a>
+                documentation.
+            </p>
+
+            <p>
+                <strong>
+                    See also:
+                    <a href="../../tapestry-framework/apidocs/org/apache/tapestry/form/Option.html">
+                        org.apache.tapestry.form.Option
+                    </a>
+                    ,
+                    <a href="Form.html">Form</a>
+                    ,
+                    <a href="PropertySelection.html">PropertySelection</a>
+                    ,
+                    <a href="Select.html">Select</a>
+                </strong>
+            </p>
+
+            <section name="Parameters">
+
+
+                <table>
+                    <tr>
+                        <th>Name</th>
+                        <th>Type</th>
+                        <th>Direction</th>
+                        <th>Required</th>
+                        <th>Default</th>
+                        <th>Description</th>
+                    </tr>
+                    <tr>
+                        <td>selected</td>
+                        <td>boolean</td>
+                        <td>in-out</td>
+                        <td>yes</td>
+                        <td />
+                        <td>Used to indicate whether the given option is selected.</td>
+                    </tr>
+                    <tr>
+                        <td>label</td>
+                        <td>String</td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td />
+                        <td>
+                            A string which represents the option that may be selected. This is
+                            optional; any text that follows the &lt;option&gt; tag is considered the
+                            label, but this saves the designer from have to include one more
+                            <a href="Insert.html">Insert</a>
+                            component to display the option label.
+                        </td>
+                    </tr>
+                </table>
+
+                <p>
+                    Body:
+                    <strong>allowed</strong>
+                </p>
+
+                <p>
+                    Informal parameters:
+                    <strong>allowed</strong>
+                </p>
+
+                <p>Reserved parameters: value</p>
+
+            </section>
+
+            <section name="Examples">
+
+
+                <p>
+                    Please see the documentation for the
+                    <a href="Select.html">Select</a>
+                    component.
+                </p>
+
+            </section>
+
+        </section>
+
+    </body>
+</document>

Propchange: tapestry/tapestry4/trunk/src/site/xdoc/components/Option.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/src/site/xdoc/components/PageLink.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/xdoc/components/PageLink.xml?rev=422268&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/src/site/xdoc/components/PageLink.xml (added)
+++ tapestry/tapestry4/trunk/src/site/xdoc/components/PageLink.xml Sat Jul 15 09:57:28 2006
@@ -0,0 +1,306 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright 2004, 2005 The Apache Software Foundation
+    
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<document>
+    <properties>
+        <title>PageLink</title>
+    </properties>
+    <body>
+
+        <section name="PageLink">
+
+            <p>
+                Creates a HTML &lt;a&gt; hyperlink to another page within the application. The Page
+                component uses the PageService to construct the anchor's "href" URL.
+            </p>
+
+            <p>
+                <strong>
+                    See also:
+                    <a href="../../tapestry-framework/apidocs/org/apache/tapestry/link/PageLink.html">
+                        org.apache.tapestry.link.PageLink
+                    </a>
+                    ,
+                    <a href="DirectLink.html">DirectLink</a>
+                    ,
+                    <a href="ExternalLink.html">ExternalLink</a>
+                    ,
+                    <a href="GenericLink.html">GenericLink</a>
+                    ,
+                    <a href="Rollover.html">Rollover</a>
+                    ,
+                    <a href="ServiceLink.html">ServiceLink</a>
+                </strong>
+
+            </p>
+
+            <section name="Parameters">
+
+
+                <table>
+                    <tr>
+                        <th>Name</th>
+                        <th>Type</th>
+                        <th>Direction</th>
+
+                        <th>Required</th>
+                        <th>Default</th>
+                        <th>Description</th>
+                    </tr>
+                    <tr>
+                        <td>page</td>
+                        <td>String</td>
+
+                        <td>in</td>
+                        <td>yes</td>
+                        <td></td>
+                        <td>The name of an application page to link to.</td>
+                    </tr>
+                    <tr>
+                        <td>namespace</td>
+                        <td>
+                            <a href="../../tapestry-framework/apidocs/org/apache/tapestry/INamespace.html">
+                                INamespace
+                            </a>
+                        </td>
+
+                        <td>in</td>
+                        <td>no</td>
+                        <td></td>
+                        <td>
+                            If specified, the namespace's prefix is prefixed (with a colon) to the
+                            page name. This is primarily used when pages (or components) in a
+                            namespace need to create links to other pages inside the same namespace
+                            (this is only a concern for developers of component libraries, not
+                            developers of applications).
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>disable</td>
+                        <td>boolean</td>
+
+                        <td>in</td>
+                        <td>no</td>
+                        <td>false</td>
+                        <td>
+                            Controls whether the link is produced. If disabled, the portion of the
+                            template the link surrounds is still rendered, but not the link itself.
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>anchor</td>
+
+                        <td>String</td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td></td>
+                        <td>
+                            The name of an anchor or element to link to. The final URL will have '#'
+                            and the anchor appended to it.
+                        </td>
+                    </tr>
+
+                    <tr>
+                        <td>scheme</td>
+                        <td>String</td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td></td>
+                        <td>
+                            The required scheme ("http" or "https", typically) for the URL. This
+                            will force the creation of an absolute URL when the current request's
+                            scheme does not match the value for this parameter. This is most often
+                            used to switch to "https" for secure portions of an application (such as
+                            a login page), before switching back to standard "http" for the majority
+                            of an application.
+                        </td>
+                    </tr>
+
+                    <tr>
+                        <td>port</td>
+                        <td>Integer</td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td></td>
+                        <td>
+                            The required port (80, 443, 8080. 8443, typically) for the URL. This
+                            will force the creation of an absolute URL when the current request's
+                            scheme does not match the value for this parameter. This is most often
+                            used in conjunction with scheme to switch to "https:443"/"https:8443"
+                            for secure portions of an application (such as a login page), before
+                            switching back to standard "http:80"/"http:80" for the majority of an
+                            application.
+                        </td>
+                    </tr>
+
+                    <tr>
+                        <td>target</td>
+
+                        <td>String</td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>renderer</td>
+
+                        <td>
+                            <a
+                                href="../../tapestry-framework/apidocs/org/apache/tapestry/link/ILinkRenderer.html">
+                                ILinkRenderer
+                            </a>
+                        </td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td></td>
+                        <td>The object which will actually render the link.</td>
+                    </tr>
+                </table>
+
+
+                <p>
+                    Body:
+                    <strong>allowed</strong>
+                </p>
+
+                <p>
+                    Informal parameters:
+                    <strong>allowed</strong>
+                </p>
+
+                <p>
+                    Reserved parameters:
+                    <em>href</em>
+
+                </p>
+
+            </section>
+
+            <section name="Examples">
+
+
+                <p>There are two PageLink components in our Home page: Page1 and Page2.</p>
+
+                <p>The Home.html:</p>
+                <source xml:space="preserve">
+...
+&lt;a jwcid="@PageLink" page="Page1"&gt;go to Page1&lt;/a&gt;
+&lt;p&gt; &lt;/p&gt;
+&lt;a jwcid="page2"&gt;go to Page2&lt;/a&gt;
+...
+
+</source>
+
+                <p>The Home.page:</p>
+
+                <source xml:space="preserve">
+...
+&lt;page-specification&gt;
+  ...
+  &lt;component id="page2" type="PageLink"&gt;
+    &lt;binding name="page" value="literal:Page2"/&gt;
+  &lt;/component&gt;
+  ...
+&lt;/page-specification&gt;
+
+</source>
+
+                <p>
+                    Note: in the Home.page file, we use "literal" prefix when binding value of the
+                    "page" parameter of "page2" component, because the default prefix in the
+                    specification file is "ognl".
+                </p>
+
+
+                <p> </p>
+                <p>
+                    <strong>Another example:</strong>
+                </p>
+                <p>
+
+                    This example uses the PageLink component to create a navigation menu bar across
+                    the top of the page. If the user is not authenticated, in their Visit object,
+                    all the navigation bar links are disabled.
+                </p>
+                <p>
+                    Typically you would create an navigation menu component, using the RenderBody
+                    component. This navigation menu component would then be included as the first
+                    element in all the application's pages.
+                </p>
+
+                <p>the html file:</p>
+                <source xml:space="preserve">
+&lt;!-- Navigation Bar --&gt;
+&lt;table bgcolor="navy" cellpadding="8" cellspacing="6" width="100%"&gt;
+ &lt;tr jwcid="@Foreach" source="ognl:engine@NAVIGATION_PAGES" value="ognl:navigationPage" element="tr"&gt;
+   &lt;td&gt;&lt;font color="white"&gt;&lt;b&gt;&lt;span jwcid="@PageLink" page="ognl:navigationPage" disabled="ognl:! visit.authenticated"/&gt;&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;
+ &lt;/tr&gt;
+&lt;/table&gt;
+
+</source>
+
+                <p>the application specification file:</p>
+
+                <source xml:space="preserve">
+...
+&lt;application name="PageLink Examples"&gt;
+  &lt;meta key="org.apache.tapestry.engine-class" value="MailEngine"/&gt;
+  ...
+&lt;/application&gt;
+
+</source>
+
+                <p>the page specification file:</p>
+                <source xml:space="preserve">
+...
+&lt;page-specification class="MailPage"&gt;
+  &lt;property name="navigationPage"/&gt;
+  ...
+&lt;/page-specification&gt;
+
+</source>
+
+                <p>the java class files:</p>
+
+                <source xml:space="preserve">
+public abstract class MailPage extends BasePage {
+    public abstract String getNavigationPage();
+}
+
+public class Visit implements Serializable {
+    private boolean authenticated;
+
+    public boolean isAuthenticated() { return authenticated; }
+
+    public void setAuthenticated(boolean value) {
+        authenticated = value;
+    }
+}
+
+public class MailEngine extends SimpleEngine implements Serializable {
+    public static final String[] NAVIGATION_PAGES =
+        { "Home", "Inbox", "Sent", "Compose", "Contacts", "Options", "Help", "Logout" };
+}
+
+</source>
+
+            </section>
+
+        </section>
+
+    </body>
+</document>

Propchange: tapestry/tapestry4/trunk/src/site/xdoc/components/PageLink.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/src/site/xdoc/components/PropertySelection.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/xdoc/components/PropertySelection.xml?rev=422268&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/src/site/xdoc/components/PropertySelection.xml (added)
+++ tapestry/tapestry4/trunk/src/site/xdoc/components/PropertySelection.xml Sat Jul 15 09:57:28 2006
@@ -0,0 +1,385 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright 2004, 2005 The Apache Software Foundation
+    
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<document>
+    <properties>
+        <title>PropertySelection</title>
+    </properties>
+    <body>
+
+        <section name="PropertySelection">
+
+            <p>
+                Creates form elements that allow a property of an object to be set from a drop-down
+                list.
+            </p>
+            <p>
+                Uses a
+                <a
+                    href="../../tapestry-framework/apidocs/org/apache/tapestry/form/IPropertySelectionModel.html">
+                    IPropertySelectionModel
+                </a>
+                to map between Java values that will be assigned, and textual labels that will
+                appear in the HTML response.
+            </p>
+            <p>
+                A useful property selection model is available (
+                <a
+                    href="../../tapestry-framework/apidocs/org/apache/tapestry/form/StringPropertySelectionModel.html">
+                    StringPropertySelectionModel
+                </a>
+                ). You can also create your own model, as illustrated in the examples below.
+            </p>
+            <p>
+                Note that complex value Objects need to properly implement the
+                <code>Object.equals()</code>
+                method if the correct initial item is to be displayed.
+            </p>
+
+            <p>
+                Informal parameters are applied to the &lt;select&gt; tag.  To have greater control
+                over the &lt;option&gt; tags, you must use the
+                <a href="Select.html">Select</a>
+                and
+                <a href="Option.html">Option</a>
+                components.
+            </p>
+
+            <p>
+                <strong>
+                    See also:
+                    <a
+                        href="../../tapestry-framework/apidocs/org/apache/tapestry/form/PropertySelection.html">
+                        org.apache.tapestry.form.PropertySelection
+                    </a>
+                    ,
+                    <a href="Select.html">Select</a>
+                    ,
+                    <a href="Option.html">Option</a>
+                    ,
+                    <a href="Radio.html">Radio</a>
+                    ,
+                    <a href="RadioGroup.html">RadioGroup</a>
+                    ,
+                    <a href="Form.html">Form</a>
+                    ,
+                    <a href="Script.html">Script</a>
+                </strong>
+
+            </p>
+
+            <section name="Parameters">
+
+
+                <table>
+                    <tr>
+                        <th>Name</th>
+                        <th>Type</th>
+                        <th>Direction</th>
+
+                        <th>Required</th>
+                        <th>Default</th>
+                        <th>Description</th>
+                    </tr>
+                    <tr>
+                        <td>value</td>
+                        <td>Object</td>
+
+                        <td>in-out</td>
+                        <td>yes</td>
+                        <td />
+                        <td>
+                            The property to set. During rendering, this property is read, and sets
+                            the default value of the selection (if it is null, no element is
+                            selected). When the form is submitted, this property is updated based on
+                            the new selection.
+                        </td>
+                    </tr>
+                    <tr>
+
+                        <td>model</td>
+                        <td>
+                            <a
+                                href="../../tapestry-framework/apidocs/org/apache/tapestry/form/IPropertySelectionModel.html">
+                                IPropertySelectionModel
+                            </a>
+                        </td>
+                        <td>in</td>
+                        <td>yes</td>
+                        <td />
+                        <td>
+                            The model provides a list of possible labels, and matches those labels
+                            against possible values that can be assigned back to the property.
+                        </td>
+
+                    </tr>
+                    <tr>
+                        <td>disabled</td>
+                        <td>boolean</td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td>false</td>
+
+                        <td>
+                            Controls whether the &lt;select&gt; is active or not. A disabled
+                            PropertySelection does not update its value parameter. Corresponds to
+                            the "disabled" HTML attribute.
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>submitOnChange (deprecated)</td>
+                        <td>boolean</td>
+
+                        <td>in</td>
+                        <td>no</td>
+                        <td>false</td>
+                        <td>
+                            If true, then additional JavaScript is added to submit the containing
+                            form when select is changed. Equivalent to specifying a JavaScript event
+                            handler of
+                            <code>this.form.submit()</code>
+                            .
+                        </td>
+                    </tr>
+
+                    <tr>
+                        <td>displayName</td>
+                        <td>String</td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td />
+                        <td>
+
+                            The user-presentable name for the component, which will be used by a
+                            <a href="site:FieldLabel">FieldLabel</a>
+                            connected to the component.
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>validators</td>
+                        <td>
+                            Array or collection of
+                            <a
+                                href="../../tapestry-framework/apidocs/org/apache/tapestry/form/validator/Validator.html">
+                                Validator
+                            </a>
+                            , or
+                            <a
+                                href="../../tapestry-framework/apidocs/org/apache/tapestry/form/validator/Validator.html">
+                                Validator
+                            </a>
+                        </td>
+                        <td>in</td>
+
+                        <td>no</td>
+                        <td />
+                        <td>The validators to apply to the component.</td>
+                    </tr>
+                    <tr>
+                        <td>id</td>
+
+                        <td>String</td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td />
+                        <td>
+                            The value of the id attribute in the generated
+                            <em>&lt;select&gt;</em>
+                            tag.
+                        </td>
+
+                    </tr>
+                </table>
+
+                <p>
+                    Body:
+                    <strong>removed</strong>
+                </p>
+
+                <p>
+                    Informal parameters:
+                    <strong>allowed</strong>
+                </p>
+
+                <p>
+                    Reserved parameters:
+                    <em>name</em>
+                </p>
+
+            </section>
+
+            <section name="Examples">
+
+
+                <subsection name="Example 1">
+
+
+                    <p>
+                        The PropertySelection component provides Gender selection drop down list
+                        using a
+                        <a
+                            href="../../tapestry-framework/apidocs/org/apache/tapestry/form/StringPropertySelectionModel.html">
+                            StringPropertySelectionModel
+                        </a>
+                    </p>
+
+                    <source xml:space="preserve">
+&lt;form jwcid="@Form" listener="listener:formSubmit"&gt;
+ Gender: &lt;span jwcid="@PropertySelection" model="ognl:@com.myexample.DetailsPage@GENDER_MODEL" value="ognl:gender"/&gt;
+ &lt;input type="submit"/&gt;
+&lt;/form&gt;
+</source>
+
+                    <source xml:space="preserve">
+public abstract class DetailsPage extends BasePage {
+  public static final IPropertySelectionModel GENDER_MODEL =
+      new StringPropertySelectionModel(new String[] { "Unspecified", "Female", "Male" });
+
+  public abstract String getGender();
+
+  public void formSubmit(IRequestCycle cycle) {
+      // Process form submission
+      String genderSelection = getGender();
+      ...
+  }
+}
+</source>
+
+                </subsection>
+
+                <subsection name="Example 2">
+
+                    <p>
+                        Provides list of clothing items for the user to select. When the user
+                        selects a cloting item from the list the description the label and price is
+                        automatically updated. The list of clothing items would typically be loaded
+                        from a database.
+                    </p>
+
+                    <p>PurchasePage.html</p>
+
+                    <source xml:space="preserve">
+&lt;body jwcid="@Body"&gt;
+&lt;form jwcid="@Form" listener="listener:formSubmit"&gt;
+ &lt;span jwcid="@FieldLabel" field="component:itemSelection"&gt;Selection&lt;/span&gt;
+ &lt;span jwcid="itemSelection@PropertySelection"
+       model="ognl:itemSelectionModel"
+       value="ognl:clothingItem"
+       onchange="javascript:this.form.events.refresh();"
+       displayName="Choose an item"/&gt;
+ &lt;input type="submit" value="Show me this item"/&gt;
+ &lt;span jwcid="@Conditional" condition="ognl:clothingItem!=null"&gt;
+ &lt;p&gt;Description: &lt;span jwcid="@Insert" value="ognl:clothingItem.description"/&gt;&lt;/p&gt;
+ &lt;p&gt;Label: &lt;span jwcid="@Insert" value="ognl:clothingItem.label"/&gt;&lt;/p&gt;
+ &lt;p&gt;Price: $&lt;span jwcid="@Insert" value="ognl:clothingItem.price"/&gt;&lt;/p&gt;
+ &lt;/span&gt;
+&lt;/form&gt;
+&lt;/body&gt;
+</source>
+
+                    <p>PurchasePage.java</p>
+                    <source xml:space="preserve">
+public abstract class PurchasePage extends BasePage implements PageDetachListener {
+
+  private ItemSelectionModel model = null;
+
+  public abstract Item getClothingItem();
+  public abstract void setClothingItem(Item value);
+
+  public ItemSelectionModel getItemSelectionModel() {
+    if (model == null) {
+      List items = new ArrayList();
+      items.add(new Item(1, "Dress", "Cotton full length Summer dress", "CountryClub", "89.95"));
+      items.add(new Item(2, "Jacket", "Gorgeous jacket", "CountryClub", "119.95"));
+      model = new ItemSelectionModel(items);
+    }
+    return model;
+  }
+
+  public void formSubmit() {
+    // Process form submission
+
+  }
+
+  public void pageDetached(PageEvent pageEvent) {
+    model = null;
+  }
+
+}
+</source>
+
+                    <p>Item.java</p>
+                    <source xml:space="preserve">
+public class Item implements Serializable {
+  private int id;
+  private String name;
+  private String description;
+  private String label;
+  private String price;
+
+  public Item(int id, String name, String desc, String label, String price) {
+      this.id = id;
+      this.name = name;
+      this.description = desc;
+      this.label = label;
+      this.price = price;
+  }
+
+  public int getId() { return id;  }
+
+  public String getName() { return name;  }
+
+  public String getDescription() { return description;  }
+
+  public String getLabel() { return label;  }
+
+  public String getPrice() { return price;  }
+}
+</source>
+
+                    <p>ItemSelectionModel.java</p>
+                    <source xml:space="preserve">
+public class ItemSelectionModel implements IPropertySelectionModel, Serializable {
+  private List itemList;
+
+  public ItemSelectionModel(List itemList) {
+      this.itemList = itemList;
+  }
+
+  public int getOptionCount() { return itemList.size(); }
+
+  public Object getOption(int index) {
+      return itemList.get(index);
+  }
+
+  public String getLabel(int index) {
+      return ((Item) itemList.get(index)).getName();
+  }
+
+  public String getValue(int index) { return Integer.toString(index); }
+
+  public Object translateValue(String value) {
+      return getOption(Integer.parseInt(value));
+  }
+}
+</source>
+                </subsection>
+            </section>
+
+        </section>
+
+    </body>
+</document>

Propchange: tapestry/tapestry4/trunk/src/site/xdoc/components/PropertySelection.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/src/site/xdoc/components/Radio.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/xdoc/components/Radio.xml?rev=422268&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/src/site/xdoc/components/Radio.xml (added)
+++ tapestry/tapestry4/trunk/src/site/xdoc/components/Radio.xml Sat Jul 15 09:57:28 2006
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright 2005 The Apache Software Foundation
+    
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<document>
+    <properties>
+        <title>Radio</title>
+    </properties>
+    <body>
+
+        <section name="Radio">
+
+            <p>
+                Provides a HTML &lt;input type="radio"&gt; form element. The Radio component must be
+                wrapped (possibly indirectly) inside a
+                <a href="RadioGroup.html">RadioGroup</a>
+                component.
+            </p>
+
+            <p>
+                Generally the
+                <a href="PropertySelection.html">PropertySelection</a>
+                component is used in preference to the Radio and
+                <a href="RadioGroup.html">RadioGroup</a>
+                , except in special cases.
+            </p>
+            <p>
+                <strong>
+                    See also:
+                    <a href="../../tapestry-framework/apidocs/org/apache/tapestry/form/Radio.html">
+                        org.apache.tapestry.form.Radio
+                    </a>
+                    ,
+                    <a href="Form.html">Form</a>
+                    ,
+                    <a href="Option.html">Option</a>
+                    ,
+                    <a href="PropertySelection.html">PropertySelection</a>
+                    ,
+                    <a href="RadioGroup.html">RadioGroup</a>
+                    ,
+                    <a href="Select.html">Select</a>
+                </strong>
+
+            </p>
+
+            <section name="Parameters">
+
+
+                <table>
+                    <tr>
+                        <th>Name</th>
+                        <th>Type</th>
+                        <th>Direction</th>
+
+                        <th>Required</th>
+                        <th>Default</th>
+                        <th>Description</th>
+                    </tr>
+                    <tr>
+                        <td>value</td>
+                        <td>Object</td>
+
+                        <td>in</td>
+                        <td>no</td>
+                        <td />
+                        <td>
+                            The value is used to determine if the radio button is initially selected
+                            (when rendering) and is the value assigned to the selected parameter
+                            when the form is submitted, if the HTML radio button is selected.
+                        </td>
+                    </tr>
+                    <tr>
+
+                        <td>disabled</td>
+                        <td>boolean</td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td>false</td>
+                        <td>
+
+                            If true, then the Radio is disabled. It will write a "disabled"
+                            attribute into its tag when rendering, and will not update its selected
+                            binding. A Radio may also be disabled if its containing RadioGroup is
+                            disabled.
+                        </td>
+                    </tr>
+
+                </table>
+
+                <p>
+                    Body:
+                    <strong>removed</strong>
+                </p>
+
+                <p>
+                    Informal parameters:
+                    <strong>allowed</strong>
+
+                </p>
+
+                <p>Reserved parameters: checked, name, type</p>
+
+            </section>
+
+            <section name="Examples">
+
+
+                <p>
+                    See
+                    <a href="RadioGroup.html">RadioGroup</a>
+                    for a Radio component example.
+                </p>
+
+            </section>
+
+        </section>
+
+    </body>
+</document>

Propchange: tapestry/tapestry4/trunk/src/site/xdoc/components/Radio.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/src/site/xdoc/components/RadioGroup.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/xdoc/components/RadioGroup.xml?rev=422268&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/src/site/xdoc/components/RadioGroup.xml (added)
+++ tapestry/tapestry4/trunk/src/site/xdoc/components/RadioGroup.xml Sat Jul 15 09:57:28 2006
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright 2004, 2005 The Apache Software Foundation
+    
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<document>
+    <properties>
+        <title>RadioGroup</title>
+    </properties>
+    <body>
+
+        <section name="RadioGroup">
+
+            <p>
+                Provides a container group for Radio components. The RadioGroup itself must be
+                within a
+                <a href="Form.html">Form</a>
+                component. The
+                <a href="Radio.html">Radio</a>
+                and RadioGroup components work together to update a property of an object, much like
+                a more flexible version of a
+                <a href="PropertySelection.html">PropertySelection</a>
+                . This component should wrap around other
+                <a href="Radio.html">Radio</a>
+                components.
+            </p>
+
+            <span class="warn">
+                <strong>Warning:</strong>
+                <p>
+                RadioGroup components may not nest.
+                </p>
+            </span>
+
+            <p>
+                <strong>
+                    See also:
+                    <a href="../../tapestry-framework/apidocs/org/apache/tapestry/form/RadioGroup.html">
+                        org.apache.tapestry.form.RadioGroup
+                    </a>
+                    ,
+                    <a href="Option.html">Option</a>
+                    ,
+                    <a href="PropertySelection.html">PropertySelection</a>
+                    ,
+                    <a href="Radio.html">Radio</a>
+                    ,
+                    <a href="Select.html">Select</a>
+                </strong>
+
+            </p>
+
+            <section name="Parameters">
+
+
+                <table>
+                    <tr>
+                        <th>Name</th>
+                        <th>Type</th>
+                        <th>Direction</th>
+
+                        <th>Required</th>
+                        <th>Default</th>
+                        <th>Description</th>
+                    </tr>
+                    <tr>
+                        <td>selected</td>
+                        <td>Object</td>
+
+                        <td>in-out</td>
+                        <td>yes</td>
+                        <td />
+                        <td>
+                            Read during rendering to determine which Radio will be the default.
+                            Updated during rewinding (when the form is submitted) to indicate which
+                            radio button was selected by the user (null if no button was selected).
+                        </td>
+                    </tr>
+                    <tr>
+
+                        <td>disabled</td>
+                        <td>boolean</td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td>false</td>
+                        <td>
+
+                            If true, then all contained Radio components will be disabled as well.
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>displayName</td>
+                        <td>string</td>
+                        <td>in</td>
+                        <td>no</td>
+
+                        <td />
+                        <td>
+                            The user-presentable name for the component, which will be used by a
+                            <a href="FieldLabel.html">FieldLabel</a>
+                            connected to the component.
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>validators</td>
+                        <td>
+                            Array or collection of
+                            <a
+                                href="../../tapestry-framework/apidocs/org/apache/tapestry/form/validator/Validator.html">
+                                Validator
+                            </a>
+                            , or
+                            <a
+                                href="../../tapestry-framework/apidocs/org/apache/tapestry/form/validator/Validator.html">
+                                Validator
+                            </a>
+                        </td>
+
+                        <td>in</td>
+                        <td>no</td>
+                        <td />
+                        <td>
+                            The validators to apply to the component. In many cases, a "validators:"
+                            binding prefix should be used.
+                        </td>
+                    </tr>
+                </table>
+
+
+                <p>
+                    Body:
+                    <strong>allowed</strong>
+                </p>
+
+                <p>
+                    Informal parameters:
+                    <strong>forbidden</strong>
+                </p>
+
+                <p>
+                    Reserved parameters:
+                    <em>none</em>
+
+                </p>
+
+            </section>
+
+            <section name="Examples">
+
+
+                <p>
+                    This RadioGroup example illustrates an order form where a user can select the
+                    order size.
+                </p>
+
+                <source xml:space="preserve">
+&lt;form jwcid="@Form" success="listener:doSubmit"&gt;
+ &lt;span jwcid="@FieldLabel" field="component:size"&gt;Radio&lt;/span&gt;
+ &lt;span jwcid="size@RadioGroup" selected="ognl:orderSize" displayName="Size" validators="validators:required"&gt;
+  &lt;input type="radio" jwcid="@Radio" value="ognl:@com.myexample.OrderPage@SMALL"/&gt; Small
+  &lt;input type="radio" jwcid="@Radio" value="ognl:@com.myexample.OrderPage@MEDIUM"/&gt; Medium
+  &lt;input type="radio" jwcid="@Radio" value="ognl:@com.myexample.OrderPage@LARGE"/&gt; Large
+  &lt;input type="submit" value="Order"/&gt;
+ &lt;/span&gt;
+&lt;/form&gt;
+</source>
+
+                <source xml:space="preserve">
+package com.myexample;
+
+import org.apache.tapestry.html.BasePage;
+
+public abstract class OrderPage extends BasePage {
+
+  public final static Integer SMALL = new Integer(1);
+  public final static Integer MEDIUM = new Integer(2);
+  public final static Integer LARGE = new Integer(3);
+
+  public abstract Integer getOrderSize();
+
+  public void doSubmit() {
+    // process order
+
+  }
+
+}
+</source>
+
+
+            </section>
+
+        </section>
+
+    </body>
+</document>

Propchange: tapestry/tapestry4/trunk/src/site/xdoc/components/RadioGroup.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/src/site/xdoc/components/RenderBlock.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/xdoc/components/RenderBlock.xml?rev=422268&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/src/site/xdoc/components/RenderBlock.xml (added)
+++ tapestry/tapestry4/trunk/src/site/xdoc/components/RenderBlock.xml Sat Jul 15 09:57:28 2006
@@ -0,0 +1,378 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright 2004, 2005 The Apache Software Foundation
+    
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<document>
+    <properties>
+        <title>RenderBlock</title>
+    </properties>
+    <body>
+
+        <section name="RenderBlock">
+
+            <p>
+                Renders the body of a
+                <a href="Block.html">Block</a>
+                component, which may be selected dynamically. The
+                <a href="Block.html">Block</a>
+                may be on the same page as the RenderBlock or on another page entirely.
+            </p>
+
+            <span class="warn">
+                <strong>Warning:</strong>
+                <p>
+                The
+                <a
+                    href="../../tapestry-framework/apidocs/org/apache/tapestry/event/PageBeginRenderListener.html">
+                    PageBeginRenderListener
+                </a>
+                (and
+                <a
+                    href="../../tapestry-framework/apidocs/org/apache/tapestry/event/PageEndRenderListener.html">
+                    PageEndRenderListener
+                </a>
+                ) event notications only go to the
+                <em>active page</em>
+                (the active page is the page that renders the response). It is possible to pass a
+                <a href="Block.html">Block</a>
+                from an entirely different page to a RenderBlock, but render listeners of both types
+                on the non-active pages will
+                <em>not</em>
+                be notified.
+                </p>
+            </span>
+
+            <p>
+                <strong>
+                    See also:
+                    <a
+                        href="../../tapestry-framework/apidocs/org/apache/tapestry/components/RenderBlock.html">
+                        org.apache.tapestry.components.RenderBlock
+                    </a>
+                    ,
+                    <a href="Block.html">Block</a>
+                </strong>
+            </p>
+
+            <section name="Parameters">
+
+
+                <table>
+                    <tr>
+                        <th>Name</th>
+                        <th>Type</th>
+                        <th>Direction</th>
+                        <th>Required</th>
+                        <th>Default</th>
+                        <th>Description</th>
+                    </tr>
+
+                    <tr>
+                        <td>block</td>
+                        <td>
+                            <a href="Block.html">Block</a>
+                        </td>
+                        <td>in</td>
+                        <td>yes</td>
+                        <td></td>
+                        <td>
+                            The
+                            <a href="Block.html">Block</a>
+                            to render.
+                        </td>
+                    </tr>
+
+                </table>
+
+                <p>
+                    Body:
+                    <strong>removed</strong>
+                </p>
+
+                <p>
+                    Informal parameters:
+                    <strong>allowed</strong>
+                </p>
+
+                <p>
+                    Reserved parameters:
+                    <em>none</em>
+                </p>
+
+                <p>
+                    Informal parameters are allowed, but are not used by the RenderBlock component.
+                    Instead, they are used to pass information to the
+                    <a href="Block.html">Block</a>
+                    itself. The Block's invoker property will be the
+                    <a href="RenderBlock.html">RenderBlock</a>
+                    that invokes it (in 3.0, this property was called "inserter", which is
+                    maintained for backwards compatibility). The parameters of the RenderBlock are
+                    available via the getParameter() method of
+                    <a href="Block.html">Block</a>
+                    . This is most useful when the RenderBlock and Block are contained within
+                    different components or even different pages.
+                </p>
+
+            </section>
+
+            <section name="Example">
+
+
+                <p>
+                    This example shows a page with a custom TabPanel component. When a user selects
+                    a tab, TabPanel switches content. Each tab content is defined by a Block. The
+                    final result shows a tab view that highlights the currently selected tab:
+
+                </p>
+
+                <img src="../../images/tapestry/ComponentReference/RenderBlock.png"
+                    alt="RenderBlock Screen Shot" />
+
+                <p>First we'll show a page that makes use of the TabPanel component.</p>
+
+                <p>TabTest.html:</p>
+
+                <source xml:space="preserve">
+&lt;html jwcid="@Shell" title="TabPanel Test"&gt;
+  &lt;body&gt;
+  &lt;span jwcid="@TabPanel" blockIds="ognl:{'berlin', 'rome', 'tokyo'}" selectColor="#FFFF00" unSelectColor="#CCFFFF" borderColor="#00CC33"/&gt;
+
+  &lt;span jwcid="berlin@Block"&gt;
+    &lt;h1&gt;Berlin&lt;/h1&gt;
+  &lt;/span&gt;
+
+  &lt;span jwcid="rome@Block"&gt;
+    &lt;h1&gt;Rome&lt;/h1&gt;
+  &lt;/span&gt;
+
+  &lt;span jwcid="tokyo@Block"&gt;
+    &lt;h1&gt;Tokyo&lt;/h1&gt;
+  &lt;/span&gt;
+  &lt;/body&gt;
+&lt;/html&gt;
+</source>
+
+                <p>
+                    For simplicity, this example uses an
+                    <em>engineered naming coincidence</em>
+                    : the names of the
+                    <a href="Block.html">Block</a>
+                    components matches the localized message key used to obtain the title. In this
+                    case, the Blocks contain just a snippet of HTML ... but they could contain any
+                    valid markup, including components, links, forms, or other complex components.
+                    The use of
+                    <a href="http://www.ognl.org">OGNL</a>
+                    makes it easy to assemble a list of strings, the component ids for the Blocks,
+                    and pass that list into the TabPanel component.
+                </p>
+
+                <p>TabTest.properties:</p>
+
+                <source xml:space="preserve">
+berlin=Berlin
+rome=Rome
+tokyo=Tokyo
+</source>
+
+                <p>
+                    Most of the interesting parts, including the use of the RenderBlock component,
+                    occurs inside the TabPanel component specification and template.
+                </p>
+
+                <p>TabPanel.html:</p>
+
+                <source xml:space="preserve">
+&lt;table border="0" width="50%" cellspacing="0" cellpadding="0"&gt;
+  &lt;tr&gt;
+    &lt;td width="10"&gt;&amp;nbsp;&lt;/td&gt;
+    &lt;td&gt;
+      &lt;table border="0" cellspacing="0" cellpadding="5"&gt;
+        &lt;tr&gt;
+          &lt;span jwcid="loop"&gt;
+            &lt;td jwcid="tab"&gt;
+              &lt;a jwcid="link"&gt;
+                &lt;span jwcid="@Insert" value="ognl:container.messages.getMessage(blockId)"&gt;Tab Title&lt;/span&gt;
+              &lt;/a&gt;
+            &lt;/td&gt;
+            &lt;td width="1"&gt;&lt;/td&gt;
+          &lt;/span&gt;
+        &lt;/tr&gt;
+      &lt;/table&gt;
+    &lt;/td&gt;
+    &lt;td width="10"&gt;&amp;nbsp;&lt;/td&gt;
+  &lt;/tr&gt;
+  &lt;tr&gt;
+    &lt;td jwcid="@Any" height="5" bgcolor="ognl:borderColor" colspan="3"&gt;&amp;nbsp;&lt;/td&gt;
+  &lt;/tr&gt;
+  &lt;tr&gt;
+    &lt;td jwcid="@Any" width="10" bgcolor="ognl:borderColor"&gt;&amp;nbsp;&lt;/td&gt;
+    &lt;td align="center"&gt;
+      &lt;span jwcid="@RenderBlock" block="ognl:selectedBlock"&gt;Page content goes here&lt;/span&gt;
+    &lt;/td&gt;
+    &lt;td jwcid="@Any" width="10" bgcolor="ognl:borderColor"&gt;&amp;nbsp;&lt;/td&gt;
+  &lt;/tr&gt;
+  &lt;tr&gt;
+    &lt;td jwcid="@Any" height="5" bgcolor="ognl:borderColor" colspan="3"&gt;&amp;nbsp;&lt;/td&gt;
+  &lt;/tr&gt;
+&lt;/table&gt;
+</source>
+
+                <p>The key concepts shown here are:</p>
+
+                <ul>
+                    <li>
+                        The loop component, which iterates over the blockIds parameter (a List of
+                        strings), setting the blockId property on each pass
+                    </li>
+                    <li>
+                        The @
+                        <a href="Insert.html">Insert</a>
+                        component, which users the current blockId to look up a localized message in
+                        the TabPanel component's container (the TabTest page)
+                    </li>
+                    <li>
+                        The RenderBlock component, which uses the component's selectedBlock property
+                        to determine what
+                        <a href="Block.html">Block</a>
+                        to actually render
+                    </li>
+                    <li>
+                        The use of the @
+                        <a href="Any.html">Any</a>
+                        component to render several &lt;td&gt; elements with the current bgcolor
+                        attribute.
+                    </li>
+                </ul>
+
+                <p>Several of the details are filled out in the component specification.</p>
+
+                <p>TabPanel.jwc:</p>
+
+                <source xml:space="preserve">
+&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;!DOCTYPE component-specification
+  PUBLIC "-//Apache Software Foundation//Tapestry Specification 4.0//EN"
+  "http://tapestry.apache.org/dtd/Tapestry_4_0.dtd"&gt;
+
+&lt;component-specification class="com.example.components.TabPanel" allow-body="no" allow-informal-parameters="no"&gt;
+
+  &lt;property name="selectedBlockId" persist="session"/&gt;
+
+  &lt;parameter name="blockIds" required="yes"/&gt;
+  &lt;parameter name="borderColor" required="yes"/&gt;
+  &lt;parameter name="selectColor" default-value="#7D000D"/&gt;
+  &lt;parameter name="unSelectColor" default-value="#C0C0C0"/&gt;
+
+  &lt;component id="loop" type="Foreach"&gt;
+    &lt;binding name="source" value="blockIds"/&gt;
+    &lt;binding name="value" value="blockId"/&gt;
+  &lt;/component&gt;
+  
+  &lt;component id="tab" type="Any"&gt;
+    &lt;binding name="bgcolor"&gt;
+      tabSelected ? selectColor : unSelectColor
+    &lt;/binding&gt;
+  &lt;/component&gt;
+      
+  &lt;component id="link" type="DirectLink"&gt;
+    &lt;binding name="listener" value="listener:doClick"/&gt;
+    &lt;binding name="parameters" value="blockId"/&gt;
+    &lt;binding name="disabled" value="tabSelected"/&gt;
+  &lt;/component&gt;
+&lt;/component-specification&gt;
+
+
+</source>
+
+                <p>
+                    Several bindings in the specification depend on the tabSelected property, which
+                    is a synthetic property calculated in Java code. In addition, the @
+                    <a href="DirectLink.html">DirectLink</a>
+                    component is configured to pass the block id in the URL as a listener parameter.
+                </p>
+
+                <p>TabPanel.java:</p>
+
+                <source xml:space="preserve">
+package com.example.components;
+
+import org.apache.tapestry.BaseComponent;
+import org.apache.tapestry.components.Block;
+
+import java.util.List;
+
+public abstract class TabPanel extends BaseComponent
+{
+    // Persistent
+    public abstract String getSelectedBlockId();
+    public abstract void setSelectedBlockId(String id);
+
+    public abstract List getBlockIds();
+
+    // Current block id within the loop
+    public abstract String getBlockId();
+    
+    public Block getSelectedBlock()
+    {
+      String selectedId = getSelectedBlockId();
+      
+      if (selectedId == null)
+        selectedId = (String) getBlockIds().get(0);
+        
+      return (Block) getContainer().getComponent(selectedId);   
+    }
+
+    public boolean isTabSelected()
+    {
+      String selectedId = getSelectedBlockId();
+      
+      if (selectedId == null)
+        selectedId = (String) getBlockIds().get(0);
+        
+      return getBlockId().equals(selectedId);
+    }
+
+    public void doClick(String selectedId) 
+    {
+      setSelectedBlockId(selectedId);
+    }
+}
+</source>
+
+                <p>
+                    The only major trick here is that initially the persistent selectedBlockId
+                    property will be null, and we have to work around it by treating the first
+                    element in the blockIds parameter as the default selectedBlockId. The doClick()
+                    listener method is very simple; the blockId that was passed in the URL is
+                    obtained and used to update the selectedBlockId property, which was declared
+                    persistent in the specification.
+                </p>
+
+                <p>
+                    Note that we don't store the
+                    <a href="Block.html">Block</a>
+                    <em>instance</em>
+                    as a persistent property ... components are not serializable and should never be
+                    stored as persistent properties. We store the id needed to locate the
+                    <a href="Block.html">Block</a>
+                    .
+                </p>
+
+            </section>
+
+        </section>
+
+    </body>
+</document>

Propchange: tapestry/tapestry4/trunk/src/site/xdoc/components/RenderBlock.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/src/site/xdoc/components/RenderBody.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/xdoc/components/RenderBody.xml?rev=422268&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/src/site/xdoc/components/RenderBody.xml (added)
+++ tapestry/tapestry4/trunk/src/site/xdoc/components/RenderBody.xml Sat Jul 15 09:57:28 2006
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright 2004, 2005 The Apache Software Foundation
+    
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<document>
+    <properties>
+        <title>RenderBody</title>
+    </properties>
+    <body>
+
+        <section name="RenderBody">
+
+            <p>
+                Renders the body (static HTML and components) wrapped by the container of the
+                RenderBody component. Components which have HTML templates and can wrap other
+                elements should include exactly one RenderBody component in their template.
+            </p>
+            <p>
+                This component is very useful for creating a common navigational component used by
+                multiple pages of an application. Typically you create a common navigational
+                component which contains navigational links
+                <a href="PageLink.html">PageLink</a>
+                to other pages and a RenderBody component which will insert the actual content of
+                the page. The application pages then use the navigational component as their first
+                element, and then their usual content. When the pages renders, it renders the
+                surrounding navigational component and then the page's content.
+            </p>
+            <p>
+                <strong>See also:</strong>
+                <a href="Block.html">Block</a>
+                ,
+                <a href="Insert.html">Insert</a>
+                ,
+                <a href="RenderBlock.html">RenderBlock</a>
+                ,
+                <a href="InsertText.html">InsertText</a>
+            </p>
+
+            <section name="Parameters">
+                <table>
+                    <tr>
+                        <td>None</td>
+                    </tr>
+                </table>
+
+                <p>
+                    Body:
+                    <strong>removed</strong>
+                </p>
+
+                <p>
+                    Informal parameters:
+                    <strong>forbidden</strong>
+                </p>
+
+                <p>
+                    Reserved parameters:
+                    <em>none</em>
+                </p>
+
+            </section>
+
+            <section name="Examples">
+
+                <p>
+                    This example shows an implementation of the classical Border component, an
+                    application specific component. It is a common practice to use a Border
+                    component to provide common layout to almost all of application pages.
+                </p>
+                <img src="../../images/tapestry/ComponentReference/RenderBody.png"
+                    alt="RenderBody Screen Shot" />
+                <p>Template</p>
+                <source xml:space="preserve">
+&lt;span jwcid="@Border"&gt;
+&lt;H1 align=center&gt;&lt;FONT color=#ff3333&gt;Agnosis&lt;/FONT&gt;&lt;/H1&gt;
+&lt;TABLE align=center border=0&gt;
+   &lt;TR&gt;
+      &lt;TD&gt;
+         &lt;P&gt;
+            &lt;B&gt;A&lt;/B&gt;GNOSIS feliz
+            &lt;BR/&gt;
+            &lt;B&gt;G&lt;/B&gt;racias al ciego destino
+            &lt;BR/&gt;
+            &lt;B&gt;N&lt;/B&gt;ada es constante
+            &lt;BR/&gt;
+            &lt;B&gt;O&lt;/B&gt;lvidados por el Hado
+            &lt;BR/&gt;
+            &lt;B&gt;S&lt;/B&gt;i El existe
+            &lt;BR/&gt;
+            &lt;B&gt;I&lt;/B&gt;ncomprensible y eterno
+            &lt;BR/&gt;
+            &lt;B&gt;S&lt;/B&gt;ilencio
+         &lt;/P&gt;
+      &lt;/TD&gt;
+   &lt;/TR&gt;
+&lt;/TABLE&gt;
+&lt;br/&gt;
+&lt;/span&gt;
+</source>
+                <p>Border.html</p>
+                <source xml:space="preserve">
+&lt;html jwcid="@Shell" title="RenderBody Example"&gt;
+   &lt;body jwcid="@Body"&gt;
+      &lt;table width="100%" cellspacing="0" border="0"&gt;
+         &lt;tr&gt;
+           &lt;td valign="top" style="text-align:justify;"&gt;
+              &lt;span jwcid="@RenderBody"&gt;Page content goes here.&lt;/span&gt;
+           &lt;/td&gt;
+        &lt;/tr&gt;
+        &lt;tr&gt;
+           &lt;td valign="bottom"&gt;
+              &lt;table width="100%" cellspacing="0" border="0"&gt;
+                 &lt;tr&gt;
+                    &lt;td align="center"&gt;
+                       &lt;a href="http://jakarta.apache.org/tapestry"&gt;&lt;img src="images/poweredbyTapestry.gif" width="79" height="33" border="0" alt="Tapestry"&gt;&lt;/a&gt;
+                       &lt;br/&gt;
+                       &lt;br/&gt;
+                    &lt;/td&gt;
+                 &lt;/tr&gt;
+              &lt;/table&gt;
+           &lt;/td&gt;
+        &lt;/tr&gt;
+     &lt;/table&gt;
+  &lt;/body&gt;
+&lt;/html&gt;
+</source>
+                <p>Border.jwc</p>
+                <source xml:space="preserve">
+.....
+&lt;component-specification allow-body="yes" allow-informal-parameters="no"&gt;
+&lt;/component-specification&gt;
+.....
+</source>
+            </section>
+
+        </section>
+
+    </body>
+</document>

Propchange: tapestry/tapestry4/trunk/src/site/xdoc/components/RenderBody.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry4/trunk/src/site/xdoc/components/Rollover.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/xdoc/components/Rollover.xml?rev=422268&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/src/site/xdoc/components/Rollover.xml (added)
+++ tapestry/tapestry4/trunk/src/site/xdoc/components/Rollover.xml Sat Jul 15 09:57:28 2006
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Copyright 2004, 2005 The Apache Software Foundation
+    
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<document>
+    <properties>
+        <title>Rollover</title>
+    </properties>
+    <body>
+
+        <section name="Rollover">
+
+            <p>
+                The Rollover component provides a rollover image button for use with any kind of
+                link component. A rollover button image changes when the mouse move over it or off
+                of it. A Rollover is disabled if the link that wraps it is disabled (in which case
+                it doesn't respond to the mouse). If this dynamic behavior isn't required use the
+                simpler
+                <a href="Image.html">Image</a>
+                component.
+            </p>
+            <p>
+                The component provides all the necessary JavaScript to swap the image when the mouse
+                enters and exits the button. However, the Rollover must be wrapped (ultimately) by a
+                <a href="Body.html">Body</a>
+                component.
+            </p>
+
+            <p>
+                <strong>
+                    See also:
+                    <a href="Body.html">Body</a>
+                    ,
+                    <a href="GenericLink.html">GenericLink</a>
+                    ,
+                    <a href="Image.html">Image</a>
+                    ,
+                    <a href="PageLink.html">PageLink</a>
+                    ,
+                    <a href="Script.html">Script</a>
+                </strong>
+            </p>
+
+            <section name="Parameters">
+
+
+                <table>
+                    <tr>
+                        <th>Name</th>
+                        <th>Type</th>
+                        <th>Direction</th>
+                        <th>Required</th>
+                        <th>Default</th>
+                        <th>Description</th>
+                    </tr>
+
+                    <tr>
+                        <td>image</td>
+                        <td>
+                            <a href="../../tapestry-framework/apidocs/org/apache/tapestry/IAsset.html">
+                                IAsset
+                            </a>
+                        </td>
+
+                        <td>in</td>
+                        <td>yes</td>
+                        <td />
+                        <td>
+                            The initial image to show, if the surrounding link component is not
+                            disabled.
+                        </td>
+                    </tr>
+
+                    <tr>
+                        <td>mouseOver</td>
+                        <td>
+                            <a href="../../tapestry-framework/apidocs/org/apache/tapestry/IAsset.html">
+                                IAsset
+                            </a>
+                        </td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td />
+
+                        <td>
+                            If provided (and the component is not disabled), then a JavaScript
+                            onMouseOver event handler is added to change the image. An onMouseOut
+                            event handler is also provided, to change the button to either it's base
+                            image, or its mouseOut image. Deprecated alias: focus.
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>mouseOut</td>
+                        <td>
+                            <a href="../../tapestry-framework/apidocs/org/apache/tapestry/IAsset.html">
+                                IAsset
+                            </a>
+                        </td>
+                        <td>in</td>
+
+                        <td>no</td>
+                        <td />
+                        <td>
+                            If provided (and the component is not disabled), then a JavaScript
+                            onMouseOut event handler is added to change the image when the mouse is
+                            moved off of the image. Deprecated alias: blur.
+                        </td>
+                    </tr>
+                    <tr>
+                        <td>disabled</td>
+
+                        <td>
+                            <a href="../../tapestry-framework/apidocs/org/apache/tapestry/IAsset.html">
+                                IAsset
+                            </a>
+                        </td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td />
+                        <td>
+                            <p>
+                                Image used when the Rollover is disabled. A Rollover is disabled
+                                when the link component containing it is disabled. Note that the
+                                Rollover component is wrapped by a link component such as the
+                                <a href="PageLink.html">PageLink</a>
+                                component.
+                            </p>
+                            <p>
+                                If no disabled asset is specified, then image asset is used instead.
+                                A disabled Rollover does not respond to the mouse.
+                            </p>
+                        </td>
+
+                    </tr>
+                    <tr>
+                        <td>renderer</td>
+                        <td>
+                            <a
+                                href="../../tapestry-framework/apidocs/org/apache/tapestry/link/ILinkRenderer.html">
+                                ILinkRenderer
+                            </a>
+                        </td>
+                        <td>in</td>
+                        <td>no</td>
+                        <td />
+
+                        <td>The object which will actually render the link.</td>
+                    </tr>
+                </table>
+
+                <p>
+                    Body:
+                    <strong>removed</strong>
+                </p>
+
+                <p>
+                    Informal parameters:
+                    <strong>allowed</strong>
+                </p>
+
+                <p>
+                    Reserved parameters:
+                    <em>name, src, border</em>
+                </p>
+
+            </section>
+
+            <section name="Examples">
+
+                <p>This example is under construction.</p>
+
+            </section>
+
+        </section>
+
+    </body>
+</document>