You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by gv...@apache.org on 2006/05/02 04:22:48 UTC

svn commit: r398779 - in /struts/shale/trunk/clay-plugin/src: conf/clay-config.xml test/org/apache/shale/clay/config/AbstractTestCaseConfig.java test/org/apache/shale/clay/config/ConfigTestCase.java test/org/apache/shale/clay/config/address-config.xml

Author: gvanmatre
Date: Mon May  1 19:22:43 2006
New Revision: 398779

URL: http://svn.apache.org/viewcvs?rev=398779&view=rev
Log:
Fix for bugs SHALE-80 and SHALE-41 reported by Richarad Wallace.  Added some comments to the base component definitions in preparation for a custom documentation generation mojo in future maven 2 builds.

Modified:
    struts/shale/trunk/clay-plugin/src/conf/clay-config.xml
    struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/AbstractTestCaseConfig.java
    struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java
    struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/address-config.xml

Modified: struts/shale/trunk/clay-plugin/src/conf/clay-config.xml
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/conf/clay-config.xml?rev=398779&r1=398778&r2=398779&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/conf/clay-config.xml (original)
+++ struts/shale/trunk/clay-plugin/src/conf/clay-config.xml Mon May  1 19:22:43 2006
@@ -23,677 +23,1141 @@
       "-//Apache Software Foundation//DTD Shale Clay View Configuration 1.0//EN"
       "http://struts.apache.org/dtds/shale-clay-config_1_0.dtd">
 <view>
-   <component jsfid="baseHtml" componentType="override">
+
+   <component jsfid="baseComponent" componentType="override">
+      <description>Abstract component definition extended by baseHtml, token, subview, 
+         validatorScript, parameter, selectItem, selectItems, inputHidden, column, 
+         clay and loadBundle
+      </description>
       <attributes>
-        <set name="rendered" bindingType="VB" />
-        
+        <set name="rendered" bindingType="VB">
+           <description>Controls the visibility of the component markup.  
+              A boolean value is expected as a literal or a value binding expression.
+           </description>
+        </set>
+        <set name="binding" bindingType="VB">
+            <description>A value binding expression that fixes up a component instance 
+              within the component tree with a reference defined in a backing bean.
+            </description>
+        </set>
+      </attributes>
+   </component>
+
+
+   <component jsfid="baseHtml" extends="baseComponent">
+      <description>Abstract base component definition extended by baseInput, 
+         baseOutput, baseAction, outputText, panelGroup, image, form, dataTable, 
+         message, messages and panelGrid.
+      </description>
+      <attributes>        
         <!-- HTML 4.0 universal attributes -->
-        <set name="dir" bindingType="VB" />  
-        <set name="lang" bindingType="VB" />  
-        <set name="style" bindingType="VB" />  
-        <set name="title" bindingType="VB" />  
+        <set name="dir" bindingType="VB">
+           <description></description> 
+        </set>         
+        <set name="lang" bindingType="VB">
+           <description></description>
+        </set>  
+        <set name="style" bindingType="VB">
+           <description></description>
+        </set>  
+        <set name="title" bindingType="VB">
+           <description></description>
+        </set>  
         
-        <!-- Convention mapping "class" attribute to "styleClass" property -->
-        <set name="styleClass" bindingType="VB" value="@class"/>
+        <set name="styleClass" bindingType="VB" value="@class">
+           <description>Convention mapping html class attribute to 
+              styleClass component property
+           </description>   
+        </set>
 
         <!-- HTML 4.0 event-handler attributes --> 
-        <set name="onclick" bindingType="VB" />  
-        <set name="ondblclick" bindingType="VB" />  
-        <set name="onmousedown" bindingType="VB" />  
-        <set name="onmouseup" bindingType="VB" />  
-        <set name="onmouseover" bindingType="VB" />  
-        <set name="onmouseover" bindingType="VB" />  
-        <set name="onmousemove" bindingType="VB" />  
-        <set name="onmouseout" bindingType="VB" />  
-        <set name="onkeypress" bindingType="VB" />  
-        <set name="onkeydown" bindingType="VB" />  
-        <set name="onkeyup" bindingType="VB" />
-
+        <set name="onclick" bindingType="VB">
+           <description></description>
+        </set>
+          
+        <set name="ondblclick" bindingType="VB">
+           <description></description>
+        </set>  
+        <set name="onmousedown" bindingType="VB">
+           <description></description>
+        </set>  
+        <set name="onmouseup" bindingType="VB">
+           <description></description>
+        </set>  
+        <set name="onmouseover" bindingType="VB">
+           <description></description>
+        </set>  
+        <set name="onmouseover" bindingType="VB">
+           <description></description>
+        </set>  
+        <set name="onmousemove" bindingType="VB">
+           <description></description>
+        </set>  
+        <set name="onmouseout" bindingType="VB">
+           <description></description>
+        </set>  
+        <set name="onkeypress" bindingType="VB">
+           <description></description>
+        </set>  
+        <set name="onkeydown" bindingType="VB">
+           <description></description>     
+        </set>  
+        <set name="onkeyup" bindingType="VB">
+           <description></description>
+        </set>
       </attributes>
       <symbols>
-        <set name="class"/>
-        <set name="null-value"/>
+        <set name="class">
+           <description>The default value of the styleClass attribute.</description>
+        </set>
+        <set name="null-value">
+           <description>A symbol that can be used to assign a null value to an attribute.</description>
+        </set>
       </symbols>
    </component>
    
    
    <component jsfid="baseInput" extends="baseHtml">
+      <description>Abstract base component definition extending baseHtml and extended by selectOneRadio, 
+          selectOneMenu, selectManyMenu, manySelectCheckbox, selectBooleanCheckbox, inputTextarea, 
+          inputSecret and inputText.</description>
       <attributes>
         <!-- HTML 4.0 input attributes -->
-        <set name="accesskey" bindingType="VB" />
-        <set name="align" bindingType="VB" />
-        <set name="alt" bindingType="VB" />
-        <set name="datafld" bindingType="VB" />
-        <set name="datasrc" bindingType="VB" />
-        <set name="dataformatas" bindingType="VB" />
-        <set name="disabled" bindingType="VB" />
-        <set name="onblur" bindingType="VB" />
-        <set name="onchange" bindingType="VB" />
-        <set name="onfocus" bindingType="VB" />
-        <set name="readonly" bindingType="VB" />
-        <set name="onselect" bindingType="VB" />
-        <set name="tabindex" bindingType="VB" />
-
-        <set name="required" bindingType="VB" />        
-        <set name="value" bindingType="VB" />
-        <set name="converter" bindingType="VB" />
-        <set name="immediate" bindingType="VB" />
-        <set name="validator" bindingType="MB" />
-        <set name="valueChangeListener" bindingType="MB" />
-        
+        <set name="accesskey" bindingType="VB">
+           <description></description>
+        </set>
+        <set name="align" bindingType="VB">
+           <description></description>
+        </set>
+        <set name="alt" bindingType="VB">
+          <description></description>
+        </set>
+        <set name="datafld" bindingType="VB">
+          <description></description>
+        </set>
+        <set name="datasrc" bindingType="VB">
+          <description></description>
+        </set>
+        <set name="dataformatas" bindingType="VB">
+          <description></description>
+        </set>
+        <set name="disabled" bindingType="VB">
+          <description></description>
+        </set>
+        <set name="onblur" bindingType="VB">
+           <description></description>
+        </set>
+        <set name="onchange" bindingType="VB">
+           <description></description>
+        </set>
+        <set name="onfocus" bindingType="VB">
+           <description></description>
+        </set>
+        <set name="readonly" bindingType="VB">
+           <description></description>
+        </set>
+        <set name="onselect" bindingType="VB">
+           <description></description>
+        </set>
+        <set name="tabindex" bindingType="VB">
+           <description></description>
+        </set>
+        <set name="required" bindingType="VB">
+           <description></description>
+        </set>        
+        <set name="value" bindingType="VB">
+           <description></description>
+        </set>
+        <set name="converter" bindingType="VB">
+           <description></description>
+        </set>
+        <set name="immediate" bindingType="VB">
+           <description></description>
+        </set>
+        <set name="validator" bindingType="MB">
+           <description></description>
+        </set>
+        <set name="valueChangeListener" bindingType="MB">
+           <description></description>
+        </set> 
       </attributes>
    </component>
    
    <component jsfid="baseOutput" extends="baseHtml">
