You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2011/04/07 08:00:02 UTC

svn commit: r1089748 [2/3] - in /myfaces/trinidad/trunk: ./ trinidad-api/ trinidad-api/src/main/conf/ trinidad-api/src/main/conf/META-INF/ trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/ trinidad-api/src/main/java/org/apache/myfaces/t...

Added: myfaces/trinidad/trunk/trinidad-api/src/main/conf/META-INF/myfaces-core-2_0-metadata.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-api/src/main/conf/META-INF/myfaces-core-2_0-metadata.xml?rev=1089748&view=auto
==============================================================================
--- myfaces/trinidad/trunk/trinidad-api/src/main/conf/META-INF/myfaces-core-2_0-metadata.xml (added)
+++ myfaces/trinidad/trunk/trinidad-api/src/main/conf/META-INF/myfaces-core-2_0-metadata.xml Thu Apr  7 06:00:00 2011
@@ -0,0 +1,7635 @@
+<?xml version='1.0' ?>
+
+<model>
+  <modelId>myfaces-api</modelId>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UIComponent</className>
+    <sourceClassName>javax.faces.component.UIComponent</sourceClassName>
+    <type>javax.faces.Component</type>
+    <family>javax.faces.Component</family>
+    <configExcluded>true</configExcluded>
+    <implementedInterfaces>
+      <interface name="javax.faces.component.PartialStateHolder"/>
+      <interface name="javax.faces.event.ComponentSystemEventListener"/>
+      <interface name="javax.faces.event.SystemEventListenerHolder"/>
+    </implementedInterfaces>
+    <desc>abstract base component</desc>
+    <longDesc>
+<![CDATA[
+see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">J
+SF Specification</a>
+]]>
+    </longDesc>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UIComponentBase</className>
+    <parentClassName>javax.faces.component.UIComponent</parentClassName>
+    <sourceClassName>javax.faces.component.UIComponentBase</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIComponent</sourceClassParentClassName>
+    <type>javax.faces.ComponentBase</type>
+    <family>javax.faces.ComponentBase</family>
+    <tagClass>javax.faces.webapp.UIComponentELTag</tagClass>
+    <configExcluded>true</configExcluded>
+    <desc>base component when all components must inherit</desc>
+    <longDesc>
+<![CDATA[
+TODO: IMPLEMENT HERE - Delta state saving support
+
+Standard implementation of the UIComponent base class; all standard JSF components extend this class.
+<p>
+<i>Disclaimer</i>: The official definition for the behaviour of this class is the JSF 1.1 specification but for legal
+reasons the specification cannot be replicated here. Any javadoc here therefore describes the current implementation
+rather than the spec, though this class has been verified as correctly implementing the spec.
+
+see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a> for
+more.
+]]>
+    </longDesc>
+    <property>
+      <name>id</name>
+      <className>java.lang.String</className>
+      <desc>Get a string which uniquely identifies this UIComponent within the scope of the nearest ancestor NamingContainer
+component</desc>
+      <longDesc>Get a string which uniquely identifies this UIComponent within the scope of the nearest ancestor NamingContainer
+component. The id is not necessarily unique across all components in the current view.</longDesc>
+      <rtexprvalue>true</rtexprvalue>
+    </property>
+    <property>
+      <name>rendered</name>
+      <className>boolean</className>
+      <desc>A boolean value that indicates whether this component should be rendered</desc>
+      <longDesc>A boolean value that indicates whether this component should be rendered. Default value: true.</longDesc>
+    </property>
+    <property>
+      <name>transient</name>
+      <className>boolean</className>
+      <literalOnly>true</literalOnly>
+      <transient>true</transient>
+      <desc>no description</desc>
+      <tagExcluded>true</tagExcluded>
+    </property>
+    <property>
+      <name>binding</name>
+      <className>javax.faces.component.UIComponent</className>
+      <desc>backing bean property to bind to this component instance</desc>
+      <longDesc>Identifies a backing bean property (of type UIComponent or appropriate subclass) to bind to this component instance. This value must be an EL expression.</longDesc>
+      <generated>false</generated>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UIColumn</className>
+    <parentClassName>javax.faces.component.UIComponentBase</parentClassName>
+    <sourceClassName>javax.faces.component.UIColumn</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIComponentBase</sourceClassParentClassName>
+    <type>javax.faces.Column</type>
+    <family>javax.faces.Column</family>
+    <facet>
+      <name>footer</name>
+      <desc>no description</desc>
+    </facet>
+    <facet>
+      <name>header</name>
+      <desc>no description</desc>
+    </facet>
+    <desc><![CDATA[see Javadoc of <a href="http://java]]></desc>
+    <longDesc><![CDATA[see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>]]></longDesc>
+    <property>
+      <name>id</name>
+      <className>java.lang.String</className>
+      <literalOnly>true</literalOnly>
+      <desc>Get a string which uniquely identifies this UIComponent within the scope of the nearest ancestor NamingContainer
+component</desc>
+      <longDesc>Get a string which uniquely identifies this UIComponent within the scope of the nearest ancestor NamingContainer
+component. The id is not necessarily unique across all components in the current view.</longDesc>
+      <rtexprvalue>false</rtexprvalue>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UICommand</className>
+    <parentClassName>javax.faces.component.UIComponentBase</parentClassName>
+    <sourceClassName>javax.faces.component.UICommand</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIComponentBase</sourceClassParentClassName>
+    <type>javax.faces.Command</type>
+    <family>javax.faces.Command</family>
+    <rendererType>javax.faces.Button</rendererType>
+    <listener>
+      <name>actionListeners</name>
+      <className>javax.faces.event.ActionListener</className>
+      <eventClassName>javax.faces.event.ActionEvent</eventClassName>
+      <desc>Event delivered when the "action" of the component has been
+invoked; for example, by clicking on a button</desc>
+      <longDesc>Event delivered when the "action" of the component has been
+invoked; for example, by clicking on a button. The action may result 
+in page navigation.</longDesc>
+      <phases>Invoke Application, Apply Request Values</phases>
+    </listener>
+    <implementedInterfaces>
+      <interface name="javax.faces.component.ActionSource2"/>
+    </implementedInterfaces>
+    <desc>UICommand is a base abstraction for components that implement ActionSource</desc>
+    <longDesc>UICommand is a base abstraction for components that implement ActionSource.</longDesc>
+    <property>
+      <name>immediate</name>
+      <className>boolean</className>
+      <desc>A boolean value that identifies the phase during which action events
+should fire</desc>
+      <longDesc>
+<![CDATA[
+A boolean value that identifies the phase during which action events
+should fire.
+<p>
+During normal event processing, action methods and action listener methods are fired during the
+"invoke application" phase of request processing. If this attribute is set to "true", these methods
+are fired instead at the end of the "apply request values" phase.
+</p>
+]]>
+      </longDesc>
+    </property>
+    <property>
+      <name>value</name>
+      <className>java.lang.Object</className>
+      <desc>The text to display to the user for this command component</desc>
+      <longDesc>The text to display to the user for this command component.</longDesc>
+    </property>
+    <property>
+      <name>actionExpression</name>
+      <jspName>action</jspName>
+      <className>javax.el.MethodExpression</className>
+      <stateHolder>true</stateHolder>
+      <desc>The action to take when this command is invoked</desc>
+      <longDesc>
+<![CDATA[
+The action to take when this command is invoked.
+<p>
+If the value is an expression, it is expected to be a method binding EL expression that identifies
+an action method. An action method accepts no parameters and has a String return value, called the
+action outcome, that identifies the next view displayed. The phase that this event is fired in
+can be controlled via the immediate attribute.
+</p>
+<p> 
+If the value is a string literal, it is treated as a navigation outcome for the current view. This
+is functionally equivalent to a reference to an action method that returns the string literal.
+</p>
+]]>
+      </longDesc>
+      <methodBindingSignature>
+        <returnType>java.lang.Object</returnType>
+      </methodBindingSignature>
+      <clientEvent>action</clientEvent>
+    </property>
+    <property>
+      <name>actionListener</name>
+      <className>javax.faces.el.MethodBinding</className>
+      <desc>no description</desc>
+      <longDesc></longDesc>
+      <methodBindingSignature>
+        <returnType>void</returnType>
+        <parameterType>javax.faces.event.ActionEvent</parameterType>
+      </methodBindingSignature>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UIData</className>
+    <parentClassName>javax.faces.component.UIComponentBase</parentClassName>
+    <sourceClassName>javax.faces.component.UIData</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIComponentBase</sourceClassParentClassName>
+    <type>javax.faces.Data</type>
+    <family>javax.faces.Data</family>
+    <rendererType>javax.faces.Table</rendererType>
+    <facet>
+      <name>footer</name>
+      <desc>no description</desc>
+    </facet>
+    <facet>
+      <name>header</name>
+      <desc>no description</desc>
+    </facet>
+    <implementedInterfaces>
+      <interface name="javax.faces.component.UniqueIdVendor"/>
+    </implementedInterfaces>
+    <desc>Represents an abstraction of a component which has multiple "rows" of data</desc>
+    <longDesc>
+<![CDATA[
+Represents an abstraction of a component which has multiple "rows" of data.
+<p>
+The children of this component are expected to be UIColumn components.
+<p>
+Note that the same set of child components are reused to implement each row of the table in turn during such phases
+as apply-request-values and render-response. Altering any of the members of these components therefore affects the
+attribute for every row, except for the following members:
+<ul>
+<li>submittedValue
+<li>value (where no EL binding is used)
+<li>valid
+</ul>
+<p>
+This reuse of the child components also means that it is not possible to save a reference to a component during table
+processing, then access it later and expect it to still represent the same row of the table.
+<h1>
+Implementation Notes</h1>
+<p>
+Each of the UIColumn children of this component has a few component children of its own to render the contents of the
+table cell. However there can be a very large number of rows in a table, so it isn't efficient for the UIColumn and
+all its child objects to be duplicated for each row in the table. Instead the "flyweight" pattern is used where a
+serialized state is held for each row. When setRowIndex is invoked, the UIColumn objects and their children serialize
+their current state then reinitialise themselves from the appropriate saved state. This allows a single set of real
+objects to represent multiple objects which have the same types but potentially different internal state. When a row
+is selected for the first time, its state is set to a clean "initial" state. Transient components (including any
+read-only component) do not save their state; they are just reinitialised as required. The state saved/restored when
+changing rows is not the complete component state, just the fields that are expected to vary between rows:
+"submittedValue", "value", "isValid".
+</p>
+<p>
+Note that a table is a "naming container", so that components within the table have their ids prefixed with the id of
+the table. Actually, when setRowIndex has been called on a table with id of "zzz" the table pretends to its children
+that its ID is "zzz_n" where n is the row index. This means that renderers for child components which call
+component.getClientId automatically get ids of form "zzz_n:childId" thus ensuring that components in different rows
+of the table get different ids.
+</p>
+<p>
+When decoding a submitted page, this class iterates over all its possible rowIndex values, restoring the appropriate
+serialized row state then calling processDecodes on the child components. Because the child components (or their
+renderers) use getClientId to get the request key to look for parameter data, and because this object pretends to
+have a different id per row ("zzz_n") a single child component can decode data from each table row in turn without
+being aware that it is within a table. The table's data model is updated before each call to child.processDecodes, so
+the child decode method can assume that the data model's rowData points to the model object associated with the row
+currently being decoded. Exactly the same process applies for the later validation and updateModel phases.
+</p>
+<p>
+When the data model for the table is bound to a backing bean property, and no validation errors have occured during
+processing of a postback, the data model is refetched at the start of the rendering phase (ie after the update model
+phase) so that the contents of the data model can be changed as a result of the latest form submission. Because the
+saved row state must correspond to the elements within the data model, the row state must be discarded whenever a new
+data model is fetched; not doing this would cause all sorts of inconsistency issues. This does imply that changing
+the state of any of the members "submittedValue", "value" or "valid" of a component within the table during the
+invokeApplication phase has no effect on the rendering of the table. When a validation error has occurred, a new
+DataModel is <i>not</i> fetched, and the saved state of the child components is <i>not</i> discarded.
+</p>
+see Javadoc of the <a href="http://java.sun.com/j2ee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
+for more information.
+]]>
+    </longDesc>
+    <property>
+      <name>value</name>
+      <className>java.lang.Object</className>
+      <desc>An EL expression that specifies the data model that backs this table</desc>
+      <longDesc>
+<![CDATA[
+An EL expression that specifies the data model that backs this table.
+<p>
+The value referenced by the EL expression can be of any type.
+</p>
+<ul>
+<li>A value of type DataModel is used directly.</li>
+<li>Array-like parameters of type array-of-Object, java.util.List, java.sql.ResultSet or
+javax.servlet.jsp.jstl.sql.Result are wrapped in a corresponding DataModel that knows how to iterate over the
+elements.</li>
+<li>Other values are wrapped in a DataModel as a single row.</li>
+</ul>
+<p>
+Note in particular that unordered collections, eg Set are not supported. Therefore if the value expression
+references such an object then the table will be considered to contain just one element - the collection itself.
+</p>
+]]>
+      </longDesc>
+    </property>
+    <property>
+      <name>first</name>
+      <className>int</className>
+      <desc>Defines the index of the first row to be displayed, starting from 0</desc>
+      <longDesc>Defines the index of the first row to be displayed, starting from 0.</longDesc>
+    </property>
+    <property>
+      <name>rows</name>
+      <className>int</className>
+      <desc>Defines the maximum number of rows of data to be displayed</desc>
+      <longDesc>
+<![CDATA[
+Defines the maximum number of rows of data to be displayed.
+<p>
+Specify zero to display all rows from the "first" row to the end of available data.
+</p>
+]]>
+      </longDesc>
+    </property>
+    <property>
+      <name>var</name>
+      <className>java.lang.String</className>
+      <literalOnly>true</literalOnly>
+      <desc>Defines the name of the request-scope variable that will hold the current row during iteration</desc>
+      <longDesc>
+<![CDATA[
+Defines the name of the request-scope variable that will hold the current row during iteration.
+<p>
+During rendering of child components of this UIData, the variable with this name can be read to learn what the
+"rowData" object for the row currently being rendered is.
+</p>
+<p>
+This value must be a static value, ie an EL expression is not permitted.
+</p>
+]]>
+      </longDesc>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UIForm</className>
+    <parentClassName>javax.faces.component.UIComponentBase</parentClassName>
+    <sourceClassName>javax.faces.component.UIForm</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIComponentBase</sourceClassParentClassName>
+    <type>javax.faces.Form</type>
+    <family>javax.faces.Form</family>
+    <rendererType>javax.faces.Form</rendererType>
+    <implementedInterfaces>
+      <interface name="javax.faces.component.UniqueIdVendor"/>
+    </implementedInterfaces>
+    <desc><![CDATA[see Javadoc of <a href="http://java]]></desc>
+    <longDesc><![CDATA[see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>]]></longDesc>
+    <property>
+      <name>prependId</name>
+      <className>boolean</className>
+      <desc>no description</desc>
+      <defaultValue>true</defaultValue>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UIGraphic</className>
+    <parentClassName>javax.faces.component.UIComponentBase</parentClassName>
+    <sourceClassName>javax.faces.component.UIGraphic</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIComponentBase</sourceClassParentClassName>
+    <type>javax.faces.Graphic</type>
+    <family>javax.faces.Graphic</family>
+    <rendererType>javax.faces.Image</rendererType>
+    <desc>Displays a graphical image</desc>
+    <longDesc>
+<![CDATA[
+Displays a graphical image.
+<p>
+See the javadoc for this class in the
+<a href="http://java.sun.com/j2ee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
+for further details.
+]]>
+    </longDesc>
+    <property>
+      <name>url</name>
+      <className>java.lang.String</className>
+      <desc>An alias for the "value" attribute</desc>
+      <longDesc>An alias for the "value" attribute.</longDesc>
+    </property>
+    <property>
+      <name>value</name>
+      <className>java.lang.Object</className>
+      <desc>The URL of the image</desc>
+      <longDesc>
+<![CDATA[
+The URL of the image.
+<p>
+If the URL starts with a '/', it is relative to the context path of the web application.
+</p>
+]]>
+      </longDesc>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UIOutput</className>
+    <parentClassName>javax.faces.component.UIComponentBase</parentClassName>
+    <sourceClassName>javax.faces.component.UIOutput</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIComponentBase</sourceClassParentClassName>
+    <type>javax.faces.Output</type>
+    <family>javax.faces.Output</family>
+    <rendererType>javax.faces.Text</rendererType>
+    <implementedInterfaces>
+      <interface name="javax.faces.component.ValueHolder"/>
+    </implementedInterfaces>
+    <desc>Displays a value to the user</desc>
+    <longDesc>Displays a value to the user.</longDesc>
+    <property>
+      <name>value</name>
+      <className>java.lang.Object</className>
+      <desc>Gets The initial value of this component</desc>
+      <longDesc>Gets The initial value of this component.</longDesc>
+    </property>
+    <property>
+      <name>converter</name>
+      <className>javax.faces.convert.Converter</className>
+      <partialStateHolder>true</partialStateHolder>
+      <desc>An expression that specifies the Converter for this component</desc>
+      <longDesc>
+<![CDATA[
+An expression that specifies the Converter for this component.
+<p>
+The value can either be a static value (ID) or an EL expression. When a static id is
+specified, an instance of the converter type registered with that id is used. When this
+is an EL expression, the result of evaluating the expression must be an object that
+implements the Converter interface.
+</p>
+]]>
+      </longDesc>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UIInput</className>
+    <parentClassName>javax.faces.component.UIOutput</parentClassName>
+    <sourceClassName>javax.faces.component.UIInput</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIOutput</sourceClassParentClassName>
+    <type>javax.faces.Input</type>
+    <family>javax.faces.Input</family>
+    <rendererType>javax.faces.Text</rendererType>
+    <listener>
+      <name>valueChangeListeners</name>
+      <className>javax.faces.event.ValueChangeListener</className>
+      <eventClassName>javax.faces.event.ValueChangeEvent</eventClassName>
+      <desc>The valueChange event is delivered when the value attribute
+is changed</desc>
+      <longDesc>The valueChange event is delivered when the value attribute
+is changed.</longDesc>
+    </listener>
+    <implementedInterfaces>
+      <interface name="javax.faces.component.EditableValueHolder"/>
+    </implementedInterfaces>
+    <desc>UICommand is a base abstraction for components that implement ActionSource</desc>
+    <longDesc>
+<![CDATA[
+UICommand is a base abstraction for components that implement ActionSource.
+<p>
+See the javadoc for this class in the <a href="http://java.sun.com/j2ee/javaserverfaces/1.2/docs/api/index.html">JSF
+Specification</a> for further details.
+<p>
+]]>
+    </longDesc>
+    <property>
+      <name>immediate</name>
+      <className>boolean</className>
+      <desc>A boolean value that identifies the phase during which action events should fire</desc>
+      <longDesc>
+<![CDATA[
+A boolean value that identifies the phase during which action events should fire.
+<p>
+During normal event processing, action methods and action listener methods are fired during the
+"invoke application" phase of request processing. If this attribute is set to "true", these methods are fired
+instead at the end of the "apply request values" phase.
+</p>
+]]>
+      </longDesc>
+    </property>
+    <property>
+      <name>required</name>
+      <className>boolean</className>
+      <desc>A boolean value that indicates whether an input value is required</desc>
+      <longDesc>
+<![CDATA[
+A boolean value that indicates whether an input value is required.
+<p>
+If this value is true and no input value is provided by a postback operation, then the "requiredMessage" text is
+registered as a FacesMessage for the request, and validation fails.
+</p>
+<p>
+Default value: false.
+</p>
+]]>
+      </longDesc>
+      <defaultValue>false</defaultValue>
+    </property>
+    <property>
+      <name>converterMessage</name>
+      <className>java.lang.String</className>
+      <desc>Text to be displayed to the user as an error message when conversion of a submitted value to the target type
+fails</desc>
+      <longDesc>
+<![CDATA[
+Text to be displayed to the user as an error message when conversion of a submitted value to the target type
+fails.
+<p>
+</p>
+]]>
+      </longDesc>
+    </property>
+    <property>
+      <name>requiredMessage</name>
+      <className>java.lang.String</className>
+      <desc>Text to be displayed to the user as an error message when this component is marked as "required" but no input
+data is present during a postback (ie the user left the required field blank)</desc>
+      <longDesc>Text to be displayed to the user as an error message when this component is marked as "required" but no input
+data is present during a postback (ie the user left the required field blank).</longDesc>
+    </property>
+    <property>
+      <name>validator</name>
+      <className>javax.faces.el.MethodBinding</className>
+      <stateHolder>true</stateHolder>
+      <desc>A method-binding EL expression which is invoked during the validation phase for this component</desc>
+      <longDesc>
+<![CDATA[
+A method-binding EL expression which is invoked during the validation phase for this component.
+<p>
+The invoked method is expected to check the submitted value for this component, and if not acceptable then report
+a validation error for the component.
+</p>
+<p>
+The method is expected to have the prototype
+</p>
+<code>public void aMethod(FacesContext, UIComponent,Object)</code>
+]]>
+      </longDesc>
+      <methodBindingSignature>
+        <returnType>void</returnType>
+        <parameterType>javax.faces.context.FacesContext</parameterType>
+        <parameterType>javax.faces.component.UIComponent</parameterType>
+        <parameterType>java.lang.Object</parameterType>
+      </methodBindingSignature>
+    </property>
+    <property>
+      <name>validatorMessage</name>
+      <className>java.lang.String</className>
+      <desc>Text which will be shown if validation fails</desc>
+      <longDesc>Text which will be shown if validation fails.</longDesc>
+    </property>
+    <property>
+      <name>valueChangeListener</name>
+      <className>javax.faces.el.MethodBinding</className>
+      <stateHolder>true</stateHolder>
+      <desc>A method which is invoked during postback processing for the current view if the submitted value for this
+component is not equal to the value which the "value" expression for this component returns</desc>
+      <longDesc>
+<![CDATA[
+A method which is invoked during postback processing for the current view if the submitted value for this
+component is not equal to the value which the "value" expression for this component returns.
+<p>
+The phase in which this method is invoked can be controlled via the immediate attribute.
+</p>
+]]>
+      </longDesc>
+      <methodBindingSignature>
+        <returnType>void</returnType>
+        <parameterType>javax.faces.event.ValueChangeEvent</parameterType>
+      </methodBindingSignature>
+      <clientEvent>valueChange</clientEvent>
+    </property>
+    <property>
+      <name>valid</name>
+      <className>boolean</className>
+      <desc>Specifies whether the component's value is currently valid, ie whether the validators attached to this component
+have allowed it</desc>
+      <longDesc>Specifies whether the component's value is currently valid, ie whether the validators attached to this component
+have allowed it.</longDesc>
+      <defaultValue>true</defaultValue>
+      <tagExcluded>true</tagExcluded>
+    </property>
+    <property>
+      <name>localValueSet</name>
+      <className>boolean</className>
+      <desc>Specifies whether a local value is currently set</desc>
+      <longDesc>
+<![CDATA[
+Specifies whether a local value is currently set.
+<p>
+If false, values are being retrieved from any attached ValueBinding.
+]]>
+      </longDesc>
+      <defaultValue>false</defaultValue>
+      <tagExcluded>true</tagExcluded>
+    </property>
+    <property>
+      <name>submittedValue</name>
+      <className>java.lang.Object</className>
+      <desc>Gets the current submitted value</desc>
+      <longDesc>Gets the current submitted value. This value, if non-null, is set by the Renderer to store a possibly invalid
+value for later conversion or redisplay, and has not yet been converted into the proper type for this component
+instance. This method should only be used by the decode() and validate() method of this component, or its
+corresponding Renderer; however, user code may manually set it to null to erase any submitted value.</longDesc>
+      <tagExcluded>true</tagExcluded>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UINamingContainer</className>
+    <parentClassName>javax.faces.component.UIComponentBase</parentClassName>
+    <sourceClassName>javax.faces.component.UINamingContainer</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIComponentBase</sourceClassParentClassName>
+    <name>f:subview</name>
+    <type>javax.faces.NamingContainer</type>
+    <bodyContent>JSP</bodyContent>
+    <family>javax.faces.NamingContainer</family>
+    <tagClass>org.apache.myfaces.taglib.core.SubviewTag</tagClass>
+    <generatedTagClass>true</generatedTagClass>
+    <implementedInterfaces>
+      <interface name="javax.faces.component.UniqueIdVendor"/>
+    </implementedInterfaces>
+    <desc>Base class for components that provide a new "namespace" for the ids of their
+child components</desc>
+    <longDesc>
+<![CDATA[
+Base class for components that provide a new "namespace" for the ids of their
+child components.
+<p>
+See the javadocs for interface NamingContainer for further details.
+</p>
+]]>
+    </longDesc>
+    <property>
+      <name>rendered</name>
+      <className>boolean</className>
+      <desc>no description</desc>
+      <deferredValueType>java.lang.Boolean</deferredValueType>
+    </property>
+    <property>
+      <name>id</name>
+      <required>true</required>
+      <desc>no description</desc>
+      <generated>false</generated>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UIOutcomeTarget</className>
+    <parentClassName>javax.faces.component.UIOutput</parentClassName>
+    <sourceClassName>javax.faces.component.UIOutcomeTarget</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIOutput</sourceClassParentClassName>
+    <type>javax.faces.OutcomeTarget</type>
+    <family>javax.faces.OutcomeTarget</family>
+    <desc>no description</desc>
+    <longDesc></longDesc>
+    <property>
+      <name>outcome</name>
+      <className>java.lang.String</className>
+      <desc>no description</desc>
+    </property>
+    <property>
+      <name>includeViewParams</name>
+      <className>boolean</className>
+      <desc>no description</desc>
+      <defaultValue>false</defaultValue>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UIPanel</className>
+    <parentClassName>javax.faces.component.UIComponentBase</parentClassName>
+    <sourceClassName>javax.faces.component.UIPanel</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIComponentBase</sourceClassParentClassName>
+    <type>javax.faces.Panel</type>
+    <family>javax.faces.Panel</family>
+    <desc>no description</desc>
+    <longDesc></longDesc>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UISelectBoolean</className>
+    <parentClassName>javax.faces.component.UIInput</parentClassName>
+    <sourceClassName>javax.faces.component.UISelectBoolean</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIInput</sourceClassParentClassName>
+    <type>javax.faces.SelectBoolean</type>
+    <family>javax.faces.SelectBoolean</family>
+    <rendererType>javax.faces.Checkbox</rendererType>
+    <desc>A component that allows the user to select or unselect an object</desc>
+    <longDesc>
+<![CDATA[
+A component that allows the user to select or unselect an object.
+<p>
+This can also be used to choose between two states such as true/false or on/off.
+</p>
+<p>
+See the javadoc for this class in the
+<a href="http://java.sun.com/j2ee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
+for further details.
+</p>
+]]>
+    </longDesc>
+    <property>
+      <name>value</name>
+      <className>java.lang.Object</className>
+      <desc>no description</desc>
+      <deferredValueType>java.lang.Boolean</deferredValueType>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UISelectMany</className>
+    <parentClassName>javax.faces.component.UIInput</parentClassName>
+    <sourceClassName>javax.faces.component.UISelectMany</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIInput</sourceClassParentClassName>
+    <type>javax.faces.SelectMany</type>
+    <family>javax.faces.SelectMany</family>
+    <rendererType>javax.faces.Listbox</rendererType>
+    <desc>Base class for the various component classes that allow a user to select zero or more options from a set</desc>
+    <longDesc>
+<![CDATA[
+Base class for the various component classes that allow a user to select zero or more options from a set.
+<p>
+This is not an abstract class; java code can create an instance of this, configure its rendererType appropriately,
+and add it to a view. However there is no tag class for this component, ie it cannot be added directly to a page when
+using JSP (and other presentation technologies are expected to behave similarly). Instead, there is a family of
+subclasses that extend this base functionality, and they do have tag classes.
+</p>
+<p>
+See the javadoc for this class in the <a href="http://java.sun.com/j2ee/javaserverfaces/1.2/docs/api/index.html">JSF
+Specification</a> for further details.
+</p>
+]]>
+    </longDesc>
+    <property>
+      <name>hideNoSelectionOption</name>
+      <className>boolean</className>
+      <desc>no description</desc>
+      <generated>false</generated>
+    </property>
+    <property>
+      <name>collectionType</name>
+      <className>java.lang.String</className>
+      <desc>no description</desc>
+      <generated>false</generated>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UISelectOne</className>
+    <parentClassName>javax.faces.component.UIInput</parentClassName>
+    <sourceClassName>javax.faces.component.UISelectOne</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIInput</sourceClassParentClassName>
+    <type>javax.faces.SelectOne</type>
+    <family>javax.faces.SelectOne</family>
+    <rendererType>javax.faces.Menu</rendererType>
+    <desc>Component for choosing one option out of a set of possibilities</desc>
+    <longDesc>
+<![CDATA[
+Component for choosing one option out of a set of possibilities.
+<p>
+This component is expected to have children of type UISelectItem or UISelectItems; these define the set of possible
+options that the user can choose from.
+</p>
+<p>
+See the javadoc for this class in the <a
+href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a> for further details.
+</p>
+]]>
+    </longDesc>
+    <property>
+      <name>hideNoSelectionOption</name>
+      <className>boolean</className>
+      <desc>no description</desc>
+      <generated>false</generated>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UIViewParameter</className>
+    <parentClassName>javax.faces.component.UIInput</parentClassName>
+    <sourceClassName>javax.faces.component.UIViewParameter</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIInput</sourceClassParentClassName>
+    <name>f:viewParam</name>
+    <type>javax.faces.ViewParameter</type>
+    <bodyContent>JSP</bodyContent>
+    <family>javax.faces.ViewParameter</family>
+    <tagClass>org.apache.myfaces.taglib.core.ViewParamTag</tagClass>
+    <generatedTagClass>true</generatedTagClass>
+    <desc>TODO: documentation on jsp and pld are not the same</desc>
+    <longDesc>TODO: documentation on jsp and pld are not the same. It appear two
+params: maxlength and for, but no property getter and setter founded here. 
+If maxlength is used, we can put something like this: 
+JSFJspProperty(name = "maxlength", returnType = "java.lang.String")</longDesc>
+    <property>
+      <name>immediate</name>
+      <className>boolean</className>
+      <desc>no description</desc>
+      <tagExcluded>true</tagExcluded>
+    </property>
+    <property>
+      <name>rendered</name>
+      <className>boolean</className>
+      <desc>no description</desc>
+      <tagExcluded>true</tagExcluded>
+    </property>
+    <property>
+      <name>maxlength</name>
+      <className>int</className>
+      <desc>The max number or characters allowed for this param</desc>
+      <longDesc>The max number or characters allowed for this param</longDesc>
+      <generated>false</generated>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UIViewRoot</className>
+    <parentClassName>javax.faces.component.UIComponentBase</parentClassName>
+    <sourceClassName>javax.faces.component.UIViewRoot</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIComponentBase</sourceClassParentClassName>
+    <name>f:view</name>
+    <type>javax.faces.ViewRoot</type>
+    <bodyContent>JSP</bodyContent>
+    <family>javax.faces.ViewRoot</family>
+    <tagClass>org.apache.myfaces.taglib.core.ViewTag</tagClass>
+    <generatedTagClass>true</generatedTagClass>
+    <implementedInterfaces>
+      <interface name="javax.faces.component.UniqueIdVendor"/>
+    </implementedInterfaces>
+    <desc>Creates a JSF View, which is a container that holds all of the components that are part of the view</desc>
+    <longDesc>
+<![CDATA[
+Creates a JSF View, which is a container that holds all of the components that are part of the view.
+<p>
+Unless otherwise specified, all attributes accept static values or EL expressions.
+</p>
+<p>
+See the javadoc for this class in the <a href="http://java.sun.com/j2ee/javaserverfaces/1.2/docs/api/index.html">JSF
+Specification</a> for further details.
+</p>
+]]>
+    </longDesc>
+    <property>
+      <name>afterPhaseListener</name>
+      <jspName>afterPhase</jspName>
+      <className>javax.el.MethodExpression</className>
+      <stateHolder>true</stateHolder>
+      <desc>MethodBinding pointing to a method that takes a javax</desc>
+      <longDesc>MethodBinding pointing to a method that takes a javax.faces.event.PhaseEvent and returns void, called after every
+phase except for restore view.</longDesc>
+      <methodBindingSignature>
+        <returnType>void</returnType>
+        <parameterType>javax.faces.event.PhaseEvent</parameterType>
+      </methodBindingSignature>
+    </property>
+    <property>
+      <name>beforePhaseListener</name>
+      <jspName>beforePhase</jspName>
+      <className>javax.el.MethodExpression</className>
+      <stateHolder>true</stateHolder>
+      <desc>MethodBinding pointing to a method that takes a javax</desc>
+      <longDesc>MethodBinding pointing to a method that takes a javax.faces.event.PhaseEvent and returns void, called before
+every phase except for restore view.</longDesc>
+      <methodBindingSignature>
+        <returnType>void</returnType>
+        <parameterType>javax.faces.event.PhaseEvent</parameterType>
+      </methodBindingSignature>
+    </property>
+    <property>
+      <name>locale</name>
+      <className>java.util.Locale</className>
+      <desc>The locale for this view</desc>
+      <longDesc>
+<![CDATA[
+The locale for this view.
+<p>
+Defaults to the default locale specified in the faces configuration file.
+</p>
+]]>
+      </longDesc>
+    </property>
+    <property>
+      <name>renderKitId</name>
+      <className>java.lang.String</className>
+      <desc>Defines what renderkit should be used to render this view</desc>
+      <longDesc>Defines what renderkit should be used to render this view.</longDesc>
+    </property>
+    <property>
+      <name>viewId</name>
+      <className>java.lang.String</className>
+      <desc>A unique identifier for the "template" from which this view was generated</desc>
+      <longDesc>
+<![CDATA[
+A unique identifier for the "template" from which this view was generated.
+<p>
+Typically this is the filesystem path to the template file, but the exact details are the responsibility of the
+current ViewHandler implementation.
+]]>
+      </longDesc>
+      <tagExcluded>true</tagExcluded>
+    </property>
+    <property>
+      <name>rendered</name>
+      <className>boolean</className>
+      <desc>DO NOT USE</desc>
+      <longDesc>
+<![CDATA[
+DO NOT USE.
+<p>
+This inherited property is disabled. Although this class extends a base-class that defines a read/write rendered
+property, this particular subclass does not support setting it. Yes, this is broken OO design: direct all
+complaints to the JSF spec group.
+]]>
+      </longDesc>
+      <tagExcluded>true</tagExcluded>
+    </property>
+    <property>
+      <name>id</name>
+      <className>java.lang.String</className>
+      <desc>DO NOT USE</desc>
+      <longDesc>
+<![CDATA[
+DO NOT USE.
+<p>
+Although this class extends a base-class that defines a read/write id property, it makes no sense for this
+particular subclass to support it. The tag library does not export this property for use, but there is no way to
+"undeclare" a java method. Yes, this is broken OO design: direct all complaints to the JSF spec group.
+<p>
+This property should be disabled (ie throw an exception if invoked). However there are currently several places
+that call this method (eg during restoreState) so it just does the normal thing for the moment. TODO: fix callers
+then make this throw an exception.
+]]>
+      </longDesc>
+      <tagExcluded>true</tagExcluded>
+    </property>
+    <property>
+      <name>binding</name>
+      <className>java.lang.String</className>
+      <desc>no description</desc>
+      <tagExcluded>true</tagExcluded>
+      <generated>false</generated>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UIMessage</className>
+    <parentClassName>javax.faces.component.UIComponentBase</parentClassName>
+    <sourceClassName>javax.faces.component._UIMessage</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIComponentBase</sourceClassParentClassName>
+    <type>javax.faces.Message</type>
+    <family>javax.faces.Message</family>
+    <rendererType>javax.faces.Message</rendererType>
+    <generatedComponentClass>true</generatedComponentClass>
+    <template>true</template>
+    <desc>UIMessage is the base component class for components
+that display a single message on behalf of a component</desc>
+    <longDesc>UIMessage is the base component class for components
+that display a single message on behalf of a component.</longDesc>
+    <property>
+      <name>for</name>
+      <className>java.lang.String</className>
+      <required>true</required>
+      <desc>The ID of the component whose attached FacesMessage object (if present) 
+should be diplayed by this component</desc>
+      <longDesc>
+<![CDATA[
+The ID of the component whose attached FacesMessage object (if present) 
+should be diplayed by this component.
+<p>
+This is a required property on the component.
+</p>
+]]>
+      </longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>showDetail</name>
+      <className>boolean</className>
+      <desc>Specifies whether the detailed information from the message should be shown</desc>
+      <longDesc>Specifies whether the detailed information from the message should be shown. 
+Default to true.</longDesc>
+      <defaultValue>true</defaultValue>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>showSummary</name>
+      <className>boolean</className>
+      <desc>Specifies whether the summary information from the message should be shown</desc>
+      <longDesc>Specifies whether the summary information from the message should be shown.
+Defaults to false.</longDesc>
+      <defaultValue>false</defaultValue>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>redisplay</name>
+      <className>boolean</className>
+      <desc>Indicate this component should render already handled messages</desc>
+      <longDesc>Indicate this component should render already handled messages.
+Default value is true</longDesc>
+      <defaultValue>true</defaultValue>
+      <tagExcluded>true</tagExcluded>
+      <generated>true</generated>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UIMessages</className>
+    <parentClassName>javax.faces.component.UIComponentBase</parentClassName>
+    <sourceClassName>javax.faces.component._UIMessages</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIComponentBase</sourceClassParentClassName>
+    <type>javax.faces.Messages</type>
+    <family>javax.faces.Messages</family>
+    <rendererType>javax.faces.Messages</rendererType>
+    <generatedComponentClass>true</generatedComponentClass>
+    <template>true</template>
+    <desc>UIMessage is the base component class for components
+that display a multiple messages on behalf of a component</desc>
+    <longDesc>UIMessage is the base component class for components
+that display a multiple messages on behalf of a component.</longDesc>
+    <property>
+      <name>globalOnly</name>
+      <className>boolean</className>
+      <desc>Specifies whether only messages (FacesMessage objects) not associated with a
+specific component should be displayed, ie whether messages should be ignored
+if they are attached to a particular component</desc>
+      <longDesc>Specifies whether only messages (FacesMessage objects) not associated with a
+specific component should be displayed, ie whether messages should be ignored
+if they are attached to a particular component. Defaults to false.</longDesc>
+      <defaultValue>false</defaultValue>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>showDetail</name>
+      <className>boolean</className>
+      <desc>Specifies whether the detailed information from the message should be shown</desc>
+      <longDesc>Specifies whether the detailed information from the message should be shown. 
+Default to false.</longDesc>
+      <defaultValue>false</defaultValue>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>showSummary</name>
+      <className>boolean</className>
+      <desc>Specifies whether the summary information from the message should be shown</desc>
+      <longDesc>Specifies whether the summary information from the message should be shown.
+Defaults to true.</longDesc>
+      <defaultValue>true</defaultValue>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>redisplay</name>
+      <className>boolean</className>
+      <desc>Indicate this component should render already handled messages</desc>
+      <longDesc>Indicate this component should render already handled messages.
+Default value is true</longDesc>
+      <defaultValue>true</defaultValue>
+      <tagExcluded>true</tagExcluded>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>for</name>
+      <className>java.lang.String</className>
+      <desc>The ID of the component whose attached FacesMessage object (if present) 
+should be diplayed by this component</desc>
+      <longDesc>The ID of the component whose attached FacesMessage object (if present) 
+should be diplayed by this component. It takes precedence over globalOnly.</longDesc>
+      <generated>true</generated>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UIParameter</className>
+    <parentClassName>javax.faces.component.UIComponentBase</parentClassName>
+    <sourceClassName>javax.faces.component._UIParameter</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIComponentBase</sourceClassParentClassName>
+    <name>f:param</name>
+    <type>javax.faces.Parameter</type>
+    <family>javax.faces.Parameter</family>
+    <tagClass>org.apache.myfaces.taglib.core.ParamTag</tagClass>
+    <generatedComponentClass>true</generatedComponentClass>
+    <generatedTagClass>true</generatedTagClass>
+    <template>true</template>
+    <desc>This tag associates a parameter name-value pair with the nearest parent UIComponent</desc>
+    <longDesc>
+<![CDATA[
+This tag associates a parameter name-value pair with the nearest parent UIComponent. A UIComponent is created to
+represent this name-value pair, and stored as a child of the parent component; what effect this has depends upon the
+renderer of that parent component.
+<p>
+Unless otherwise specified, all attributes accept static values or EL expressions.
+</p>
+]]>
+    </longDesc>
+    <property>
+      <name>rendered</name>
+      <className>boolean</className>
+      <desc>Disable this property; although this class extends a base-class that defines a read/write rendered property, this
+particular subclass does not support setting it</desc>
+      <longDesc>Disable this property; although this class extends a base-class that defines a read/write rendered property, this
+particular subclass does not support setting it. Yes, this is broken OO design: direct all complaints to the JSF
+spec group.</longDesc>
+      <tagExcluded>true</tagExcluded>
+    </property>
+    <property>
+      <name>value</name>
+      <className>java.lang.Object</className>
+      <desc>The value of this component</desc>
+      <longDesc>The value of this component.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>name</name>
+      <className>java.lang.String</className>
+      <desc>The name under which the value is stored</desc>
+      <longDesc>The name under which the value is stored.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>disable</name>
+      <className>boolean</className>
+      <desc>If this property is true, the value of this component is
+ just ignored or skipped</desc>
+      <longDesc>If this property is true, the value of this component is
+ just ignored or skipped.</longDesc>
+      <defaultValue>false</defaultValue>
+      <tagExcluded>true</tagExcluded>
+      <generated>true</generated>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UISelectItem</className>
+    <parentClassName>javax.faces.component.UIComponentBase</parentClassName>
+    <sourceClassName>javax.faces.component._UISelectItem</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIComponentBase</sourceClassParentClassName>
+    <name>f:selectItem</name>
+    <type>javax.faces.SelectItem</type>
+    <bodyContent>empty</bodyContent>
+    <family>javax.faces.SelectItem</family>
+    <tagClass>org.apache.myfaces.taglib.core.SelectItemTag</tagClass>
+    <generatedComponentClass>true</generatedComponentClass>
+    <generatedTagClass>true</generatedTagClass>
+    <template>true</template>
+    <desc>This tag associates a single SelectItem with the nearest parent UIComponent</desc>
+    <longDesc>
+<![CDATA[
+This tag associates a single SelectItem with the nearest parent UIComponent. The item represents a single option for
+a component such as an h:selectBooleanCheckbox or h:selectOneMenu. See also component selectItems.
+<p>
+Unless otherwise specified, all attributes accept static values or EL expressions.
+</p>
+<p>
+UISelectItem should be nestetd inside a UISelectMany or UISelectOne component, and results in the addition of a
+SelectItem instance to the list of available options for the parent component
+</p>
+]]>
+    </longDesc>
+    <property>
+      <name>rendered</name>
+      <className>boolean</className>
+      <desc>Disable this property; although this class extends a base-class that defines a read/write rendered property, this
+particular subclass does not support setting it</desc>
+      <longDesc>Disable this property; although this class extends a base-class that defines a read/write rendered property, this
+particular subclass does not support setting it. Yes, this is broken OO design: direct all complaints to the JSF
+spec group.</longDesc>
+      <tagExcluded>true</tagExcluded>
+    </property>
+    <property>
+      <name>value</name>
+      <className>java.lang.Object</className>
+      <desc>The initial value of this component</desc>
+      <longDesc>The initial value of this component.</longDesc>
+      <generated>true</generated>
+      <deferredValueType>javax.faces.model.SelectItem</deferredValueType>
+    </property>
+    <property>
+      <name>itemDisabled</name>
+      <className>boolean</className>
+      <desc>Determine whether this item can be chosen by the user</desc>
+      <longDesc>Determine whether this item can be chosen by the user. When true, this item cannot be chosen by the user. If this
+method is ever called, then any EL-binding for the disabled property will be ignored.</longDesc>
+      <defaultValue>false</defaultValue>
+      <generated>true</generated>
+      <deferredValueType>java.lang.Boolean</deferredValueType>
+    </property>
+    <property>
+      <name>itemEscaped</name>
+      <jspName>escape</jspName>
+      <className>boolean</className>
+      <desc>The escape setting for the label of this selection item</desc>
+      <longDesc>The escape setting for the label of this selection item.</longDesc>
+      <defaultValue>true</defaultValue>
+      <generated>true</generated>
+      <deferredValueType>java.lang.String</deferredValueType>
+    </property>
+    <property>
+      <name>itemDescription</name>
+      <className>java.lang.String</className>
+      <desc>For use in development tools</desc>
+      <longDesc>For use in development tools.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>itemLabel</name>
+      <className>java.lang.String</className>
+      <desc>The string which will be presented to the user for this option</desc>
+      <longDesc>The string which will be presented to the user for this option.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>itemValue</name>
+      <className>java.lang.Object</className>
+      <desc>The value for this Item</desc>
+      <longDesc>The value for this Item.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>noSelectionOption</name>
+      <className>boolean</className>
+      <desc>Indicate this component represent no selection option</desc>
+      <longDesc>Indicate this component represent no selection option. 
+Default value is false.</longDesc>
+      <defaultValue>false</defaultValue>
+      <generated>true</generated>
+      <deferredValueType>java.lang.Boolean</deferredValueType>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.UISelectItems</className>
+    <parentClassName>javax.faces.component.UIComponentBase</parentClassName>
+    <sourceClassName>javax.faces.component._UISelectItems</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIComponentBase</sourceClassParentClassName>
+    <name>f:selectItems</name>
+    <type>javax.faces.SelectItems</type>
+    <bodyContent>empty</bodyContent>
+    <family>javax.faces.SelectItems</family>
+    <tagClass>org.apache.myfaces.taglib.core.SelectItemsTag</tagClass>
+    <generatedComponentClass>true</generatedComponentClass>
+    <generatedTagClass>true</generatedTagClass>
+    <template>true</template>
+    <desc>This tag associates a set of selection list items with the nearest
+parent UIComponent</desc>
+    <longDesc>
+<![CDATA[
+This tag associates a set of selection list items with the nearest
+parent UIComponent. The set of SelectItem objects is retrieved via
+a value-binding.
+<p>
+Unless otherwise specified, all attributes accept static values
+or EL expressions.
+</p>
+<p>
+UISelectItems should be nested inside a UISelectMany or UISelectOne component,
+and results in  the addition of one ore more SelectItem instance to the list of available options
+for the parent component
+</p>
+]]>
+    </longDesc>
+    <property>
+      <name>rendered</name>
+      <className>boolean</className>
+      <desc>Disable this property; although this class extends a base-class that
+defines a read/write rendered property, this particular subclass
+does not support setting it</desc>
+      <longDesc>Disable this property; although this class extends a base-class that
+defines a read/write rendered property, this particular subclass
+does not support setting it. Yes, this is broken OO design: direct
+all complaints to the JSF spec group.</longDesc>
+      <tagExcluded>true</tagExcluded>
+    </property>
+    <property>
+      <name>value</name>
+      <className>java.lang.Object</className>
+      <desc>The initial value of this component</desc>
+      <longDesc>The initial value of this component.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>var</name>
+      <className>java.lang.String</className>
+      <literalOnly>true</literalOnly>
+      <desc>Name of a request-scope attribute under which the current item
+of the collection, array, etc</desc>
+      <longDesc>Name of a request-scope attribute under which the current item
+of the collection, array, etc. of the value attribute will be 
+exposed so that it can be referred to in EL for other attributes 
+of this component.</longDesc>
+    </property>
+    <property>
+      <name>itemValue</name>
+      <className>java.lang.Object</className>
+      <desc>The value for the current item</desc>
+      <longDesc>The value for the current item.</longDesc>
+    </property>
+    <property>
+      <name>itemLabel</name>
+      <className>java.lang.String</className>
+      <desc>The label of the current item</desc>
+      <longDesc>The label of the current item.</longDesc>
+    </property>
+    <property>
+      <name>itemDescription</name>
+      <className>java.lang.String</className>
+      <desc>The description of the current item</desc>
+      <longDesc>The description of the current item.</longDesc>
+    </property>
+    <property>
+      <name>itemDisabled</name>
+      <className>boolean</className>
+      <desc>Determines if the current item is selectable or not</desc>
+      <longDesc>Determines if the current item is selectable or not.</longDesc>
+      <defaultValue>false</defaultValue>
+      <deferredValueType>java.lang.Boolean</deferredValueType>
+    </property>
+    <property>
+      <name>itemLabelEscaped</name>
+      <className>boolean</className>
+      <desc>Determines if the rendered markup for the current item receives
+normal JSF HTML escaping or not</desc>
+      <longDesc>Determines if the rendered markup for the current item receives
+normal JSF HTML escaping or not.</longDesc>
+      <defaultValue>true</defaultValue>
+      <deferredValueType>java.lang.Boolean</deferredValueType>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.html.HtmlInputHidden</className>
+    <parentClassName>javax.faces.component.UIInput</parentClassName>
+    <sourceClassName>javax.faces.component.html.HtmlInputHidden</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIInput</sourceClassParentClassName>
+    <name>h:inputHidden</name>
+    <type>javax.faces.HtmlInputHidden</type>
+    <family>javax.faces.Input</family>
+    <tagClass>org.apache.myfaces.taglib.html.HtmlInputHiddenTag</tagClass>
+    <rendererType>javax.faces.Hidden</rendererType>
+    <generatedTagClass>true</generatedTagClass>
+    <desc>Renders as an HTML input tag with its type set to "hidden"</desc>
+    <longDesc>Renders as an HTML input tag with its type set to "hidden".
+Unless otherwise specified, all attributes accept static values
+or EL expressions.</longDesc>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.html.HtmlBody</className>
+    <parentClassName>javax.faces.component.UIOutput</parentClassName>
+    <sourceClassName>javax.faces.component.html._HtmlBody</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIOutput</sourceClassParentClassName>
+    <name>h:body</name>
+    <type>javax.faces.OutputBody</type>
+    <family>javax.faces.Output</family>
+    <rendererType>javax.faces.Body</rendererType>
+    <implements>javax.faces.component.behavior.ClientBehaviorHolder</implements>
+    <generatedComponentClass>true</generatedComponentClass>
+    <template>true</template>
+    <clientBehaviorHolder>true</clientBehaviorHolder>
+    <implementedInterfaces>
+      <interface name="javax.faces.component.behavior.ClientBehaviorHolder"/>
+    </implementedInterfaces>
+    <desc>no description</desc>
+    <longDesc></longDesc>
+    <property>
+      <name>onload</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the page is loaded</desc>
+      <longDesc>HTML: Script to be invoked when the page is loaded</longDesc>
+      <generated>true</generated>
+      <clientEvent>load</clientEvent>
+    </property>
+    <property>
+      <name>onunload</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the page is unloaded</desc>
+      <longDesc>HTML: Script to be invoked when the page is unloaded</longDesc>
+      <generated>true</generated>
+      <clientEvent>unload</clientEvent>
+    </property>
+    <property>
+      <name>converter</name>
+      <className>javax.faces.convert.Converter</className>
+      <desc>no description</desc>
+      <tagExcluded>true</tagExcluded>
+    </property>
+    <property>
+      <name>value</name>
+      <className>java.lang.Object</className>
+      <desc>no description</desc>
+      <tagExcluded>true</tagExcluded>
+    </property>
+    <property>
+      <name>id</name>
+      <className>java.lang.String</className>
+      <desc>no description</desc>
+      <tagExcluded>true</tagExcluded>
+    </property>
+    <property>
+      <name>rendered</name>
+      <className>boolean</className>
+      <desc>no description</desc>
+      <tagExcluded>true</tagExcluded>
+    </property>
+    <property>
+      <name>style</name>
+      <className>java.lang.String</className>
+      <desc>HTML: CSS styling instructions</desc>
+      <longDesc>HTML: CSS styling instructions.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>styleClass</name>
+      <className>java.lang.String</className>
+      <desc>The CSS class for this element</desc>
+      <longDesc>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>onclick</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the element is clicked</desc>
+      <longDesc>HTML: Script to be invoked when the element is clicked.</longDesc>
+      <generated>true</generated>
+      <clientEvent>click</clientEvent>
+    </property>
+    <property>
+      <name>ondblclick</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the element is double-clicked</desc>
+      <longDesc>HTML: Script to be invoked when the element is double-clicked.</longDesc>
+      <generated>true</generated>
+      <clientEvent>dblclick</clientEvent>
+    </property>
+    <property>
+      <name>onkeydown</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when a key is pressed down over this element</desc>
+      <longDesc>HTML: Script to be invoked when a key is pressed down over this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>keydown</clientEvent>
+    </property>
+    <property>
+      <name>onkeypress</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when a key is pressed over this element</desc>
+      <longDesc>HTML: Script to be invoked when a key is pressed over this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>keypress</clientEvent>
+    </property>
+    <property>
+      <name>onkeyup</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when a key is released over this element</desc>
+      <longDesc>HTML: Script to be invoked when a key is released over this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>keyup</clientEvent>
+    </property>
+    <property>
+      <name>onmousedown</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the pointing device is pressed over this element</desc>
+      <longDesc>HTML: Script to be invoked when the pointing device is pressed over this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>mousedown</clientEvent>
+    </property>
+    <property>
+      <name>onmousemove</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the pointing device is moved while it is in this element</desc>
+      <longDesc>HTML: Script to be invoked when the pointing device is moved while it is in this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>mousemove</clientEvent>
+    </property>
+    <property>
+      <name>onmouseout</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the pointing device is moves out of this element</desc>
+      <longDesc>HTML: Script to be invoked when the pointing device is moves out of this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>mouseout</clientEvent>
+    </property>
+    <property>
+      <name>onmouseover</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the pointing device is moved into this element</desc>
+      <longDesc>HTML: Script to be invoked when the pointing device is moved into this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>mouseover</clientEvent>
+    </property>
+    <property>
+      <name>onmouseup</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the pointing device is released over this element</desc>
+      <longDesc>HTML: Script to be invoked when the pointing device is released over this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>mouseup</clientEvent>
+    </property>
+    <property>
+      <name>dir</name>
+      <className>java.lang.String</className>
+      <desc>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left)</desc>
+      <longDesc>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>lang</name>
+      <className>java.lang.String</className>
+      <desc>HTML: The base language of this document</desc>
+      <longDesc>HTML: The base language of this document.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>title</name>
+      <className>java.lang.String</className>
+      <desc>HTML: An advisory title for this element</desc>
+      <longDesc>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</longDesc>
+      <generated>true</generated>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.html.HtmlColumn</className>
+    <parentClassName>javax.faces.component.UIColumn</parentClassName>
+    <sourceClassName>javax.faces.component.html._HtmlColumn</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UIColumn</sourceClassParentClassName>
+    <name>h:column</name>
+    <type>javax.faces.HtmlColumn</type>
+    <family>javax.faces.Column</family>
+    <tagClass>org.apache.myfaces.taglib.html.HtmlColumnTag</tagClass>
+    <generatedComponentClass>true</generatedComponentClass>
+    <generatedTagClass>true</generatedTagClass>
+    <template>true</template>
+    <desc>Creates a UIComponent that represents a single column of data within a parent UIData component</desc>
+    <longDesc>
+<![CDATA[
+Creates a UIComponent that represents a single column of data within a parent UIData component.
+<p>
+This tag is commonly used as a child of the h:dataTable tag, to represent a column of
+data within an html table. It can be decorated with nested "header" and "footer" facets
+which cause the output of header and footer rows.
+</p>
+<p>
+The non-facet child components of this column are re-rendered on each table row
+to generate the content of the cell. Those child components can reference the "var"
+attribute of the containing h:dataTable to generate appropriate output for each row.
+</p>
+]]>
+    </longDesc>
+    <property>
+      <name>headerClass</name>
+      <className>java.lang.String</className>
+      <desc>CSS class to be used for the header</desc>
+      <longDesc>CSS class to be used for the header.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>footerClass</name>
+      <className>java.lang.String</className>
+      <desc>CSS class to be used for the footer</desc>
+      <longDesc>CSS class to be used for the footer.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>rowHeader</name>
+      <className>boolean</className>
+      <desc>If true the column is rendered with "th" and scope="row" attribute,
+instead "td"</desc>
+      <longDesc>If true the column is rendered with "th" and scope="row" attribute,
+instead "td"</longDesc>
+      <defaultValue>false</defaultValue>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>rendered</name>
+      <className>boolean</className>
+      <desc>no description</desc>
+      <deferredValueType>java.lang.Boolean</deferredValueType>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.html.HtmlCommandButton</className>
+    <parentClassName>javax.faces.component.UICommand</parentClassName>
+    <sourceClassName>javax.faces.component.html._HtmlCommandButton</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UICommand</sourceClassParentClassName>
+    <name>h:commandButton</name>
+    <type>javax.faces.HtmlCommandButton</type>
+    <family>javax.faces.Command</family>
+    <tagClass>org.apache.myfaces.taglib.html.HtmlCommandButtonTag</tagClass>
+    <rendererType>javax.faces.Button</rendererType>
+    <defaultEventName>action</defaultEventName>
+    <overrideDefaultEventName>true</overrideDefaultEventName>
+    <implements>javax.faces.component.behavior.ClientBehaviorHolder</implements>
+    <generatedComponentClass>true</generatedComponentClass>
+    <generatedTagClass>true</generatedTagClass>
+    <template>true</template>
+    <clientBehaviorHolder>true</clientBehaviorHolder>
+    <implementedInterfaces>
+      <interface name="javax.faces.component.behavior.ClientBehaviorHolder"/>
+    </implementedInterfaces>
+    <desc>This tag renders as an HTML input element</desc>
+    <longDesc>This tag renders as an HTML input element.</longDesc>
+    <property>
+      <name>image</name>
+      <className>java.lang.String</className>
+      <desc>HTML: The URL of an image that renders in place of the button</desc>
+      <longDesc>HTML: The URL of an image that renders in place of the button.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>type</name>
+      <className>java.lang.String</className>
+      <desc>HTML: A hint to the user agent about the content type of the linked resource</desc>
+      <longDesc>HTML: A hint to the user agent about the content type of the linked resource.</longDesc>
+      <defaultValue>submit</defaultValue>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>label</name>
+      <className>java.lang.String</className>
+      <desc>A display name for this component</desc>
+      <longDesc>A display name for this component.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>style</name>
+      <className>java.lang.String</className>
+      <desc>HTML: CSS styling instructions</desc>
+      <longDesc>HTML: CSS styling instructions.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>styleClass</name>
+      <className>java.lang.String</className>
+      <desc>The CSS class for this element</desc>
+      <longDesc>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>alt</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Specifies alternative text that can be used by a browser that can't show this element</desc>
+      <longDesc>HTML: Specifies alternative text that can be used by a browser that can't show this element.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>tabindex</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Specifies the position of this element within the tab order of the document</desc>
+      <longDesc>HTML: Specifies the position of this element within the tab order of the document.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>onblur</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Specifies a script to be invoked when the element loses focus</desc>
+      <longDesc>HTML: Specifies a script to be invoked when the element loses focus.</longDesc>
+      <generated>true</generated>
+      <clientEvent>blur</clientEvent>
+    </property>
+    <property>
+      <name>onfocus</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Specifies a script to be invoked when the element receives focus</desc>
+      <longDesc>HTML: Specifies a script to be invoked when the element receives focus.</longDesc>
+      <generated>true</generated>
+      <clientEvent>focus</clientEvent>
+    </property>
+    <property>
+      <name>accesskey</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Sets the access key for this element</desc>
+      <longDesc>HTML: Sets the access key for this element.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>onchange</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Specifies a script to be invoked when the element is modified</desc>
+      <longDesc>HTML: Specifies a script to be invoked when the element is modified.</longDesc>
+      <generated>true</generated>
+      <clientEvent>change</clientEvent>
+    </property>
+    <property>
+      <name>onselect</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Specifies a script to be invoked when the element is selected</desc>
+      <longDesc>HTML: Specifies a script to be invoked when the element is selected.</longDesc>
+      <generated>true</generated>
+      <clientEvent>select</clientEvent>
+    </property>
+    <property>
+      <name>onclick</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the element is clicked</desc>
+      <longDesc>HTML: Script to be invoked when the element is clicked.</longDesc>
+      <generated>true</generated>
+      <clientEvent>click</clientEvent>
+    </property>
+    <property>
+      <name>ondblclick</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the element is double-clicked</desc>
+      <longDesc>HTML: Script to be invoked when the element is double-clicked.</longDesc>
+      <generated>true</generated>
+      <clientEvent>dblclick</clientEvent>
+    </property>
+    <property>
+      <name>onkeydown</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when a key is pressed down over this element</desc>
+      <longDesc>HTML: Script to be invoked when a key is pressed down over this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>keydown</clientEvent>
+    </property>
+    <property>
+      <name>onkeypress</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when a key is pressed over this element</desc>
+      <longDesc>HTML: Script to be invoked when a key is pressed over this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>keypress</clientEvent>
+    </property>
+    <property>
+      <name>onkeyup</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when a key is released over this element</desc>
+      <longDesc>HTML: Script to be invoked when a key is released over this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>keyup</clientEvent>
+    </property>
+    <property>
+      <name>onmousedown</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the pointing device is pressed over this element</desc>
+      <longDesc>HTML: Script to be invoked when the pointing device is pressed over this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>mousedown</clientEvent>
+    </property>
+    <property>
+      <name>onmousemove</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the pointing device is moved while it is in this element</desc>
+      <longDesc>HTML: Script to be invoked when the pointing device is moved while it is in this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>mousemove</clientEvent>
+    </property>
+    <property>
+      <name>onmouseout</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the pointing device is moves out of this element</desc>
+      <longDesc>HTML: Script to be invoked when the pointing device is moves out of this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>mouseout</clientEvent>
+    </property>
+    <property>
+      <name>onmouseover</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the pointing device is moved into this element</desc>
+      <longDesc>HTML: Script to be invoked when the pointing device is moved into this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>mouseover</clientEvent>
+    </property>
+    <property>
+      <name>onmouseup</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the pointing device is released over this element</desc>
+      <longDesc>HTML: Script to be invoked when the pointing device is released over this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>mouseup</clientEvent>
+    </property>
+    <property>
+      <name>dir</name>
+      <className>java.lang.String</className>
+      <desc>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left)</desc>
+      <longDesc>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>lang</name>
+      <className>java.lang.String</className>
+      <desc>HTML: The base language of this document</desc>
+      <longDesc>HTML: The base language of this document.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>title</name>
+      <className>java.lang.String</className>
+      <desc>HTML: An advisory title for this element</desc>
+      <longDesc>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>disabled</name>
+      <className>boolean</className>
+      <desc>HTML: When true, this element cannot receive focus</desc>
+      <longDesc>HTML: When true, this element cannot receive focus.</longDesc>
+      <defaultValue>false</defaultValue>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>readonly</name>
+      <className>boolean</className>
+      <desc>HTML: When true, indicates that this component cannot be modified by the user</desc>
+      <longDesc>HTML: When true, indicates that this component cannot be modified by the user.
+The element may receive focus unless it has also been disabled.</longDesc>
+      <defaultValue>false</defaultValue>
+      <generated>true</generated>
+    </property>
+  </component>
+  <component>
+    <modelId>myfaces-api</modelId>
+    <className>javax.faces.component.html.HtmlCommandLink</className>
+    <parentClassName>javax.faces.component.UICommand</parentClassName>
+    <sourceClassName>javax.faces.component.html._HtmlCommandLink</sourceClassName>
+    <sourceClassParentClassName>javax.faces.component.UICommand</sourceClassParentClassName>
+    <name>h:commandLink</name>
+    <type>javax.faces.HtmlCommandLink</type>
+    <family>javax.faces.Command</family>
+    <tagClass>org.apache.myfaces.taglib.html.HtmlCommandLinkTag</tagClass>
+    <rendererType>javax.faces.Link</rendererType>
+    <defaultEventName>action</defaultEventName>
+    <overrideDefaultEventName>true</overrideDefaultEventName>
+    <implements>javax.faces.component.behavior.ClientBehaviorHolder</implements>
+    <generatedComponentClass>true</generatedComponentClass>
+    <generatedTagClass>true</generatedTagClass>
+    <template>true</template>
+    <clientBehaviorHolder>true</clientBehaviorHolder>
+    <implementedInterfaces>
+      <interface name="javax.faces.component.behavior.ClientBehaviorHolder"/>
+    </implementedInterfaces>
+    <desc>This tag renders as an HTML a element</desc>
+    <longDesc>This tag renders as an HTML a element.</longDesc>
+    <property>
+      <name>disabled</name>
+      <className>boolean</className>
+      <desc>When true, this element cannot receive focus</desc>
+      <longDesc>When true, this element cannot receive focus.</longDesc>
+      <defaultValue>false</defaultValue>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>style</name>
+      <className>java.lang.String</className>
+      <desc>HTML: CSS styling instructions</desc>
+      <longDesc>HTML: CSS styling instructions.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>styleClass</name>
+      <className>java.lang.String</className>
+      <desc>The CSS class for this element</desc>
+      <longDesc>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>tabindex</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Specifies the position of this element within the tab order of the document</desc>
+      <longDesc>HTML: Specifies the position of this element within the tab order of the document.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>onblur</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Specifies a script to be invoked when the element loses focus</desc>
+      <longDesc>HTML: Specifies a script to be invoked when the element loses focus.</longDesc>
+      <generated>true</generated>
+      <clientEvent>blur</clientEvent>
+    </property>
+    <property>
+      <name>onfocus</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Specifies a script to be invoked when the element receives focus</desc>
+      <longDesc>HTML: Specifies a script to be invoked when the element receives focus.</longDesc>
+      <generated>true</generated>
+      <clientEvent>focus</clientEvent>
+    </property>
+    <property>
+      <name>accesskey</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Sets the access key for this element</desc>
+      <longDesc>HTML: Sets the access key for this element.</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>onclick</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the element is clicked</desc>
+      <longDesc>HTML: Script to be invoked when the element is clicked.</longDesc>
+      <generated>true</generated>
+      <clientEvent>click</clientEvent>
+    </property>
+    <property>
+      <name>ondblclick</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the element is double-clicked</desc>
+      <longDesc>HTML: Script to be invoked when the element is double-clicked.</longDesc>
+      <generated>true</generated>
+      <clientEvent>dblclick</clientEvent>
+    </property>
+    <property>
+      <name>onkeydown</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when a key is pressed down over this element</desc>
+      <longDesc>HTML: Script to be invoked when a key is pressed down over this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>keydown</clientEvent>
+    </property>
+    <property>
+      <name>onkeypress</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when a key is pressed over this element</desc>
+      <longDesc>HTML: Script to be invoked when a key is pressed over this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>keypress</clientEvent>
+    </property>
+    <property>
+      <name>onkeyup</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when a key is released over this element</desc>
+      <longDesc>HTML: Script to be invoked when a key is released over this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>keyup</clientEvent>
+    </property>
+    <property>
+      <name>onmousedown</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the pointing device is pressed over this element</desc>
+      <longDesc>HTML: Script to be invoked when the pointing device is pressed over this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>mousedown</clientEvent>
+    </property>
+    <property>
+      <name>onmousemove</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the pointing device is moved while it is in this element</desc>
+      <longDesc>HTML: Script to be invoked when the pointing device is moved while it is in this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>mousemove</clientEvent>
+    </property>
+    <property>
+      <name>onmouseout</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the pointing device is moves out of this element</desc>
+      <longDesc>HTML: Script to be invoked when the pointing device is moves out of this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>mouseout</clientEvent>
+    </property>
+    <property>
+      <name>onmouseover</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the pointing device is moved into this element</desc>
+      <longDesc>HTML: Script to be invoked when the pointing device is moved into this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>mouseover</clientEvent>
+    </property>
+    <property>
+      <name>onmouseup</name>
+      <className>java.lang.String</className>
+      <desc>HTML: Script to be invoked when the pointing device is released over this element</desc>
+      <longDesc>HTML: Script to be invoked when the pointing device is released over this element.</longDesc>
+      <generated>true</generated>
+      <clientEvent>mouseup</clientEvent>
+    </property>
+    <property>
+      <name>dir</name>
+      <className>java.lang.String</className>
+      <desc>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left)</desc>
+      <longDesc>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</longDesc>
+      <generated>true</generated>
+    </property>
+    <property>
+      <name>lang</name>
+      <className>java.lang.String</className>
+      <desc>HTML: The base language of this document</desc>
+      <longDesc>HTML: The base language of this document.</longDesc>
+      <generated>true</generated>
+    </property>

[... 5657 lines stripped ...]