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

svn commit: r420925 [5/9] - /tapestry/tapestry4/trunk/src/site/xdoc/UsersGuide/

Modified: tapestry/tapestry4/trunk/src/site/xdoc/UsersGuide/properties.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/xdoc/UsersGuide/properties.xml?rev=420925&r1=420924&r2=420925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/src/site/xdoc/UsersGuide/properties.xml (original)
+++ tapestry/tapestry4/trunk/src/site/xdoc/UsersGuide/properties.xml Tue Jul 11 09:54:16 2006
@@ -1,539 +1,730 @@
 <?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.
+    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>Tapestry Object Properties</title>
-</properties>
-<body>
-<p>
-When using Tapestry, an important aspect of your work is to leverage the properties exposed
-by the various objects within Tapestry. A page has properties (inherited from base classes
-such as <a href="../tapestry-framework/apidocs/org/apache/tapestry/AbstractComponent.html">AbstractComponent</a> and <a href="../tapestry-framework/apidocs/org/apache/tapestry/html/BasePage.html">BasePage</a>) and contains components and other objects
-with more properties. Pages are connected to an engine, which exports its own set of properties.
-This table is a quick guide to the most common objects and their properties.	
-</p>
-
-<table>
-			<tr>
-				<th>Property name</th>
-				<th>Defining class</th>
-				<th>Property type</th>
-				<th>Description</th>
-			</tr>	
-			
-			
-<tr>
-	<td>assets</td>
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">IComponent</a>
-</td>
-	<td>Map of <a href="../tapestry-framework/apidocs/org/apache/tapestry/IAsset.html">IAsset</a>
-</td>
-	<td>
-	Localized assets as defined in the component's specification.	
-	</td>
-</tr>			
-
-
-
-<tr>
-	<td>beans</td>
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">IComponent</a>
-</td>
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IBeanProvider.html">IBeanProvider</a>
-</td>
-	<td>Used to access beans defined using the <a href="spec.html#spec.bean">&lt;bean&gt;</a> specification element.</td>
-</tr>
-			
-			
-<tr>
-	<td>bindingNames</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">IComponent</a>
-</td>
-	<td>Collection of String</td>
-	<td>
-	The names of all formal and informal parameter bindings for the component.
-	</td>
-</tr>
-
-<tr>
-	<td>bindings</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">IComponent</a>
-</td>
-	<td>Map of <a href="../tapestry-framework/apidocs/org/apache/tapestry/IBinding.html">IBinding</a>
-</td>
-	<td>
-	All bindings (for both formal and informal parameters) for this component, keyed on
-	the parameter name.
-	</td>
-</tr>		
-
-<tr>
-	<td>body</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/AbstractComponent.html">AbstractComponent</a>
-</td>
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IRender.html">IRender</a>[]</td>
-	<td>
-	The body of the component: the text (as <a href="../tapestry-framework/apidocs/org/apache/tapestry/IRender.html">IRender</a>) and components (which inherit from
-	<a href="../tapestry-framework/apidocs/org/apache/tapestry/IRender.html">IRender</a>) that the component directly encloses within its container's template.
-	</td>
-</tr>
-
-<tr>
-	<td>bodyCount</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/AbstractComponent.html">AbstractComponent</a>
-</td>
-	<td>int</td>
-	<td>
-	The active number of elements in the body property array.
-	</td>
-</tr>
-
-
-<tr>
-	<td>components</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">IComponent</a>
-</td>
-	<td>Map of <a href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">IComponent</a>
-</td>
-	<td>
-	All components contained by this component, keyed on the component id.	
-	</td>
-</tr>
-
-
-<tr>
-	<td>changeObserver</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IPage.html">IPage</a>
-</td>
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/event/ChangeObserver.html">ChangeObserver</a>
-</td>
-	<td>An object that recieves notifications about changes to persistent page properties.</td>
-</tr>
-
-<tr>
-<td>classResolver</td>	
-<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">IEngine</a>
-</td>
-<td>ClassResolver</td>
-<td>
-Object responsible for locating classes and classpath resources.	
-</td>
-</tr>
-
-<tr>
-<td>componentMessagesSource</td>	
-<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">IEngine</a>
-</td>
-<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/engine/IComponentMessagesSource.html">IComponentMessagesSource</a>
-</td>
-<td>
-	An object that allows components to find their set of localized messages. 
-	</td>
-</tr>
-
-<tr>
-	<td>container</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">IComponent</a>
-</td>
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">IComponent</a>
-</td>
-	<td>
-	The page or component which contains this component.  Pages will return null.	
-	</td>
-</tr>	
-
-
-
-<tr>
-	<td>disabled</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/form/IFormComponent.html">IFormComponent</a>
-</td>
-	<td>boolean</td>
-	<td>
-	If true, the component should be disabled (and not respond to query parameters passed up in the request).	
-	</td>
-</tr>
-
-<tr>
-	<td>displayName</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/form/IFormComponent.html">IFormComponent</a>
-</td>
-	<td>String</td>
-	<td>
-	Localized string to be displayed as a label for the form control. Most implementations leave this
-	undefined (as null).	
-	</td>
-</tr>
-
-<tr>
-	<td>engine</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IPage.html">IPage</a>
-</td>
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">IEngine</a>
-</td>
-	<td>The engine to which the page is currently attached.</td>
-</tr>
-
-<tr>
-	<td>extendedId</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">IComponent</a>
-</td>
-	<td>String</td>
-	<td>
-	An "extended" version of the idPath	 property that
-	includes the name of the page containing the component as well.
-	</td>
-</tr>
-
-<tr>
-	<td>form</td>
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/form/IFormComponent.html">IFormComponent</a>
-</td>
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IForm.html">IForm</a>
-</td>
-	<td>
-	The form which encloses the form control component.	
-	</td>
-</tr>
-
-<tr>
-	<td>global</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">IEngine</a>, <a href="../tapestry-framework/apidocs/org/apache/tapestry/IPage.html">IPage</a>
-</td>
-	<td>Object</td>
-	<td>
-	The Global object for the application.	
-	</td>
-</tr>
-
-<tr>
-	<td>hasVisit</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/engine/AbstractEngine.html">AbstractEngine</a>
-</td>
-	<td>boolean</td>
-	<td>
-	Returns true if the Visit object has been created, false initially.	
-	</td>
-</tr>
-
-<tr>
-	<td>id</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">IComponent</a>
-</td>
-	<td>String</td>
-	<td>
-	The id of the component, which is unique within its container. In many cases, the framework
-	may have assigned an automatically generated id. Pages do not have an id and return null.
-	</td>
-</tr>
-
-<tr>
-	<td>idPath</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">IComponent</a>
-</td>
-	<td>String</td>
-	<td>A sequence of id's used to locate a component within a page.  A component <code>bar</code>
-		within a component <code>foo</code> within a page will have an idPath
-		of <code>foo.bar</code>. Pages return null.
-		</td>
-</tr>
-
-<tr>
-	<td>listeners</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/AbstractComponent.html">AbstractComponent</a>, <a href="../tapestry-framework/apidocs/org/apache/tapestry/engine/AbstractEngine.html">AbstractEngine</a>
-</td>
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/listener/ListenerMap.html">ListenerMap</a>
-</td>
-	<td>
-	Used to map listener methods as objects that implement the <a href="../tapestry-framework/apidocs/org/apache/tapestry/IActionListener.html">IActionListener</a> interface.
-	</td>
-</tr>
-
-<tr>
-	<td>locale</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">IEngine</a>
-</td>
-	<td>Locale</td>
-	<td>
-	The locale for the current client; this is used when loading pages from the page pool, or
-	when instantiating new page instances.	
-	</td>
-</tr>
-
-<tr>
-	<td>locale</td>
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IPage.html">IPage</a>
-</td>
-	<td>Locale</td>
-	<td>
-	The locale to which the page and all components within the page is localized.	
-	</td>
-</tr>
-
-
-
-
-
-<tr>
-	<td>location</td>	
-	<td>
-<em>many</em>
-</td>
-	<td>Location</td>
-	<td>
-	The location that should be used with any error messages generated about the object. This is
-	ultimately the file, line (and even column) of the template or specification file responsible
-	for defining the object (be it a component, a page, or some other kind of object).
-	</td>
-</tr>
-
-<tr>
-	<td>messages</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">IComponent</a>
-</td>
-	<td>Messages</td>
-	<td>
-	Localized messages for the component.	
-	</td>
-</tr>
-
-<tr>
-	<td>name</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/form/IFormComponent.html">IFormComponent</a>
-</td>
-	<td>String</td>
-	<td>
-	The name, or element id, assigned to the form control by the <a href="../tapestry-framework/apidocs/org/apache/tapestry/IForm.html">IForm</a>. This is set as the component
-	renders (but the property can then be read after the component renders).	
-	</td>
-</tr>
-
-<tr>
-	<td>namespace</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">IComponent</a>
-</td>
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/INamespace.html">INamespace</a>
-</td>
-	<td>The namespace containing the component. Components are always within <em>some</em>
-		namespace, whether it is the default (application) namespace, the framework namespace,
-		or a namespace for a component library.</td>
-</tr>
-
-<tr>
-	<td>outputEncoding</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/AbstractPage.html">AbstractPage</a>
-</td>
-	<td>String</td>
-	<td>
-	Output encoding for the page.	
-	</td>
-</tr>
-
-<tr>
-	<td>page</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">IComponent</a>
-</td>
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IPage.html">IPage</a>
-</td>
-	<td>
-	The page which ultimately contains the component.	
-	</td>
-</tr>
-
-<tr>
-	<td>propertySource</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">IEngine</a>
-</td>
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/engine/IPropertySource.html">IPropertySource</a>
-</td>
-	<td>
-	Source for configuration properties.	
-	</td>
-</tr>
-
-<tr>
-	<td>pageName</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IPage.html">IPage</a>
-</td>
-	<td>String</td>
-	<td>
-	The fully qualified page name (possibly including a namespace prefix).
-	</td>
-</tr>
-
-<tr>
-	<td>pageSource</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">IEngine</a>
-</td>
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/engine/IPageSource.html">IPageSource</a>
-</td>
-	<td>
-	The object used to obtain page instances.	
-	</td>
-</tr>
-
-
-<tr>
-  <td>rendering</td>
-  <td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">IComponent</a>
-</td>
-  <td>boolean</td>
-  <td>
-    True if the component is actively rendering (inside it's <code>render()</code> method).
-  </td>
-</tr>
-
-<tr>
-	<td>requestCycle</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IPage.html">IPage</a>
-</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IRequestCycle.html">IRequestCycle</a>
-</td>
-	<td>
-	The request cycle to which the page is currently attached.
-	</td>
-</tr>
-
-<tr>
-<td>scriptSource</td>	
-<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">IEngine</a>
-</td>
-<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/engine/IScriptSource.html">IScriptSource</a>
-</td>
-<td>
-Object that parses and caches script specifications.	
-</td>
-</tr>
-
-
-<tr>
-	<td>specification</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">IComponent</a>
-</td>
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/spec/IComponentSpecification.html">IComponentSpecification</a>
-</td>
-	<td>
-	The specification which defines this component.	Often used to access
-	meta data defined in the component's specification using the
-	<a href="spec.html#spec.meta">&lt;meta&gt;</a> element.
-	</td>
-</tr>
-
-<tr>
-	<td>specification</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">IEngine</a>
-</td>
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/spec/IApplicationSpecification.html">IApplicationSpecification</a>
-</td>
-	<td>
-	The specification for the application.	
-	</td>
-</tr>
-
-<tr>
-	<td>specificationSource</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">IEngine</a>
-</td>
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/engine/ISpecificationSource.html">ISpecificationSource</a>
-</td>
-	<td>Object responsible for reading and caching page and component specifications.</td>
-</tr>
-
-<tr>
-		<td>visit</td>
-		<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">IEngine</a>
-</td>
-		<td>Object</td>
-		<td>
-		Returns the Visit object for the current client, or null if the Visit object
-		has not yet been created.	
-		</td>
-</tr>
-
-<tr>
-	<td>visit</td>	
-	<td>
-<a href="../tapestry-framework/apidocs/org/apache/tapestry/IPage.html">IPage</a>
-</td>
-	<td>Object</td>
-	<td>
-	Returns the Visit object for the current client, creating it if necessary.	
-	</td>
-</tr>
-
-
-			
-
-</table>
-
-</body>
+    <properties>
+        <title>Tapestry Object Properties</title>
+    </properties>
+    <body>
+
+        <section name="Tapestry Object Properties">
+
+            <p>
+                When using Tapestry, an important aspect of your work is to leverage the properties
+                exposed by the various objects within Tapestry. A page has properties (inherited
+                from base classes such as
+                <a
+                    href="../tapestry-framework/apidocs/org/apache/tapestry/AbstractComponent.html">
+                    AbstractComponent
+                </a>
+                and
+                <a href="../tapestry-framework/apidocs/org/apache/tapestry/html/BasePage.html">
+                    BasePage
+                </a>
+                ) and contains components and other objects with more properties. Pages are
+                connected to an engine, which exports its own set of properties. This table is a
+                quick guide to the most common objects and their properties.
+            </p>
+
+            <table>
+                <tr>
+                    <th>Property name</th>
+                    <th>Defining class</th>
+                    <th>Property type</th>
+                    <th>Description</th>
+                </tr>
+
+
+                <tr>
+                    <td>assets</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">
+                            IComponent
+                        </a>
+                    </td>
+                    <td>
+                        Map of
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IAsset.html">
+                            IAsset
+                        </a>
+                    </td>
+                    <td>Localized assets as defined in the component's specification.</td>
+                </tr>
+
+
+
+                <tr>
+                    <td>beans</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">
+                            IComponent
+                        </a>
+                    </td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/IBeanProvider.html">
+                            IBeanProvider
+                        </a>
+                    </td>
+                    <td>
+                        Used to access beans defined using the
+                        <a href="spec.html#spec.bean">&lt;bean&gt;</a>
+                        specification element.
+                    </td>
+                </tr>
+
+
+                <tr>
+                    <td>bindingNames</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">
+                            IComponent
+                        </a>
+                    </td>
+                    <td>Collection of String</td>
+                    <td>
+                        The names of all formal and informal parameter bindings for the component.
+                    </td>
+                </tr>
+
+                <tr>
+                    <td>bindings</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">
+                            IComponent
+                        </a>
+                    </td>
+                    <td>
+                        Map of
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IBinding.html">
+                            IBinding
+                        </a>
+                    </td>
+                    <td>
+                        All bindings (for both formal and informal parameters) for this component,
+                        keyed on the parameter name.
+                    </td>
+                </tr>
+
+                <tr>
+                    <td>body</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/AbstractComponent.html">
+                            AbstractComponent
+                        </a>
+                    </td>
+                    <td>
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IRender.html">
+                            IRender
+                        </a>
+                        []
+                    </td>
+                    <td>
+                        The body of the component: the text (as
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IRender.html">
+                            IRender
+                        </a>
+                        ) and components (which inherit from
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IRender.html">
+                            IRender
+                        </a>
+                        ) that the component directly encloses within its container's template.
+                    </td>
+                </tr>
+
+                <tr>
+                    <td>bodyCount</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/AbstractComponent.html">
+                            AbstractComponent
+                        </a>
+                    </td>
+                    <td>int</td>
+                    <td>The active number of elements in the body property array.</td>
+                </tr>
+
+
+                <tr>
+                    <td>components</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">
+                            IComponent
+                        </a>
+                    </td>
+                    <td>
+                        Map of
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">
+                            IComponent
+                        </a>
+                    </td>
+                    <td>All components contained by this component, keyed on the component id.</td>
+                </tr>
+
+
+                <tr>
+                    <td>changeObserver</td>
+                    <td>
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IPage.html">
+                            IPage
+                        </a>
+                    </td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/event/ChangeObserver.html">
+                            ChangeObserver
+                        </a>
+                    </td>
+                    <td>
+                        An object that recieves notifications about changes to persistent page
+                        properties.
+                    </td>
+                </tr>
+
+                <tr>
+                    <td>classResolver</td>
+                    <td>
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">
+                            IEngine
+                        </a>
+                    </td>
+                    <td>ClassResolver</td>
+                    <td>Object responsible for locating classes and classpath resources.</td>
+                </tr>
+
+                <tr>
+                    <td>componentMessagesSource</td>
+                    <td>
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">
+                            IEngine
+                        </a>
+                    </td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/engine/IComponentMessagesSource.html">
+                            IComponentMessagesSource
+                        </a>
+                    </td>
+                    <td>
+                        An object that allows components to find their set of localized messages.
+                    </td>
+                </tr>
+
+                <tr>
+                    <td>container</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">
+                            IComponent
+                        </a>
+                    </td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">
+                            IComponent
+                        </a>
+                    </td>
+                    <td>
+                        The page or component which contains this component. Pages will return null.
+                    </td>
+                </tr>
+
+
+
+                <tr>
+                    <td>disabled</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/form/IFormComponent.html">
+                            IFormComponent
+                        </a>
+                    </td>
+                    <td>boolean</td>
+                    <td>
+                        If true, the component should be disabled (and not respond to query
+                        parameters passed up in the request).
+                    </td>
+                </tr>
+
+                <tr>
+                    <td>displayName</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/form/IFormComponent.html">
+                            IFormComponent
+                        </a>
+                    </td>
+                    <td>String</td>
+                    <td>
+                        Localized string to be displayed as a label for the form control. Most
+                        implementations leave this undefined (as null).
+                    </td>
+                </tr>
+
+                <tr>
+                    <td>engine</td>
+                    <td>
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IPage.html">
+                            IPage
+                        </a>
+                    </td>
+                    <td>
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">
+                            IEngine
+                        </a>
+                    </td>
+                    <td>The engine to which the page is currently attached.</td>
+                </tr>
+
+                <tr>
+                    <td>extendedId</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">
+                            IComponent
+                        </a>
+                    </td>
+                    <td>String</td>
+                    <td>
+                        An "extended" version of the idPath property that includes the name of the
+                        page containing the component as well.
+                    </td>
+                </tr>
+
+                <tr>
+                    <td>form</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/form/IFormComponent.html">
+                            IFormComponent
+                        </a>
+                    </td>
+                    <td>
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IForm.html">
+                            IForm
+                        </a>
+                    </td>
+                    <td>The form which encloses the form control component.</td>
+                </tr>
+
+                <tr>
+                    <td>global</td>
+                    <td>
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">
+                            IEngine
+                        </a>
+                        ,
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IPage.html">
+                            IPage
+                        </a>
+                    </td>
+                    <td>Object</td>
+                    <td>The Global object for the application.</td>
+                </tr>
+
+                <tr>
+                    <td>hasVisit</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/engine/AbstractEngine.html">
+                            AbstractEngine
+                        </a>
+                    </td>
+                    <td>boolean</td>
+                    <td>Returns true if the Visit object has been created, false initially.</td>
+                </tr>
+
+                <tr>
+                    <td>id</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">
+                            IComponent
+                        </a>
+                    </td>
+                    <td>String</td>
+                    <td>
+                        The id of the component, which is unique within its container. In many
+                        cases, the framework may have assigned an automatically generated id. Pages
+                        do not have an id and return null.
+                    </td>
+                </tr>
+
+                <tr>
+                    <td>idPath</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">
+                            IComponent
+                        </a>
+                    </td>
+                    <td>String</td>
+                    <td>
+                        A sequence of id's used to locate a component within a page. A component
+                        <code>bar</code>
+                        within a component
+                        <code>foo</code>
+                        within a page will have an idPath of
+                        <code>foo.bar</code>
+                        . Pages return null.
+                    </td>
+                </tr>
+
+                <tr>
+                    <td>listeners</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/AbstractComponent.html">
+                            AbstractComponent
+                        </a>
+                        ,
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/engine/AbstractEngine.html">
+                            AbstractEngine
+                        </a>
+                    </td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/listener/ListenerMap.html">
+                            ListenerMap
+                        </a>
+                    </td>
+                    <td>
+                        Used to map listener methods as objects that implement the
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/IActionListener.html">
+                            IActionListener
+                        </a>
+                        interface.
+                    </td>
+                </tr>
+
+                <tr>
+                    <td>locale</td>
+                    <td>
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">
+                            IEngine
+                        </a>
+                    </td>
+                    <td>Locale</td>
+                    <td>
+                        The locale for the current client; this is used when loading pages from the
+                        page pool, or when instantiating new page instances.
+                    </td>
+                </tr>
+
+                <tr>
+                    <td>locale</td>
+                    <td>
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IPage.html">
+                            IPage
+                        </a>
+                    </td>
+                    <td>Locale</td>
+                    <td>
+                        The locale to which the page and all components within the page is
+                        localized.
+                    </td>
+                </tr>
+
+
+
+
+
+                <tr>
+                    <td>location</td>
+                    <td>
+                        <em>many</em>
+                    </td>
+                    <td>Location</td>
+                    <td>
+                        The location that should be used with any error messages generated about the
+                        object. This is ultimately the file, line (and even column) of the template
+                        or specification file responsible for defining the object (be it a
+                        component, a page, or some other kind of object).
+                    </td>
+                </tr>
+
+                <tr>
+                    <td>messages</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">
+                            IComponent
+                        </a>
+                    </td>
+                    <td>Messages</td>
+                    <td>Localized messages for the component.</td>
+                </tr>
+
+                <tr>
+                    <td>name</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/form/IFormComponent.html">
+                            IFormComponent
+                        </a>
+                    </td>
+                    <td>String</td>
+                    <td>
+                        The name, or element id, assigned to the form control by the
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IForm.html">
+                            IForm
+                        </a>
+                        . This is set as the component renders (but the property can then be read
+                        after the component renders).
+                    </td>
+                </tr>
+
+                <tr>
+                    <td>namespace</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">
+                            IComponent
+                        </a>
+                    </td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/INamespace.html">
+                            INamespace
+                        </a>
+                    </td>
+                    <td>
+                        The namespace containing the component. Components are always within
+                        <em>some</em>
+                        namespace, whether it is the default (application) namespace, the framework
+                        namespace, or a namespace for a component library.
+                    </td>
+                </tr>
+
+                <tr>
+                    <td>outputEncoding</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/AbstractPage.html">
+                            AbstractPage
+                        </a>
+                    </td>
+                    <td>String</td>
+                    <td>Output encoding for the page.</td>
+                </tr>
+
+                <tr>
+                    <td>page</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">
+                            IComponent
+                        </a>
+                    </td>
+                    <td>
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IPage.html">
+                            IPage
+                        </a>
+                    </td>
+                    <td>The page which ultimately contains the component.</td>
+                </tr>
+
+                <tr>
+                    <td>propertySource</td>
+                    <td>
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">
+                            IEngine
+                        </a>
+                    </td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/engine/IPropertySource.html">
+                            IPropertySource
+                        </a>
+                    </td>
+                    <td>Source for configuration properties.</td>
+                </tr>
+
+                <tr>
+                    <td>pageName</td>
+                    <td>
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IPage.html">
+                            IPage
+                        </a>
+                    </td>
+                    <td>String</td>
+                    <td>The fully qualified page name (possibly including a namespace prefix).</td>
+                </tr>
+
+                <tr>
+                    <td>pageSource</td>
+                    <td>
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">
+                            IEngine
+                        </a>
+                    </td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/engine/IPageSource.html">
+                            IPageSource
+                        </a>
+                    </td>
+                    <td>The object used to obtain page instances.</td>
+                </tr>
+
+
+                <tr>
+                    <td>rendering</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">
+                            IComponent
+                        </a>
+                    </td>
+                    <td>boolean</td>
+                    <td>
+                        True if the component is actively rendering (inside it's
+                        <code>render()</code>
+                        method).
+                    </td>
+                </tr>
+
+                <tr>
+                    <td>requestCycle</td>
+                    <td>
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IPage.html">
+                            IPage
+                        </a>
+                    </td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/IRequestCycle.html">
+                            IRequestCycle
+                        </a>
+                    </td>
+                    <td>The request cycle to which the page is currently attached.</td>
+                </tr>
+
+                <tr>
+                    <td>scriptSource</td>
+                    <td>
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">
+                            IEngine
+                        </a>
+                    </td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/engine/IScriptSource.html">
+                            IScriptSource
+                        </a>
+                    </td>
+                    <td>Object that parses and caches script specifications.</td>
+                </tr>
+
+
+                <tr>
+                    <td>specification</td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/IComponent.html">
+                            IComponent
+                        </a>
+                    </td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/spec/IComponentSpecification.html">
+                            IComponentSpecification
+                        </a>
+                    </td>
+                    <td>
+                        The specification which defines this component. Often used to access meta
+                        data defined in the component's specification using the
+                        <a href="spec.html#spec.meta">&lt;meta&gt;</a>
+                        element.
+                    </td>
+                </tr>
+
+                <tr>
+                    <td>specification</td>
+                    <td>
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">
+                            IEngine
+                        </a>
+                    </td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/spec/IApplicationSpecification.html">
+                            IApplicationSpecification
+                        </a>
+                    </td>
+                    <td>The specification for the application.</td>
+                </tr>
+
+                <tr>
+                    <td>specificationSource</td>
+                    <td>
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">
+                            IEngine
+                        </a>
+                    </td>
+                    <td>
+                        <a
+                            href="../tapestry-framework/apidocs/org/apache/tapestry/engine/ISpecificationSource.html">
+                            ISpecificationSource
+                        </a>
+                    </td>
+                    <td>
+                        Object responsible for reading and caching page and component
+                        specifications.
+                    </td>
+                </tr>
+
+                <tr>
+                    <td>visit</td>
+                    <td>
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IEngine.html">
+                            IEngine
+                        </a>
+                    </td>
+                    <td>Object</td>
+                    <td>
+                        Returns the Visit object for the current client, or null if the Visit object
+                        has not yet been created.
+                    </td>
+                </tr>
+
+                <tr>
+                    <td>visit</td>
+                    <td>
+                        <a href="../tapestry-framework/apidocs/org/apache/tapestry/IPage.html">
+                            IPage
+                        </a>
+                    </td>
+                    <td>Object</td>
+                    <td>
+                        Returns the Visit object for the current client, creating it if necessary.
+                    </td>
+                </tr>
+            </table>
+            
+        </section>
+        
+    </body>
 </document>

Modified: tapestry/tapestry4/trunk/src/site/xdoc/UsersGuide/script.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/src/site/xdoc/UsersGuide/script.xml?rev=420925&r1=420924&r2=420925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/src/site/xdoc/UsersGuide/script.xml (original)
+++ tapestry/tapestry4/trunk/src/site/xdoc/UsersGuide/script.xml Tue Jul 11 09:54:16 2006
@@ -15,449 +15,499 @@
     limitations under the License.
 -->
 <document>
-<properties>
-<title>Script Template Specification DTDs</title>
-</properties>
-<body> 
-  
-        <p>
-            Script template specifications are the odd man out when it comes
-            to Tapestry XML files as they don't use the same DTD as the
-            <a href="spec.html">other specifications</a>.
-        </p>  
-        
-        <p>
-            Script templates are used to dynamically generate JavaScript to
-            support client-side behaviors associated with components.  Tapestry
-            is all about dynamically renderered, customized HTML, so it makes sense
-            that dynamically rendered, customize JavaScript to complement
-            that HTML should also be supported.
-        </p>        
-        
-        <p>
-            Script template files are parsed into memory as 
-            instances of <a href="../tapestry-framework/apidocs/org/apache/tapestry/IScript.html">IScript</a>. These script template <em>objects</em>
-            may be executed to generate the JavaScript.            
-        </p>        
-        
-        <p>
-            Many different script template objects may be executed during the course
-            of rendering a page; all the JavaScript from all the executions are
-            organized into two JavaScript blocks in the output page:
-            the <em>main body</em> at the top of the page
-            (just inside the HTML &lt;body&gt; tag), and
-            an <em>initialization block</em> at the bottom of the page,
-            (just before the HTML &lt;/body&gt; tag). 
-        </p>
-        
-        <p>
-            Executing a script template requires access to an <a href="../tapestry-framework/apidocs/org/apache/tapestry/IScriptProcessor.html">IScriptProcessor</a> instance;
-            this is usually provided by the <a href="site:Body">Body</a> component.  The script processor
-            is responsible for managing the buffers of JavaScript, and assists
-            with generating unique ids for client-side variables and functions.            
-        </p>
-    
-        <p>
-            A script template works with <em>symbols</em>, a set of key/value pairs
-            (implements as a Map). The script operates upon the input symbols and
-            generates new output symbols along the way, while generating
-            JavaScript.  In some cases, the output symbols may be used
-            by a component when rendering HTML.
-        </p>
-
-        <p>
-            Many of the elements in a script template have a body of parsable character
-            data.  In the body of an element, you may reference symbols using
-            the Ant-like ${...} syntax.  I.e. <code>${name}</code>.  In fact, the
-         string inside the curly braces is an <a href="http://www.ognl.org">OGNL</a> expression, so you may create more
-         complex expressions, such as <code>${field.form.name}</code>.
-        </p>        
-    
-<section name="DOCTYPE">
-    
-    
-    <p>
-        The DOCTYPE for a script template specification is:
-    </p>    
-    
-<source xml:space="preserve">
-&lt;!DOCTYPE script PUBLIC
-  "-//Apache Software Foundation//Tapestry Script Specification 3.0//EN"
-  "http://jakarta.apache.org/tapestry/dtd/Script_3_0.dtd"&gt;</source>    
-</section>  <!-- DOCTYPE -->
+    <properties>
+        <title>Script Template Specification DTDs</title>
+    </properties>
+    <body>
 
-        <section name="&lt;body&gt; element">
-            
-            
+        <section name="Script Template Specification DTDs">
             <p>
-                Appears in: <a href="#script.script">&lt;script&gt;</a>
-            </p>            
-            
-            <p>            Allows a mix of text and control elements.  This text is added to
-            the large scripting block just inside the HTML &lt;body&gt; tag.            
+                Script template specifications are the odd man out when it comes to Tapestry XML
+                files as they don't use the same DTD as the
+                <a href="spec.html">other specifications</a>
+                .
             </p>
-            
-            <p>&lt;body&gt; elements:</p>
-            
-            <source xml:space="preserve">(<em>text</em> | <a href="#script.foreach">&lt;foreach&gt;</a> | <a href="#script.if">&lt;if&gt;</a> | <a href="#script.if-not">&lt;if-not&gt;</a> | <a href="#script.unique">&lt;unique&gt;</a>)*</source>            
-        </section>
-        
-        <section name="&lt;foreach&gt; element">
-            
-            
+
             <p>
-                Appears in: <em>many</em>
+                Script templates are used to dynamically generate JavaScript to support client-side
+                behaviors associated with components. Tapestry is all about dynamically renderered,
+                customized HTML, so it makes sense that dynamically rendered, customize JavaScript
+                to complement that HTML should also be supported.
             </p>
-            
+
             <p>
-                Iterates over a list of items; this is modeled after the
-                For component.  No iteration occurs if the value
-                from the expression is null.
+                Script template files are parsed into memory as instances of
+                <a href="../tapestry-framework/apidocs/org/apache/tapestry/IScript.html">IScript</a>
+                . These script template
+                <em>objects</em>
+                may be executed to generate the JavaScript.
             </p>
-            
-            <table>
-                
-                <tr>
-                    <th>Name</th>
-                    <th>Type</th>
-                    <th>Required ?</th>
-                    <th>Default Value</th>
-                    <th>Description</th>
-                </tr>
-                
-                <tr>
-<td>key</td> <td>string</td> <td>no</td> <td/>
-                    <td>
-                        Defines the symbol into which each succesive value is stored.
-                    </td>
-                </tr>       
-                
-                <tr>
-                    <td>index</td> <td>string</td> <td>no</td> <td/>
-                    <td>
-                        Defines the symbol into which the index of the value of the current iteration is stored.
-                    </td>
-                </tr>     
-                
-                <tr>
-                    <td>expression</td>
-                    <td>string</td> <td>yes</td> <td/>
-                    <td>
-                        The source of values, as an OGNL expression rooted in the symbols Map.
-                    </td>
-                </tr>
-            </table>
-            
-            <p>&lt;foreach&gt; elements:</p>
-            
-            <source xml:space="preserve">(<em>text</em> | <a href="#script.foreach">&lt;foreach&gt;</a> | <a href="#script.if">&lt;if&gt;</a> | <a href="#script.if-not">&lt;if-not&gt;</a> | <a href="#script.unique">&lt;unique&gt;</a>)*</source>                  
-        </section>
 
-        
-        <section name="&lt;if&gt; element">
-            
-            
-            <p>
-                Appears in: <em>many</em>
-            </p>            
-            
             <p>
-                Creates a conditional portion of the script; The body of the element 
-                is only included if the expression evaulates to true.  
+                Many different script template objects may be executed during the course of
+                rendering a page; all the JavaScript from all the executions are organized into two
+                JavaScript blocks in the output page: the
+                <em>main body</em>
+                at the top of the page (just inside the HTML &lt;body&gt; tag), and an
+                <em>initialization block</em>
+                at the bottom of the page, (just before the HTML &lt;/body&gt; tag).
             </p>
-            
-            <table>
-                
-                <tr>
-                    <th>Name</th>
-                    <th>Type</th>
-                    <th>Required ?</th>
-                    <th>Default Value</th>
-                    <th>Description</th>
-                </tr>
-                
-                <tr>
-                    <td>expression</td> <td>string</td> <td>yes</td> <td/>
-                    <td>
-                        The <a href="http://www.ognl.org">OGNL</a> expression to evaluate.
-                    </td>
-                </tr>
-                
-                
-            </table>
-            
+
             <p>
-                &lt;if&gt; Elements
+                Executing a script template requires access to an
+                <a href="../tapestry-framework/apidocs/org/apache/tapestry/IScriptProcessor.html">
+                    IScriptProcessor
+                </a>
+                instance; this is usually provided by the
+                <a href="site:Body">Body</a>
+                component. The script processor is responsible for managing the buffers of
+                JavaScript, and assists with generating unique ids for client-side variables and
+                functions.
             </p>
-            
-            <source xml:space="preserve">(<em>text</em> | <a href="#script.foreach">&lt;foreach&gt;</a> | <a href="#script.if">&lt;if&gt;</a> | <a href="#script.if-not">&lt;if-not&gt;</a> | <a href="#script.unique">&lt;unique&gt;</a>)*</source>                            
-            
-        </section>
-        
-        <section name="&lt;if-not&gt; element">
-            
-            
+
             <p>
-                Identical to the <a href="#script.if">&lt;if&gt;</a> element, except that the body
-                is only included in the output if the expression
-                evaluates to <strong>false</strong>.
+                A script template works with
+                <em>symbols</em>
+                , a set of key/value pairs (implements as a Map). The script operates upon the input
+                symbols and generates new output symbols along the way, while generating JavaScript.
+                In some cases, the output symbols may be used by a component when rendering HTML.
             </p>
-        </section>            
-        
 
-        
-        <section name="&lt;include-script&gt; element">
-            
-            
             <p>
-                Inserts a reference to a static JavaScript file stored on the
-                classpath. A particular file will only be included once per rendering
-                of a page.
-            </p>      
-            
-            <p>
-                For best performance, as much logic as possible should be shifted into
-                static JavaScript library files that are included via this element.
-                The dynamic portion of the JavaScript should really be initialization
-                of code provided by such a static JavaScript library. This optimizes
-                that amount of data that must be sent to the client web browser, as
-                it will be able to cache the content of static library files.
+                Many of the elements in a script template have a body of parsable character data. In
+                the body of an element, you may reference symbols using the Ant-like ${...} syntax.
+                I.e.
+                <code>${name}</code>
+                . In fact, the string inside the curly braces is an
+                <a href="http://www.ognl.org">OGNL</a>
+                expression, so you may create more complex expressions, such as
+                <code>${field.form.name}</code>
+                .
             </p>
-            
-            <p>
-                Appears in: <a href="#script.script">&lt;script&gt;</a>
-            </p>      
-            
-            <table>
-                
-                <tr>
-                    <th>Name</th>
-                    <th>Type</th>
-                    <th>Required ?</th>
-                    <th>Default Value</th>
-                    <th>Description</th>
-                </tr>
-                
-                <tr>
-                    <td>resource-path</td>
-                    <td>string</td>
-                    <td>yes</td>
-                    <td/>
-                    <td>The path to the script within the classpath.</td>
-                </tr>          
+
+            <section name="DOCTYPE">
+
+
+                <p>The DOCTYPE for a script template specification is:</p>
+
+                <source xml:space="preserve">
+&lt;!DOCTYPE script PUBLIC
+  "-//Apache Software Foundation//Tapestry Script Specification 3.0//EN"
+  "http://jakarta.apache.org/tapestry/dtd/Script_3_0.dtd"&gt;</source>
+            </section><!-- DOCTYPE -->
+
+            <section name="&lt;body&gt; element">
+
+
+                <p>
+                    Appears in:
+                    <a href="#script.script">&lt;script&gt;</a>
+                </p>
+
+                <p>
+                    Allows a mix of text and control elements. This text is added to the large
+                    scripting block just inside the HTML &lt;body&gt; tag.
+                </p>
+
+                <p>&lt;body&gt; elements:</p>
+
+                <source xml:space="preserve">(<em>text</em> | <a href="#script.foreach">&lt;foreach&gt;</a> | <a
+                        href="#script.if">&lt;if&gt;</a> | <a href="#script.if-not">&lt;if-not&gt;</a> | <a
+                        href="#script.unique">&lt;unique&gt;</a>)*</source>
+            </section>
+
+            <section name="&lt;foreach&gt; element">
+
+
+                <p>
+                    Appears in:
+                    <em>many</em>
+                </p>
+
+                <p>
+                    Iterates over a list of items; this is modeled after the For component. No
+                    iteration occurs if the value from the expression is null.
+                </p>
+
+                <table>
+
+                    <tr>
+                        <th>Name</th>
+                        <th>Type</th>
+                        <th>Required ?</th>
+                        <th>Default Value</th>
+                        <th>Description</th>
+                    </tr>
+
+                    <tr>
+                        <td>key</td>
+                        <td>string</td>
+                        <td>no</td>
+                        <td />
+                        <td>Defines the symbol into which each succesive value is stored.</td>
+                    </tr>
+
+                    <tr>
+                        <td>index</td>
+                        <td>string</td>
+                        <td>no</td>
+                        <td />
+                        <td>
+                            Defines the symbol into which the index of the value of the current
+                            iteration is stored.
+                        </td>
+                    </tr>
+
+                    <tr>
+                        <td>expression</td>
+                        <td>string</td>
+                        <td>yes</td>
+                        <td />
+                        <td>
+                            The source of values, as an OGNL expression rooted in the symbols Map.
+                        </td>
+                    </tr>
                 </table>
-                
-        </section>
-                <section name="&lt;initialization&gt; element">
-            
-            
-            <p>
-                Appears in: <a href="#script.script">&lt;script&gt;</a>
-            </p>            
-            
-            <p>            Allows a mix of text and control elements.  This text is added to
-                the large scripting block just inside the HTML &lt;/body&gt; tag. It therefore
-                can refrence HTML objects within the page.            
-            </p>
-            
-            <p>&lt;initialization&gt; elements:</p>
-            
-            <source xml:space="preserve">(<em>text</em> | <a href="#script.foreach">&lt;foreach&gt;</a> | <a href="#script.if">&lt;if&gt;</a> | <a href="#script.if-not">&lt;if-not&gt;</a> | <a href="#script.unique">&lt;unique&gt;</a>)*</source>            
-        </section>
 
-        <section name="&lt;input-symbol&gt; element">
-            
-            
-            <p>
-                Appears in: <a href="#script.script">&lt;script&gt;</a>
-            </p>
-            
-            <p>
-                Defines an input symbol used by the script.  Defining input symbols
-                is optional; it merely enforces that symbols be
-                of a particular type, or enforces that a non-null value
-                be provided.  This is handy as <em>defensive programming</em>. 
-            </p>
-            
-              
-            <table>
-                
-                <tr>
-                    <th>Name</th>
-                    <th>Type</th>
-                    <th>Required ?</th>
-                    <th>Default Value</th>
-                    <th>Description</th>
-                </tr>        
-            
-                <tr>
-                    <td>key</td>
-                    <td>string</td>
-                    <td>yes</td>
-                    <td/>
-                    <td>The name of the symbol to check.</td>
-                </tr>
-                
-                <tr>
-                    <td>class</td>
-                    <td>string</td>
-                    <td>no</td>
-                    <td/>
-                    <td>
-                        If provided, then the actual value
-                        must be assignable to the given type (which may
-                        be a Java class or interface name).
-                    </td>
-                </tr>
-                
-                <tr>
-                    <td>
-                        required
-                    </td>
-                    <td>boolean</td>
-                    <td>no</td>
-                    <td>no</td>
-                    <td>
-                        If "yes", then a non-null value must be provided.
-                    </td>
-                </tr>
-            </table>
-            
-        </section>
+                <p>&lt;foreach&gt; elements:</p>
 
-        <section name="&lt;let&gt; element">
-            
-            
-            <p>
-                Appears in: <a href="#script.script">&lt;script&gt;</a>
-            </p>
-            
-            <p>
-                Defines a new symbol in terms of a string
-                (usually with embedded expressions).                
-            </p>
-            
-            <p>
-                When a string is marked as unique, it is passed through a page-wide
-                filter; if the name conflicts with a previous unique string,
-                then a numeric suffix is appended to the string to ensure
-                its uniqueness. This is most useful when defining
-                JavaScript client-side variables and functions, to ensure
-                there are no conflicts between different script templates, or
-                successive executions of the same script template.
-            </p>
-            
-            <table>
-                
-                <tr>
-                    <th>Name</th>
-                    <th>Type</th>
-                    <th>Required ?</th>
-                    <th>Default Value</th>
-                    <th>Description</th>
-                </tr>      
-                
-                <tr>
-                    <td>key</td> <td>string</td> <td>yes</td> <td/>
-                    <td>The name of the new symbol to create.</td>
-                </tr>            
-                
-                <tr>
-                    <td>unique</td> <td>boolean</td> <td>no</td> <td>no</td>
-                    <td>
-                        If yes, then the string is made unique.
-                    </td>
-                </tr>
-            
-</table>
+                <source xml:space="preserve">(<em>text</em> | <a href="#script.foreach">&lt;foreach&gt;</a> | <a
+                        href="#script.if">&lt;if&gt;</a> | <a href="#script.if-not">&lt;if-not&gt;</a> | <a
+                        href="#script.unique">&lt;unique&gt;</a>)*</source>
+            </section>
 
-            <p>
-                &lt;let&gt; Elements
-            </p>
-            
-            <source xml:space="preserve">(<em>text</em> | <a href="#script.foreach">&lt;foreach&gt;</a> | <a href="#script.if">&lt;if&gt;</a> | <a href="#script.if-not">&lt;if-not&gt;</a> | <a href="#script.unique">&lt;unique&gt;</a>)*</source>
 
-            
-        </section>
+            <section name="&lt;if&gt; element">
 
-        <section name="&lt;script&gt; element">
-            
-            
-            <p>
-                <em>root element</em>
-            </p>
-            
-            <p>
-                The &lt;script&gt; element is the root element of the document.
-                It contains no attributes.
-            </p>            
-            
-            <p>
-                &lt;script&gt; Elements
-            </p>          
-            <source xml:space="preserve">
-(<a href="#script.include-script">&lt;include-script&gt;</a>*, <a href="#script.input-symbol">&lt;input-symbol&gt;</a>*, (<a href="#script.let">&lt;let&gt;</a> | <a href="#script.set">&lt;set&gt;</a>)*, <a href="#script.body">&lt;body&gt;</a>?, <a href="#script.initialization">&lt;initialization&gt;</a>?)                  
-            </source>              
-            
-        </section> <!-- script -->
-    
-    
-        <section name="&lt;set&gt; element">
-                    
-            
-            <p>
-                Appears in: <em>many</em>
-            </p>            
-            
-            <p>
-                Creates a new symbol, or overwrites an existing symbol, in terms
-                of an <a href="http://www.ognl.org">OGNL</a> expression.
-            </p>
-            
-            <table>
-                
-                <tr>
-                    <th>Name</th>
-                    <th>Type</th>
-                    <th>Required ?</th>
-                    <th>Default Value</th>
-                    <th>Description</th>
-                </tr>
-                
-                <tr>
-                    <td>key</td> <td>string</td> <td>yes</td> <td/>
-                    <td>The key for the input symbol to be created (or overwritten).</td>
-                </tr>
-                
-                <tr>
-                    <td>expression</td> <td>string</td>
-                    <td>yes</td>
-                    <td/>
-                    <td>The <a href="http://www.ognl.org">OGNL</a> expression to evaluate and assign to the
-                    input symbol.</td>
-                </tr>
-           </table>
-            
-        </section> <!-- script.set -->    
-        
-        <section name="&lt;unique&gt; element">
-            
-            
-            <p>
-                Appears in: <em>many</em>
-            </p>            
-            
-            <p>
-                Defines a block of text that is only rendered once per page.
-                This is appropriate to certain kinds of initialization code
-                that should not be duplicated, even if the same script
-                template is executed multiple times.
-            </p>
-            
-<p>&lt;script&gt; elements:</p>
 
-<source xml:space="preserve">(<em>text</em> | <a href="#script.foreach">&lt;foreach&gt;</a> | <a href="#script.if">&lt;if&gt;</a> | <a href="#script.if-not">&lt;if-not&gt;</a> | <a href="#script.unique">&lt;unique&gt;</a>)*</source>            
-            
-        </section>        
+                <p>
+                    Appears in:
+                    <em>many</em>
+                </p>
+
+                <p>
+                    Creates a conditional portion of the script; The body of the element is only
+                    included if the expression evaulates to true.
+                </p>
+
+                <table>
+
+                    <tr>
+                        <th>Name</th>
+                        <th>Type</th>
+                        <th>Required ?</th>
+                        <th>Default Value</th>
+                        <th>Description</th>
+                    </tr>
+
+                    <tr>
+                        <td>expression</td>
+                        <td>string</td>
+                        <td>yes</td>
+                        <td />
+                        <td>
+                            The
+                            <a href="http://www.ognl.org">OGNL</a>
+                            expression to evaluate.
+                        </td>
+                    </tr>
+
+
+                </table>
+
+                <p>&lt;if&gt; Elements</p>
+
+                <source xml:space="preserve">(<em>text</em> | <a href="#script.foreach">&lt;foreach&gt;</a> | <a
+                        href="#script.if">&lt;if&gt;</a> | <a href="#script.if-not">&lt;if-not&gt;</a> | <a
+                        href="#script.unique">&lt;unique&gt;</a>)*</source>
+
+            </section>
+
+            <section name="&lt;if-not&gt; element">
+
+
+                <p>
+                    Identical to the
+                    <a href="#script.if">&lt;if&gt;</a>
+                    element, except that the body is only included in the output if the expression
+                    evaluates to
+                    <strong>false</strong>
+                    .
+                </p>
+            </section>
+
+
+
+            <section name="&lt;include-script&gt; element">
+
+
+                <p>
+                    Inserts a reference to a static JavaScript file stored on the classpath. A
+                    particular file will only be included once per rendering of a page.
+                </p>
+
+                <p>
+                    For best performance, as much logic as possible should be shifted into static
+                    JavaScript library files that are included via this element. The dynamic portion
+                    of the JavaScript should really be initialization of code provided by such a
+                    static JavaScript library. This optimizes that amount of data that must be sent
+                    to the client web browser, as it will be able to cache the content of static
+                    library files.
+                </p>
+
+                <p>
+                    Appears in:
+                    <a href="#script.script">&lt;script&gt;</a>
+                </p>
+
+                <table>
+
+                    <tr>
+                        <th>Name</th>
+                        <th>Type</th>
+                        <th>Required ?</th>
+                        <th>Default Value</th>
+                        <th>Description</th>
+                    </tr>
+
+                    <tr>
+                        <td>resource-path</td>
+                        <td>string</td>
+                        <td>yes</td>
+                        <td />
+                        <td>The path to the script within the classpath.</td>
+                    </tr>
+                </table>
+
+            </section>
+            <section name="&lt;initialization&gt; element">
+
+
+                <p>
+                    Appears in:
+                    <a href="#script.script">&lt;script&gt;</a>
+                </p>
+
+                <p>
+                    Allows a mix of text and control elements. This text is added to the large
+                    scripting block just inside the HTML &lt;/body&gt; tag. It therefore can
+                    refrence HTML objects within the page.
+                </p>
+
+                <p>&lt;initialization&gt; elements:</p>
+
+                <source xml:space="preserve">(<em>text</em> | <a href="#script.foreach">&lt;foreach&gt;</a> | <a
+                        href="#script.if">&lt;if&gt;</a> | <a href="#script.if-not">&lt;if-not&gt;</a> | <a
+                        href="#script.unique">&lt;unique&gt;</a>)*</source>
+            </section>
+
+            <section name="&lt;input-symbol&gt; element">
+
+
+                <p>
+                    Appears in:
+                    <a href="#script.script">&lt;script&gt;</a>
+                </p>
+
+                <p>
+                    Defines an input symbol used by the script. Defining input symbols is optional;
+                    it merely enforces that symbols be of a particular type, or enforces that a
+                    non-null value be provided. This is handy as
+                    <em>defensive programming</em>
+                    .
+                </p>
+
+
+                <table>
+
+                    <tr>
+                        <th>Name</th>
+                        <th>Type</th>
+                        <th>Required ?</th>
+                        <th>Default Value</th>
+                        <th>Description</th>
+                    </tr>
+
+                    <tr>
+                        <td>key</td>
+                        <td>string</td>
+                        <td>yes</td>
+                        <td />
+                        <td>The name of the symbol to check.</td>
+                    </tr>
+
+                    <tr>
+                        <td>class</td>
+                        <td>string</td>
+                        <td>no</td>
+                        <td />
+                        <td>
+                            If provided, then the actual value must be assignable to the given type
+                            (which may be a Java class or interface name).
+                        </td>
+                    </tr>
+
+                    <tr>
+                        <td>required</td>
+                        <td>boolean</td>
+                        <td>no</td>
+                        <td>no</td>
+                        <td>If "yes", then a non-null value must be provided.</td>
+                    </tr>
+                </table>
+
+            </section>
+
+            <section name="&lt;let&gt; element">
+
+
+                <p>
+                    Appears in:
+                    <a href="#script.script">&lt;script&gt;</a>
+                </p>
+
+                <p>
+                    Defines a new symbol in terms of a string (usually with embedded expressions).
+                </p>
+
+                <p>
+                    When a string is marked as unique, it is passed through a page-wide filter; if
+                    the name conflicts with a previous unique string, then a numeric suffix is
+                    appended to the string to ensure its uniqueness. This is most useful when
+                    defining JavaScript client-side variables and functions, to ensure there are no
+                    conflicts between different script templates, or successive executions of the
+                    same script template.
+                </p>
+
+                <table>
+
+                    <tr>
+                        <th>Name</th>
+                        <th>Type</th>
+                        <th>Required ?</th>
+                        <th>Default Value</th>
+                        <th>Description</th>
+                    </tr>
+
+                    <tr>
+                        <td>key</td>
+                        <td>string</td>
+                        <td>yes</td>
+                        <td />
+                        <td>The name of the new symbol to create.</td>
+                    </tr>
+
+                    <tr>
+                        <td>unique</td>
+                        <td>boolean</td>
+                        <td>no</td>
+                        <td>no</td>
+                        <td>If yes, then the string is made unique.</td>
+                    </tr>
+
+                </table>
+
+                <p>&lt;let&gt; Elements</p>
+
+                <source xml:space="preserve">(<em>text</em> | <a href="#script.foreach">&lt;foreach&gt;</a> | <a
+                        href="#script.if">&lt;if&gt;</a> | <a href="#script.if-not">&lt;if-not&gt;</a> | <a
+                        href="#script.unique">&lt;unique&gt;</a>)*</source>
+
+
+            </section>
+
+            <section name="&lt;script&gt; element">
+
+
+                <p>
+                    <em>root element</em>
+                </p>
+
+                <p>
+                    The &lt;script&gt; element is the root element of the document. It contains no
+                    attributes.
+                </p>
+
+                <p>&lt;script&gt; Elements</p>
+                <source xml:space="preserve">
+(<a href="#script.include-script">&lt;include-script&gt;</a>*, <a href="#script.input-symbol">&lt;input-symbol&gt;</a>*, (<a
+                        href="#script.let">&lt;let&gt;</a> | <a href="#script.set">&lt;set&gt;</a>)*, <a
+                        href="#script.body">&lt;body&gt;</a>?, <a href="#script.initialization">&lt;initialization&gt;</a>?)                  
+            </source>
+
+            </section><!-- script -->
+
+
+            <section name="&lt;set&gt; element">
+
+
+                <p>
+                    Appears in:
+                    <em>many</em>
+                </p>
+
+                <p>
+                    Creates a new symbol, or overwrites an existing symbol, in terms of an
+                    <a href="http://www.ognl.org">OGNL</a>
+                    expression.
+                </p>
+
+                <table>
+
+                    <tr>
+                        <th>Name</th>
+                        <th>Type</th>
+                        <th>Required ?</th>
+                        <th>Default Value</th>
+                        <th>Description</th>
+                    </tr>
+
+                    <tr>
+                        <td>key</td>
+                        <td>string</td>
+                        <td>yes</td>
+                        <td />
+                        <td>The key for the input symbol to be created (or overwritten).</td>
+                    </tr>
+
+                    <tr>
+                        <td>expression</td>
+                        <td>string</td>
+                        <td>yes</td>
+                        <td />
+                        <td>
+                            The
+                            <a href="http://www.ognl.org">OGNL</a>
+                            expression to evaluate and assign to the input symbol.
+                        </td>
+                    </tr>
+                </table>
+
+            </section><!-- script.set -->
+
+            <section name="&lt;unique&gt; element">
+
+
+                <p>
+                    Appears in:
+                    <em>many</em>
+                </p>
+
+                <p>
+                    Defines a block of text that is only rendered once per page. This is appropriate
+                    to certain kinds of initialization code that should not be duplicated, even if
+                    the same script template is executed multiple times.
+                </p>
+
+                <p>&lt;script&gt; elements:</p>
+
+                <source xml:space="preserve">(<em>text</em> | <a href="#script.foreach">&lt;foreach&gt;</a> | <a
+                        href="#script.if">&lt;if&gt;</a> | <a href="#script.if-not">&lt;if-not&gt;</a> | <a
+                        href="#script.unique">&lt;unique&gt;</a>)*</source>
+
+            </section>
+
+        </section>
+
     </body>
 </document>