+     <description>Abstract component definition that extends baseHtml and
+      is subclassed by outputLink, outputLabel and outputFormat.</description>
      <attributes>
-        <set name="value" bindingType="VB" />
-        <set name="converter" bindingType="VB" /> 
+        <set name="value" bindingType="VB">
+           <description></description>
+        </set>
+        <set name="converter" bindingType="VB">
+           <description></description>
+        </set> 
      </attributes>
   </component>
   
    <component jsfid="baseAction" extends="baseHtml">
+      <description>Abstract component definition for commandLink and 
+        comandButton extending baseHtml.
+      </description>
       <attributes>
         <!-- UIComponent attributes -->
-        <set name="action" bindingType="MB" /> 
-        <set name="actionListener" bindingType="MB" /> 
-        <set name="immediate" bindingType="VB" /> 
-        <set name="value" bindingType="VB" />  
+        <set name="action" bindingType="MB">
+           <description></description>
+        </set> 
+        <set name="actionListener" bindingType="MB">
+           <description></description>
+        </set> 
+        <set name="immediate" bindingType="VB">
+           <description></description>
+        </set> 
+        <set name="value" bindingType="VB">
+            <description></description>
+        </set>  
      </attributes>
    </component>
    
-   <!-- 
-      The "Token" component emits a transactional token that is then
-      validated (on a subsequent form submit) to catch cases where the
-      same form was submitted more than once.
-    -->
-  <component jsfid="token" id="token" componentType="org.apache.shale.Token" allowBody="false">
-      <attributes>
-        <set name="rendered" bindingType="VB" />
-      </attributes>
+  <component jsfid="token" id="token" componentType="org.apache.shale.Token" allowBody="false" extends="baseComponent">
+     <description>
+        The "Token" component emits a transactional token that is then
+        validated (on a subsequent form submit) to catch cases where the
+        same form was submitted more than once.
+     </description>      
   </component>
 
-  <!--  Provides access to Commons Validators  -->
   <component jsfid="commonsValidator" componentType="org.apache.shale.CommonsValidator" allowBody="false">
+      <description>This is a JSF validator that uses Commons Validator to perform 
+         validation, either client-side or server-side.
+      </description>
       <attributes>
-        <set name="type" bindingType="Early" />
-        <set name="min" bindingType="Early" />
-        <set name="max" bindingType="Early" />
-        <set name="minlength" bindingType="Early" />
-        <set name="maxlength" bindingType="Early" />
-        <set name="mask" bindingType="Early" />
-        <set name="message" bindingType="Early" />
-        <set name="arg" bindingType="Early" />
-        <set name="client" bindingType="Early" />
-        <set name="server" bindingType="Early" />
+        <set name="type" bindingType="Early">
+           <description>The validator rule name to invoke.</description>
+        </set>
+        <set name="min" bindingType="Early">
+           <description>Lower range limit used by the doubleRange, floatRange and intRange rules.</description>
+        </set>
+        <set name="max" bindingType="Early">
+           <description>Upper range limit used by the doubleRange, floatRange and intRange rules.</description>
+        </set>
+        <set name="minlength" bindingType="Early">
+           <description>Minimum link used by the minlength rule.</description>
+        </set>
+        <set name="maxlength" bindingType="Early">
+           <description>Maximum link used by the minlength rule. </description>
+        </set>
+        <set name="mask" bindingType="Early">
+           <description>Validating regular expression used by the mask rule.</description>
+        </set>
+        <set name="message" bindingType="Early">
+           <description>An overriding error message.  The replacement positional parameters 
+              are defined by args in the xml config.
+           </description>
+        </set>
+        <set name="arg" bindingType="Early">
+           <description>The name of the validating component.</description>
+        </set>
+        <set name="client" bindingType="Early">
+           <description>Boolean flag that determines if client side validation is performed.</description>
+        </set>
+        <set name="server" bindingType="Early">
+           <description>Boolean flag that indicates that server side validation should be performed.</description>
+        </set>
       </attributes>
   </component>
 
   <!--  Provide ViewController support functionality for the nested content
       (typically a JSP dynamic include) of this component.
   -->
-  <component jsfid="subview" id="subview" componentType="org.apache.shale.Subview" allowBody="true">
-      <attributes>
-        <set name="rendered" bindingType="VB" />
-      </attributes>
+  <component jsfid="subview" id="subview" componentType="org.apache.shale.Subview" allowBody="true" extends="baseComponent">
+     <description>
+        Provide ViewController support functionality for the nested content
+        (typically a JSP dynamic include) of this component.  The id attribute binds
+        to the managed bean name that must be a ViewController.  
+     </description>
   </component>
 
-  <!-- Generates JavaScript for client-side validation  -->
-  <component jsfid="validatorScript" id="validatorScript" componentType="org.apache.shale.ValidatorScript" allowBody="false">
+  <component jsfid="validatorScript" id="validatorScript" componentType="org.apache.shale.ValidatorScript" 
+             allowBody="false" extends="baseComponent">
+      <description>
+         Generates JavaScript for client-side validation.
+      </description>
       <attributes>
-        <set name="functionName" bindingType="None" />
+        <set name="functionName" bindingType="None">
+           <description></description>
+        </set>
       </attributes>
   </component>
 
-  <!-- 
-     Render readonly text
-   -->
   <component jsfid="outputText" componentType="javax.faces.HtmlOutputText" extends="baseHtml">
+    <description>Render readonly text.</description>
     <attributes>
-        <set name="value" bindingType="VB" />        
-        <set name="escape" bindingType="VB" />  
+        <set name="value" bindingType="VB">
+           <description></description>
+        </set>        
+        <set name="escape" bindingType="VB">
+           <description></description>
+        </set>  
     </attributes>
   </component>
  
-  <!-- 
-     Render a url query parameter argument
-   -->   
-  <component jsfid="parameter" componentType="javax.faces.Parameter">
-    <attributes>
-      <set name="rendered" bindingType="VB" />
-      <set name="name" bindingType="VB" />
-      <set name="value" bindingType="VB" />
+  <component jsfid="parameter" componentType="javax.faces.Parameter" extends="baseComponent">
+    <description>Render a url query parameter argument.</description>
+    <attributes>
+      <set name="name" bindingType="VB">
+         <description></description>
+      </set>
+      <set name="value" bindingType="VB">
+         <description></description>
+      </set>
     </attributes>  
   </component>
   <component jsfid="param" extends="parameter"/>
   
-  <!-- 
-      Render a single html option tag
-   -->
-  <component jsfid="selectItem" componentType="javax.faces.SelectItem">
-    <attributes>
-      <set name="itemDisabled" bindingType="VB" />
-      <set name="itemDescription" bindingType="VB" />
-      <set name="itemLabel" bindingType="VB" />
-      <set name="itemValue" bindingType="VB" />
-      <set name="value" bindingType="VB" />
+  <component jsfid="selectItem" componentType="javax.faces.SelectItem" extends="baseComponent">
+    <description>Render a single html option tag.</description>
+    <attributes>
+      <set name="itemDisabled" bindingType="VB">
+         <description></description>
+      </set>
+      <set name="itemDescription" bindingType="VB">
+         <description></description>
+      </set>
+      <set name="itemLabel" bindingType="VB">
+         <description></description>
+      </set>
+      <set name="itemValue" bindingType="VB">
+         <description></description>
+      </set>
+      <set name="value" bindingType="VB">
+         <description></description>
+      </set>
     </attributes>  
-  
   </component>
   
-    <!-- 
-      Render plain text
-   -->
-  <component jsfid="verbatim" componentType="javax.faces.HtmlOutputText">
+  <component jsfid="verbatim" extends="outputText">
+    <description>Render plain text.</description>     
     <attributes>
-      <set name="escape" bindingType="VB" />
-      <set name="isTransient" bindingType="VB" value="true" />
-      <set name="value" bindingType="VB" />       
+      <set name="isTransient" bindingType="VB" value="true">
+         <description></description>
+      </set>
     </attributes>
   </component>
-  <!-- acts like a comment tag treating child nodes as verbatim -->
-  <component jsfid="ignore" componentType="javax.faces.HtmlOutputText" />
+
+  <component jsfid="ignore" componentType="javax.faces.HtmlOutputText">
+     <description>
+         Special Clay declarative tag that acts like a comment 
+         tag treating child nodes as verbatim.
+     </description>
+  </component>
   
-  <!-- creates an empty node -->
   <component jsfid="void" componentType="javax.faces.HtmlOutputText">
+      <description>
+          This is a special Clay declarative tag that creates an empty 
+          node associated with the HTML markup.  The markup is not 
+          rendered.
+      </description>
       <attributes>
         <set name="isTransient" bindingType="VB" value="true" />  
       </attributes>
   </component>
   
   
-  <!-- 
-      Render an html option tag for each item in the bound collection
-   -->
-  <component jsfid="selectItems" componentType="javax.faces.SelectItems">
+  <component jsfid="selectItems" componentType="javax.faces.SelectItems" extends="baseComponent">
+    <description> Render an html option tag for each item in the bound collection</description>
     <attributes>
-      <set name="value" bindingType="VB" />
+      <set name="value" bindingType="VB">
+         <description></description>
+      </set>
     </attributes>
   </component>
   
-  <!-- 
-      Render a set of html "input" elements of type "radio".
-   -->
   <component jsfid="selectOneRadio" componentType="javax.faces.HtmlSelectOneRadio" extends="baseInput">
+      <description>Render a set of html input elements of type radio.</description>
       <attributes>      
-        <set name="layout" bindingType="VB" /> 
-        <set name="border" bindingType="VB" /> 
+        <set name="layout" bindingType="VB">
+           <description></description>
+        </set> 
+        <set name="border" bindingType="VB">
+           <description></description>
+        </set> 
       </attributes>
   </component>
 
-  <!-- 
-      Render a "select" element without a multiple attribute.
-   -->  
-  <component jsfid="selectOneMenu" componentType="javax.faces.HtmlSelectOneMenu" extends="baseInput"/>
+  <component jsfid="selectOneMenu" componentType="javax.faces.HtmlSelectOneMenu" extends="baseInput">
+     <description> Render a select element without a multiple attribute.</description>
+  </component>
  
 
-  <!-- 
-      Render a "select" element with a multiple attribute.
-   -->    
-  <component jsfid="selectManyMenu" componentType="javax.faces.HtmlSelectManyMenu" extends="baseInput"/>
-
-  <!-- 
-      Render a set of html "input" elements of type "checkbox".
-   -->  
+  <component jsfid="selectManyMenu" componentType="javax.faces.HtmlSelectManyMenu" extends="baseInput">
+     <description>Render a select element with a multiple attribute.</description>
+  </component>
+
   <component jsfid="manySelectCheckbox" componentType="javax.faces.HtmlSelectManyCheckbox" extends="baseInput">
+      <description> Render a set of html input elements of type checkbox.</description>
       <attributes>
-        <set name="layout" bindingType="VB" /> 
+        <set name="layout" bindingType="VB">
+           <description></description>
+        </set> 
       </attributes>  
   </component>
 
-  <!-- 
-      Render a html "input" element of type "checkbox".
-   -->    
-  <component jsfid="selectBooleanCheckbox" componentType="javax.faces.HtmlSelectBooleanCheckbox" extends="baseInput"/>
-
-  <!-- 
-      Render a html "table" element.
-   -->      
-  <component jsfid="panelGroup" componentType="javax.faces.HtmlPanelGroup" extends="baseHtml"/>
-
-  <!-- 
-      Render a html "a" element.
-   -->        
-  <component jsfid="outputLink" componentType="javax.faces.HtmlOutputLink" extends="baseOutput"/>
-
-  <!-- 
-      Render a html "label" element.
-   -->          
-  <component jsfid="outputLabel" componentType="javax.faces.HtmlOutputLabel" extends="baseOutput" >
+  <component jsfid="selectBooleanCheckbox" componentType="javax.faces.HtmlSelectBooleanCheckbox" extends="baseInput">
+     <description>Render a html input element of type checkbox.</description>
+  </component>
+
+  <component jsfid="panelGroup" componentType="javax.faces.HtmlPanelGroup" extends="baseHtml">
+     <description>Render a html "span" element around its nested components</description>
+  </component>
+
+  <component jsfid="outputLink" componentType="javax.faces.HtmlOutputLink" extends="baseOutput">
+     <description>Render a html "a" element.</description>
      <attributes>
-        <set name="for" bindingType="VB" />      
+        <set name="target" bindingType="VB">
+           <description></description>
+        </set>      
+     </attributes>
+  </component>
+
+  <component jsfid="outputLabel" componentType="javax.faces.HtmlOutputLabel" extends="baseOutput">
+     <description>Render a html label element.</description>
+     <attributes>
+        <set name="for" bindingType="VB">
+           <description></description>
+        </set>      
      </attributes>
-  
   </component>
   
-   <!-- 
-      Render a html "textarea" element.
-   -->        
   <component jsfid="inputTextarea" componentType="javax.faces.HtmlInputTextarea" extends="baseInput">
+      <description>Render a html "textarea" element.</description>
       <attributes>
-        <set name="rows" bindingType="VB" />   
-        <set name="cols" bindingType="VB" />              
+        <set name="rows" bindingType="VB">
+           <description></description>
+        </set>   
+        <set name="cols" bindingType="VB">
+           <description></description>
+        </set>              
       </attributes>
   </component>
 
-   <!-- 
-      Render a html "input" element of type "password".
-   -->        
   <component jsfid="inputSecret" componentType="javax.faces.HtmlInputSecret" extends="baseInput">
+      <description>Render a html input element of type password.</description>
       <attributes>
          <!-- SecretRenderer attributes -->
-        <set name="redisplay" bindingType="Early" />
-        <set name="maxLength" bindingType="VB" />   
-        <set name="size" bindingType="VB" />                            
+        <set name="redisplay" bindingType="Early">
+           <description></description>
+        </set>
+        <set name="maxLength" bindingType="VB">
+          <description></description>
+        </set>   
+        <set name="size" bindingType="VB">
+          <description></description>
+        </set>                            
       </attributes>
   </component>
 
-  <!-- 
-      Render a html "input" element of type "hidden".
-   -->          
-  <component jsfid="inputHidden" componentType="javax.faces.HtmlInputHidden">
+  <component jsfid="inputHidden" componentType="javax.faces.HtmlInputHidden" extends="baseComponent">
+       <description>Render a html input element of type hidden.</description>
        <attributes>
-        <set name="rendered" bindingType="VB" />
-        <set name="value" bindingType="VB" />
-        
-        <set name="converter" bindingType="VB" />
-        <set name="immediate" bindingType="VB" />
-        <set name="validator" bindingType="MB" />
-        <set name="valueChangeListener" bindingType="MB" />
+        <set name="value" bindingType="VB">
+           <description></description>
+        </set>       
+        <set name="converter" bindingType="VB">
+           <description></description>
+        </set>
+        <set name="immediate" bindingType="VB">
+           <description></description>
+        </set>
+        <set name="validator" bindingType="MB">
+           <description></description>
+        </set>
+        <set name="valueChangeListener" bindingType="MB">
+           <description></description>
+        </set>
        </attributes>  
   </component>
 
-  <!-- 
-      Render a html "img" element.
-   -->            
   <component jsfid="image" componentType="javax.faces.HtmlGraphicImage" extends="baseHtml">
+       <description>Render a html "img" element.</description>
        <attributes>
-        <set name="url" bindingType="VB" />
-        <set name="value" bindingType="VB" />
+        <set name="url" bindingType="VB">
+           <description></description>
+        </set>
+        <set name="value" bindingType="VB">
+           <description></description>
+        </set>
 
         <!-- HTML 4.0 img attributes -->
-        <set name="align" bindingType="VB" />  
-        <set name="alt" bindingType="VB" />  
-        <set name="border" bindingType="VB" />  
-        <set name="height" bindingType="VB" />  
-        <set name="hspace" bindingType="VB" />  
-        <set name="ismap" bindingType="VB" />  
-        <set name="longdesc" bindingType="VB" />  
-        <set name="usemap" bindingType="VB" />  
-        <set name="vspace" bindingType="VB" />  
-        <set name="width" bindingType="VB" />  
+        <set name="align" bindingType="VB">
+           <description></description>
+        </set>  
+        <set name="alt" bindingType="VB">
+           <description></description>
+        </set>  
+        <set name="border" bindingType="VB">
+           <description></description>
+        </set>  
+        <set name="height" bindingType="VB">
+           <description></description>
+        </set>  
+        <set name="hspace" bindingType="VB">
+           <description></description>
+        </set>  
+        <set name="ismap" bindingType="VB">
+           <description></description>
+        </set>  
+        <set name="longdesc" bindingType="VB">
+           <description></description>
+        </set>  
+        <set name="usemap" bindingType="VB">
+           <description></description>
+        </set>  
+        <set name="vspace" bindingType="VB">
+           <description></description>
+        </set>  
+        <set name="width" bindingType="VB">
+           <description></description>
+        </set>  
        </attributes>
   </component>
+  
+  <component jsfid="graphicImage" extends="image"/>
 
-  <!-- 
-      Render a html "form" element.
-   -->              
   <component jsfid="form" componentType="javax.faces.HtmlForm" extends="baseHtml">
+     <description>Render a html form element.</description>
      <attributes>        
         <!-- HTML 4.0 form attributes -->  
-        <set name="accept" bindingType="VB" />  
-        <set name="acceptCharset" bindingType="VB" />  
-        <set name="enctype" bindingType="VB" />  
-        <set name="name" bindingType="VB" />  
-        <set name="onreset" bindingType="VB" />  
-        <set name="onsubmit" bindingType="VB" />  
-        <set name="target" bindingType="VB" />  
+        <set name="accept" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="acceptCharset" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="enctype" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="name" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="onreset" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="onsubmit" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="target" bindingType="VB">
+          <description></description>
+        </set>  
      </attributes>
   </component>
 
-  <!-- 
-      Render a html "table" element.
-   -->              
   <component jsfid="dataTable" componentType="javax.faces.HtmlDataTable" extends="baseHtml">
+     <description>Render an html table that is populated from a backing dynamic collection.</description>
      <attributes>
         
         <!-- HTML 4.0 table attributes -->
-        <set name="align" bindingType="VB" />  
-        <set name="border" bindingType="VB" />  
-        <set name="bgcolor" bindingType="VB" />  
-        <set name="cellpadding" bindingType="VB" />  
-        <set name="cellspacing" bindingType="VB" />  
-        <set name="datafld" bindingType="VB" />  
-        <set name="datasrc" bindingType="VB" />  
-        <set name="dataformatas" bindingType="VB" />  
-        <set name="frame" bindingType="VB" />  
-        <set name="rules" bindingType="VB" />  
-        <set name="summary" bindingType="VB" />  
-        <set name="width" bindingType="VB" />
-        <set name="value" bindingType="VB" />  
-        <set name="var" bindingType="None" />  
-        <set name="rows" bindingType="VB" />  
-        <set name="first" bindingType="VB" />  
-        <set name="columnClasses" bindingType="VB" />  
-        <set name="footerClass" bindingType="VB" />  
-        <set name="headerClass" bindingType="VB" />  
-        <set name="rowClasses" bindingType="VB" />      
+        <set name="align" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="border" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="bgcolor" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="cellpadding" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="cellspacing" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="datafld" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="datasrc" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="dataformatas" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="frame" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="rules" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="summary" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="width" bindingType="VB">
+          <description></description>
+        </set>
+        <set name="value" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="var" bindingType="None">
+          <description></description>
+        </set>  
+        <set name="rows" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="first" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="columnClasses" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="footerClass" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="headerClass" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="rowClasses" bindingType="VB">
+          <description></description>
+        </set>      
      </attributes>
   </component>
-   <!-- 
-      Render a html "input" element of type "button".
-   -->            
+
   <component jsfid="commandLink" componentType="javax.faces.HtmlCommandLink" extends="baseAction">
+      <description>Render a html anchor link that simulates a button by invoking a form submit.</description>
       <attributes>  
         <!-- HTML 4.0 anchor (=a) attributes -->
-        <set name="accesskey" bindingType="VB" />  
-        <set name="coords" bindingType="VB" />  
-        <set name="hreflang" bindingType="VB" />  
-        <set name="rel" bindingType="VB" />  
-        <set name="rev" bindingType="VB" />  
-        <set name="shape" bindingType="VB" />  
-        <set name="tabindex" bindingType="VB" />  
-        <set name="type" bindingType="VB" />  
-        <set name="onblur" bindingType="VB" />  
-        <set name="onfocus" bindingType="VB" />  
-        <set name="target" bindingType="VB" />  
+        <set name="accesskey" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="coords" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="hreflang" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="rel" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="rev" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="shape" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="tabindex" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="type" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="onblur" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="onfocus" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="target" bindingType="VB">
+          <description></description>
+        </set>  
      </attributes>
   </component>
 
-   <!-- 
-      Defines a html "td" element within a "dataTable".
-   -->              
-  <component jsfid="column" componentType="javax.faces.Column">
-    <attributes>
-      <set name="rendered" bindingType="VB" />
-      <set name="facetName" bindingType="VB" /> 
-    </attributes>
+  <component jsfid="column" componentType="javax.faces.Column" extends="baseComponent">
+     <description>Defines a column of data within a dataTable component.</description>
   </component>
 
-   <!-- 
-      Render a html "input" element of type "text".
-   -->              
   <component jsfid="inputText" componentType="javax.faces.HtmlInputText" extends="baseInput">
+    <description>Render a html input element of type text.</description>
     <attributes>
-        <set name="escape" bindingType="VB" />  
-        <set name="maxLength" bindingType="VB" />   
-        <set name="size" bindingType="VB" />              
+        <set name="escape" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="maxLength" bindingType="VB">
+          <description></description>
+        </set>   
+        <set name="size" bindingType="VB">
+          <description></description>
+        </set>              
     </attributes>
   </component>
 
-   <!-- 
-      Render a readonly text value substituting inline string parameters.  
-   -->                
-  <component jsfid="outputFormat" componentType="javax.faces.HtmlOutputFormat" extends="baseOutput"/>
+  <component jsfid="outputFormat" componentType="javax.faces.HtmlOutputFormat" extends="baseOutput">
+     <description>Render a readonly text value substituting inline string parameters. </description>  
+  </component>
   
-   <!-- 
-      Render a set of readonly text messages.  
-   -->                  
   <component jsfid="messages" componentType="javax.faces.HtmlMessages" extends="baseHtml">
+    <description>Renders a set of readonly text messages. </description>
     <attributes>
-      <set name="rendered" bindingType="VB" />
-      <set name="showSummary" bindingType="VB" />
-      <set name="showDetail" bindingType="VB" />
-      <set name="globalOnly" bindingType="VB" />
-      
-      <set name="infoClass" bindingType="VB" />
-      <set name="infoStyle" bindingType="VB" />
-      <set name="warnClass" bindingType="VB" />
-      <set name="warnStyle" bindingType="VB" />
-      <set name="errorClass" bindingType="VB" />
-      <set name="errorStyle" bindingType="VB" />
-      <set name="fatalClass" bindingType="VB" />
-      <set name="fatalStyle" bindingType="VB" />
-      <set name="tooltip" bindingType="VB" />
-      <set name="layout" bindingType="VB" /> 
+      <set name="showSummary" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="showDetail" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="globalOnly" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="infoClass" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="infoStyle" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="warnClass" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="warnStyle" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="errorClass" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="errorStyle" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="fatalClass" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="fatalStyle" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="tooltip" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="layout" bindingType="VB">
+        <description></description>
+      </set> 
     </attributes>  
   </component>	
 
-   <!-- 
-      Render a readonly text messages associated with an "input" element.   
-   -->                    
   <component jsfid="message" componentType="javax.faces.HtmlMessage" extends="baseHtml">
+    <description>Render a readonly text message associated with an input element.</description>
     <attributes>
-      <set name="rendered" bindingType="VB" />
-      <set name="for" bindingType="VB" />
-      <set name="showSummary" bindingType="VB" />
-      <set name="showDetail" bindingType="VB" />
-      <set name="infoClass" bindingType="VB" />
-      <set name="infoStyle" bindingType="VB" />
-      <set name="warnClass" bindingType="VB" />
-      <set name="warnStyle" bindingType="VB" />
-      <set name="errorClass" bindingType="VB" />
-      <set name="errorStyle" bindingType="VB" />
-      <set name="fatalClass" bindingType="VB" />
-      <set name="fatalStyle" bindingType="VB" />
-      <set name="tooltip" bindingType="VB" />
+      <set name="for" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="showSummary" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="showDetail" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="infoClass" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="infoStyle" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="warnClass" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="warnStyle" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="errorClass" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="errorStyle" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="fatalClass" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="fatalStyle" bindingType="VB">
+        <description></description>
+      </set>
+      <set name="tooltip" bindingType="VB">
+        <description></description>
+      </set>
 
     </attributes>  
   </component>	
 
-   <!-- 
-      Render a html "input" element of type "submit".
-   -->                
   <component jsfid="commandButton" componentType="javax.faces.HtmlCommandButton" extends="baseAction">
+    <description>Render a html input element of type "submit".</description>
     <attributes>      
       <!-- HTML 4.0 button attributes -->
-      <set name="accesskey" bindingType="VB" />  
-      <set name="alt" bindingType="VB" />  
-      <set name="disabled" bindingType="VB" />  
-      <set name="onblur" bindingType="VB" />  
-      <set name="onchange" bindingType="VB" />  
-      <set name="onfocus" bindingType="VB" />  
-      <set name="onselect" bindingType="VB" />  
-      <set name="size" bindingType="VB" />  
-      <set name="tabindex" bindingType="VB" />  
-      <set name="type" bindingType="VB" />  
+      <set name="accesskey" bindingType="VB">
+         <description></description>
+      </set>  
+      <set name="alt" bindingType="VB">
+         <description></description>
+      </set>  
+      <set name="disabled" bindingType="VB">
+         <description></description>
+      </set>  
+      <set name="onblur" bindingType="VB">
+         <description></description>
+      </set>  
+      <set name="onchange" bindingType="VB">
+         <description></description>
+      </set>  
+      <set name="onfocus" bindingType="VB">
+         <description></description>
+      </set>  
+      <set name="onselect" bindingType="VB">
+         <description></description>
+      </set>  
+      <set name="size" bindingType="VB">
+         <description></description>
+      </set>  
+      <set name="tabindex" bindingType="VB">
+         <description></description>
+      </set>  
+      <set name="type" bindingType="VB">
+         <description></description>
+      </set>  
 
       <!-- HtmlCommandButton attributes -->
-      <set name="image" bindingType="VB" />  
+      <set name="image" bindingType="VB">
+         <description></description>
+      </set>  
     </attributes>
   </component>	
 
-   <!-- 
-      Render a html "table" element.
-   -->                  
   <component jsfid="panelGrid" componentType="javax.faces.HtmlPanelGrid" extends="baseHtml">
+     <description>Render a HTML table element.</description>
      <attributes>
-        <set name="value" bindingType="VB" />  
-        
         <!-- HTML 4.0 table attributes -->
-        <set name="align" bindingType="VB" />  
-        <set name="border" bindingType="VB" />  
-        <set name="bgcolor" bindingType="VB" />  
-        <set name="cellpadding" bindingType="VB" />  
-        <set name="cellspacing" bindingType="VB" />  
-        <set name="datafld" bindingType="VB" />  
-        <set name="datasrc" bindingType="VB" />  
-        <set name="dataformatas" bindingType="VB" />  
-        <set name="frame" bindingType="VB" />  
-        <set name="rules" bindingType="VB" />  
-        <set name="summary" bindingType="VB" />  
-        <set name="width" bindingType="VB" />  
+        <set name="align" bindingType="VB">
+          <description>The position of the table within the document.  The valid 
+             values are center left and right.
+          </description>
+        </set>  
+        <set name="border" bindingType="VB">
+          <description>The size of the frame around the table.</description>
+        </set>  
+        <set name="bgcolor" bindingType="VB">
+          <description>The background color of the table.</description>
+        </set>  
+        <set name="cellpadding" bindingType="VB">
+          <description>The spacing within table cells.</description>
+        </set>  
+        <set name="cellspacing" bindingType="VB">
+          <description>The spacing between table cells.</description>
+        </set>  
+        <set name="datafld" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="datasrc" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="dataformatas" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="frame" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="rules" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="summary" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="width" bindingType="VB">
+          <description></description>
+        </set>  
         
         <!-- GridRenderer attributes -->
-        <set name="columnClasses" bindingType="VB" />  
-        <set name="columns" bindingType="VB" />  
-        <set name="footerClass" bindingType="VB" />  
-        <set name="headerClass" bindingType="VB" />  
-        <set name="rowClasses" bindingType="VB" />   
+        <set name="columnClasses" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="columns" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="footerClass" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="headerClass" bindingType="VB">
+          <description></description>
+        </set>  
+        <set name="rowClasses" bindingType="VB">
+          <description></description>
+        </set>   
      </attributes>
   </component>
 
-   <!-- 
-      Not associated with an html element. 
-   -->                    
-  <component jsfid="namingContainer" componentType="javax.faces.NamingContainer" />
+  <component jsfid="namingContainer" componentType="javax.faces.NamingContainer">
+    <description>
+       This component generates a unique container namespace.  It has
+       null renderer and is not associated with an html element.
+    </description>
+  </component>
 
    <!-- 
       Renders a html space. 
    -->                      
   <component jsfid="space" extends="outputText">
+    <description>An outputText component that renders a html non breakable space.</description>
     <attributes>
-      <set name="value" value="&amp;nbsp;" bindingType="None"/>
-      <set name="escape" value="false" bindingType="None"/>
+      <set name="value" value="&amp;nbsp;" bindingType="None">
+        <description>The html symbol for a space.</description>
+      </set>
+      <set name="escape" value="false" bindingType="None">
+        <description>Toggles of symbol escaping.</description>
+      </set>
     </attributes>		
   </component>
 
-   <!-- 
-      Converts a String value into a BigDecimal type and back to a String.
-   -->                        
-  <component jsfid="bigDecimalConverter" componentType="javax.faces.BigDecimal"/>
+  <component jsfid="bigDecimalConverter" componentType="javax.faces.BigDecimal">
+     <description>Converts a String value into a java.util.BigDecimal type and back to a String.</description>
+  </component>
 
-   <!-- 
-      Converts a String value into a BigInteger type and back to a String.
-   -->                          
-  <component jsfid="bigIntegerConverter" componentType="javax.faces.BigInteger"/>
+  <component jsfid="bigIntegerConverter" componentType="javax.faces.BigInteger">
+     <description>Converts a String value into a java.util.BigInteger type and back to a String.</description>
+  </component>
 
-   <!-- 
-      Converts a String value into a Boolean type and back to a String.
-   -->                          
-  <component jsfid="booleanConverter" componentType="javax.faces.Boolean"/>
+  <component jsfid="booleanConverter" componentType="javax.faces.Boolean">
+     <description>Converts a String value into a java.lang.Boolean type and back to a String.</description>
+  </component>
   
-   <!-- 
-      Converts a String value into a Byte type and back to a String.
-   -->                          
-  <component jsfid="byteConverter" componentType="javax.faces.Byte"/>
+  <component jsfid="byteConverter" componentType="javax.faces.Byte">
+     <description>Converts a String value into a java.lang.Byte type and back to a String.</description>
+  </component>
 
-   <!-- 
-      Converts a String value into a Character type and back to a String.
-   -->                          
-  <component jsfid="characterConverter" componentType="javax.faces.Character"/>
+  <component jsfid="characterConverter" componentType="javax.faces.Character">
+     <description>Converts a String value into a java.lang.Character type and back to a String.</description>
+  </component>
   
-   <!-- 
-      Converts a String value into a Double type and back to a String.
-   -->                          
-  <component jsfid="doubleConverter" componentType="javax.faces.Double"/>
+  <component jsfid="doubleConverter" componentType="javax.faces.Double">
+     <description>Converts a String value into a java.lang.Double type and back to a String.</description>
+  </component>
 
-   <!-- 
-      Converts a String value into a Float type and back to a String.
-   -->                          
-  <component jsfid="floatConverter" componentType="javax.faces.Float"/>
+  <component jsfid="floatConverter" componentType="javax.faces.Float">
+    <description>Converts a String value into a java.lang.Float type and back to a String.</description>
+  </component>
   
-   <!-- 
-      Converts a string value into a primitive int type and back to a string.
-   -->                        
-  <component jsfid="integerConverter" componentType="javax.faces.Integer"/> 
+  <component jsfid="integerConverter" componentType="javax.faces.Integer">
+     <description>Converts a string value into an java.lang.Integer type and back to a string.</description>
+  </component> 
 
-   <!-- 
-      Converts a String value into a Long type and back to a String.
-   -->                          
-  <component jsfid="longConverter" componentType="javax.faces.Long"/>
+  <component jsfid="longConverter" componentType="javax.faces.Long">
+    <description>Converts a String value into a java.lang.Long type and back to a String.</description>
+  </component>
 
-   <!-- 
-      Converts a String value into a number type and back to a String.
-   -->                          
   <component jsfid="numberConverter" componentType="javax.faces.Number">
+    <description>Converts a String into a number and back to a String.</description>
     <attributes>
-       <set name="currencyCode" bindingType="Early"/>
-       <set name="currencySymbol" bindingType="Early"/>
-       <set name="integerOnly" bindingType="Early"/>
-       <set name="maxFractionDigits" bindingType="Early"/>
-       <set name="maxIntegerDigits" bindingType="Early"/>
-       <set name="minFractionDigits" bindingType="Early"/>
-       <set name="minIntegerDigits" bindingType="Early"/>
-       <set name="pattern" bindingType="Early"/>
-       <set name="groupingUsed" bindingType="Early" />
-       <set name="type" bindingType="Early"/>
+       <set name="currencyCode" bindingType="Early">
+         <description>See java.util.Currency.</description>
+       </set>
+       <set name="currencySymbol" bindingType="Early">
+         <description>See java.util.Currency.</description>
+       </set>
+       <set name="integerOnly" bindingType="Early">
+         <description>Flag indicating the binding value is an integer.</description>       
+       </set>
+       <set name="maxFractionDigits" bindingType="Early">
+         <description>See java.text.FormatNumber#getMaximumFractionDigits(). for the description</description>
+       </set>
+       <set name="maxIntegerDigits" bindingType="Early">
+         <description>See java.text.FormatNumber#getMaximumIntegerDigits() for the description.</description>
+       </set>
+       <set name="minFractionDigits" bindingType="Early">
+         <description>See java.text.FormatNumber#getMinimumIntegerDigits() for the description.</description>
+       </set>
+       <set name="minIntegerDigits" bindingType="Early">
+         <description>See java.text.FormatNumber#getMinimumFractionDigits() for the description.</description>
+       </set>
+       <set name="pattern" bindingType="Early">
+         <description>See java.text.DecimalFormat for the decimal patterns.</description>
+       </set>
+       <set name="groupingUsed" bindingType="Early">
+         <description>Boolean flag that determines if separators are used.  
+           See java.text.DecimalFormat#isGroupingUsed().</description>
+       </set>
+       <set name="type" bindingType="Early">
+         <description>The type of numeric value.  The valid enumerations include number, currency and percent.
+         </description>
+       </set>
     </attributes>
   </component>
 
-   <!-- 
-      Converts a String value into a Short type and back to a String.
-   -->                          
-  <component jsfid="shortConverter" componentType="javax.faces.Short"/>
+  <component jsfid="shortConverter" componentType="javax.faces.Short">
+    <description>Converts a String value into a java.lang.Short type and back to a String.</description>
+  </component>
 
 
-   <!-- 
-      Converts a string value into a java.util.Date type and back to a string.
-   -->                            
   <component jsfid="dateTimeConverter" componentType="javax.faces.DateTime" >
+    <description>Converts a string value into a java.util.Date type and back to a string.</description>
     <attributes>
-      <set name="dateStyle" bindingType="Early" />
-      <set name="pattern" bindingType="Early"/>
-      <set name="timeStyle" bindingType="Early"/>
-      <set name="type" bindingType="Early"/>       
-      <set name="timeZone" bindingType="Early"/> 
+      <set name="dateStyle" bindingType="Early">
+        <description>Corresponds to the java.text.DateFormat style constants.  The valid enumerations are 
+          SHORT, MEDIUM, LONG, FULL.
+        </description>
+      </set>
+      <set name="pattern" bindingType="Early">
+        <description>Represents the date and time patterns of the java.text.SimpleDateFormat class.</description>
+      </set>
+      <set name="timeStyle" bindingType="Early">
+        <description></description>
+      </set>
+      <set name="type" bindingType="Early">
+        <description>The type of date.  The valid enumerations are date, time and both.</description>
+      </set>       
+      <set name="timeZone" bindingType="Early">
+        <description>String representation of the time zone.  The default is GMT.  
+          Refer to the java.util.TimeZone class. 
+        </description>
+      </set> 
     </attributes>	
   </component>
 
-   <!-- 
-      Converts a string value into a primitive long type and back to a string.
-   -->                            
-  <component jsfid="validateLongRange" componentType="javax.faces.LongRange" >
-      <attributes>
-        <set name="minimum" bindingType="Early" />
-        <set name="maximum" bindingType="Early" />
-      </attributes>	
-  </component>
-
 
-  <!-- Nested Clay Component -->    
   <component jsfid="clay" componentType="org.apache.shale.clay.component.Clay" 
-        allowBody="false">
+        allowBody="false" extends="baseComponent">
+    <description>This component builds a sub component tree and attaches it to 
+       the component tree for the target view.  It uses XML and HTML template 
+       metadata to build the corresponding JSF components.
+    </description>
     <attributes>
-      <set name="rendered" bindingType="VB" />    
-      <set name="clayJsfid" bindingType="Early" value="RUNTIME"/>
-      <set name="managedBeanName" bindingType="Early"/>
-      <set name="shapeValidator" bindingType="None"/> 
+      <set name="clayJsfid" bindingType="Early" value="RUNTIME">
+        <description>
+           The jsfid that will start the root of the clay component.  Only used
+           in HTML views.
+        </description>
+      </set>
+      <set name="managedBeanName" bindingType="Early">
+        <description>A symbol that is used to alias the bound backing bean.</description>
+      </set>
+      <set name="shapeValidator" bindingType="None">
+        <description>A method binding event that is fired when the subtree is formed.  
+           The signature of the event uses the validator's parameters.  The subtree's 
+           shape can be validated in this callback before the components are created.
+        </description>
+      </set> 
     </attributes>
   </component>	
 
-  <!-- Clay LoadBundle Component -->    
   <component jsfid="loadBundle" componentType="org.apache.shale.clay.component.LoadBundle" 
-       allowBody="false">
+       allowBody="false" extends="baseComponent">
+    <description>
+      This component was designed to emulate the JSF loadBundle JSP tag.  It was build 
+      for full clay HTML views that don't process JSP.
+    </description>
     <attributes>
-      <set name="basename" bindingType="Early"/>
-      <set name="var" bindingType="None" value="msgs"/> 
+      <set name="basename" bindingType="Early">
+        <description>The resoruce bundle name found in the classpath.</description>
+      </set>
+      <set name="var" bindingType="None" value="msgs">
+        <description>The target reference in request scope that will hold the Map
+          wrapper of the resource bundle.
+        </description>
+      </set> 
     </attributes>
   </component>	
 
-  <!-- Inline HTML Tag -->    
   <component jsfid="clayOut" extends="clay">
+    <description>
+       This component is similar to the c:out tag.  The value can be processed for 
+       special XML characters.  It can be used for inline html.
+    </description>
     <attributes>
-      <set name="shapeValidator" bindingType="MB" value="#{ClayAmalgam.clayOut}"/> 
-      <set name="value" bindingType="None"/>
-      <set name="excapeXml" bindingType="None" value="true"/>
+      <set name="shapeValidator" bindingType="MB" value="#{ClayAmalgam.clayOut}">
+        <description>A runtime callback event that takes the value attribute and sets it to 
+          the value attribute of a verbatim component (outputText).  
+        </description>
+      </set> 
+      <set name="value" bindingType="None">
+        <description>The string content that will populate the value of a verbatim component.
+          The value is decoded from escaped symbols depending on the escapeXml attribute.
+        </description>
+      </set>
+      <set name="excapeXml" bindingType="None" value="true">
+        <description>A boolean flag that determines if the string content of the value attribute 
+           will be processed for special symbols.  A false value will trigger converting html 
+           symbols into the character equivalence.  A true value will escape the special html 
+           characters into corresponding symbols.
+        </description>
+      </set>
     </attributes>
   </component>	
-
-  <!-- Inline Import Tag -->    
+  
   <component jsfid="clayImport" extends="clay">
+    <description>Includes the content of a file within a Clay template view.</description>
     <attributes>
-      <set name="shapeValidator" bindingType="MB" value="#{ClayAmalgam.clayImport}"/> 
-      <set name="url" bindingType="None"/>
-      <set name="escapeXml" bindingType="None" value="false"/>
+      <set name="shapeValidator" bindingType="MB" value="#{ClayAmalgam.clayImport}">
+        <description>Runtime callback event that reads the content of the file using 
+          the external context and dumps it into a verbatim component.
+        </description>
+      </set> 
+      <set name="url" bindingType="None">
+        <description>The resource to be imported.  The path is context-root sensitive.</description>
+      </set>
+      <set name="escapeXml" bindingType="None" value="false">
+        <description>A boolean flag that indicates that special XML characters 
+          should be encoded or decoded.  A null value will result in no escape process.
+        </description>
+      </set>
     </attributes>
   </component>	
 
-  <!-- ForEach Tag -->    
   <component jsfid="clayForEach" extends="clay">
+    <description>
+        This component builds the component subtree using the clay runtime option.  
+        It iterates over the Map, List or Array provided by the value attribute.  
+        Each iteration applies the bodyJsfid as a template.  The current row instance 
+        is referenced by the managed-bean-name symbol.  This approach should not be 
+        confused with the flyweight pattern used by the UIData subclassed components.  
+        A graph of components is build and the binding expression is formed to 
+        reference the values key in a map in session scope that is named using the 
+        var attribute.
+    </description>
     <attributes>
-      <set name="shapeValidator" bindingType="MB" value="#{ClayAmalgam.clayForEach}"/> 
-      <set name="value" bindingType="None"/>
-      <set name="bodyJsfid" bindingType="None"/>
-      <set name="var" bindingType="None"/>         
+      <set name="shapeValidator" bindingType="MB" value="#{ClayAmalgam.clayForEach}">
+        <description>The runtime callback method is invoked when the clay component 
+          subtree is created the first time from the render phase.  It is not invoked 
+          on a view restore.  This means that if the content changes, a navigation 
+          rule must be used to rebuild the component tree.
+        </description>
+      </set> 
+      <set name="value" bindingType="None">
+        <description>A collection of type Map, List or Object[] delivered through a
+          value binding expression.
+        </description>
+      </set>
+      <set name="bodyJsfid" bindingType="None">
+        <description>The content, a XML or HTML template, that will be applied on each
+           iteration of the collection.
+        </description>
+      </set>
+      <set name="var" bindingType="None">
+        <description>The name of the Map held in session scope that organizes the 
+          collection of data.  The components are bound to the Map versus the 
+          original collection.</description>
+      </set>         
     </attributes>
   </component>	
 
-  <!-- Checks the local value of a component, which must be of any numeric type, 
-   against specified maximum and/or minimum values. -->
   <component jsfid="doubleRangeValidator" componentType="javax.faces.DoubleRange"> 
+     <description>Verifies the submitted value is a double within the specified minimum and maximum values.</description>
      <attributes>
-       <set name="maximum" bindingType="Early"/>
-       <set name="minimum" bindingType="Early"/>
+       <set name="maximum" bindingType="Early">
+         <description>The upper limit of the specified double range.</description>
+       </set>
+       <set name="minimum" bindingType="Early">
+         <description>The lower limit of the specified double range</description>
+       </set>
      </attributes>
   </component>
 
-  <!-- Checks the length (i.e. number of characters) of the local
-   value of a component, which must be of type String, against maximum and/or
-   minimum values. -->
   <component jsfid="lengthValidator" componentType="javax.faces.Length">
+     <description>Verifies the submitted string value is greater than and not less than the specified minimum and maximum values.</description>
      <attributes>
-       <set name="maximum" bindingType="Early"/>
-       <set name="minimum" bindingType="Early"/>
+       <set name="maximum" bindingType="Early">
+         <description>The largest valid length.</description>
+       </set>
+       <set name="minimum" bindingType="Early">
+         <description>The smallest valid length.</description>
+       </set>
      </attributes>  
   </component>
 
-  <!-- Checks the local value of a component, which must be
-   of any numeric type convertible to long, against maximum and/or 
-   minimum values. -->
   <component jsfid="longRangeValidator" componentType="javax.faces.LongRange">
+     <description>Verifies the submitted value is a long within the specified minimum and maximum values.</description>
      <attributes>
-       <set name="maximum" bindingType="Early"/>
-       <set name="minimum" bindingType="Early"/>
+       <set name="maximum" bindingType="Early">
+         <description>The upper most limit of the specified long range.</description>
+       </set>
+       <set name="minimum" bindingType="Early">
+         <description>The lower limit of the specified long range.</description>
+       </set>
      </attributes>
   </component>
 

Modified: struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/AbstractTestCaseConfig.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/AbstractTestCaseConfig.java?rev=398779&r1=398778&r2=398779&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/AbstractTestCaseConfig.java (original)
+++ struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/AbstractTestCaseConfig.java Mon May  1 19:22:43 2006
@@ -90,7 +90,7 @@
     
     //VALIDATORS[0] = jsfid, VALIDATORS[1] = componentType, VALIDATORS[2] = className
     public static final Object[] VALIDATORS = {
-               new String[] {"validateLongRange","javax.faces.LongRange", "javax.faces.validator.LongRangeValidator"}
+               new String[] {"longRangeValidator","javax.faces.LongRange", "javax.faces.validator.LongRangeValidator"}
     };     
 
     // load the mock validator config

Modified: struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java?rev=398779&r1=398778&r2=398779&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java (original)
+++ struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java Mon May  1 19:22:43 2006
@@ -122,7 +122,7 @@
                      new Object[0]
             , new Integer[] {new Integer(0), new Integer(0), new Integer(0), new Integer(0), new Integer(0)}                      
             },  
-            new Object[] {"validateLongRange","javax.faces.LongRange", null, null, 
+            new Object[] {"longRangeValidator","javax.faces.LongRange", null, null, 
                      new Object[] {new String[] {"minimum", "80000"}, 
                         new String[] {"maximum", "80125"}}
             , new Integer[] {new Integer(0), new Integer(0), new Integer(0), new Integer(0), new Integer(0)}                      
@@ -195,7 +195,7 @@
                      new Object[0]
             , new Integer[] {new Integer(0), new Integer(0), new Integer(0), new Integer(0), new Integer(0)}
             },  
-            new Object[] {"validateLongRange","javax.faces.LongRange", null, null, 
+            new Object[] {"longRangeValidator","javax.faces.LongRange", null, null, 
                      new Object[] {new String[] {"minimum", "80000"}, 
                         new String[] {"maximum", "80125"}}
             , new Integer[] {new Integer(0), new Integer(0), new Integer(0), new Integer(0), new Integer(0)}

Modified: struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/address-config.xml
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/address-config.xml?rev=398779&r1=398778&r2=398779&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/address-config.xml (original)
+++ struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/address-config.xml Mon May  1 19:22:43 2006
@@ -88,7 +88,7 @@
 		</attributes>
 	
 		<converter jsfid="integerConverter" />
-	    <validator jsfid="validateLongRange">
+	    <validator jsfid="longRangeValidator">
 		   <attributes>
 		      <set name="minimum" value="80000" />
 			  <set name="maximum" value="80125" />