All Downloads are FREE. Search and download functionalities are using the official Maven repository.

META-INF.myfaces-metadata.xml Maven / Gradle / Ivy

The newest version!
<?xml version='1.0' ?>

<model>
  <modelId>trinidad-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>
    <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>charset</name>
      <className>java.lang.String</className>
      <desc>HTML: Specifies the character encoding of the linked resource</desc>
      <longDesc>HTML: Specifies the character encoding of the linked resource.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>coords</name>
      <className>java.lang.String</className>
      <desc>HTML: The coordinates of regions within a client side image map</desc>
      <longDesc>HTML: The coordinates of regions within a client side image map.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>hreflang</name>
      <className>java.lang.String</className>
      <desc>HTML: The language of the linked resource</desc>
      <longDesc>HTML: The language of the linked resource.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>rel</name>
      <className>java.lang.String</className>
      <desc>HTML: The relationship between the current document and
the linked resource</desc>
      <longDesc>HTML: The relationship between the current document and
the linked resource.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>rev</name>
      <className>java.lang.String</className>
      <desc>HTML: The type(s) describing the reverse link for the linked
resource</desc>
      <longDesc>HTML: The type(s) describing the reverse link for the linked
resource.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>shape</name>
      <className>java.lang.String</className>
      <desc>HTML: The shape of a region in a client side image map</desc>
      <longDesc>HTML: The shape of a region in a client side image map.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>target</name>
      <className>java.lang.String</className>
      <desc>HTML: Names the frame that should display content generated by invoking this action</desc>
      <longDesc>HTML: Names the frame that should display content generated by invoking this action.</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>
      <generated>true</generated>
    </property>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.component.html.HtmlDataTable</className>
    <parentClassName>javax.faces.component.UIData</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlDataTable</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UIData</sourceClassParentClassName>
    <name>h:dataTable</name>
    <type>javax.faces.HtmlDataTable</type>
    <family>javax.faces.Data</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlDataTableTag</tagClass>
    <rendererType>javax.faces.Table</rendererType>
    <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 component renders an HTML table element</desc>
    <longDesc>
<![CDATA[
This component renders an HTML table element.
<p>
This component may have nested facets with names "header" and "footer"
to specify header and footer rows.
</p>
<p>
The non-facet children of this component are expected to be
h:column components which describe the columns of the table.
</p>
]]>
    </longDesc>
    <property>
      <name>bgcolor</name>
      <className>java.lang.String</className>
      <desc>HTML: The background color of this element</desc>
      <longDesc>HTML: The background color of this element.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>bodyrows</name>
      <className>java.lang.String</className>
      <desc>CSV of several row index to start (and end a previous) tbody element</desc>
      <longDesc>CSV of several row index to start (and end a previous) tbody element</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>border</name>
      <className>int</className>
      <desc>HTML: Specifies the width of the border of this element, in pixels</desc>
      <longDesc>HTML: Specifies the width of the border of this element, in pixels.  Deprecated in HTML 4.01.</longDesc>
      <defaultValue>Integer.MIN_VALUE</defaultValue>
      <generated>true</generated>
    </property>
    <property>
      <name>cellpadding</name>
      <className>java.lang.String</className>
      <desc>HTML: Specifies the amount of empty space between the cell border and
its contents</desc>
      <longDesc>HTML: Specifies the amount of empty space between the cell border and
its contents.  It can be either a pixel length or a percentage.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>cellspacing</name>
      <className>java.lang.String</className>
      <desc>HTML: Specifies the amount of space between the cells of the table</desc>
      <longDesc>HTML: Specifies the amount of space between the cells of the table.
It can be either a pixel length or a percentage of available 
space.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>columnClasses</name>
      <className>java.lang.String</className>
      <desc>A comma separated list of CSS class names to apply to td elements in
each column</desc>
      <longDesc>A comma separated list of CSS class names to apply to td elements in
each column.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>footerClass</name>
      <className>java.lang.String</className>
      <desc>The CSS class to be applied to footer cells</desc>
      <longDesc>The CSS class to be applied to footer cells.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>frame</name>
      <className>java.lang.String</className>
      <desc>HTML: Controls what part of the frame that surrounds a table is 
visible</desc>
      <longDesc>HTML: Controls what part of the frame that surrounds a table is 
visible.  Values include:  void, above, below, hsides, lhs, 
rhs, vsides, box, and border.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>headerClass</name>
      <className>java.lang.String</className>
      <desc>The CSS class to be applied to header cells</desc>
      <longDesc>The CSS class to be applied to header cells.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>rowClasses</name>
      <className>java.lang.String</className>
      <desc>A comma separated list of CSS class names to apply to td elements in
each row</desc>
      <longDesc>A comma separated list of CSS class names to apply to td elements in
each row.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>rules</name>
      <className>java.lang.String</className>
      <desc>HTML: Controls how rules are rendered between cells</desc>
      <longDesc>HTML: Controls how rules are rendered between cells.  Values include:
none, groups, rows, cols, and all.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>summary</name>
      <className>java.lang.String</className>
      <desc>HTML: Provides a summary of the contents of the table, for
accessibility purposes</desc>
      <longDesc>HTML: Provides a summary of the contents of the table, for
accessibility purposes.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>width</name>
      <className>java.lang.String</className>
      <desc>HTML: Specifies the desired width of the table, as a pixel length or
a percentage of available space</desc>
      <longDesc>HTML: Specifies the desired width of the table, as a pixel length or
a percentage of available space.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>captionClass</name>
      <className>java.lang.String</className>
      <desc>A comma separated list of CSS class names to apply to all captions</desc>
      <longDesc>A comma separated list of CSS class names to apply to all captions.
If there are less classes than the number of rows, apply the same
sequence of classes to the remaining captions, so the pattern is repeated.
More than one class can be applied to a row by separating the classes
with a space.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>captionStyle</name>
      <className>java.lang.String</className>
      <desc>Gets The CSS class to be applied to the Caption</desc>
      <longDesc>Gets The CSS class to be applied to the Caption.</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>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.HtmlForm</className>
    <parentClassName>javax.faces.component.UIForm</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlForm</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UIForm</sourceClassParentClassName>
    <name>h:form</name>
    <type>javax.faces.HtmlForm</type>
    <family>javax.faces.Form</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlFormTag</tagClass>
    <rendererType>javax.faces.Form</rendererType>
    <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>Renders an HTML form element</desc>
    <longDesc>Renders an HTML form element.</longDesc>
    <property>
      <name>accept</name>
      <className>java.lang.String</className>
      <desc>HTML: Provides a comma-separated list of content types that the 
server processing this form can handle</desc>
      <longDesc>HTML: Provides a comma-separated list of content types that the 
server processing this form can handle.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>acceptcharset</name>
      <className>java.lang.String</className>
      <desc>HTML: The list of character encodings accepted by the server for this
form</desc>
      <longDesc>HTML: The list of character encodings accepted by the server for this
form.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>enctype</name>
      <className>java.lang.String</className>
      <desc>HTML: The content type used to submit this form to the server</desc>
      <longDesc>HTML: The content type used to submit this form to the server.</longDesc>
      <defaultValue>application/x-www-form-urlencoded</defaultValue>
      <generated>true</generated>
    </property>
    <property>
      <name>onreset</name>
      <className>java.lang.String</className>
      <desc>HTML: Script to be invoked when this form is reset</desc>
      <longDesc>HTML: Script to be invoked when this form is reset.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>onsubmit</name>
      <className>java.lang.String</className>
      <desc>HTML: Script to be invoked when this form is submitted</desc>
      <longDesc>HTML: Script to be invoked when this form is submitted.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>target</name>
      <className>java.lang.String</className>
      <desc>HTML: Names the frame that should display content generated by invoking this action</desc>
      <longDesc>HTML: Names the frame that should display content generated by invoking this action.</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>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.HtmlGraphicImage</className>
    <parentClassName>javax.faces.component.UIGraphic</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlGraphicImage</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UIGraphic</sourceClassParentClassName>
    <name>h:graphicImage</name>
    <type>javax.faces.HtmlGraphicImage</type>
    <family>javax.faces.Graphic</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlGraphicImageTag</tagClass>
    <rendererType>javax.faces.Image</rendererType>
    <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>Renders an HTML img element</desc>
    <longDesc>
<![CDATA[
Renders an HTML img element.
<p>
The value attribute specifies the url of the image to be displayed;
see the documentation for attribute "url" for more details.
</p>
]]>
    </longDesc>
    <property>
      <name>height</name>
      <className>java.lang.String</className>
      <desc>HTML: Overrides the natural height of this image, by specifying height in pixels</desc>
      <longDesc>HTML: Overrides the natural height of this image, by specifying height in pixels.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>ismap</name>
      <className>boolean</className>
      <desc>HTML: Specifies server-side image map handling for this image</desc>
      <longDesc>HTML: Specifies server-side image map handling for this image.</longDesc>
      <defaultValue>false</defaultValue>
      <generated>true</generated>
    </property>
    <property>
      <name>longdesc</name>
      <className>java.lang.String</className>
      <desc>HTML: A link to a long description of the image</desc>
      <longDesc>HTML: A link to a long description of the image.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>usemap</name>
      <className>java.lang.String</className>
      <desc>HTML: Specifies an image map to use with this image</desc>
      <longDesc>HTML: Specifies an image map to use with this image.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>width</name>
      <className>java.lang.String</className>
      <desc>HTML: Overrides the natural width of this image, by specifying width in pixels</desc>
      <longDesc>HTML: Overrides the natural width of this image, by specifying width in pixels.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>library</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <longDesc></longDesc>
    </property>
    <property>
      <name>name</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <longDesc></longDesc>
    </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>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.HtmlHead</className>
    <parentClassName>javax.faces.component.UIOutput</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlHead</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UIOutput</sourceClassParentClassName>
    <name>h:head</name>
    <type>javax.faces.OutputHead</type>
    <family>javax.faces.Output</family>
    <rendererType>javax.faces.Head</rendererType>
    <generatedComponentClass>true</generatedComponentClass>
    <template>true</template>
    <desc>no description</desc>
    <longDesc></longDesc>
    <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>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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.component.html.HtmlInputSecret</className>
    <parentClassName>javax.faces.component.UIInput</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlInputSecret</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UIInput</sourceClassParentClassName>
    <name>h:inputSecret</name>
    <type>javax.faces.HtmlInputSecret</type>
    <family>javax.faces.Input</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlInputSecretTag</tagClass>
    <rendererType>javax.faces.Secret</rendererType>
    <defaultEventName>valueChange</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>Renders as an HTML input tag with its type set to "password"</desc>
    <longDesc>Renders as an HTML input tag with its type set to "password".</longDesc>
    <property>
      <name>maxlength</name>
      <className>int</className>
      <desc>HTML: The maximum number of characters allowed to be entered</desc>
      <longDesc>HTML: The maximum number of characters allowed to be entered.</longDesc>
      <defaultValue>Integer.MIN_VALUE</defaultValue>
      <generated>true</generated>
    </property>
    <property>
      <name>redisplay</name>
      <className>boolean</className>
      <desc>If true, the value will be re-sent (in plaintext) when the form
is rerendered (see JSF</desc>
      <longDesc>If true, the value will be re-sent (in plaintext) when the form
is rerendered (see JSF.7.4.4). Default is false.</longDesc>
      <defaultValue>false</defaultValue>
      <generated>true</generated>
    </property>
    <property>
      <name>size</name>
      <className>int</className>
      <desc>HTML: The initial width of this control, in characters</desc>
      <longDesc>HTML: The initial width of this control, in characters.</longDesc>
      <defaultValue>Integer.MIN_VALUE</defaultValue>
      <generated>true</generated>
    </property>
    <property>
      <name>autocomplete</name>
      <className>java.lang.String</className>
      <desc>If the value of this attribute is "off", render "off" as the value of the attribute</desc>
      <longDesc>If the value of this attribute is "off", render "off" as the value of the attribute.
This indicates that the browser should disable its autocomplete feature for this component.
This is useful for components that perform autocompletion and do not want the browser interfering.
If this attribute is not set or the value is "on", render nothing.</longDesc>
      <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.HtmlInputText</className>
    <parentClassName>javax.faces.component.UIInput</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlInputText</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UIInput</sourceClassParentClassName>
    <name>h:inputText</name>
    <type>javax.faces.HtmlInputText</type>
    <family>javax.faces.Input</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlInputTextTag</tagClass>
    <rendererType>javax.faces.Text</rendererType>
    <defaultEventName>valueChange</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>Renders a HTML input element</desc>
    <longDesc>Renders a HTML input element.</longDesc>
    <property>
      <name>maxlength</name>
      <className>int</className>
      <desc>HTML: The maximum number of characters allowed to be entered</desc>
      <longDesc>HTML: The maximum number of characters allowed to be entered.</longDesc>
      <defaultValue>Integer.MIN_VALUE</defaultValue>
      <generated>true</generated>
    </property>
    <property>
      <name>size</name>
      <className>int</className>
      <desc>HTML: The initial width of this control, in characters</desc>
      <longDesc>HTML: The initial width of this control, in characters.</longDesc>
      <defaultValue>Integer.MIN_VALUE</defaultValue>
      <generated>true</generated>
    </property>
    <property>
      <name>autocomplete</name>
      <className>java.lang.String</className>
      <desc>If the value of this attribute is "off", render "off" as the value of the attribute</desc>
      <longDesc>If the value of this attribute is "off", render "off" as the value of the attribute.
This indicates that the browser should disable its autocomplete feature for this component.
This is useful for components that perform autocompletion and do not want the browser interfering.
If this attribute is not set or the value is "on", render nothing.</longDesc>
      <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>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>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>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.HtmlInputTextarea</className>
    <parentClassName>javax.faces.component.UIInput</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlInputTextarea</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UIInput</sourceClassParentClassName>
    <name>h:inputTextarea</name>
    <type>javax.faces.HtmlInputTextarea</type>
    <family>javax.faces.Input</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlInputTextareaTag</tagClass>
    <rendererType>javax.faces.Textarea</rendererType>
    <defaultEventName>valueChange</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>Renders a HTML textarea element</desc>
    <longDesc>Renders a HTML textarea element.</longDesc>
    <property>
      <name>cols</name>
      <className>int</className>
      <desc>HTML: The width of this element, in characters</desc>
      <longDesc>HTML: The width of this element, in characters.</longDesc>
      <defaultValue>Integer.MIN_VALUE</defaultValue>
      <generated>true</generated>
    </property>
    <property>
      <name>rows</name>
      <className>int</className>
      <desc>HTML: The height of this element, in characters</desc>
      <longDesc>HTML: The height of this element, in characters.</longDesc>
      <defaultValue>Integer.MIN_VALUE</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>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>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>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.HtmlMessage</className>
    <parentClassName>javax.faces.component.UIMessage</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlMessage</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UIMessage</sourceClassParentClassName>
    <name>h:message</name>
    <type>javax.faces.HtmlMessage</type>
    <family>javax.faces.Message</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlMessageTag</tagClass>
    <rendererType>javax.faces.Message</rendererType>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <desc>Renders text displaying information about the first FacesMessage
          that is assigned to the component referenced by the "for" attribute</desc>
    <longDesc>Renders text displaying information about the first FacesMessage
          that is assigned to the component referenced by the "for" attribute.</longDesc>
    <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>errorClass</name>
      <className>java.lang.String</className>
      <desc>CSS class to be used for messages with severity "ERROR"</desc>
      <longDesc>CSS class to be used for messages with severity "ERROR".</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>errorStyle</name>
      <className>java.lang.String</className>
      <desc>CSS style to be used for messages with severity "ERROR"</desc>
      <longDesc>CSS style to be used for messages with severity "ERROR".</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>fatalClass</name>
      <className>java.lang.String</className>
      <desc>CSS class to be used for messages with severity "FATAL"</desc>
      <longDesc>CSS class to be used for messages with severity "FATAL".</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>fatalStyle</name>
      <className>java.lang.String</className>
      <desc>CSS style to be used for messages with severity "FATAL"</desc>
      <longDesc>CSS style to be used for messages with severity "FATAL".</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>infoClass</name>
      <className>java.lang.String</className>
      <desc>CSS class to be used for messages with severity "INFO"</desc>
      <longDesc>CSS class to be used for messages with severity "INFO".</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>infoStyle</name>
      <className>java.lang.String</className>
      <desc>CSS style to be used for messages with severity "INFO"</desc>
      <longDesc>CSS style to be used for messages with severity "INFO".</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>tooltip</name>
      <className>boolean</className>
      <desc>If true, the message summary will be rendered as a tooltip (i</desc>
      <longDesc>If true, the message summary will be rendered as a tooltip (i.e. HTML title attribute).</longDesc>
      <defaultValue>false</defaultValue>
      <generated>true</generated>
    </property>
    <property>
      <name>warnClass</name>
      <className>java.lang.String</className>
      <desc>CSS class to be used for messages with severity "WARN"</desc>
      <longDesc>CSS class to be used for messages with severity "WARN".</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>warnStyle</name>
      <className>java.lang.String</className>
      <desc>CSS style to be used for messages with severity "WARN"</desc>
      <longDesc>CSS style to be used for messages with severity "WARN".</longDesc>
      <generated>true</generated>
    </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.HtmlMessages</className>
    <parentClassName>javax.faces.component.UIMessages</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlMessages</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UIMessages</sourceClassParentClassName>
    <name>h:messages</name>
    <type>javax.faces.HtmlMessages</type>
    <family>javax.faces.Messages</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlMessagesTag</tagClass>
    <rendererType>javax.faces.Messages</rendererType>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <desc>Renders all or some FacesMessages depending on the "for" and
"globalOnly" attributes</desc>
    <longDesc>
<![CDATA[
Renders all or some FacesMessages depending on the "for" and
"globalOnly" attributes.

<ul>
<li>If globalOnly = true, only global messages, that have no
associated clientId, will be displayed.</li>
<li>else if there is a "for" attribute, only messages that are
assigned to the component referenced by the "for" attribute
are displayed.</li>
<li>else all messages are displayed.</li>
</ul>
]]>
    </longDesc>
    <property>
      <name>layout</name>
      <className>java.lang.String</className>
      <desc>The layout: "table" or "list"</desc>
      <longDesc>The layout: "table" or "list". Default: list</longDesc>
      <defaultValue>list</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>errorClass</name>
      <className>java.lang.String</className>
      <desc>CSS class to be used for messages with severity "ERROR"</desc>
      <longDesc>CSS class to be used for messages with severity "ERROR".</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>errorStyle</name>
      <className>java.lang.String</className>
      <desc>CSS style to be used for messages with severity "ERROR"</desc>
      <longDesc>CSS style to be used for messages with severity "ERROR".</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>fatalClass</name>
      <className>java.lang.String</className>
      <desc>CSS class to be used for messages with severity "FATAL"</desc>
      <longDesc>CSS class to be used for messages with severity "FATAL".</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>fatalStyle</name>
      <className>java.lang.String</className>
      <desc>CSS style to be used for messages with severity "FATAL"</desc>
      <longDesc>CSS style to be used for messages with severity "FATAL".</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>infoClass</name>
      <className>java.lang.String</className>
      <desc>CSS class to be used for messages with severity "INFO"</desc>
      <longDesc>CSS class to be used for messages with severity "INFO".</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>infoStyle</name>
      <className>java.lang.String</className>
      <desc>CSS style to be used for messages with severity "INFO"</desc>
      <longDesc>CSS style to be used for messages with severity "INFO".</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>tooltip</name>
      <className>boolean</className>
      <desc>If true, the message summary will be rendered as a tooltip (i</desc>
      <longDesc>If true, the message summary will be rendered as a tooltip (i.e. HTML title attribute).</longDesc>
      <defaultValue>false</defaultValue>
      <generated>true</generated>
    </property>
    <property>
      <name>warnClass</name>
      <className>java.lang.String</className>
      <desc>CSS class to be used for messages with severity "WARN"</desc>
      <longDesc>CSS class to be used for messages with severity "WARN".</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>warnStyle</name>
      <className>java.lang.String</className>
      <desc>CSS style to be used for messages with severity "WARN"</desc>
      <longDesc>CSS style to be used for messages with severity "WARN".</longDesc>
      <generated>true</generated>
    </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.HtmlOutcomeTargetButton</className>
    <parentClassName>javax.faces.component.UIOutcomeTarget</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlOutcomeTargetButton</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UIOutcomeTarget</sourceClassParentClassName>
    <name>h:button</name>
    <type>javax.faces.HtmlOutcomeTargetButton</type>
    <family>javax.faces.OutcomeTarget</family>
    <rendererType>javax.faces.Button</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>image</name>
      <className>java.lang.String</className>
      <desc>HTML: the value to put as image attribute</desc>
      <longDesc>HTML: the value to put as image attribute</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>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.HtmlOutcomeTargetLink</className>
    <parentClassName>javax.faces.component.UIOutcomeTarget</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlOutcomeTargetLink</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UIOutcomeTarget</sourceClassParentClassName>
    <name>h:link</name>
    <type>javax.faces.HtmlOutcomeTargetLink</type>
    <family>javax.faces.OutcomeTarget</family>
    <rendererType>javax.faces.Link</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>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>
    <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>charset</name>
      <className>java.lang.String</className>
      <desc>HTML: Specifies the character encoding of the linked resource</desc>
      <longDesc>HTML: Specifies the character encoding of the linked resource.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>coords</name>
      <className>java.lang.String</className>
      <desc>HTML: The coordinates of regions within a client side image map</desc>
      <longDesc>HTML: The coordinates of regions within a client side image map.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>hreflang</name>
      <className>java.lang.String</className>
      <desc>HTML: The language of the linked resource</desc>
      <longDesc>HTML: The language of the linked resource.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>rel</name>
      <className>java.lang.String</className>
      <desc>HTML: The relationship between the current document and
the linked resource</desc>
      <longDesc>HTML: The relationship between the current document and
the linked resource.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>rev</name>
      <className>java.lang.String</className>
      <desc>HTML: The type(s) describing the reverse link for the linked
resource</desc>
      <longDesc>HTML: The type(s) describing the reverse link for the linked
resource.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>shape</name>
      <className>java.lang.String</className>
      <desc>HTML: The shape of a region in a client side image map</desc>
      <longDesc>HTML: The shape of a region in a client side image map.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>target</name>
      <className>java.lang.String</className>
      <desc>HTML: Names the frame that should display content generated by invoking this action</desc>
      <longDesc>HTML: Names the frame that should display content generated by invoking this action.</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>
      <generated>true</generated>
    </property>
    <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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.component.html.HtmlOutputFormat</className>
    <parentClassName>javax.faces.component.UIOutput</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlOutputFormat</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UIOutput</sourceClassParentClassName>
    <name>h:outputFormat</name>
    <type>javax.faces.HtmlOutputFormat</type>
    <family>javax.faces.Output</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlOutputFormatTag</tagClass>
    <rendererType>javax.faces.Format</rendererType>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <desc>Renders as text, applying the child f:param values to the value attribute as a MessageFormat string</desc>
    <longDesc>Renders as text, applying the child f:param values to the value attribute as a MessageFormat string.

If this element has an ID or CSS style properties, the text is wrapped in a span element.</longDesc>
    <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>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>escape</name>
      <className>boolean</className>
      <desc>Indicates whether rendered markup should be escaped</desc>
      <longDesc>Indicates whether rendered markup should be escaped.
Default: true</longDesc>
      <defaultValue>true</defaultValue>
      <generated>true</generated>
    </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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.component.html.HtmlOutputLabel</className>
    <parentClassName>javax.faces.component.UIOutput</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlOutputLabel</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UIOutput</sourceClassParentClassName>
    <name>h:outputLabel</name>
    <type>javax.faces.HtmlOutputLabel</type>
    <family>javax.faces.Output</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlOutputLabelTag</tagClass>
    <rendererType>javax.faces.Label</rendererType>
    <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>Renders a HTML label element</desc>
    <longDesc>Renders a HTML label element.

In addition to the JSF specification, MyFaces allows it to directly give an output text via the "value" attribute.</longDesc>
    <property>
      <name>for</name>
      <className>java.lang.String</className>
      <desc>The client ID of the target input element of this label</desc>
      <longDesc>The client ID of the target input element of this label.</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>escape</name>
      <className>boolean</className>
      <desc>Indicates whether rendered markup should be escaped</desc>
      <longDesc>Indicates whether rendered markup should be escaped.
Default: true</longDesc>
      <defaultValue>true</defaultValue>
      <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>
    <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.HtmlOutputLink</className>
    <parentClassName>javax.faces.component.UIOutput</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlOutputLink</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UIOutput</sourceClassParentClassName>
    <name>h:outputLink</name>
    <type>javax.faces.HtmlOutputLink</type>
    <family>javax.faces.Output</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlOutputLinkTag</tagClass>
    <rendererType>javax.faces.Link</rendererType>
    <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>Renders a HTML a element</desc>
    <longDesc>Renders a HTML a element.

Child f:param elements are added to the href attribute as query parameters.  Other children
are rendered as the link text or image.</longDesc>
    <property>
      <name>fragment</name>
      <className>java.lang.String</className>
      <desc>append text to url after '#'</desc>
      <longDesc>append text to url after '#'</longDesc>
      <tagExcluded>true</tagExcluded>
      <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>
    <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>charset</name>
      <className>java.lang.String</className>
      <desc>HTML: Specifies the character encoding of the linked resource</desc>
      <longDesc>HTML: Specifies the character encoding of the linked resource.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>coords</name>
      <className>java.lang.String</className>
      <desc>HTML: The coordinates of regions within a client side image map</desc>
      <longDesc>HTML: The coordinates of regions within a client side image map.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>hreflang</name>
      <className>java.lang.String</className>
      <desc>HTML: The language of the linked resource</desc>
      <longDesc>HTML: The language of the linked resource.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>rel</name>
      <className>java.lang.String</className>
      <desc>HTML: The relationship between the current document and
the linked resource</desc>
      <longDesc>HTML: The relationship between the current document and
the linked resource.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>rev</name>
      <className>java.lang.String</className>
      <desc>HTML: The type(s) describing the reverse link for the linked
resource</desc>
      <longDesc>HTML: The type(s) describing the reverse link for the linked
resource.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>shape</name>
      <className>java.lang.String</className>
      <desc>HTML: The shape of a region in a client side image map</desc>
      <longDesc>HTML: The shape of a region in a client side image map.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>target</name>
      <className>java.lang.String</className>
      <desc>HTML: Names the frame that should display content generated by invoking this action</desc>
      <longDesc>HTML: Names the frame that should display content generated by invoking this action.</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>
      <generated>true</generated>
    </property>
    <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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.component.html.HtmlOutputText</className>
    <parentClassName>javax.faces.component.UIOutput</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlOutputText</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UIOutput</sourceClassParentClassName>
    <name>h:outputText</name>
    <type>javax.faces.HtmlOutputText</type>
    <family>javax.faces.Output</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlOutputTextTag</tagClass>
    <rendererType>javax.faces.Text</rendererType>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <desc>Renders the value of the associated UIOutput component</desc>
    <longDesc>Renders the value of the associated UIOutput component.

If this element has an ID or CSS style properties, the text is wrapped in a span element.</longDesc>
    <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>escape</name>
      <className>boolean</className>
      <desc>Indicates whether rendered markup should be escaped</desc>
      <longDesc>Indicates whether rendered markup should be escaped.
Default: true</longDesc>
      <defaultValue>true</defaultValue>
      <generated>true</generated>
    </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.HtmlPanelGrid</className>
    <parentClassName>javax.faces.component.UIPanel</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlPanelGrid</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UIPanel</sourceClassParentClassName>
    <name>h:panelGrid</name>
    <type>javax.faces.HtmlPanelGrid</type>
    <family>javax.faces.Panel</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlPanelGridTag</tagClass>
    <rendererType>javax.faces.Grid</rendererType>
    <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 element renders as an HTML table with specified number of columns</desc>
    <longDesc>
<![CDATA[
This element renders as an HTML table with specified number of columns.
<p>
Children of this element are rendered as cells in the table, filling
rows from left to right.  Facets named "header" and "footer" are optional
and specify the content of the thead and tfoot rows, respectively.
</p>
]]>
    </longDesc>
    <property>
      <name>bgcolor</name>
      <className>java.lang.String</className>
      <desc>HTML: The background color of this element</desc>
      <longDesc>HTML: The background color of this element.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>bodyrows</name>
      <className>java.lang.String</className>
      <desc>CSV of several row index to start (and end a previous) tbody element</desc>
      <longDesc>CSV of several row index to start (and end a previous) tbody element</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>border</name>
      <className>int</className>
      <desc>HTML: Specifies the width of the border of this element, in pixels</desc>
      <longDesc>HTML: Specifies the width of the border of this element, in pixels.  Deprecated in HTML 4.01.</longDesc>
      <defaultValue>Integer.MIN_VALUE</defaultValue>
      <generated>true</generated>
    </property>
    <property>
      <name>cellpadding</name>
      <className>java.lang.String</className>
      <desc>HTML: Specifies the amount of empty space between the cell border and
its contents</desc>
      <longDesc>HTML: Specifies the amount of empty space between the cell border and
its contents.  It can be either a pixel length or a percentage.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>cellspacing</name>
      <className>java.lang.String</className>
      <desc>HTML: Specifies the amount of space between the cells of the table</desc>
      <longDesc>HTML: Specifies the amount of space between the cells of the table.
It can be either a pixel length or a percentage of available 
space.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>columnClasses</name>
      <className>java.lang.String</className>
      <desc>A comma separated list of CSS class names to apply to td elements in
each column</desc>
      <longDesc>A comma separated list of CSS class names to apply to td elements in
each column.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>columns</name>
      <className>int</className>
      <desc>Specifies the number of columns in the grid</desc>
      <longDesc>Specifies the number of columns in the grid.</longDesc>
      <defaultValue>1</defaultValue>
      <generated>true</generated>
    </property>
    <property>
      <name>footerClass</name>
      <className>java.lang.String</className>
      <desc>The CSS class to be applied to footer cells</desc>
      <longDesc>The CSS class to be applied to footer cells.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>frame</name>
      <className>java.lang.String</className>
      <desc>HTML: Controls what part of the frame that surrounds a table is 
visible</desc>
      <longDesc>HTML: Controls what part of the frame that surrounds a table is 
visible.  Values include:  void, above, below, hsides, lhs, 
rhs, vsides, box, and border.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>headerClass</name>
      <className>java.lang.String</className>
      <desc>The CSS class to be applied to header cells</desc>
      <longDesc>The CSS class to be applied to header cells.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>rowClasses</name>
      <className>java.lang.String</className>
      <desc>A comma separated list of CSS class names to apply to td elements in
each row</desc>
      <longDesc>A comma separated list of CSS class names to apply to td elements in
each row.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>rules</name>
      <className>java.lang.String</className>
      <desc>HTML: Controls how rules are rendered between cells</desc>
      <longDesc>HTML: Controls how rules are rendered between cells.  Values include:
none, groups, rows, cols, and all.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>summary</name>
      <className>java.lang.String</className>
      <desc>HTML: Provides a summary of the contents of the table, for
accessibility purposes</desc>
      <longDesc>HTML: Provides a summary of the contents of the table, for
accessibility purposes.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>width</name>
      <className>java.lang.String</className>
      <desc>HTML: Specifies the desired width of the table, as a pixel length or
a percentage of available space</desc>
      <longDesc>HTML: Specifies the desired width of the table, as a pixel length or
a percentage of available space.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>captionClass</name>
      <className>java.lang.String</className>
      <desc>A comma separated list of CSS class names to apply to all captions</desc>
      <longDesc>A comma separated list of CSS class names to apply to all captions.
If there are less classes than the number of rows, apply the same
sequence of classes to the remaining captions, so the pattern is repeated.
More than one class can be applied to a row by separating the classes
with a space.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>captionStyle</name>
      <className>java.lang.String</className>
      <desc>Gets The CSS class to be applied to the Caption</desc>
      <longDesc>Gets The CSS class to be applied to the Caption.</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>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.HtmlPanelGroup</className>
    <parentClassName>javax.faces.component.UIPanel</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlPanelGroup</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UIPanel</sourceClassParentClassName>
    <name>h:panelGroup</name>
    <type>javax.faces.HtmlPanelGroup</type>
    <family>javax.faces.Panel</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlPanelGroupTag</tagClass>
    <rendererType>javax.faces.Group</rendererType>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <desc>This element is used to group other components where the specification requires one child element</desc>
    <longDesc>This element is used to group other components where the specification requires one child element.

If any of the HTML or CSS attributes are set, its content is rendered within a span element.</longDesc>
    <property>
      <name>layout</name>
      <className>java.lang.String</className>
      <desc>The type of layout markup to use when rendering this group</desc>
      <longDesc>The type of layout markup to use when rendering this group. If the value is "block"
the renderer must produce an HTML "div" element. Otherwise HTML "span" element must be produced.</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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.component.html.HtmlSelectBooleanCheckbox</className>
    <parentClassName>javax.faces.component.UISelectBoolean</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlSelectBooleanCheckbox</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UISelectBoolean</sourceClassParentClassName>
    <name>h:selectBooleanCheckbox</name>
    <type>javax.faces.HtmlSelectBooleanCheckbox</type>
    <family>javax.faces.SelectBoolean</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlSelectBooleanCheckboxTag</tagClass>
    <rendererType>javax.faces.Checkbox</rendererType>
    <defaultEventName>valueChange</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>Allow the user to choose a "true" or "false" value, presented as a
checkbox</desc>
    <longDesc>
<![CDATA[
Allow the user to choose a "true" or "false" value, presented as a
checkbox.
<p>
Renders as an HTML input tag with its type set to "checkbox", and
its name attribute set to the id. The "checked" attribute is rendered
if the value of this component is true.
</p>
]]>
    </longDesc>
    <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>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>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>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.HtmlSelectManyCheckbox</className>
    <parentClassName>javax.faces.component.UISelectMany</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlSelectManyCheckbox</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UISelectMany</sourceClassParentClassName>
    <name>h:selectManyCheckbox</name>
    <type>javax.faces.HtmlSelectManyCheckbox</type>
    <family>javax.faces.SelectMany</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlSelectManyCheckboxTag</tagClass>
    <rendererType>javax.faces.Checkbox</rendererType>
    <defaultEventName>valueChange</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>Allow the user to select zero or more items from a set of available options</desc>
    <longDesc>
<![CDATA[
Allow the user to select zero or more items from a set of available options.
<p> 
This is presented as a table with one cell per available option; each cell contains a
checkbox and the option's label. The "layout" attribute determines whether the checkboxes
are laid out horizontally or vertically.
</p>
<p>
The set of available options is defined by adding child
f:selectItem or f:selectItems components to this component.
</p>
<p>
The value attribute must be a value-binding expression to a
property of type List, Object array or primitive array. That
"collection" is expected to contain objects of the same type as
SelectItem.getValue() returns for the child SelectItem objects.
On rendering, any child whose value is in the list will be
selected initially. During the update phase, the property setter
is called to replace the original collection with a completely
new collection object of the appropriate type. The new collection
object contains the value of each child SelectItem object that
is currently selected.
</p>
]]>
    </longDesc>
    <property>
      <name>border</name>
      <className>int</className>
      <desc>HTML: Specifies the width of the border of this element, in pixels</desc>
      <longDesc>HTML: Specifies the width of the border of this element, in pixels.  Deprecated in HTML 4.01.</longDesc>
      <defaultValue>Integer.MIN_VALUE</defaultValue>
      <generated>true</generated>
    </property>
    <property>
      <name>layout</name>
      <className>java.lang.String</className>
      <desc>Controls the layout direction of the child elements</desc>
      <longDesc>Controls the layout direction of the child elements.  Values include:  
lineDirection (vertical) and pageDirection (horzontal).</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>selectedClass</name>
      <className>java.lang.String</className>
      <desc>CSS class to be applied to selected items</desc>
      <longDesc>CSS class to be applied to selected items</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>unselectedClass</name>
      <className>java.lang.String</className>
      <desc>CSS class to be applied to unselected items</desc>
      <longDesc>CSS class to be applied to unselected items</longDesc>
      <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>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>disabledClass</name>
      <className>java.lang.String</className>
      <desc>The CSS class assigned to the label element for enabled choices</desc>
      <longDesc>The CSS class assigned to the label element for enabled choices.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>enabledClass</name>
      <className>java.lang.String</className>
      <desc>The CSS class assigned to the label element for enabled choices</desc>
      <longDesc>The CSS class assigned to the label element for enabled choices.</longDesc>
      <generated>true</generated>
    </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>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>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.HtmlSelectManyListbox</className>
    <parentClassName>javax.faces.component.UISelectMany</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlSelectManyListbox</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UISelectMany</sourceClassParentClassName>
    <name>h:selectManyListbox</name>
    <type>javax.faces.HtmlSelectManyListbox</type>
    <family>javax.faces.SelectMany</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlSelectManyListboxTag</tagClass>
    <rendererType>javax.faces.Listbox</rendererType>
    <defaultEventName>valueChange</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>Allow the user to select zero or more items from a set of
available options</desc>
    <longDesc>
<![CDATA[
Allow the user to select zero or more items from a set of
available options. This is presented as a listbox which allows
multiple rows in the list to be selected simultaneously.
<p>
The set of available options is defined by adding child
f:selectItem or f:selectItems components to this component.
</p>
<p>
The list is rendered as an HTML select element. The "multiple"
attribute is set on the element and the size attribute is set to
the provided value, defaulting to the number of items in the list
if no value is provided. If the size is set to 1, then a
"drop-down" list (aka "combo-box") is presented, though if this is
the intention then a selectManyMenu should be used instead.
</p>
<p>
The value attribute must be a value-binding expression to a
property of type List, Object array or primitive array. That
"collection" is expected to contain objects of the same type as
SelectItem.getValue() returns for the child SelectItem objects.
On rendering, any child whose value is in the list will be
selected initially. During the update phase, the property is set
to contain a "collection" of values for those child SelectItem
objects that are currently selected.
</p>
]]>
    </longDesc>
    <property>
      <name>size</name>
      <className>int</className>
      <desc>see JSF Spec</desc>
      <longDesc>see JSF Spec.</longDesc>
      <defaultValue>Integer.MIN_VALUE</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>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>disabledClass</name>
      <className>java.lang.String</className>
      <desc>The CSS class assigned to the label element for enabled choices</desc>
      <longDesc>The CSS class assigned to the label element for enabled choices.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>enabledClass</name>
      <className>java.lang.String</className>
      <desc>The CSS class assigned to the label element for enabled choices</desc>
      <longDesc>The CSS class assigned to the label element for enabled choices.</longDesc>
      <generated>true</generated>
    </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>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>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.HtmlSelectManyMenu</className>
    <parentClassName>javax.faces.component.UISelectMany</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlSelectManyMenu</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UISelectMany</sourceClassParentClassName>
    <name>h:selectManyMenu</name>
    <type>javax.faces.HtmlSelectManyMenu</type>
    <family>javax.faces.SelectMany</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlSelectManyMenuTag</tagClass>
    <rendererType>javax.faces.Menu</rendererType>
    <defaultEventName>valueChange</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>Allow the user to select zero or more items from a set of available
options</desc>
    <longDesc>
<![CDATA[
Allow the user to select zero or more items from a set of available
options. This is presented as a drop-down "combo-box" which allows
multiple rows in the list to be selected simultaneously.
<p>
The set of available options is defined by adding child
f:selectItem or f:selectItems components to this component.
</p>
<p>
Renders as an HTML select element, with the choices made up of
child f:selectItem or f:selectItems elements. The multiple
attribute is set and the size attribute is set to 1.
</p>
<p>
The value attribute must be a value-binding expression to a
property of type List, Object array or primitive array. That
"collection" is expected to contain objects of the same type as
SelectItem.getValue() returns for the child SelectItem objects.
On rendering, any child whose value is in the list will be
selected initially. During the update phase, the property is set
to contain a "collection" of values for those child SelectItem
objects that are currently selected.
</p>
]]>
    </longDesc>
    <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>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>disabledClass</name>
      <className>java.lang.String</className>
      <desc>The CSS class assigned to the label element for enabled choices</desc>
      <longDesc>The CSS class assigned to the label element for enabled choices.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>enabledClass</name>
      <className>java.lang.String</className>
      <desc>The CSS class assigned to the label element for enabled choices</desc>
      <longDesc>The CSS class assigned to the label element for enabled choices.</longDesc>
      <generated>true</generated>
    </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>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>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.HtmlSelectOneListbox</className>
    <parentClassName>javax.faces.component.UISelectOne</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlSelectOneListbox</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UISelectOne</sourceClassParentClassName>
    <name>h:selectOneListbox</name>
    <type>javax.faces.HtmlSelectOneListbox</type>
    <family>javax.faces.SelectOne</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlSelectOneListboxTag</tagClass>
    <rendererType>javax.faces.Listbox</rendererType>
    <defaultEventName>valueChange</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>Allow the user to choose one option from a set of options</desc>
    <longDesc>
<![CDATA[
Allow the user to choose one option from a set of options.
<p>
Rendered as a listbox with the MULTIPLE attribute set to false.
</p>
<p>
The available choices are defined via child f:selectItem or
f:selectItems elements. The size of the listbox defaults to the
number of available choices; if size is explicitly set to a
smaller value, then scrollbars will be rendered. If size is set
to 1 then a "drop-down menu" (aka "combo-box") is rendered, though
if this is the intent then selectOneMenu should be used instead.
</p>
<p>
The value attribute of this component is read to determine
which of the available options is initially selected; its value
should match the "value" property of one of the child SelectItem
objects.
</p>
<p>
On submit of the enclosing form, the value attribute's bound
property is updated to contain the "value" property from the
chosen SelectItem.
</p>
]]>
    </longDesc>
    <property>
      <name>size</name>
      <className>int</className>
      <desc>see JSF Spec</desc>
      <longDesc>see JSF Spec.</longDesc>
      <defaultValue>Integer.MIN_VALUE</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>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>disabledClass</name>
      <className>java.lang.String</className>
      <desc>The CSS class assigned to the label element for enabled choices</desc>
      <longDesc>The CSS class assigned to the label element for enabled choices.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>enabledClass</name>
      <className>java.lang.String</className>
      <desc>The CSS class assigned to the label element for enabled choices</desc>
      <longDesc>The CSS class assigned to the label element for enabled choices.</longDesc>
      <generated>true</generated>
    </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>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>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.HtmlSelectOneMenu</className>
    <parentClassName>javax.faces.component.UISelectOne</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlSelectOneMenu</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UISelectOne</sourceClassParentClassName>
    <name>h:selectOneMenu</name>
    <type>javax.faces.HtmlSelectOneMenu</type>
    <family>javax.faces.SelectOne</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlSelectOneMenuTag</tagClass>
    <rendererType>javax.faces.Menu</rendererType>
    <defaultEventName>valueChange</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>Allow the user to choose one option from a set of options</desc>
    <longDesc>
<![CDATA[
Allow the user to choose one option from a set of options.
<p>
Renders a drop-down menu (aka "combo-box") containing a set of
choices, of which only one can be chosen at a time. The available
choices are defined via child f:selectItem or f:selectItems
elements.
</p>
<p>
The value attribute of this component is read to determine
which of the available options is initially selected; its value
should match the "value" property of one of the child SelectItem
objects.
</p>
<p>
On submit of the enclosing form, the value attribute's bound property
is updated to contain the "value" property from the chosen SelectItem.
</p>
]]>
    </longDesc>
    <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>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>disabledClass</name>
      <className>java.lang.String</className>
      <desc>The CSS class assigned to the label element for enabled choices</desc>
      <longDesc>The CSS class assigned to the label element for enabled choices.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>enabledClass</name>
      <className>java.lang.String</className>
      <desc>The CSS class assigned to the label element for enabled choices</desc>
      <longDesc>The CSS class assigned to the label element for enabled choices.</longDesc>
      <generated>true</generated>
    </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>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>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.HtmlSelectOneRadio</className>
    <parentClassName>javax.faces.component.UISelectOne</parentClassName>
    <sourceClassName>javax.faces.component.html._HtmlSelectOneRadio</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UISelectOne</sourceClassParentClassName>
    <name>h:selectOneRadio</name>
    <type>javax.faces.HtmlSelectOneRadio</type>
    <family>javax.faces.SelectOne</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlSelectOneRadioTag</tagClass>
    <rendererType>javax.faces.Radio</rendererType>
    <defaultEventName>valueChange</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>Allow the user to choose one option from a set of options</desc>
    <longDesc>
<![CDATA[
Allow the user to choose one option from a set of options.
<p>
Renders as an HTML table element, containing an input element for
each child f:selectItem or f:selectItems elements.  The input
elements are rendered as type radio.
</p>
<p>
The value attribute of this component is read to determine
which of the available options is initially selected; its value should
match the "value" property of one of the child SelectItem objects.
</p>
<p>
On submit of the enclosing form, the value attribute's bound property
is updated to contain the "value" property from the chosen SelectItem.
</p>
]]>
    </longDesc>
    <property>
      <name>border</name>
      <className>int</className>
      <desc>Width in pixels of the border to be drawn around the table containing the options list</desc>
      <longDesc>Width in pixels of the border to be drawn around the table containing the options list.</longDesc>
      <defaultValue>Integer.MIN_VALUE</defaultValue>
      <generated>true</generated>
    </property>
    <property>
      <name>layout</name>
      <className>java.lang.String</className>
      <desc>Orientation of the options list</desc>
      <longDesc>Orientation of the options list. Valid values are 
"pageDirection" for a vertical layout, or "lineDirection" for
horizontal. The default value is "lineDirection".</longDesc>
      <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>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>disabledClass</name>
      <className>java.lang.String</className>
      <desc>The CSS class assigned to the label element for enabled choices</desc>
      <longDesc>The CSS class assigned to the label element for enabled choices.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>enabledClass</name>
      <className>java.lang.String</className>
      <desc>The CSS class assigned to the label element for enabled choices</desc>
      <longDesc>The CSS class assigned to the label element for enabled choices.</longDesc>
      <generated>true</generated>
    </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>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>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>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXComponent</className>
    <parentClassName>javax.faces.component.UIComponent</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXComponent</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UIComponent</sourceClassParentClassName>
    <desc>Pure abstract base class for all UIX components</desc>
    <longDesc>Pure abstract base class for all UIX components.</longDesc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXComponentBase</className>
    <parentClassName>javax.faces.component.UIComponent</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassName>
    <sourceClassParentClassName>javax.faces.component.UIComponent</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.ComponentBase</type>
    <tagClass>org.apache.myfaces.trinidad.webapp.UIXComponentELTag</tagClass>
    <listener>
      <name>attributeChangeListener</name>
      <className>org.apache.myfaces.trinidad.event.AttributeChangeListener</className>
      <eventClassName>org.apache.myfaces.trinidad.AttributeChange</eventClassName>
      <desc>Event delivered to describe an attribute change.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change event might include the width of a column that supported client-side resizing.</desc>
      <longDesc>Event delivered to describe an attribute change.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change event might include the width of a column that supported client-side resizing.</longDesc>
      <phases>Invoke Application ,Apply Request Values</phases>
    </listener>
    <property>
      <name>attributeChangeListener</name>
      <jspName>attributeChangeListener</jspName>
      <fieldName>_attributeChangeListener</fieldName>
      <className>javax.el.MethodExpression</className>
      <desc>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</desc>
      <longDesc>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>org.apache.myfaces.trinidad.event.AttributeChangeEvent</parameterType>
      </methodBindingSignature>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXCollection</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXCollection</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.CollectionBase</type>
    <family>org.apache.myfaces.trinidad.Collection</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXCollectionTag</tagClass>
    <desc>The UIXCollection component is a base class for
     components that do stamping.
     This class set the EL 'var' variable correctly when the rowData changes.
     And it wraps events that are queued, so that the correct rowData can be
     restored on this component when the event is broadcast.</desc>
    <property>
      <name>var</name>
      <jspName>var</jspName>
      <fieldName>_var</fieldName>
      <className>java.lang.String</className>
      <literalOnly>true</literalOnly>
      <desc>Name of the EL variable used to reference each element of this collection.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).</desc>
      <longDesc>Name of the EL variable used to reference each element of this collection.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXHierarchy</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXCollection</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXHierarchy</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXCollection</sourceClassParentClassName>
    <implementedInterfaces>
      <interface name="org.apache.myfaces.trinidad.model.LocalRowKeyIndex"/>
      <interface name="org.apache.myfaces.trinidad.component.CollectionComponent"/>
      <interface name="org.apache.myfaces.trinidad.model.TreeLocalRowKeyIndex"/>
    </implementedInterfaces>
    <desc>Base class for components that take a TreeModel, which is a hierarchical model</desc>
    <longDesc>Base class for components that take a TreeModel, which is a hierarchical model.</longDesc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXMenuHierarchy</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXHierarchy</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXMenuHierarchy</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXHierarchy</sourceClassParentClassName>
    <desc>Base class for the Menu component</desc>
    <longDesc>
<![CDATA[
Base class for the Menu component.
<p>
Work on modeling menus continues and it is very possible that this class
will change in a future release.
]]>
    </longDesc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXNavigationHierarchy</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXHierarchy</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXNavigationHierarchy</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXHierarchy</sourceClassParentClassName>
    <desc>Base class for the Navigation component</desc>
    <longDesc>
<![CDATA[
Base class for the Navigation component.
<p>
Work on modeling navigation continues and it is very possible that this class
will change in a future release.
]]>
    </longDesc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXChart</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXChart</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Chart</type>
    <family>org.apache.myfaces.trinidad.Chart</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXChartTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Chart</rendererType>
    <desc>The Apache Trinidad Chart is used to diplay data in a chart format.</desc>
    <longDesc>
<![CDATA[
<html:p>
          The Apache Trinidad Chart is used to display data in a Chart Format.
        </html:p>
]]>
    </longDesc>
    <property>
      <name>value</name>
      <jspName>value</jspName>
      <fieldName>_value</fieldName>
      <className>java.lang.Object</className>
      <desc>
<![CDATA[
the data model being used by this component.The specific model class must be derived from 
        <code>org.apache.myfaces.trinidad.model.ChartModel</code>. 
        The derived class must override the abstract methods to provide the required values for chart display.
]]>
      </desc>
      <longDesc>
<![CDATA[
the data model being used by this component.The specific model class must be derived from 
        <code>org.apache.myfaces.trinidad.model.ChartModel</code>. 
        The derived class must override the abstract methods to provide the required values for chart display.
]]>
      </longDesc>
    </property>
    <property>
      <name>chartDrillDownListener</name>
      <jspName>chartDrillDownListener</jspName>
      <fieldName>_chartDrillDownListener</fieldName>
      <className>javax.el.MethodExpression</className>
      <desc>
<![CDATA[
a method reference to a drill down listener that
         will be called when the user drills down into the chart data.The method must take a parameter of type <code>org.apache.myfaces.trinidad.event.ChartDrillDownEvent</code>.
]]>
      </desc>
      <longDesc>
<![CDATA[
a method reference to a drill down listener that
         will be called when the user drills down into the chart data.The method must take a parameter of type <code>org.apache.myfaces.trinidad.event.ChartDrillDownEvent</code>.
]]>
      </longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>org.apache.myfaces.trinidad.event.ChartDrillDownEvent</parameterType>
      </methodBindingSignature>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXChoose</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXChoose</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Choose</type>
    <family>org.apache.myfaces.trinidad.Choose</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXChooseTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Choose</rendererType>
    <desc>Choose is a base abstraction for components like chooseDate and chooseColor
          that presents users with a diagrammatic chooser like a calendar or palette.</desc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXColumn</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXColumn</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Column</type>
    <family>org.apache.myfaces.trinidad.Column</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXColumnTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Column</rendererType>
    <facet>
      <name>header</name>
      <desc>the node to use to render this column's header.</desc>
      <longDesc>the node to use to render this column's header.</longDesc>
    </facet>
    <facet>
      <name>footer</name>
      <desc>the node to render as this column's footer.</desc>
      <longDesc>the node to render as this column's footer.</longDesc>
    </facet>
    <desc>This is base abstraction for column.</desc>
    <longDesc>This is base abstraction for column.</longDesc>
    <property>
      <name>sortProperty</name>
      <jspName>sortProperty</jspName>
      <fieldName>_sortProperty</fieldName>
      <className>java.lang.String</className>
      <desc>The property that is displayed by this Column. This is the
            property that the framework might use to (for example) sort
            the Table's data.</desc>
      <longDesc>The property that is displayed by this Column. This is the
            property that the framework might use to (for example) sort
            the Table's data.</longDesc>
    </property>
    <property>
      <name>sortStrength</name>
      <jspName>sortStrength</jspName>
      <fieldName>_sortStrength</fieldName>
      <className>java.lang.String</className>
      <desc>The sorting strength for this column. It controls how this column should
      be sorted, what level of difference considered significant during comparison. Currently the
      values supported are: "Primary", "Secondary", "Tertiary" and "Identical". Default value is
      "Identical".</desc>
      <longDesc>The sorting strength for this column. It controls how this column should
      be sorted, what level of difference considered significant during comparison. Currently the
      values supported are: "Primary", "Secondary", "Tertiary" and "Identical". Default value is
      "Identical".</longDesc>
      <defaultValue>Identical</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXCommand</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXCommand</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Command</type>
    <family>org.apache.myfaces.trinidad.Command</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXCommandTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Button</rendererType>
    <listener>
      <name>actionListener</name>
      <className>javax.faces.event.ActionListener</className>
      <eventClassName>javax.faces.Action</eventClassName>
      <desc>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.</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>
    <listener>
      <name>returnListener</name>
      <className>org.apache.myfaces.trinidad.event.ReturnListener</className>
      <eventClassName>org.apache.myfaces.trinidad.Return</eventClassName>
      <desc>Event delivered when the dialog has completed successfully.</desc>
      <longDesc>Event delivered when the dialog has completed successfully.</longDesc>
      <phases>Apply Request Values</phases>
    </listener>
    <listener>
      <name>launchListener</name>
      <className>org.apache.myfaces.trinidad.event.LaunchListener</className>
      <eventClassName>org.apache.myfaces.trinidad.Launch</eventClassName>
      <desc>Event delivered to prompt the command to launch a dialog.</desc>
      <longDesc>Event delivered to prompt the command to launch a dialog.</longDesc>
      <phases>Invoke Application ,Apply Request Values</phases>
    </listener>
    <desc>UIXCommand is a base abstraction for
          components that implement ActionSource and DialogSource.</desc>
    <property>
      <name>actionExpression</name>
      <jspName>action</jspName>
      <fieldName>_actionExpression</fieldName>
      <className>javax.el.MethodExpression</className>
      <stateHolder>true</stateHolder>
      <desc>a reference to an action method sent by the command component,
              or the static outcome of an action. If the action starts with "dialog:",
              useWindow attribute must be set to true.</desc>
      <longDesc>a reference to an action method sent by the command component,
              or the static outcome of an action. If the action starts with "dialog:",
              useWindow attribute must be set to true.</longDesc>
      <methodBindingSignature>
        <returnType>java.lang.String</returnType>
      </methodBindingSignature>
    </property>
    <property>
      <name>actionListener</name>
      <jspName>actionListener</jspName>
      <fieldName>_actionListener</fieldName>
      <className>javax.faces.el.MethodBinding</className>
      <stateHolder>true</stateHolder>
      <desc>a method reference to an action listener</desc>
      <longDesc>a method reference to an action listener</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>javax.faces.event.ActionEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>returnListener</name>
      <jspName>returnListener</jspName>
      <fieldName>_returnListener</fieldName>
      <className>javax.el.MethodExpression</className>
      <desc>a method reference to a return listener.This method
      is used to process dialog returnEvents which are generated as a result of either
      calling org.apache.myfaces.trinidad.context.RequestContext.returnFromDialog
      directly or declaratively through the use of a returnActionListener tag.</desc>
      <longDesc>a method reference to a return listener.This method
      is used to process dialog returnEvents which are generated as a result of either
      calling org.apache.myfaces.trinidad.context.RequestContext.returnFromDialog
      directly or declaratively through the use of a returnActionListener tag.</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>org.apache.myfaces.trinidad.event.ReturnEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>launchListener</name>
      <jspName>launchListener</jspName>
      <fieldName>_launchListener</fieldName>
      <className>javax.el.MethodExpression</className>
      <desc>a method reference to a launch listener</desc>
      <longDesc>a method reference to a launch listener</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>org.apache.myfaces.trinidad.event.LaunchEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>immediate</name>
      <jspName>immediate</jspName>
      <fieldName>_immediate</fieldName>
      <className>boolean</className>
      <desc>whether data validation - client-side or
            server-side -
          will be skipped when
          events are generated by this component.

          When immediate is true, the command's action and
          ActionListeners, including the default ActionListener
          provided by the JavaServer Faces implementation,
          will be executed during Apply Request Values phase
          of the request processing lifecycle, rather than
          waiting until the Invoke Application phase.  Because
          validation runs during Process Validators (after
          Apply Request Values, but before Invoke Application),
          setting immediate to true will skip validation.</desc>
      <longDesc>whether data validation - client-side or
            server-side -
          will be skipped when
          events are generated by this component.

          When immediate is true, the command's action and
          ActionListeners, including the default ActionListener
          provided by the JavaServer Faces implementation,
          will be executed during Apply Request Values phase
          of the request processing lifecycle, rather than
          waiting until the Invoke Application phase.  Because
          validation runs during Process Validators (after
          Apply Request Values, but before Invoke Application),
          setting immediate to true will skip validation.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXComponentRef</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXComponentRef</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.ComponentRef</type>
    <family>org.apache.myfaces.trinidad.ComponentRef</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXComponentRefTag</tagClass>
    <desc>Inserts a region into the current page.</desc>
    <longDesc>
<![CDATA[
This component inserts a component (defined by a separate page
          that starts with &lt;tr:componentDef&gt;)
          into the current page. The &quot;id&quot; attribute is required on this
          component, which implements NamingContainer.  This component may have
          a value, custom attributes, or both.  The value will be
          made available to within component definition using the &quot;binding&quot;
          EL attribute.  Custom attributes, defined with
          &lt;f:attribute&gt; or &lt;tr:attribute&gt;, will also
          be made available within the component definition - see the
          &lt;tr:componentDef&gt; tag documentation for more information.

          This component may also have facets. Each facet may be referenced
          exactly once from within a &lt;tr:componentDef&gt; tag by
          using a &lt;tr:facetRef&gt; - see the
          &lt;tr:componentRef&gt; tag documentation for more information.
]]>
    </longDesc>
    <property>
      <name>value</name>
      <jspName>value</jspName>
      <fieldName>_value</fieldName>
      <className>java.lang.Object</className>
      <desc>the value of the component.  This value be evaluated during
              all lifecycle processing and
              made available to the componentDef as an EL variable named "bindings".</desc>
      <longDesc>the value of the component.  This value be evaluated during
              all lifecycle processing and
              made available to the componentDef as an EL variable named "bindings".</longDesc>
    </property>
    <property>
      <name>componentType</name>
      <jspName>componentType</jspName>
      <fieldName>_componentType</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html> which componnet to use. This should match a
&lt;component-type&gt; string in a region metadata file.
An example might look like "org.apache.myfaces.trinidaddemo.region.stock".
This attribute can be bound to an EL expression or manually
set, which will change the region definition used the next
time the page renders.</html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html> which componnet to use. This should match a
&lt;component-type&gt; string in a region metadata file.
An example might look like "org.apache.myfaces.trinidaddemo.region.stock".
This attribute can be bound to an EL expression or manually
set, which will change the region definition used the next
time the page renders.</html>
]]>
      </longDesc>
    </property>
    <property>
      <name>var</name>
      <jspName>var</jspName>
      <fieldName>_var</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html> The name of the EL variable that will be set when encoding the component.
        This attribute is set by the tr:componentDef on behalf of the UIXComponentRef, and not the tr:componentRef.
        For example,
              let's say this "var" attribute is set to the value "attrs";
              if the &lt;tr:componentRef&gt; tag has an attribute called "bar",
              The value of "bar" can be referenced from a child within
              &lt;tr:componentDef&gt; using the expression
              <code>#{attrs.bar}</code>.</html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html> The name of the EL variable that will be set when encoding the component.
        This attribute is set by the tr:componentDef on behalf of the UIXComponentRef, and not the tr:componentRef.
        For example,
              let's say this "var" attribute is set to the value "attrs";
              if the &lt;tr:componentRef&gt; tag has an attribute called "bar",
              The value of "bar" can be referenced from a child within
              &lt;tr:componentDef&gt; using the expression
              <code>#{attrs.bar}</code>.</html>
]]>
      </longDesc>
      <tagExcluded>true</tagExcluded>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.nav.CoreBreadCrumbs</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXNavigationPath</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.nav.CoreBreadCrumbs</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXNavigationPath</sourceClassParentClassName>
    <name>tr:breadCrumbs</name>
    <type>org.apache.myfaces.trinidad.CoreBreadCrumbs</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreBreadCrumbsTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.BreadCrumbs</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>A breadCrumbs component is used in hierarchical
          site layouts to indicate the path back to the root page of the
          hierarchy with links.</desc>
    <longDesc>
<![CDATA[
A breadCrumbs component is used in hierarchical
          site layouts to indicate the path back to the root page of the
          hierarchy with links. A child representing the current page
          should be the last child. This child may or may not
          be rendered depending on variables like the device type or look and feel,
          but it should always be added.

           <html:p>The links indicating the hierarchy may be added as children or a menu model may be bound to the breadCrumbs component. If a menu model is bound, of class
           <html:code>org.apache.myfaces.trinidad.model.MenuModel</html:code>, the nodes along the focus path will be rendered.
           </html:p>
           <html:p>
            MenuModel extends TreeModel, but it also knows how to go from the current viewId to the focus path. Notice that the menuModel has no special knowledge of page navigation and places no requirements on the nodes that go into the tree. The nodes in the tree are stamped out with the 'nodeStamp' facet, which should contain a commandNavigationItem component, which allows the default actionListener mechanism to be used for page navigation.
          </html:p>

         <section name="Supported Attributes">
          <html:p>
          The &quot;orientation&quot; property may be used to specify the
          orientation of the breadCrumbs.  If the orientation is
          &quot;horizontal&quot;, successive links will be put on the same line.
          If the orientation is &quot;vertical&quot;, successive links will be
          put on a new line, and indented from their parents.  In most
          cases, the orientation should be horizontal.  A vertical
          breadCrumbs should be used only when the text for the links
          is known to be very long and likely to cause undesirable
          scrolling.  The default value is horizontal.
          </html:p>
          </section>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>orientation</name>
      <jspName>orientation</jspName>
      <fieldName>_orientation</fieldName>
      <className>java.lang.String</className>
      <desc>whether to put links on the same line or indented and
            on new lines.</desc>
      <longDesc>whether to put links on the same line or indented and
            on new lines.</longDesc>
      <defaultValue>horizontal</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.data.CoreChart</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXChart</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.data.CoreChart</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXChart</sourceClassParentClassName>
    <name>tr:chart</name>
    <type>org.apache.myfaces.trinidad.CoreChart</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.data.CoreChartTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Chart</rendererType>
    <desc>The Trinidad Chart is used to diplay data in a chart format.</desc>
    <longDesc>
<![CDATA[
<html:p>
          The Trinidad Chart is used to display data as a chart.
        </html:p>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>type</name>
      <jspName>type</jspName>
      <fieldName>_type</fieldName>
      <className>java.lang.String</className>
      <desc>The type of chart. Possible Values are: verticalBar horizontalBar stackedVerticalBar stackedHorizontalBar pie area stackedArea line barLine XYLine scatterPlot radar radarArea funnel circularGauge semiCircularGauge.</desc>
      <longDesc>The type of chart. Possible Values are: verticalBar horizontalBar stackedVerticalBar stackedHorizontalBar pie area stackedArea line barLine XYLine scatterPlot radar radarArea funnel circularGauge semiCircularGauge.</longDesc>
      <defaultValue>verticalBar</defaultValue>
    </property>
    <property>
      <name>templateSource</name>
      <jspName>templateSource</jspName>
      <fieldName>_templateSource</fieldName>
      <className>java.lang.String</className>
      <desc>Specifies URI for the template document from which the chart elements are cloned.
        If this attribute is null, the chart component uses a default template. The default template is chosen based
        on whether the useGradient attribute is true or false.
        The template document is useful for changing the Look and Feel of the chart.
        Some examples include:1)A developer may want to skin the chart to match its corporate Look and Feel.
        2)A developer may want to put water marks/background images inside the chart.
        3)A developer may want to change the template for the gauges used in the gauge charts.
        4)A developer may want to turn off gradients and instead use filters to set some interesting effects on the chart elements.</desc>
      <longDesc>Specifies URI for the template document from which the chart elements are cloned.
        If this attribute is null, the chart component uses a default template. The default template is chosen based
        on whether the useGradient attribute is true or false.
        The template document is useful for changing the Look and Feel of the chart.
        Some examples include:1)A developer may want to skin the chart to match its corporate Look and Feel.
        2)A developer may want to put water marks/background images inside the chart.
        3)A developer may want to change the template for the gauges used in the gauge charts.
        4)A developer may want to turn off gradients and instead use filters to set some interesting effects on the chart elements.</longDesc>
    </property>
    <property>
      <name>perspective</name>
      <jspName>perspective</jspName>
      <fieldName>_perspective</fieldName>
      <className>boolean</className>
      <desc>Specifies if the chart is drawn with a perspective (2.5D).
      By default the chart is draw with a perspective.</desc>
      <longDesc>Specifies if the chart is drawn with a perspective (2.5D).
      By default the chart is draw with a perspective.</longDesc>
      <defaultValue>true</defaultValue>
    </property>
    <property>
      <name>legendPosition</name>
      <jspName>legendPosition</jspName>
      <fieldName>_legendPosition</fieldName>
      <className>java.lang.String</className>
      <desc>Specified the location of the legend. The legend can be turned off by setting this attribute to none.
      Otherwise it can be drawn at top, start, end or bottom.</desc>
      <longDesc>Specified the location of the legend. The legend can be turned off by setting this attribute to none.
      Otherwise it can be drawn at top, start, end or bottom.</longDesc>
      <defaultValue>bottom</defaultValue>
    </property>
    <property>
      <name>animationDuration</name>
      <jspName>animationDuration</jspName>
      <fieldName>_animationDuration</fieldName>
      <className>int</className>
      <desc>The duration of the animation for the chart components in milliseconds.
      Animation can be turned off if the animationDuration is set to 0. The default value is 1000ms.</desc>
      <longDesc>The duration of the animation for the chart components in milliseconds.
      Animation can be turned off if the animationDuration is set to 0. The default value is 1000ms.</longDesc>
      <defaultValue>1000</defaultValue>
    </property>
    <property>
      <name>YMajorGridLineCount</name>
      <jspName>YMajorGridLineCount</jspName>
      <fieldName>_YMajorGridLineCount</fieldName>
      <className>int</className>
      <desc>This attribute controls the number of horizontal major grid lines displayed in the chart.
      For horizontal charts(horizontalBar, stackedHorizontalBar) this attribute controls the horizontal major grid lines.
      The default is 3.</desc>
      <longDesc>This attribute controls the number of horizontal major grid lines displayed in the chart.
      For horizontal charts(horizontalBar, stackedHorizontalBar) this attribute controls the horizontal major grid lines.
      The default is 3.</longDesc>
      <defaultValue>3</defaultValue>
    </property>
    <property>
      <name>YMinorGridLineCount</name>
      <jspName>YMinorGridLineCount</jspName>
      <fieldName>_YMinorGridLineCount</fieldName>
      <className>int</className>
      <desc>This attribute controls the number of minor grid lines displayed within a major grid section.
      The default value is -1, which means it varies per chart type. Currently it is used only for gauge charts
      with a default of 3.</desc>
      <longDesc>This attribute controls the number of minor grid lines displayed within a major grid section.
      The default value is -1, which means it varies per chart type. Currently it is used only for gauge charts
      with a default of 3.</longDesc>
      <defaultValue>-1</defaultValue>
    </property>
    <property>
      <name>XMajorGridLineCount</name>
      <jspName>XMajorGridLineCount</jspName>
      <fieldName>_XMajorGridLineCount</fieldName>
      <className>int</className>
      <desc>This attribute controls the number of vertical major grid lines displayed in the chart.
      The default value is -1, which implies that the vertical major grid lines are controlled by the groupLabels
      in the chart model. This parameter along with the groupLabels provide flexibility in labeling the
      groups. For e.g. one can display a vertical bar chart with 2 years data. Only quarters may be labeled and XMajorGridLineCount can
      be 1 for splitting the data into two sections.</desc>
      <longDesc>This attribute controls the number of vertical major grid lines displayed in the chart.
      The default value is -1, which implies that the vertical major grid lines are controlled by the groupLabels
      in the chart model. This parameter along with the groupLabels provide flexibility in labeling the
      groups. For e.g. one can display a vertical bar chart with 2 years data. Only quarters may be labeled and XMajorGridLineCount can
      be 1 for splitting the data into two sections.</longDesc>
      <defaultValue>-1</defaultValue>
    </property>
    <property>
      <name>maxPrecision</name>
      <jspName>maxPrecision</jspName>
      <fieldName>_maxPrecision</fieldName>
      <className>int</className>
      <desc>The maximum precision of the numbers displayed on the yAxis(xAxis for horizontal charts).
      The default is 0.</desc>
      <longDesc>The maximum precision of the numbers displayed on the yAxis(xAxis for horizontal charts).
      The default is 0.</longDesc>
      <defaultValue>0</defaultValue>
    </property>
    <property>
      <name>gradientsUsed</name>
      <jspName>gradientsUsed</jspName>
      <fieldName>_gradientsUsed</fieldName>
      <className>boolean</className>
      <desc>Specifies if gradients are used to display chart elements.
      By default the chart elements use gradients.</desc>
      <longDesc>Specifies if gradients are used to display chart elements.
      By default the chart elements use gradients.</longDesc>
      <defaultValue>true</defaultValue>
    </property>
    <property>
      <name>tooltipsVisible</name>
      <jspName>tooltipsVisible</jspName>
      <fieldName>_tooltipsVisible</fieldName>
      <className>boolean</className>
      <desc>Specifies if tooltips are displayed or not.</desc>
      <longDesc>Specifies if tooltips are displayed or not.</longDesc>
      <defaultValue>true</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.input.CoreChooseColor</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXChoose</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.input.CoreChooseColor</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXChoose</sourceClassParentClassName>
    <name>tr:chooseColor</name>
    <type>org.apache.myfaces.trinidad.CoreChooseColor</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreChooseColorTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Color</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The chooseColor control creates a palette for picking colors.</desc>
    <longDesc>
<![CDATA[
The chooseColor control creates a palette for picking colors.
          A chooseColor can display two sets of colors:
          <html:ul>
            <html:li>
            A set of standard colors, as specified by the colorData
            attribute.
            </html:li>
            <html:li>
            A set of custom colors which extend the set of colors available
            in the standard palette.  Custom colors are specified by the
            customColorData attribute.
            </html:li>
          </html:ul>

          <html:p>
          Both the colorData and customColorData attributes accept both
          List and array objects, each of which contain one java.awt.Color
          instance for each color to display.
          </html:p>
          <html:p>
          In order to simplify the use of standard palettes, Apache Trinidad makes
          certain palettes available via the requestContext.colorPalette EL implicit
          object.  The &quot;#{requestContext.colorPalette}&quot; implicit object
          provides access to four standard color palettes:
          <html:ul>
          <html:li><html:code>&quot;default49&quot;</html:code>: 49 colors, including
           one transparent entry.</html:li>
          <html:li><html:code>&quot;opaque49&quot;</html:code>: 49 colors, without
           a transparent entry.</html:li>
          <html:li><html:code>&quot;default80&quot;</html:code>: 80 colors, including
           one transparent entry.</html:li>
          <html:li><html:code>&quot;web216&quot;</html:code>: the 216 &quot;web-safe&quot;
           colors.</html:li>
          </html:ul>
          </html:p>
]]>
    </longDesc>
    <property>
      <name>colorData</name>
      <jspName>colorData</jspName>
      <fieldName>_colorData</fieldName>
      <className>java.util.List</className>
      <desc>the list of colors for the component</desc>
      <longDesc>the list of colors for the component</longDesc>
    </property>
    <property>
      <name>customColorData</name>
      <jspName>customColorData</jspName>
      <fieldName>_customColorData</fieldName>
      <className>java.util.List</className>
      <desc>the list of custom colors for the component</desc>
      <longDesc>the list of custom colors for the component</longDesc>
    </property>
    <property>
      <name>width</name>
      <jspName>width</jspName>
      <fieldName>_width</fieldName>
      <className>int</className>
      <desc>the width of the standard palette in cells</desc>
      <longDesc>the width of the standard palette in cells</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.input.CoreChooseDate</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXChoose</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.input.CoreChooseDate</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXChoose</sourceClassParentClassName>
    <name>tr:chooseDate</name>
    <type>org.apache.myfaces.trinidad.CoreChooseDate</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreChooseDateTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Date</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The chooseDate component is used in conjunction with a
          selectInputDate to allow the user to quickly select a date value without
          having to navigate to a secondary window.</desc>
    <longDesc>
<![CDATA[
The chooseDate component is used in conjunction with a
          selectInputDate to allow the user to quickly select a date value without
          having to navigate to a secondary window.  The chooseDate is
          typically used for tasks where selecting a date value is a critical
          part of the task flow.  Instead of requiring the user to
          select the date from a secondary window, a chooseDate can be
          displayed inline in the page contents.  Users can then select
          a date directly within the chooseDate, which will cause the
          currently focused selectInputDate to be updated with the selected
          date.
          <html:p>
          In order to indicate that a particular selectInputDate should
          be updated in response to chooseDate selection changes, the
          the selectInputDate's &quot;chooseId&quot; attribute must be set to the
          id of the associated chooseDate component.
          </html:p>

          <html:p>
          The chooseDate component uses partial page rendering to update
          itself as the user navigates between months.  In environments
          where partial page rendering is not supported, the chooseDate
          component will not be rendered.  Instead, the selectInputDate may
          provide access to a date picker in a secondary window to facilitate
          date selection.
          </html:p>
]]>
    </longDesc>
    <property>
      <name>minValue</name>
      <jspName>minValue</jspName>
      <fieldName>_minValue</fieldName>
      <className>java.util.Date</className>
      <desc>The minimum value allowed for the Date value.
When set to a fixed value on a tag, this will be parsed as an ISO 8601 date.
ISO 8601 dates are of the form "yyyy-MM-dd"
(for example: 2002-02-15).  All other uses require java.util.Date objects.
When binding to Date objects, it is advised to create the Date object with zeroed-out
values for any date-time components that aren't displayed (usually hours, minutes, seconds, milliseconds)
to allow the largest range of values to be accepted.</desc>
      <longDesc>The minimum value allowed for the Date value.
When set to a fixed value on a tag, this will be parsed as an ISO 8601 date.
ISO 8601 dates are of the form "yyyy-MM-dd"
(for example: 2002-02-15).  All other uses require java.util.Date objects.
When binding to Date objects, it is advised to create the Date object with zeroed-out
values for any date-time components that aren't displayed (usually hours, minutes, seconds, milliseconds)
to allow the largest range of values to be accepted.</longDesc>
    </property>
    <property>
      <name>maxValue</name>
      <jspName>maxValue</jspName>
      <fieldName>_maxValue</fieldName>
      <className>java.util.Date</className>
      <desc>The maximum value allowed for the Date value.
When set to a fixed value on a tag, this will be parsed as an ISO 8601 date.
ISO 8601 dates are of the form "yyyy-MM-dd"
(for example: 2002-02-15).  All other uses require java.util.Date objects.
When binding to Date objects, it is advised to create the Date object with
maximum value for any date-time components that aren't displayed (usually hours, minutes, seconds, milliseconds)
to allow the largest range of values to be accepted.</desc>
      <longDesc>The maximum value allowed for the Date value.
When set to a fixed value on a tag, this will be parsed as an ISO 8601 date.
ISO 8601 dates are of the form "yyyy-MM-dd"
(for example: 2002-02-15).  All other uses require java.util.Date objects.
When binding to Date objects, it is advised to create the Date object with
maximum value for any date-time components that aren't displayed (usually hours, minutes, seconds, milliseconds)
to allow the largest range of values to be accepted.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.data.CoreColumn</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXColumn</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.data.CoreColumn</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXColumn</sourceClassParentClassName>
    <name>tr:column</name>
    <type>org.apache.myfaces.trinidad.CoreColumn</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.data.CoreColumnTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Column</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>Component that is used as a child of the Table component. The Column
component defines the header, footer and data for a single column in the
Table.</desc>
    <longDesc>
<![CDATA[
<P>
            The immediate children of a Table component must all be
            <code>&lt;tr:column&gt;</code> components. Each visible Trinidad Column
            component creates a separate column in the Table.
          </P>
          <P>
            Use the &quot;header&quot; facet on a Column to create the column header.
            The following example creates a two-column table with the column headers -
            &quot;Firstname&quot; and &quot;Lastname&quot;:
          </P>
          <pre>
  <tr:table>
    <tr:column>
      <f:facet name="header">
        <tr:outputText value="Firstname"/>
      </f:facet>
      ...
    </tr:column>
    <tr:column>
      <f:facet name="header">
        <tr:outputText value="Lastname"/>
      </f:facet>
      ...
    </tr:column>
  </tr:table>
          </pre>
          <P>
            The child components of each Column display the data for each row in
            that column. The Column does not create child components per row;
            instead, each child is repeatedly rendered (stamped) once per
            row. Because of this stamping behavior, only certain types of
            components are supported as children inside a Column. Supported
            components include all components with no behavior and most
            components that implement the EditableValueHolder or ActionSource
            interfaces.
          </P>
          <P>
            As each row is stamped, the data for the current row ( see
            <code>getRowData()</code> on the Table)
            is copied into an EL reachable property.
            The name of this property is defined by the <code>var</code>
            property on the Table. Once the Table has completed rendering, this
            property is removed (or reverted back to its previous value). In
            the following example, the data for each row is placed under the EL
            property &quot;row&quot;. Each Column displays the data for each row by getting
            further properties from the &quot;row&quot; property:
          </P>
          <pre>
  <tr:table var="row" value="#{myBean.employees}">
    <tr:column>
      <tr:outputText value="#{row.firstname}"/>
    </tr:column>
    <tr:column>
      tr:outputText value="#{row.lastname}"/>
    </tr:column>
  </tr:table>
          </pre>

          <section name="Formatting">
            <p>
              The Column component supports the following attributes related to
              formatting:
              <dl>
                <dt>align</dt>

                <dd>The type of alignment to use for this column. This
                atribute controls left/start, right/end, or center justification of the
                column data.
                </dd>

                <dt>width</dt>
                <dd>The width of this column.
                </dd>

                <dt>noWrap</dt>
                <dd>Controls whether long lines of text in the column data should
                be wrapped.</dd>

                <dt>headerNoWrap</dt>
                <dd>Controls whether long lines of text in the column header should
                  be wrapped.</dd>

                <dt>separateRows</dt> <dd>Controls whether each child of this
                column should be rendered in separate cells, or inside the same
                cell.</dd>
              </dl>
            </p>
          </section>

          <section name="Sorting">
            <P>
              In order to make this Column sortable, set the &quot;sortable&quot;
              property to true and set &quot;sortProperty&quot; to the name of the
              model that this column will sort.  Sorting can be programatically
              turned on with the <code>setSortCritiera()</code> method on the\
              table.
            </P>
          </section>

          <section name="Column Groups">
            <P>
              <code>&lt;tr:column&gt; </code> tags can be nested to produce
              groups of columns. The header of a column group spans across
              all the columns it contains. The following example creates
              a column group that has the header &quot;Name&quot; and contains
              two sub columns with headers &quot;First&quot; and &quot;Last&quot;:
            </P>
          <pre>
  <tr:table var="row" value="#{myBean.employees}">
    <tr:column>
      <f:facet name="header">
        <tr:outputText value="Name"/>
      </f:facet>
      <tr:column>
        <f:facet name="header">
          <tr:outputText value="First"/>
        </f:facet>
        <tr:outputText value="#{row.firstname}"/>
      </tr:column>
      <tr:column>
        <f:facet name="header">
          <tr:outputText value="Last"/>
        </f:facet>
        tr:outputText value="#{row.lastname}"/>
      </tr:column>
    </tr:column>
  </tr:table>
          </pre>
          </section>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>align</name>
      <jspName>align</jspName>
      <fieldName>_align</fieldName>
      <className>java.lang.String</className>
      <desc>The alignment for this column. The legal values are "start", "end" and "center", for left-justified, right-justified, and center-justified respectively in LTR display. The default value is "start".</desc>
      <longDesc>The alignment for this column. The legal values are "start", "end" and "center", for left-justified, right-justified, and center-justified respectively in LTR display. The default value is "start".</longDesc>
      <defaultValue>start</defaultValue>
    </property>
    <property>
      <name>defaultSortOrder</name>
      <jspName>defaultSortOrder</jspName>
      <fieldName>_defaultSortOrder</fieldName>
      <className>java.lang.String</className>
      <desc>The default sort order of the column. The legal values are "ascending" or "descending" for ascending sorting or descending sorting on a first click respectively. The default value is "ascending".</desc>
      <longDesc>The default sort order of the column. The legal values are "ascending" or "descending" for ascending sorting or descending sorting on a first click respectively. The default value is "ascending".</longDesc>
      <defaultValue>ascending</defaultValue>
    </property>
    <property>
      <name>width</name>
      <jspName>width</jspName>
      <fieldName>_width</fieldName>
      <className>java.lang.String</className>
      <desc>the preferred width of this column, e.g., "30%", "100px".</desc>
      <longDesc>the preferred width of this column, e.g., "30%", "100px".</longDesc>
    </property>
    <property>
      <name>headerText</name>
      <jspName>headerText</jspName>
      <fieldName>_headerText</fieldName>
      <className>java.lang.String</className>
      <desc>text to display in the header of the column.  This is a convenience that generates output equivalent to adding a "header" facet containing an outputText.</desc>
      <longDesc>text to display in the header of the column.  This is a convenience that generates output equivalent to adding a "header" facet containing an outputText.</longDesc>
    </property>
    <property>
      <name>noWrap</name>
      <jspName>noWrap</jspName>
      <fieldName>_noWrap</fieldName>
      <className>boolean</className>
      <desc>whether or not the column contents should be allowed to wrap</desc>
      <longDesc>whether or not the column contents should be allowed to wrap</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>headerNoWrap</name>
      <jspName>headerNoWrap</jspName>
      <fieldName>_headerNoWrap</fieldName>
      <className>boolean</className>
      <desc>whether or not the column header
should be allowed to wrap</desc>
      <longDesc>whether or not the column header
should be allowed to wrap</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>sortable</name>
      <jspName>sortable</jspName>
      <fieldName>_sortable</fieldName>
      <className>boolean</className>
      <desc><![CDATA[<html>whether or not the column is sortable. A sortable column has a clickable header that (when clicked) sorts the table by that column's property. Note that in order for a column to be sortable, this attribute must be set to "true" and the underlying model must support sorting by this column's property. <p> This column's "sortProperty" attribute must be set if sorting is desired.</p></html>]]></desc>
      <longDesc><![CDATA[<html>whether or not the column is sortable. A sortable column has a clickable header that (when clicked) sorts the table by that column's property. Note that in order for a column to be sortable, this attribute must be set to "true" and the underlying model must support sorting by this column's property. <p> This column's "sortProperty" attribute must be set if sorting is desired.</p></html>]]></longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>separateRows</name>
      <jspName>separateRows</jspName>
      <fieldName>_separateRows</fieldName>
      <className>boolean</className>
      <desc>whether or not the children of this column should be rendered on separate rows. Setting this attribute to true will cause each child to render in its own row. Setting this to false will cause all the children to be rendered in one cell, which will rowSpan across the rows of the Columns whose children are rendered on separate rows.</desc>
      <longDesc>whether or not the children of this column should be rendered on separate rows. Setting this attribute to true will cause each child to render in its own row. Setting this to false will cause all the children to be rendered in one cell, which will rowSpan across the rows of the Columns whose children are rendered on separate rows.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>rowHeader</name>
      <jspName>rowHeader</jspName>
      <fieldName>_rowHeader</fieldName>
      <className>boolean</className>
      <desc>Whether or not this column is a row header column.</desc>
      <longDesc>Whether or not this column is a row header column.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.nav.CoreCommandButton</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXCommand</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.nav.CoreCommandButton</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXCommand</sourceClassParentClassName>
    <name>tr:commandButton</name>
    <type>org.apache.myfaces.trinidad.CoreCommandButton</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreCommandButtonTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Button</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The commandButton control creates a button representation of a UIXCommand.</desc>
    <longDesc>The commandButton control creates a button representation of a UIXCommand.</longDesc>
    <property>
      <name>text</name>
      <jspName>text</jspName>
      <fieldName>_text</fieldName>
      <className>java.lang.String</className>
      <desc>the textual label of the button.</desc>
      <longDesc>the textual label of the button.</longDesc>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the button should be disabled.</desc>
      <longDesc>whether the button should be disabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>textAndAccessKey</name>
      <jspName>textAndAccessKey</jspName>
      <fieldName>_textAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "text"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "T&amp;amp;ext" will
              set the text to "Text" and the access key to 'e'.
              </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "text"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "T&amp;amp;ext" will
              set the text to "Text" and the access key to 'e'.
              </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to this button.
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              <p>
              If the same access key appears in multiple input fields in the
              same page of output, the rendering user agent will cycle among
              the elements accessed by the similar keys. Note that user agents
              are inconsistent about dealing with two links having same access
              key, and so the cycling behavior is dependent on what the user agent
              provides.
              </p><p>
                This attribute is sometimes referred to as the "mnemonic".
              </p><p>
                The character specified by this attribute
                <strong>must</strong> exist in the
                <code>Text</code> attribute of this button instance.
                If it does not, the user will receive no visual indication of
                the existence of the accessKey.
                The easiest, and most convenient
                way to specify both the text and the mnemonic together is
                to use textAndAccessKey.
                </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to this button.
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              <p>
              If the same access key appears in multiple input fields in the
              same page of output, the rendering user agent will cycle among
              the elements accessed by the similar keys. Note that user agents
              are inconsistent about dealing with two links having same access
              key, and so the cycling behavior is dependent on what the user agent
              provides.
              </p><p>
                This attribute is sometimes referred to as the "mnemonic".
              </p><p>
                The character specified by this attribute
                <strong>must</strong> exist in the
                <code>Text</code> attribute of this button instance.
                If it does not, the user will receive no visual indication of
                the existence of the accessKey.
                The easiest, and most convenient
                way to specify both the text and the mnemonic together is
                to use textAndAccessKey.
                </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>partialSubmit</name>
      <jspName>partialSubmit</jspName>
      <fieldName>_partialSubmit</fieldName>
      <className>boolean</className>
      <desc>whether the action should be done through a partial page submit
            or not.
            Default is false: no partial page submit.</desc>
      <longDesc>whether the action should be done through a partial page submit
            or not.
            Default is false: no partial page submit.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>blocking</name>
      <jspName>blocking</jspName>
      <fieldName>_blocking</fieldName>
      <className>boolean</className>
      <desc>If set to TRUE the component will start blocking user input when the
     action is initiated. The blocking will stop when a response is received
     from the server.</desc>
      <longDesc>If set to TRUE the component will start blocking user input when the
     action is initiated. The blocking will stop when a response is received
     from the server.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>icon</name>
      <jspName>icon</jspName>
      <fieldName>_icon</fieldName>
      <className>java.lang.String</className>
      <desc>An URL to an image to use for an icon displayed in the button.</desc>
      <longDesc>An URL to an image to use for an icon displayed in the button.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onblur</name>
      <jspName>onblur</jspName>
      <fieldName>_onblur</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component losing the focus.</desc>
      <longDesc>the event handler for the component losing the focus.</longDesc>
    </property>
    <property>
      <name>onfocus</name>
      <jspName>onfocus</jspName>
      <fieldName>_onfocus</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component gaining the focus.</desc>
      <longDesc>the event handler for the component gaining the focus.</longDesc>
    </property>
    <property>
      <name>useWindow</name>
      <jspName>useWindow</jspName>
      <fieldName>_useWindow</fieldName>
      <className>boolean</className>
      <desc>Indicates whether processes launched by this command should be
        launched in a secondary dialog window. 'useWindow' requires that the "action"
        attribute start with "dialog:". Set useWindow to 'false' for the outcome of
        the action to be targeted to the existing window.</desc>
      <longDesc>Indicates whether processes launched by this command should be
        launched in a secondary dialog window. 'useWindow' requires that the "action"
        attribute start with "dialog:". Set useWindow to 'false' for the outcome of
        the action to be targeted to the existing window.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>windowHeight</name>
      <jspName>windowHeight</jspName>
      <fieldName>_windowHeight</fieldName>
      <className>int</className>
      <desc>Height of the window, if this command is used to launch a window.</desc>
      <longDesc>Height of the window, if this command is used to launch a window.</longDesc>
    </property>
    <property>
      <name>windowWidth</name>
      <jspName>windowWidth</jspName>
      <fieldName>_windowWidth</fieldName>
      <className>int</className>
      <desc>Width of the window, if this command is used to launch a window.</desc>
      <longDesc>Width of the window, if this command is used to launch a window.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.nav.CoreCommandLink</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXCommand</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.nav.CoreCommandLink</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXCommand</sourceClassParentClassName>
    <name>tr:commandLink</name>
    <type>org.apache.myfaces.trinidad.CoreCommandLink</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreCommandLinkTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Link</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The commandLink control creates a link representation of a UIXCommand.</desc>
    <longDesc>
<![CDATA[
<html:p>
          The commandLink control creates a link representation of a UIXCommand.
          </html:p>
]]>
    </longDesc>
    <property>
      <name>text</name>
      <jspName>text</jspName>
      <fieldName>_text</fieldName>
      <className>java.lang.String</className>
      <desc>the textual label of the link.</desc>
      <longDesc>the textual label of the link.</longDesc>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the link should be considered disabled.
              This attribute only has meaning when links are used in certain
              container types, such as global headers and tab bars.</desc>
      <longDesc>whether the link should be considered disabled.
              This attribute only has meaning when links are used in certain
              container types, such as global headers and tab bars.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>textAndAccessKey</name>
      <jspName>textAndAccessKey</jspName>
      <fieldName>_textAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "text"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "T&amp;amp;ext" will
              set the text to "Text" and the access key to 'e'.
              </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "text"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "T&amp;amp;ext" will
              set the text to "Text" and the access key to 'e'.
              </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to this link.
              For accessibility reasons, this functionality is not
              supported in screen reader mode.
              <p>
              If the same access key appears in multiple input fields in the
              same page of output, the rendering user agent will cycle among
              the elements accessed by the similar keys. Note that user agents
              are inconsistent about dealing with two links having same access
              key, and so the cycling behavior is dependent on what the user agent
              provides.
              </p><p>
                This attribute is sometimes referred to as the "mnemonic".
              </p><p>
                The character specified by this attribute
                <strong>must</strong> exist in the
                <code>Text</code> attribute of this Link instance.
                If it does not, the user will receive no visual indication of
                the existence of the accessKey.
                </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to this link.
              For accessibility reasons, this functionality is not
              supported in screen reader mode.
              <p>
              If the same access key appears in multiple input fields in the
              same page of output, the rendering user agent will cycle among
              the elements accessed by the similar keys. Note that user agents
              are inconsistent about dealing with two links having same access
              key, and so the cycling behavior is dependent on what the user agent
              provides.
              </p><p>
                This attribute is sometimes referred to as the "mnemonic".
              </p><p>
                The character specified by this attribute
                <strong>must</strong> exist in the
                <code>Text</code> attribute of this Link instance.
                If it does not, the user will receive no visual indication of
                the existence of the accessKey.
                </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>partialSubmit</name>
      <jspName>partialSubmit</jspName>
      <fieldName>_partialSubmit</fieldName>
      <className>boolean</className>
      <desc>whether the action should be done through a partial page submit
            or not.
            Default is false: no partial page submit.</desc>
      <longDesc>whether the action should be done through a partial page submit
            or not.
            Default is false: no partial page submit.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>blocking</name>
      <jspName>blocking</jspName>
      <fieldName>_blocking</fieldName>
      <className>boolean</className>
      <desc>If set to TRUE the component will start blocking user input when the
     action is initiated. The blocking will stop when a response is received
     from the server.</desc>
      <longDesc>If set to TRUE the component will start blocking user input when the
     action is initiated. The blocking will stop when a response is received
     from the server.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onblur</name>
      <jspName>onblur</jspName>
      <fieldName>_onblur</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component losing the focus.</desc>
      <longDesc>the event handler for the component losing the focus.</longDesc>
    </property>
    <property>
      <name>onfocus</name>
      <jspName>onfocus</jspName>
      <fieldName>_onfocus</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component gaining the focus.</desc>
      <longDesc>the event handler for the component gaining the focus.</longDesc>
    </property>
    <property>
      <name>useWindow</name>
      <jspName>useWindow</jspName>
      <fieldName>_useWindow</fieldName>
      <className>boolean</className>
      <desc>Indicates whether processes launched by this command should be
        launched in a secondary dialog window. 'useWindow' requires that the "action"
        attribute start with "dialog:". Set useWindow to 'false' for the outcome of
        the action to be targeted to the existing window.</desc>
      <longDesc>Indicates whether processes launched by this command should be
        launched in a secondary dialog window. 'useWindow' requires that the "action"
        attribute start with "dialog:". Set useWindow to 'false' for the outcome of
        the action to be targeted to the existing window.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>windowHeight</name>
      <jspName>windowHeight</jspName>
      <fieldName>_windowHeight</fieldName>
      <className>int</className>
      <desc>Height of the window, if this command is used to launch a window.</desc>
      <longDesc>Height of the window, if this command is used to launch a window.</longDesc>
    </property>
    <property>
      <name>windowWidth</name>
      <jspName>windowWidth</jspName>
      <fieldName>_windowWidth</fieldName>
      <className>int</className>
      <desc>Width of the window, if this command is used to launch a window.</desc>
      <longDesc>Width of the window, if this command is used to launch a window.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.nav.CoreCommandNavigationItem</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXCommand</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.nav.CoreCommandNavigationItem</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXCommand</sourceClassParentClassName>
    <name>tr:commandNavigationItem</name>
    <type>org.apache.myfaces.trinidad.CoreCommandNavigationItem</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreCommandNavigationItemTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.NavigationItem</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The commandNavigationItem control creates a navigation item representation of a UIXCommand.</desc>
    <longDesc>
<![CDATA[
<html:p>
          The commandNavigationItem control creates a navigation item representation of a UIXCommand.
          The item could be rendered as a link, an option, a button, etc.
          This component is normally used as a stamp for a component that takes a MenuModel or
          XMLMenuModel object.
          </html:p>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>useWindow</name>
      <jspName>useWindow</jspName>
      <fieldName>_useWindow</fieldName>
      <className>boolean</className>
      <desc>Indicates whether processes launched by this command should be
        launched in a secondary dialog window. 'useWindow' requires that the "action"
        attribute start with "dialog:". Set useWindow to 'false' for the outcome of
        the action to be targeted to the existing window.</desc>
      <longDesc>Indicates whether processes launched by this command should be
        launched in a secondary dialog window. 'useWindow' requires that the "action"
        attribute start with "dialog:". Set useWindow to 'false' for the outcome of
        the action to be targeted to the existing window.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>windowHeight</name>
      <jspName>windowHeight</jspName>
      <fieldName>_windowHeight</fieldName>
      <className>int</className>
      <desc>Height of the window, if this command is used to launch a window.</desc>
      <longDesc>Height of the window, if this command is used to launch a window.</longDesc>
    </property>
    <property>
      <name>windowWidth</name>
      <jspName>windowWidth</jspName>
      <fieldName>_windowWidth</fieldName>
      <className>int</className>
      <desc>Width of the window, if this command is used to launch a window.</desc>
      <longDesc>Width of the window, if this command is used to launch a window.</longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to this item.
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              <p>
                If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle among
              the elements accessed by the similar keys.  Note that user agents
              are inconsistent about dealing with two links having same access
              key, and so the cycling behavior is dependent on what the user agent
              provides.
              </p><p>
                This attribute is sometimes referred to as the "mnemonic".
              </p><p>
                The character specified by this attribute
                <strong>must</strong> exist in the
                <code>text</code> attribute of this item instance.
                If it does not, the user will receive no visual indication of
                the existence of the accessKey.
                The easiest, and most convenient
                way to specify both the text and the mnemonic together is
                to use textAndAccessKey.
                </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to this item.
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              <p>
                If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle among
              the elements accessed by the similar keys.  Note that user agents
              are inconsistent about dealing with two links having same access
              key, and so the cycling behavior is dependent on what the user agent
              provides.
              </p><p>
                This attribute is sometimes referred to as the "mnemonic".
              </p><p>
                The character specified by this attribute
                <strong>must</strong> exist in the
                <code>text</code> attribute of this item instance.
                If it does not, the user will receive no visual indication of
                the existence of the accessKey.
                The easiest, and most convenient
                way to specify both the text and the mnemonic together is
                to use textAndAccessKey.
                </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>destination</name>
      <jspName>destination</jspName>
      <fieldName>_destination</fieldName>
      <className>java.lang.String</className>
      <desc>The URI this component references when activated.  This is an alternative to using an action.</desc>
      <longDesc>The URI this component references when activated.  This is an alternative to using an action.</longDesc>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>If value is "true", the component becomes non-interactive.  Otherwise,the default value is "false" and component assumes its expected behavior.</desc>
      <longDesc>If value is "true", the component becomes non-interactive.  Otherwise,the default value is "false" and component assumes its expected behavior.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>icon</name>
      <jspName>icon</jspName>
      <fieldName>_icon</fieldName>
      <className>java.lang.String</className>
      <desc>a URI specifying the location of a target image.</desc>
      <longDesc>a URI specifying the location of a target image.</longDesc>
    </property>
    <property>
      <name>partialSubmit</name>
      <jspName>partialSubmit</jspName>
      <fieldName>_partialSubmit</fieldName>
      <className>boolean</className>
      <desc>whether the action should be done through a partial page submit
            or not.
            Default is false: no partial page submit.</desc>
      <longDesc>whether the action should be done through a partial page submit
            or not.
            Default is false: no partial page submit.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>selected</name>
      <jspName>selected</jspName>
      <fieldName>_selected</fieldName>
      <className>boolean</className>
      <desc>whether the item is selected.</desc>
      <longDesc>whether the item is selected.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>visited</name>
      <jspName>visited</jspName>
      <fieldName>_visited</fieldName>
      <className>boolean</className>
      <desc>whether the item is in visited state. Depending on
      the renderer the item may appear in a visited style, if true. This
      property is currently used only within the a train component.</desc>
      <longDesc>whether the item is in visited state. Depending on
      the renderer the item may appear in a visited style, if true. This
      property is currently used only within the a train component.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>targetFrame</name>
      <jspName>targetFrame</jspName>
      <fieldName>_targetFrame</fieldName>
      <className>java.lang.String</className>
      <desc>the target frame for the go component.</desc>
      <longDesc>the target frame for the go component.</longDesc>
    </property>
    <property>
      <name>text</name>
      <jspName>text</jspName>
      <fieldName>_text</fieldName>
      <className>java.lang.String</className>
      <desc>the text of the item.</desc>
      <longDesc>the text of the item.</longDesc>
    </property>
    <property>
      <name>textAndAccessKey</name>
      <jspName>textAndAccessKey</jspName>
      <fieldName>_textAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "text"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "T&amp;amp;ext" will
              set the text to "Text" and the access key to 'e'.
              </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "text"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "T&amp;amp;ext" will
              set the text to "Text" and the access key to 'e'.
              </p></html>
]]>
      </longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.CoreDocument</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXDocument</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.CoreDocument</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXDocument</sourceClassParentClassName>
    <name>tr:document</name>
    <type>org.apache.myfaces.trinidad.CoreDocument</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.CoreDocumentTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Document</rendererType>
    <defaultEventName>load</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>metaContainer</name>
      <desc>Content to be rendered as meta data inside the "head" section.</desc>
      <longDesc>Content to be rendered as meta data inside the "head" section.</longDesc>
    </facet>
    <desc>
<![CDATA[
<html>
          The document tag creates each of the standard root elements of an HTML page:  &lt;html&gt;, &lt;body&gt;, and &lt;head&gt;.</html>
]]>
    </desc>
    <longDesc><![CDATA[The CoreDocument creates each of the standard root elements of an HTML page:  &lt;html&gt;, &lt;body&gt;, and &lt;head&gt;, but by abstracting away from those components, can be used in non-HTML pages as well.]]></longDesc>
    <property>
      <name>title</name>
      <jspName>title</jspName>
      <fieldName>_title</fieldName>
      <className>java.lang.String</className>
      <desc>The title of the document.  (This title doesn't have to match the
            title on any contained panelPage.)</desc>
      <longDesc>The title of the document.  (This title doesn't have to match the
            title on any contained panelPage.)</longDesc>
    </property>
    <property>
      <name>stateSaving</name>
      <jspName>stateSaving</jspName>
      <fieldName>_stateSaving</fieldName>
      <className>java.lang.String</className>
      <desc>Specify the state saving behavior for this page. client=force to be (full) client;
             server=force to be server-side; default=follows the settings of the web.xml</desc>
      <longDesc>Specify the state saving behavior for this page. client=force to be (full) client;
             server=force to be server-side; default=follows the settings of the web.xml</longDesc>
      <defaultValue>default</defaultValue>
    </property>
    <property>
      <name>mode</name>
      <jspName>mode</jspName>
      <fieldName>_mode</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
Set if the page should render in default standards mode, quirks mode, or strict mode.  Behavior of the modes are:<ul>
<li>"default": renders as transitional doctypes for both XHTML and HTML,
with <a href="http://developer.mozilla.org/en/docs/Gecko's_%22Almost_Standards%22_Mode">"almost standards"</a> rendering mode</li>
<li>"strict": renders as a strict doctype for both XHTML and HTML, also
in standards rendering mode</li>
<li>"quirks": renders HTML pages in quirks mode, and XHTML with
a transitional doctype, but standards mode  (there is no quirks mode for
XHTML).</li></ul>
]]>
      </desc>
      <longDesc>
<![CDATA[
Set if the page should render in default standards mode, quirks mode, or strict mode.  Behavior of the modes are:<ul>
<li>"default": renders as transitional doctypes for both XHTML and HTML,
with <a href="http://developer.mozilla.org/en/docs/Gecko's_%22Almost_Standards%22_Mode">"almost standards"</a> rendering mode</li>
<li>"strict": renders as a strict doctype for both XHTML and HTML, also
in standards rendering mode</li>
<li>"quirks": renders HTML pages in quirks mode, and XHTML with
a transitional doctype, but standards mode  (there is no quirks mode for
XHTML).</li></ul>
]]>
      </longDesc>
      <defaultValue>default</defaultValue>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onload</name>
      <jspName>onload</jspName>
      <fieldName>_onload</fieldName>
      <className>java.lang.String</className>
      <desc>an onload Javascript handler.</desc>
      <longDesc>an onload Javascript handler.</longDesc>
    </property>
    <property>
      <name>onunload</name>
      <jspName>onunload</jspName>
      <fieldName>_onunload</fieldName>
      <className>java.lang.String</className>
      <desc>an onunload Javascript handler.</desc>
      <longDesc>an onunload Javascript handler.</longDesc>
    </property>
    <property>
      <name>initialFocusId</name>
      <jspName>initialFocusId</jspName>
      <fieldName>_initialFocusId</fieldName>
      <className>java.lang.String</className>
      <desc>the id of the component to which you want the
        focus to be when the full page renders. The accessibility-mode
        must be set to "inaccessible" for this feature to be on.</desc>
      <longDesc>the id of the component to which you want the
        focus to be when the full page renders. The accessibility-mode
        must be set to "inaccessible" for this feature to be on.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.CoreForm</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXForm</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.CoreForm</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXForm</sourceClassParentClassName>
    <name>tr:form</name>
    <type>org.apache.myfaces.trinidad.CoreForm</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.CoreFormTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Form</rendererType>
    <defaultEventName>submit</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>
<![CDATA[
<html>
          The form tag creates an HTML &lt;form&gt; element.</html>
]]>
    </desc>
    <longDesc><![CDATA[The UIXForm component creates an HTML &lt;form&gt; element.  Unlike the standard h:form tag, tr:form is not a NamingContainer, and therefore you don't need to use its ID as a prefix in attributes like "partialTriggers" or for Javascript identifiers.]]></longDesc>
    <property>
      <name>targetFrame</name>
      <jspName>targetFrame</jspName>
      <fieldName>_targetFrame</fieldName>
      <className>java.lang.String</className>
      <desc>the target frame for the form</desc>
      <longDesc>the target frame for the form</longDesc>
    </property>
    <property>
      <name>usesUpload</name>
      <jspName>usesUpload</jspName>
      <fieldName>_usesUpload</fieldName>
      <className>boolean</className>
      <desc>whether the form supports file upload.</desc>
      <longDesc>whether the form supports file upload.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>autoComplete</name>
      <jspName>autoComplete</jspName>
      <fieldName>_autoComplete</fieldName>
      <className>java.lang.String</className>
      <desc>whether previous values of text fields in the form
          should be remembered and offered for auto completion.</desc>
      <longDesc>whether previous values of text fields in the form
          should be remembered and offered for auto completion.</longDesc>
      <defaultValue>on</defaultValue>
    </property>
    <property>
      <name>defaultCommand</name>
      <jspName>defaultCommand</jspName>
      <fieldName>_defaultCommand</fieldName>
      <className>java.lang.String</className>
      <desc>The id attribute of the command button whose action would be invoked by default for form submit on hitting enter on any of the input fields of the form.</desc>
      <longDesc>The id attribute of the command button whose action would be invoked by default for form submit on hitting enter on any of the input fields of the form.</longDesc>
    </property>
    <property>
      <name>onsubmit</name>
      <jspName>onsubmit</jspName>
      <fieldName>_onsubmit</fieldName>
      <className>java.lang.String</className>
      <desc>Javascript code to be called when the form is submitted.</desc>
      <longDesc>Javascript code to be called when the form is submitted.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.nav.CoreGoButton</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXGo</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.nav.CoreGoButton</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXGo</sourceClassParentClassName>
    <name>tr:goButton</name>
    <type>org.apache.myfaces.trinidad.CoreGoButton</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreGoButtonTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Button</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The goButton creates a push button that navigates directly
to another location instead of delivering an action.</desc>
    <longDesc>The goButton creates a push button that navigates directly
to another location instead of delivering an action.  It can
be used in place of commandButton where a server-side action
is not needed.</longDesc>
    <property>
      <name>text</name>
      <jspName>text</jspName>
      <fieldName>_text</fieldName>
      <className>java.lang.String</className>
      <desc>the textual label of the go component.   Go components will
             also render children elements (including text nodes), though not
             all subclasses of the go component will necessarily support
             children.</desc>
      <longDesc>the textual label of the go component.   Go components will
             also render children elements (including text nodes), though not
             all subclasses of the go component will necessarily support
             children.</longDesc>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the go component should be considered disabled.
              This attribute only has meaning when go components are used in certain
              container types, such as global headers and tab bars.</desc>
      <longDesc>whether the go component should be considered disabled.
              This attribute only has meaning when go components are used in certain
              container types, such as global headers and tab bars.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>textAndAccessKey</name>
      <jspName>textAndAccessKey</jspName>
      <fieldName>_textAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "text"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "T&amp;amp;ext" will
              set the text to "Text" and the access key to 'e'.
              </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "text"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "T&amp;amp;ext" will
              set the text to "Text" and the access key to 'e'.
              </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to this component.
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              <p>
              If the same access key appears in multiple input fields in the
              same page of output, the rendering user agent will cycle among
              the elements accessed by the similar keys. Note that user agents
              are inconsistent about dealing with two links having same access
              key, and so the cycling behavior is dependent on what the user agent
              provides.
              </p><p>
                This attribute is sometimes referred to as the "mnemonic".
              </p><p>
                The character specified by this attribute
                <strong>must</strong> exist in the
                <code>Text</code> attribute of this go component instance.
                If it does not, the user will receive no visual indication of
                the existence of the accessKey.
                </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to this component.
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              <p>
              If the same access key appears in multiple input fields in the
              same page of output, the rendering user agent will cycle among
              the elements accessed by the similar keys. Note that user agents
              are inconsistent about dealing with two links having same access
              key, and so the cycling behavior is dependent on what the user agent
              provides.
              </p><p>
                This attribute is sometimes referred to as the "mnemonic".
              </p><p>
                The character specified by this attribute
                <strong>must</strong> exist in the
                <code>Text</code> attribute of this go component instance.
                If it does not, the user will receive no visual indication of
                the existence of the accessKey.
                </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>targetFrame</name>
      <jspName>targetFrame</jspName>
      <fieldName>_targetFrame</fieldName>
      <className>java.lang.String</className>
      <desc>the target frame for the go component.</desc>
      <longDesc>the target frame for the go component.</longDesc>
    </property>
    <property>
      <name>icon</name>
      <jspName>icon</jspName>
      <fieldName>_icon</fieldName>
      <className>java.lang.String</className>
      <desc>An URL to an image to use for an icon displayed in the button.</desc>
      <longDesc>An URL to an image to use for an icon displayed in the button.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onblur</name>
      <jspName>onblur</jspName>
      <fieldName>_onblur</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component losing the focus.</desc>
      <longDesc>the event handler for the component losing the focus.</longDesc>
    </property>
    <property>
      <name>onfocus</name>
      <jspName>onfocus</jspName>
      <fieldName>_onfocus</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component gaining the focus.</desc>
      <longDesc>the event handler for the component gaining the focus.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.nav.CoreGoLink</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXGo</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.nav.CoreGoLink</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXGo</sourceClassParentClassName>
    <name>tr:goLink</name>
    <type>org.apache.myfaces.trinidad.CoreGoLink</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreGoLinkTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Link</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The goLink tag is an HTML link.</desc>
    <longDesc>
<![CDATA[
<html:p>
          The goLink component wraps its children inside
          of an HTML link.  It is used on its own for general linking, but
          can also be used as the content for menu components that support
          linking when a server-side command (e.g., CommandLink)
          is not desired.
          </html:p>
]]>
    </longDesc>
    <property>
      <name>text</name>
      <jspName>text</jspName>
      <fieldName>_text</fieldName>
      <className>java.lang.String</className>
      <desc>the textual label of the go component.   Go components will
             also render children elements (including text nodes), though not
             all subclasses of the go component will necessarily support
             children.</desc>
      <longDesc>the textual label of the go component.   Go components will
             also render children elements (including text nodes), though not
             all subclasses of the go component will necessarily support
             children.</longDesc>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the go component should be considered disabled.
              This attribute only has meaning when go components are used in certain
              container types, such as global headers and tab bars.</desc>
      <longDesc>whether the go component should be considered disabled.
              This attribute only has meaning when go components are used in certain
              container types, such as global headers and tab bars.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>textAndAccessKey</name>
      <jspName>textAndAccessKey</jspName>
      <fieldName>_textAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "text"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "T&amp;amp;ext" will
              set the text to "Text" and the access key to 'e'.
              </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "text"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "T&amp;amp;ext" will
              set the text to "Text" and the access key to 'e'.
              </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to this component.
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              <p>
              If the same access key appears in multiple input fields in the
              same page of output, the rendering user agent will cycle among
              the elements accessed by the similar keys. Note that user agents
              are inconsistent about dealing with two links having same access
              key, and so the cycling behavior is dependent on what the user agent
              provides.
              </p><p>
                This attribute is sometimes referred to as the "mnemonic".
              </p><p>
                The character specified by this attribute
                <strong>must</strong> exist in the
                <code>Text</code> attribute of this go component instance.
                If it does not, the user will receive no visual indication of
                the existence of the accessKey.
                </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to this component.
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              <p>
              If the same access key appears in multiple input fields in the
              same page of output, the rendering user agent will cycle among
              the elements accessed by the similar keys. Note that user agents
              are inconsistent about dealing with two links having same access
              key, and so the cycling behavior is dependent on what the user agent
              provides.
              </p><p>
                This attribute is sometimes referred to as the "mnemonic".
              </p><p>
                The character specified by this attribute
                <strong>must</strong> exist in the
                <code>Text</code> attribute of this go component instance.
                If it does not, the user will receive no visual indication of
                the existence of the accessKey.
                </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>targetFrame</name>
      <jspName>targetFrame</jspName>
      <fieldName>_targetFrame</fieldName>
      <className>java.lang.String</className>
      <desc>the target frame for the go component.</desc>
      <longDesc>the target frame for the go component.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onblur</name>
      <jspName>onblur</jspName>
      <fieldName>_onblur</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component losing the focus.</desc>
      <longDesc>the event handler for the component losing the focus.</longDesc>
    </property>
    <property>
      <name>onfocus</name>
      <jspName>onfocus</jspName>
      <fieldName>_onfocus</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component gaining the focus.</desc>
      <longDesc>the event handler for the component gaining the focus.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.output.CoreIcon</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXObject</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.output.CoreIcon</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXObject</sourceClassParentClassName>
    <name>tr:icon</name>
    <type>org.apache.myfaces.trinidad.CoreIcon</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreIconTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Icon</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The icon component renders a skin specific icon.</desc>
    <longDesc>
<![CDATA[
<html:p>
            The icon component renders a skin specific icon.
            Each skin implementation exposes a set of customizable
            icons that can be overridden by a custom skin.  Each
            icon is identified by name.
          </html:p>
]]>
    </longDesc>
    <property>
      <name>name</name>
      <jspName>name</jspName>
      <fieldName>_name</fieldName>
      <className>java.lang.String</className>
      <desc>a  name identifying which icon should be rendered.
              Valid values depend on the skin-family. Shortcut names
              exist for ".AFRequiredIcon", ".AFWarningIcon",
              ".AFInfoIcon", and ".AFErrorIcon". They are "required",
              "warning", "info", and "error" respectively.
              See the Apache Trinidad skins documentation for a list of icon names.</desc>
      <longDesc>a  name identifying which icon should be rendered.
              Valid values depend on the skin-family. Shortcut names
              exist for ".AFRequiredIcon", ".AFWarningIcon",
              ".AFInfoIcon", and ".AFErrorIcon". They are "required",
              "warning", "info", and "error" respectively.
              See the Apache Trinidad skins documentation for a list of icon names.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.output.CoreImage</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXObject</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.output.CoreImage</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXObject</sourceClassParentClassName>
    <name>tr:image</name>
    <type>org.apache.myfaces.trinidad.CoreImage</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreImageTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Image</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The image control creates an image tag.</desc>
    <longDesc>
<![CDATA[
<html:p>
  The image control creates an image tag.
</html:p>
<html:p>
  (The &quot;alt&quot; image tag can be set using the
  <html:code>shortDesc</html:code>
  attribute of the base bean type.
</html:p>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>source</name>
      <jspName>source</jspName>
      <fieldName>_source</fieldName>
      <className>java.lang.String</className>
      <desc>the URI specifying the location of the image resource.</desc>
      <longDesc>the URI specifying the location of the image resource.</longDesc>
    </property>
    <property>
      <name>longDescURL</name>
      <jspName>longDescURL</jspName>
      <fieldName>_longDescURL</fieldName>
      <className>java.lang.String</className>
      <desc>an URL that specifies a link to a long description of the image.
This description should supplement the short description.</desc>
      <longDesc>an URL that specifies a link to a long description of the image.
This description should supplement the short description.</longDesc>
    </property>
    <property>
      <name>imageMapType</name>
      <jspName>imageMapType</jspName>
      <fieldName>_imageMapType</fieldName>
      <className>java.lang.String</className>
      <desc>If a server-side image map is desired, specify "server" and place
              inside a CoreGoLink component.  The acceptable values
              are "server" or "none"; defaults to "none".</desc>
      <longDesc>If a server-side image map is desired, specify "server" and place
              inside a CoreGoLink component.  The acceptable values
              are "server" or "none"; defaults to "none".</longDesc>
      <defaultValue>none</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.CoreImportScript</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.CoreImportScript</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <name>tr:importScript</name>
    <type>org.apache.myfaces.trinidad.CoreImportScript</type>
    <family>org.apache.myfaces.trinidad.ImportScript</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.CoreImportScriptTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.ImportScript</rendererType>
    <desc>The importScript tag supports importing the built-in scripts
         provided by Apache Trinidad.</desc>
    <longDesc>The importScript component supports importing the built-in scripts
          provided by Apache Trinidad.  It can be used to ensure that a Javascript
          function is available before using it in a Javascript handler.
          Only the first reference to a script will result in its
          being imported.</longDesc>
    <property>
      <name>names</name>
      <jspName>names</jspName>
      <fieldName>_names</fieldName>
      <className>java.lang.String[]</className>
      <desc>a series of function names</desc>
      <longDesc>a series of function names</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.input.CoreInputColor</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXSelectInput</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.input.CoreInputColor</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXSelectInput</sourceClassParentClassName>
    <name>tr:inputColor</name>
    <type>org.apache.myfaces.trinidad.CoreInputColor</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreInputColorTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Color</rendererType>
    <defaultEventName>change</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>help</name>
      <desc>This facet should contain field level help.</desc>
      <longDesc>This facet should contain field level help.</longDesc>
    </facet>
    <desc>The inputColor control creates a text field for entering colors and
          a button for picking colors from a palette.</desc>
    <longDesc>
<![CDATA[
The inputColor component creates a text field for entering colors.
          Users can specify color values in one of three ways, depending on
          how the inputColor component is configured.
          <html:ul>
            <html:li>
            Users can type the color value directly in the field.
            This option is always available.
            </html:li>
            <html:li>
            Users can select a color value from a secondary dialog.
            This option may not be available in all look and feel
            implementations.  In particular, this option is not
            available on PDA look and feels.
            </html:li>
            <html:li>
            Users can select a color value from an inline chooseColor
            component.  In order to enable this option, the chooseColor
            must be placed in the same page as the inputColor, and the
            inputColor's paletteId attribute must be set to the id of
            the corresponding chooseColor.  Again, this option is
            not supported on PDA look and feel.
            </html:li>
          </html:ul>

          <html:p>
            The colorConverter can be used to control
            both the formatting that the inputColor uses when displaying
            color values, as well as the set of color format patterns that
            are accepted by the inputColor.  See the documentation for the
            colorConverter for more information.
          </html:p>
]]>
    </longDesc>
    <property>
      <name>contentStyle</name>
      <jspName>contentStyle</jspName>
      <fieldName>_contentStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</desc>
      <longDesc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</longDesc>
    </property>
    <property>
      <name>compact</name>
      <jspName>compact</jspName>
      <fieldName>_compact</fieldName>
      <className>boolean</className>
      <desc>If true, attempt to use less screen real-estate to display the
          inputColor.  For example, this
          might cause the text area not to be rendered, and the color
          swatch conveys the currently selected color.</desc>
      <longDesc>If true, attempt to use less screen real-estate to display the
          inputColor.  For example, this
          might cause the text area not to be rendered, and the color
          swatch conveys the currently selected color.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>chooseId</name>
      <jspName>chooseId</jspName>
      <fieldName>_chooseId</fieldName>
      <className>java.lang.String</className>
      <desc>The id of the inline chooseColor component which can be used to
          update the Color value for this inputColor. Use the same syntax as partialTriggers
          if the components are separated by Naming Containers.</desc>
      <longDesc>The id of the inline chooseColor component which can be used to
          update the Color value for this inputColor. Use the same syntax as partialTriggers
          if the components are separated by Naming Containers.</longDesc>
    </property>
    <property>
      <name>readOnly</name>
      <jspName>readOnly</jspName>
      <fieldName>_readOnly</fieldName>
      <className>boolean</className>
      <desc>whether the element is read-only.</desc>
      <longDesc>whether the element is read-only.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the element is disabled.</desc>
      <longDesc>whether the element is disabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>autoComplete</name>
      <jspName>autoComplete</jspName>
      <fieldName>_autoComplete</fieldName>
      <className>java.lang.String</className>
      <desc>whether previous values of text fields in the form
          should be remembered and offered for auto completion.</desc>
      <longDesc>whether previous values of text fields in the form
          should be remembered and offered for auto completion.</longDesc>
      <defaultValue>on</defaultValue>
    </property>
    <property>
      <name>label</name>
      <jspName>label</jspName>
      <fieldName>_label</fieldName>
      <className>java.lang.String</className>
      <desc>the label of the bean.</desc>
      <longDesc>the label of the bean.</longDesc>
    </property>
    <property>
      <name>simple</name>
      <jspName>simple</jspName>
      <fieldName>_simple</fieldName>
      <className>boolean</className>
      <desc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</desc>
      <longDesc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>columns</name>
      <jspName>columns</jspName>
      <fieldName>_columns</fieldName>
      <className>int</className>
      <desc>the number of columns to display in the text
          control. If no value is specified, a default
          value will be derived from the current converter, if one
   is attached.</desc>
      <longDesc>the number of columns to display in the text
          control. If no value is specified, a default
          value will be derived from the current converter, if one
   is attached.</longDesc>
    </property>
    <property>
      <name>onchange</name>
      <jspName>onchange</jspName>
      <fieldName>_onchange</fieldName>
      <className>java.lang.String</className>
      <desc>event handler for when the value is changed.</desc>
      <longDesc>event handler for when the value is changed.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onblur</name>
      <jspName>onblur</jspName>
      <fieldName>_onblur</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component losing the focus.</desc>
      <longDesc>the event handler for the component losing the focus.</longDesc>
    </property>
    <property>
      <name>onfocus</name>
      <jspName>onfocus</jspName>
      <fieldName>_onfocus</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component gaining the focus.</desc>
      <longDesc>the event handler for the component gaining the focus.</longDesc>
    </property>
    <property>
      <name>showRequired</name>
      <jspName>showRequired</jspName>
      <fieldName>_showRequired</fieldName>
      <className>boolean</className>
      <desc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</desc>
      <longDesc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>labelAndAccessKey</name>
      <jspName>labelAndAccessKey</jspName>
      <fieldName>_labelAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>autoSubmit</name>
      <jspName>autoSubmit</jspName>
      <fieldName>_autoSubmit</fieldName>
      <className>boolean</className>
      <desc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</desc>
      <longDesc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.input.CoreInputDate</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXSelectInput</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.input.CoreInputDate</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXSelectInput</sourceClassParentClassName>
    <name>tr:inputDate</name>
    <type>org.apache.myfaces.trinidad.CoreInputDate</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreInputDateTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Date</rendererType>
    <defaultEventName>change</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>help</name>
      <desc>This facet should contain field level help.</desc>
      <longDesc>This facet should contain field level help.</longDesc>
    </facet>
    <desc>The inputDate component creates a text field for entering dates and
          a button for picking dates from a calendar.</desc>
    <longDesc>
<![CDATA[
The inputDate component creates a text field for entering dates and
          a button for picking dates from a calendar.
          <html:p>
          The inputDate will default its format to the &quot;short&quot; date format
          appropriate for the current locale;  for example, in English,
          this is &quot;mm/dd/yy&quot;.  However, the format can be overridden
          by using a DateTimeConverter.
          </html:p>
]]>
    </longDesc>
    <property>
      <name>contentStyle</name>
      <jspName>contentStyle</jspName>
      <fieldName>_contentStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</desc>
      <longDesc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</longDesc>
    </property>
    <property>
      <name>chooseId</name>
      <jspName>chooseId</jspName>
      <fieldName>_chooseId</fieldName>
      <className>java.lang.String</className>
      <desc>The id of the chooseDate component which can be used to
              pick the Date value for this inputDate. Use the same syntax as partialTriggers
          if the components are separated by Naming Containers.</desc>
      <longDesc>The id of the chooseDate component which can be used to
              pick the Date value for this inputDate. Use the same syntax as partialTriggers
          if the components are separated by Naming Containers.</longDesc>
    </property>
    <property>
      <name>readOnly</name>
      <jspName>readOnly</jspName>
      <fieldName>_readOnly</fieldName>
      <className>boolean</className>
      <desc>whether the element is read-only.</desc>
      <longDesc>whether the element is read-only.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the element is disabled.</desc>
      <longDesc>whether the element is disabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>autoComplete</name>
      <jspName>autoComplete</jspName>
      <fieldName>_autoComplete</fieldName>
      <className>java.lang.String</className>
      <desc>whether previous values of text fields in the form
          should be remembered and offered for auto completion.</desc>
      <longDesc>whether previous values of text fields in the form
          should be remembered and offered for auto completion.</longDesc>
      <defaultValue>on</defaultValue>
    </property>
    <property>
      <name>label</name>
      <jspName>label</jspName>
      <fieldName>_label</fieldName>
      <className>java.lang.String</className>
      <desc>the label of the bean.</desc>
      <longDesc>the label of the bean.</longDesc>
    </property>
    <property>
      <name>simple</name>
      <jspName>simple</jspName>
      <fieldName>_simple</fieldName>
      <className>boolean</className>
      <desc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</desc>
      <longDesc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>columns</name>
      <jspName>columns</jspName>
      <fieldName>_columns</fieldName>
      <className>int</className>
      <desc>the number of columns to display in the text
          control. If no value is specified, a default
          value will be derived from the current converter, if one
   is attached.</desc>
      <longDesc>the number of columns to display in the text
          control. If no value is specified, a default
          value will be derived from the current converter, if one
   is attached.</longDesc>
    </property>
    <property>
      <name>maximumLength</name>
      <jspName>maximumLength</jspName>
      <fieldName>_maximumLength</fieldName>
      <className>int</className>
      <desc>the maximum number of characters that
          can be entered into the text control. Note that
          this value is independent of the "columns" displayed.</desc>
      <longDesc>the maximum number of characters that
          can be entered into the text control. Note that
          this value is independent of the "columns" displayed.</longDesc>
    </property>
    <property>
      <name>onchange</name>
      <jspName>onchange</jspName>
      <fieldName>_onchange</fieldName>
      <className>java.lang.String</className>
      <desc>event handler for when the value is changed.</desc>
      <longDesc>event handler for when the value is changed.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onblur</name>
      <jspName>onblur</jspName>
      <fieldName>_onblur</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component losing the focus.</desc>
      <longDesc>the event handler for the component losing the focus.</longDesc>
    </property>
    <property>
      <name>onfocus</name>
      <jspName>onfocus</jspName>
      <fieldName>_onfocus</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component gaining the focus.</desc>
      <longDesc>the event handler for the component gaining the focus.</longDesc>
    </property>
    <property>
      <name>showRequired</name>
      <jspName>showRequired</jspName>
      <fieldName>_showRequired</fieldName>
      <className>boolean</className>
      <desc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</desc>
      <longDesc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>labelAndAccessKey</name>
      <jspName>labelAndAccessKey</jspName>
      <fieldName>_labelAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>autoSubmit</name>
      <jspName>autoSubmit</jspName>
      <fieldName>_autoSubmit</fieldName>
      <className>boolean</className>
      <desc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</desc>
      <longDesc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.input.CoreInputFile</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXInput</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.input.CoreInputFile</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXInput</sourceClassParentClassName>
    <name>tr:inputFile</name>
    <type>org.apache.myfaces.trinidad.CoreInputFile</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreInputFileTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.File</rendererType>
    <defaultEventName>change</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>help</name>
      <desc>This facet should contain field level help.</desc>
      <longDesc>This facet should contain field level help.</longDesc>
    </facet>
    <desc>The inputFile component is a component that can
          be used to upload a file.  It supports displaying a label,
          text, and messages.</desc>
    <longDesc>
<![CDATA[
<P>
          The inputFile component is a component that can
          be used to upload a file.  Any Trinidad form that contains this component
          must have usesUpload set to true.  The &quot;value&quot; property
          of an inputFile component will be set to an instance
          of the <html:code>org.apache.myfaces.trinidad.model.UploadedFile</html:code>
          class when a file is uploaded (with the appropriate
          <html:code>ValueChangeEvent</html:code> delivered.)  Before
          using this, developers must install the Apache Trinidad filter.
          </P>
          <P>
          The component supports custom converters to transform the <html:code>org.apache.myfaces.trinidad.model.UploadedFile</html:code>.
          To archive this, the the <html:code>getAsObject()</html:code> method is invoked, where the the <html:code>String</html:code> value
          is a key, which must be used to query the actual uploaded file from the request Map:
          </P>
          <pre>
  public Object getAsObject(FacesContext context, UIComponent component, String fileKey)
  {
    UploadedFile file = (UploadedFile)context.getExternalContext().getRequestMap().get(fileKey);
    // do transformation
    return file;
  }
          </pre>
]]>
    </longDesc>
    <property>
      <name>contentStyle</name>
      <jspName>contentStyle</jspName>
      <fieldName>_contentStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</desc>
      <longDesc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onblur</name>
      <jspName>onblur</jspName>
      <fieldName>_onblur</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component losing the focus.</desc>
      <longDesc>the event handler for the component losing the focus.</longDesc>
    </property>
    <property>
      <name>onfocus</name>
      <jspName>onfocus</jspName>
      <fieldName>_onfocus</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component gaining the focus.</desc>
      <longDesc>the event handler for the component gaining the focus.</longDesc>
    </property>
    <property>
      <name>onchange</name>
      <jspName>onchange</jspName>
      <fieldName>_onchange</fieldName>
      <className>java.lang.String</className>
      <desc>event handler for when the value is changed.</desc>
      <longDesc>event handler for when the value is changed.</longDesc>
    </property>
    <property>
      <name>onselect</name>
      <jspName>onselect</jspName>
      <fieldName>_onselect</fieldName>
      <className>java.lang.String</className>
      <desc>event handler for when text becomes selected.</desc>
      <longDesc>event handler for when text becomes selected.</longDesc>
    </property>
    <property>
      <name>columns</name>
      <jspName>columns</jspName>
      <fieldName>_columns</fieldName>
      <className>int</className>
      <desc>The size of the text control specified by the number of characters shown.The default value depends on the browser.</desc>
      <longDesc>The size of the text control specified by the number of characters shown.The default value depends on the browser.</longDesc>
    </property>
    <property>
      <name>labelAndAccessKey</name>
      <jspName>labelAndAccessKey</jspName>
      <fieldName>_labelAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc><![CDATA[<html>An attribute that will simultaneously set both the "label"and "accessKey" attributes from a single value, usingconventional ampersand notation. For example, setting this attribute to "T&amp;ext" willset the label to "Text" and the access key to 'e'.</html>]]></desc>
      <longDesc><![CDATA[<html>An attribute that will simultaneously set both the "label"and "accessKey" attributes from a single value, usingconventional ampersand notation. For example, setting this attribute to "T&amp;ext" willset the label to "Text" and the access key to 'e'.</html>]]></longDesc>
    </property>
    <property>
      <name>showRequired</name>
      <jspName>showRequired</jspName>
      <fieldName>_showRequired</fieldName>
      <className>boolean</className>
      <desc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</desc>
      <longDesc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc><![CDATA[<html> For accessibility reasons, this functionality is not supported in screen reader mode. If the same access key appears in multiple locations in the same page of output, the rendering user agent will cycle among the elements accessed by the similar keys. <p> This attribute is sometimes referred to as the "mnemonic". </p></html>]]></desc>
      <longDesc><![CDATA[<html> For accessibility reasons, this functionality is not supported in screen reader mode. If the same access key appears in multiple locations in the same page of output, the rendering user agent will cycle among the elements accessed by the similar keys. <p> This attribute is sometimes referred to as the "mnemonic". </p></html>]]></longDesc>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the component is disabled.</desc>
      <longDesc>whether the component is disabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>label</name>
      <jspName>label</jspName>
      <fieldName>_label</fieldName>
      <className>java.lang.String</className>
      <desc>the label of the bean.</desc>
      <longDesc>the label of the bean.</longDesc>
    </property>
    <property>
      <name>simple</name>
      <jspName>simple</jspName>
      <fieldName>_simple</fieldName>
      <className>boolean</className>
      <desc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</desc>
      <longDesc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.input.CoreInputHidden</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXInput</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.input.CoreInputHidden</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXInput</sourceClassParentClassName>
    <name>tr:inputHidden</name>
    <type>org.apache.myfaces.trinidad.CoreInputHidden</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreInputHiddenTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Hidden</rendererType>
    <desc>The inputHidden tag adds a value that
          will be submitted with a page, but not displayed
          to the user.</desc>
    <longDesc>
<![CDATA[
The UIXInputHidden component adds a value that
          will be submitted with a form, but not displayed
          to the user.  The value can be manipulated with
          Javascript on the client, and such values will
          be automatically re-posted into any ValueBinding
          attached to the &quot;value&quot; property.
]]>
    </longDesc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.input.CoreInputListOfValues</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXSelectInput</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.input.CoreInputListOfValues</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXSelectInput</sourceClassParentClassName>
    <name>tr:inputListOfValues</name>
    <type>org.apache.myfaces.trinidad.CoreInputListOfValues</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreInputListOfValuesTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Text</rendererType>
    <defaultEventName>change</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>help</name>
      <desc>This facet should contain field level help.</desc>
      <longDesc>This facet should contain field level help.</longDesc>
    </facet>
    <desc>The inputListOfValues is a text field that also supports
launching a dialog to assist users in entering a value.</desc>
    <longDesc>
<![CDATA[
<html:p>
        The inputListOfValues is a text field that also supports
launching a dialog to assist users in entering a value.  The dialog
to use is specified via the &quot;action&quot; attribute, which should use the
&quot;dialog:*&quot; syntax.  The inputListOfValues will automatically be populated
using the return value of the dialog;  see the document on
Processes and Dialogs for more information about writing dialogs.
(If the user's device does not support secondary windows,
the &quot;dialog&quot; will be shown in the same window.)
         </html:p>
]]>
    </longDesc>
    <property>
      <name>contentStyle</name>
      <jspName>contentStyle</jspName>
      <fieldName>_contentStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</desc>
      <longDesc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</longDesc>
    </property>
    <property>
      <name>searchDesc</name>
      <jspName>searchDesc</jspName>
      <fieldName>_searchDesc</fieldName>
      <className>java.lang.String</className>
      <desc>the search description for the button that launches the dialog.
           This text is commonly used by user agents to display tooltip
           help text.</desc>
      <longDesc>the search description for the button that launches the dialog.
           This text is commonly used by user agents to display tooltip
           help text.</longDesc>
    </property>
    <property>
      <name>icon</name>
      <jspName>icon</jspName>
      <fieldName>_icon</fieldName>
      <className>java.lang.String</className>
      <desc>the URI for an alternative image on the button to launch the dialog</desc>
      <longDesc>the URI for an alternative image on the button to launch the dialog</longDesc>
    </property>
    <property>
      <name>readOnly</name>
      <jspName>readOnly</jspName>
      <fieldName>_readOnly</fieldName>
      <className>boolean</className>
      <desc>whether the element is read-only.</desc>
      <longDesc>whether the element is read-only.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the element is disabled.</desc>
      <longDesc>whether the element is disabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>autoComplete</name>
      <jspName>autoComplete</jspName>
      <fieldName>_autoComplete</fieldName>
      <className>java.lang.String</className>
      <desc>whether previous values of text fields in the form
          should be remembered and offered for auto completion.</desc>
      <longDesc>whether previous values of text fields in the form
          should be remembered and offered for auto completion.</longDesc>
      <defaultValue>on</defaultValue>
    </property>
    <property>
      <name>label</name>
      <jspName>label</jspName>
      <fieldName>_label</fieldName>
      <className>java.lang.String</className>
      <desc>the label of the bean.</desc>
      <longDesc>the label of the bean.</longDesc>
    </property>
    <property>
      <name>simple</name>
      <jspName>simple</jspName>
      <fieldName>_simple</fieldName>
      <className>boolean</className>
      <desc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</desc>
      <longDesc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>onchange</name>
      <jspName>onchange</jspName>
      <fieldName>_onchange</fieldName>
      <className>java.lang.String</className>
      <desc>event handler for when the value is changed.</desc>
      <longDesc>event handler for when the value is changed.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onblur</name>
      <jspName>onblur</jspName>
      <fieldName>_onblur</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component losing the focus.</desc>
      <longDesc>the event handler for the component losing the focus.</longDesc>
    </property>
    <property>
      <name>onfocus</name>
      <jspName>onfocus</jspName>
      <fieldName>_onfocus</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component gaining the focus.</desc>
      <longDesc>the event handler for the component gaining the focus.</longDesc>
    </property>
    <property>
      <name>showRequired</name>
      <jspName>showRequired</jspName>
      <fieldName>_showRequired</fieldName>
      <className>boolean</className>
      <desc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</desc>
      <longDesc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>labelAndAccessKey</name>
      <jspName>labelAndAccessKey</jspName>
      <fieldName>_labelAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>onselect</name>
      <jspName>onselect</jspName>
      <fieldName>_onselect</fieldName>
      <className>java.lang.String</className>
      <desc>event handler for when text becomes selected.</desc>
      <longDesc>event handler for when text becomes selected.</longDesc>
    </property>
    <property>
      <name>columns</name>
      <jspName>columns</jspName>
      <fieldName>_columns</fieldName>
      <className>int</className>
      <desc>the number of columns to display in the text
          control. If no value is specified, a default
          of 30 columns is used. One column is approximately one character
          in the browser's current display font.</desc>
      <longDesc>the number of columns to display in the text
          control. If no value is specified, a default
          of 30 columns is used. One column is approximately one character
          in the browser's current display font.</longDesc>
    </property>
    <property>
      <name>maximumLength</name>
      <jspName>maximumLength</jspName>
      <fieldName>_maximumLength</fieldName>
      <className>int</className>
      <desc>the maximum number of characters that
          can be entered into the text control. Note that
          this value is independent of the "cols" displayed.</desc>
      <longDesc>the maximum number of characters that
          can be entered into the text control. Note that
          this value is independent of the "cols" displayed.</longDesc>
    </property>
    <property>
      <name>autoSubmit</name>
      <jspName>autoSubmit</jspName>
      <fieldName>_autoSubmit</fieldName>
      <className>boolean</className>
      <desc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</desc>
      <longDesc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>windowWidth</name>
      <jspName>windowWidth</jspName>
      <fieldName>_windowWidth</fieldName>
      <className>int</className>
      <desc>width of the window, if this command is
used to launch a window.</desc>
      <longDesc>width of the window, if this command is
used to launch a window.</longDesc>
    </property>
    <property>
      <name>windowHeight</name>
      <jspName>windowHeight</jspName>
      <fieldName>_windowHeight</fieldName>
      <className>int</className>
      <desc>height of the window, if this command is
used to launch a window.</desc>
      <longDesc>height of the window, if this command is
used to launch a window.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.input.CoreInputNumberSpinbox</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXInput</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.input.CoreInputNumberSpinbox</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXInput</sourceClassParentClassName>
    <name>tr:inputNumberSpinbox</name>
    <type>org.apache.myfaces.trinidad.CoreInputNumberSpinbox</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreInputNumberSpinboxTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.NumberSpinbox</rendererType>
    <defaultEventName>change</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>help</name>
      <desc>This facet should contain field level help.</desc>
      <longDesc>This facet should contain field level help.</longDesc>
    </facet>
    <desc>The inputNumberSpinbox tag creates a browser input widget;
it is used to enter numbers and it has a spinbox to quickly increment or decrement the number.</desc>
    <longDesc>
<![CDATA[
<html><p>
            The inputNumberSpinbox component creates a browser input widget and up/down arrows.
            It is used to enter numbers and quickly step through the numbers using the up/down arrows.
            The number needs to be within the minimum and maximum.
            It also supports displaying a label, text, and messages.
          </p></html>
]]>
    </longDesc>
    <property>
      <name>contentStyle</name>
      <jspName>contentStyle</jspName>
      <fieldName>_contentStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</desc>
      <longDesc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</longDesc>
    </property>
    <property>
      <name>readOnly</name>
      <jspName>readOnly</jspName>
      <fieldName>_readOnly</fieldName>
      <className>boolean</className>
      <desc>whether the element is read-only.</desc>
      <longDesc>whether the element is read-only.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the element is disabled.</desc>
      <longDesc>whether the element is disabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>autoComplete</name>
      <jspName>autoComplete</jspName>
      <fieldName>_autoComplete</fieldName>
      <className>java.lang.String</className>
      <desc>whether previous values of text fields in the form
          should be remembered and offered for auto completion.</desc>
      <longDesc>whether previous values of text fields in the form
          should be remembered and offered for auto completion.</longDesc>
      <defaultValue>on</defaultValue>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</desc>
      <longDesc>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</longDesc>
    </property>
    <property>
      <name>label</name>
      <jspName>label</jspName>
      <fieldName>_label</fieldName>
      <className>java.lang.String</className>
      <desc>the label of the bean.</desc>
      <longDesc>the label of the bean.</longDesc>
    </property>
    <property>
      <name>simple</name>
      <jspName>simple</jspName>
      <fieldName>_simple</fieldName>
      <className>boolean</className>
      <desc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</desc>
      <longDesc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>onchange</name>
      <jspName>onchange</jspName>
      <fieldName>_onchange</fieldName>
      <className>java.lang.String</className>
      <desc>event handler for when the value is changed.</desc>
      <longDesc>event handler for when the value is changed.</longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onblur</name>
      <jspName>onblur</jspName>
      <fieldName>_onblur</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component losing the focus.</desc>
      <longDesc>the event handler for the component losing the focus.</longDesc>
    </property>
    <property>
      <name>onfocus</name>
      <jspName>onfocus</jspName>
      <fieldName>_onfocus</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component gaining the focus.</desc>
      <longDesc>the event handler for the component gaining the focus.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>a CSS style class to use for this component.
      The styleClass attribute value is rendered on the root dom element.
      We provide some public style classes you can use that will affect only the 'content' piece of the component:
      AFFieldTextMarker, AFFieldTextLTRMarker, AFFieldNumberMarker.
      </html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>a CSS style class to use for this component.
      The styleClass attribute value is rendered on the root dom element.
      We provide some public style classes you can use that will affect only the 'content' piece of the component:
      AFFieldTextMarker, AFFieldTextLTRMarker, AFFieldNumberMarker.
      </html>
]]>
      </longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the inline CSS style for this element</desc>
      <longDesc>the inline CSS style for this element</longDesc>
    </property>
    <property>
      <name>showRequired</name>
      <jspName>showRequired</jspName>
      <fieldName>_showRequired</fieldName>
      <className>boolean</className>
      <desc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</desc>
      <longDesc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>columns</name>
      <jspName>columns</jspName>
      <fieldName>_columns</fieldName>
      <className>int</className>
      <desc>the number of columns to display in the text
          control. If no value is specified, a default
          of 1 columns is used. One column is approximately one character
          in the browser's current display font.</desc>
      <longDesc>the number of columns to display in the text
          control. If no value is specified, a default
          of 1 columns is used. One column is approximately one character
          in the browser's current display font.</longDesc>
      <defaultValue>1</defaultValue>
    </property>
    <property>
      <name>maximum</name>
      <jspName>maximum</jspName>
      <fieldName>_maximum</fieldName>
      <className>int</className>
      <desc>The maximum number allowed in the input field.</desc>
      <longDesc>The maximum number allowed in the input field.</longDesc>
      <defaultValue>2147483647</defaultValue>
    </property>
    <property>
      <name>minimum</name>
      <jspName>minimum</jspName>
      <fieldName>_minimum</fieldName>
      <className>int</className>
      <desc>The minimum number allowed in the input field.</desc>
      <longDesc>The minimum number allowed in the input field.</longDesc>
      <defaultValue>1</defaultValue>
    </property>
    <property>
      <name>stepSize</name>
      <jspName>stepSize</jspName>
      <fieldName>_stepSize</fieldName>
      <className>int</className>
      <desc>The step size by which the spinbox will increase or decrease the number in the input.</desc>
      <longDesc>The step size by which the spinbox will increase or decrease the number in the input.</longDesc>
      <defaultValue>1</defaultValue>
    </property>
    <property>
      <name>onselect</name>
      <jspName>onselect</jspName>
      <fieldName>_onselect</fieldName>
      <className>java.lang.String</className>
      <desc>event handler for when text becomes selected.</desc>
      <longDesc>event handler for when text becomes selected.</longDesc>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>labelAndAccessKey</name>
      <jspName>labelAndAccessKey</jspName>
      <fieldName>_labelAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>autoSubmit</name>
      <jspName>autoSubmit</jspName>
      <fieldName>_autoSubmit</fieldName>
      <className>boolean</className>
      <desc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</desc>
      <longDesc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.input.CoreInputText</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXInput</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.input.CoreInputText</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXInput</sourceClassParentClassName>
    <name>tr:inputText</name>
    <type>org.apache.myfaces.trinidad.CoreInputText</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreInputTextTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Text</rendererType>
    <defaultEventName>change</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>help</name>
      <desc>This facet should contain field level help.</desc>
      <longDesc>This facet should contain field level help.</longDesc>
    </facet>
    <desc>The inputText tag creates a browser input text widget;
it may be single-line, multi-line, or a "secret" password field.
It supports displaying a label, text, and messages.</desc>
    <longDesc>
<![CDATA[
<html><p>
            The inputText component creates a browser input text widget.
            Depending on the value of &quot;rows&quot;, this component either maps to
            a single-row text field or a multi-row text area.
            If the input should be hidden from the user while displayed,
            such as for passwords, the secret property should be set to
            &quot;true&quot;.  It also supports displaying a label, text, and messages.
          </p></html>
]]>
    </longDesc>
    <property>
      <name>contentStyle</name>
      <jspName>contentStyle</jspName>
      <fieldName>_contentStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</desc>
      <longDesc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</longDesc>
    </property>
    <property>
      <name>rows</name>
      <jspName>rows</jspName>
      <fieldName>_rows</fieldName>
      <className>int</className>
      <desc>the number of rows to display in the text control.
              The default is one. Setting to more than one row
              precludes the use of some attributes, such as
              "secret".</desc>
      <longDesc>the number of rows to display in the text control.
              The default is one. Setting to more than one row
              precludes the use of some attributes, such as
              "secret".</longDesc>
      <defaultValue>1</defaultValue>
    </property>
    <property>
      <name>wrap</name>
      <jspName>wrap</jspName>
      <fieldName>_wrap</fieldName>
      <className>java.lang.String</className>
      <desc>the type of text wrapping to be used in a multi-row
              text control. This attribute is ignored for single
              row inputText. By default (or "soft"), multirow text
        wraps visually, but does not include carriage returns in the
              submitted value.  Setting this to "off" will disable wrapping;
              the multirow text will scroll horizontally.  Setting it to "hard"
              specifies that the value of the text should include any
              carriage returns needed to wrap the lines.</desc>
      <longDesc>the type of text wrapping to be used in a multi-row
              text control. This attribute is ignored for single
              row inputText. By default (or "soft"), multirow text
        wraps visually, but does not include carriage returns in the
              submitted value.  Setting this to "off" will disable wrapping;
              the multirow text will scroll horizontally.  Setting it to "hard"
              specifies that the value of the text should include any
              carriage returns needed to wrap the lines.</longDesc>
    </property>
    <property>
      <name>secret</name>
      <jspName>secret</jspName>
      <fieldName>_secret</fieldName>
      <className>boolean</className>
      <desc>a boolean value that only applies to single line text
              controls. When set to "true", it hides the actual
              value of the text from the user, and will
              prevent the actual "value" from being shown to the user.</desc>
      <longDesc>a boolean value that only applies to single line text
              controls. When set to "true", it hides the actual
              value of the text from the user, and will
              prevent the actual "value" from being shown to the user.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>readOnly</name>
      <jspName>readOnly</jspName>
      <fieldName>_readOnly</fieldName>
      <className>boolean</className>
      <desc>whether the element is read-only.</desc>
      <longDesc>whether the element is read-only.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the element is disabled.</desc>
      <longDesc>whether the element is disabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</desc>
      <longDesc>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</longDesc>
    </property>
    <property>
      <name>label</name>
      <jspName>label</jspName>
      <fieldName>_label</fieldName>
      <className>java.lang.String</className>
      <desc>the label of the bean.</desc>
      <longDesc>the label of the bean.</longDesc>
    </property>
    <property>
      <name>simple</name>
      <jspName>simple</jspName>
      <fieldName>_simple</fieldName>
      <className>boolean</className>
      <desc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</desc>
      <longDesc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>onchange</name>
      <jspName>onchange</jspName>
      <fieldName>_onchange</fieldName>
      <className>java.lang.String</className>
      <desc>event handler for when the value is changed.</desc>
      <longDesc>event handler for when the value is changed.</longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onblur</name>
      <jspName>onblur</jspName>
      <fieldName>_onblur</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component losing the focus.</desc>
      <longDesc>the event handler for the component losing the focus.</longDesc>
    </property>
    <property>
      <name>onfocus</name>
      <jspName>onfocus</jspName>
      <fieldName>_onfocus</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component gaining the focus.</desc>
      <longDesc>the event handler for the component gaining the focus.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>a CSS style class to use for this component.
      The styleClass attribute value is rendered on the root dom element.
      We provide some public style classes you can use that will affect only the 'content' piece of the component:
      AFFieldTextMarker, AFFieldTextLTRMarker, AFPhoneFieldTextMarker, AFPostalCodeFieldTextMarker,
      AFAddressFieldTextMarker, AFFieldNumberMarker.
      You can still modify the public style definitions for these marker style classes
      and it will be picked up by using these "Marker" style class
      because in our base skin implementation we map to the public style by doing this:
      af|inputText.AFFieldNumberMarker af|inputText::content {-tr-rule-ref:selector(".AFFieldNumber")}.
      We recommend that you do not add style properties to the "Marker" style classes.
      They are used solely in the css descendant selector to point to the content pseudo-element.</html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>a CSS style class to use for this component.
      The styleClass attribute value is rendered on the root dom element.
      We provide some public style classes you can use that will affect only the 'content' piece of the component:
      AFFieldTextMarker, AFFieldTextLTRMarker, AFPhoneFieldTextMarker, AFPostalCodeFieldTextMarker,
      AFAddressFieldTextMarker, AFFieldNumberMarker.
      You can still modify the public style definitions for these marker style classes
      and it will be picked up by using these "Marker" style class
      because in our base skin implementation we map to the public style by doing this:
      af|inputText.AFFieldNumberMarker af|inputText::content {-tr-rule-ref:selector(".AFFieldNumber")}.
      We recommend that you do not add style properties to the "Marker" style classes.
      They are used solely in the css descendant selector to point to the content pseudo-element.</html>
]]>
      </longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the inline CSS style for this element</desc>
      <longDesc>the inline CSS style for this element</longDesc>
    </property>
    <property>
      <name>showRequired</name>
      <jspName>showRequired</jspName>
      <fieldName>_showRequired</fieldName>
      <className>boolean</className>
      <desc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</desc>
      <longDesc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>columns</name>
      <jspName>columns</jspName>
      <fieldName>_columns</fieldName>
      <className>int</className>
      <desc>the number of columns to display in the text
          control. If no value is specified, a default
          of 30 columns is used. One column is approximately one character
          in the browser's current display font.</desc>
      <longDesc>the number of columns to display in the text
          control. If no value is specified, a default
          of 30 columns is used. One column is approximately one character
          in the browser's current display font.</longDesc>
    </property>
    <property>
      <name>maximumLength</name>
      <jspName>maximumLength</jspName>
      <fieldName>_maximumLength</fieldName>
      <className>int</className>
      <desc>the maximum number of characters that
          can be entered into the text control. Note that
          this value is independent of the "cols" displayed.
          If set to 0 or less, the maximumLength is ignored.</desc>
      <longDesc>the maximum number of characters that
          can be entered into the text control. Note that
          this value is independent of the "cols" displayed.
          If set to 0 or less, the maximumLength is ignored.</longDesc>
    </property>
    <property>
      <name>autoComplete</name>
      <jspName>autoComplete</jspName>
      <fieldName>_autoComplete</fieldName>
      <className>java.lang.String</className>
      <desc>whether previous values of text fields in the form
          should be remembered and offered for auto completion.</desc>
      <longDesc>whether previous values of text fields in the form
          should be remembered and offered for auto completion.</longDesc>
      <defaultValue>on</defaultValue>
    </property>
    <property>
      <name>onselect</name>
      <jspName>onselect</jspName>
      <fieldName>_onselect</fieldName>
      <className>java.lang.String</className>
      <desc>event handler for when text becomes selected.</desc>
      <longDesc>event handler for when text becomes selected.</longDesc>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>labelAndAccessKey</name>
      <jspName>labelAndAccessKey</jspName>
      <fieldName>_labelAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>autoSubmit</name>
      <jspName>autoSubmit</jspName>
      <fieldName>_autoSubmit</fieldName>
      <className>boolean</className>
      <desc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</desc>
      <longDesc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.output.CoreLegend</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXObject</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.output.CoreLegend</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXObject</sourceClassParentClassName>
    <name>tr:legend</name>
    <type>org.apache.myfaces.trinidad.CoreLegend</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreObjectTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Legend</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The legend adds a legend describing the meaning of an icon.</desc>
    <longDesc>
<![CDATA[
<html:p>
            The legend adds a legend describing the meaning of an icon.  The
            &quot;name&quot; attribute specifies which icon needs to be described.
            This control can be placed in any location, but is most commonly
            placed in the pageStatus facet of a panelPage.
          </html:p>
]]>
    </longDesc>
    <property>
      <name>name</name>
      <jspName>name</jspName>
      <fieldName>_name</fieldName>
      <className>java.lang.String</className>
      <desc>A string identifying which icon should
be described.  Only one value is currently supported: "required".</desc>
      <longDesc>A string identifying which icon should
be described.  Only one value is currently supported: "required".</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.output.CoreMedia</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXObject</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.output.CoreMedia</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXObject</sourceClassParentClassName>
    <name>tr:media</name>
    <type>org.apache.myfaces.trinidad.CoreMedia</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreMediaTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Media</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The media component displays media content, such as audio, video,
          or image in a player embedded in the user agent.</desc>
    <longDesc>
<![CDATA[
<html:p>
            The media component displays media content, such as audio, video,
            or image in a player embedded in the user agent.
            The media control displays the media specified by the &quot;source&quot;
            attribute in the appropriate media player.  If a particular
            media player is desired, it can be specified using the &quot;player&quot;
            attribute.  The media control attempts to intelligently handle
            two tricky aspects of cross-platform media display--determining
            the best player to display the media, and sizing the media player.
          </html:p>
          <html:p>
            The media control attempts to pick the appropriate media player
            using the following steps:
            <html:ol>
              <html:li>
                If the primary MIME type of the content is &quot;image&quot;, the
                built in user-agent support will be used.
              </html:li>
              <html:li>
                If a media player has been specified by the &quot;player&quot; attribute
                and that player is available on the user agent and can display
                the media resource, that player will be used.
              </html:li>
              <html:li>
                If one player is especially good at playing the media resource
                and that player is available on the user agent, that player
                will be used.
              </html:li>
              <html:li>
                If one player is especially dominant on the user agent and that
                player can play the media resource, that player will be used.
              </html:li>
              <html:li>
                the &quot;link&quot; player will be used.
              </html:li>
            </html:ol>
          </html:p>
          <html:p>
            The media component supports two approaches to
            sizing the media control
            setting the &quot;width&quot; and &quot;height&quot; attributes, which specify the
            amount of space reserved on the user agent for the media control,
            and setting the &quot;innerWidth&quot; and &quot;innerHeight&quot; attributes, which
            specify the size of the media resource content.  Since it is almost
            impossible to determine the correct width and height to use across
            different players and different player control configurations,
            specifying the &quot;innerWidth&quot; and &quot;innerHeight&quot; is the recommended
            strategy.
          </html:p>
          <html:p>
            If the size of the media control isn't specified by one of the above
            approaches, a default inner size, determined by the content type of
            the media resource, will be used.  This works well for audio content,
            but can cause content to be clipped or occupy too much space for
            video content.
          </html:p>
]]>
    </longDesc>
    <property>
      <name>width</name>
      <jspName>width</jspName>
      <fieldName>_width</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html> width in pixels to reserve for the media player plus its content.
            As the extra width needed for the media player controls can vary
            from media player to media player and depend on the controls
            displayed in the media player, it is recommended that the
            "innerWidth" attribute be used in preference to this attribute.
            <p>
            If both the "width" and "innerWidth" attributes are specified,
            the "width" attribute will be used.
            </p>
            <p>
            If no width is specified, the width of the media control is
            determined by calculating the "innerWidth" and adding any extra
            width necessary to display the media player controls.
            </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html> width in pixels to reserve for the media player plus its content.
            As the extra width needed for the media player controls can vary
            from media player to media player and depend on the controls
            displayed in the media player, it is recommended that the
            "innerWidth" attribute be used in preference to this attribute.
            <p>
            If both the "width" and "innerWidth" attributes are specified,
            the "width" attribute will be used.
            </p>
            <p>
            If no width is specified, the width of the media control is
            determined by calculating the "innerWidth" and adding any extra
            width necessary to display the media player controls.
            </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>height</name>
      <jspName>height</jspName>
      <fieldName>_height</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html> height in pixels to reserve for the media player plus its content.
            As the extra height needed for the media player controls can vary
            from media player to media player and depend on the controls
            displayed in the media player, it is recommended that the
            "innerHeight" attribute be used in preference to this attribute.
            <p>
            If both the "height" and "innerHeight" attributes are specified,
            the "height" attribute will be used.
            </p>
            <p>
            If no height is specified, the height of the media control is
            determined by calculating the "innerHeight" and adding any extra
            height necessary to display the media player controls.
            </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html> height in pixels to reserve for the media player plus its content.
            As the extra height needed for the media player controls can vary
            from media player to media player and depend on the controls
            displayed in the media player, it is recommended that the
            "innerHeight" attribute be used in preference to this attribute.
            <p>
            If both the "height" and "innerHeight" attributes are specified,
            the "height" attribute will be used.
            </p>
            <p>
            If no height is specified, the height of the media control is
            determined by calculating the "innerHeight" and adding any extra
            height necessary to display the media player controls.
            </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>innerWidth</name>
      <jspName>innerWidth</jspName>
      <fieldName>_innerWidth</fieldName>
      <className>int</className>
      <desc>
<![CDATA[
<html> width in pixels to reserve for the media player content.  This
            will typically be set to the pixel width of the media resource
            to display.
            <p>
            If no "innerWidth" is specified, the "innerWidth" will be defaulted
            based on the content type of the media resource to play.
            </p>
            <p>
            If both the "width" and "innerWidth" attributes are specified,
            the "width" attribute will be used.
            </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html> width in pixels to reserve for the media player content.  This
            will typically be set to the pixel width of the media resource
            to display.
            <p>
            If no "innerWidth" is specified, the "innerWidth" will be defaulted
            based on the content type of the media resource to play.
            </p>
            <p>
            If both the "width" and "innerWidth" attributes are specified,
            the "width" attribute will be used.
            </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>innerHeight</name>
      <jspName>innerHeight</jspName>
      <fieldName>_innerHeight</fieldName>
      <className>int</className>
      <desc>
<![CDATA[
<html> height in pixels to reserve for the media player content.  This
            will typically be set to the pixel height of the media resource
            to display.
            <p>
            If no "innerHeight" is specified, the "innerHeight" will be defaulted
            based on the content type of the media resource to play.
            </p>
            <p>
            If both the "height" and "innerHeight" attributes are specified,
            the "height" attribute will be used.
            </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html> height in pixels to reserve for the media player content.  This
            will typically be set to the pixel height of the media resource
            to display.
            <p>
            If no "innerHeight" is specified, the "innerHeight" will be defaulted
            based on the content type of the media resource to play.
            </p>
            <p>
            If both the "height" and "innerHeight" attributes are specified,
            the "height" attribute will be used.
            </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>source</name>
      <jspName>source</jspName>
      <fieldName>_source</fieldName>
      <className>java.lang.String</className>
      <desc>the URI specifying the location of the media resource.  If no
            contentType is specified, the contentType will be inferred from
            the extension of the source attribute.</desc>
      <longDesc>the URI specifying the location of the media resource.  If no
            contentType is specified, the contentType will be inferred from
            the extension of the source attribute.</longDesc>
    </property>
    <property>
      <name>autostart</name>
      <jspName>autostart</jspName>
      <fieldName>_autostart</fieldName>
      <className>boolean</className>
      <desc>a boolean value that controls whether the media resource loads
            and plays automatically without user initiation.  When set to "true",
            the media resource will load and play as soon as possible.</desc>
      <longDesc>a boolean value that controls whether the media resource loads
            and plays automatically without user initiation.  When set to "true",
            the media resource will load and play as soon as possible.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>playCount</name>
      <jspName>playCount</jspName>
      <fieldName>_playCount</fieldName>
      <className>int</className>
      <desc>the number of times the media resource will play.  If set to "0",
            the resource will loop until the user stops the playing.</desc>
      <longDesc>the number of times the media resource will play.  If set to "0",
            the resource will loop until the user stops the playing.</longDesc>
    </property>
    <property>
      <name>contentType</name>
      <jspName>contentType</jspName>
      <fieldName>_contentType</fieldName>
      <className>java.lang.String</className>
      <desc>the MIME type of the media content returned by the "source" URI.
            This attribute is used as a hint when determining which player to
            pick, how the controls of the player are to be configured, and
            the default size of the media player.  If it isn't specified, an
            attempt will be made to derive this information from the extension
            of the source URI.</desc>
      <longDesc>the MIME type of the media content returned by the "source" URI.
            This attribute is used as a hint when determining which player to
            pick, how the controls of the player are to be configured, and
            the default size of the media player.  If it isn't specified, an
            attempt will be made to derive this information from the extension
            of the source URI.</longDesc>
    </property>
    <property>
      <name>standbyText</name>
      <jspName>standbyText</jspName>
      <fieldName>_standbyText</fieldName>
      <className>java.lang.String</className>
      <desc>Message to display in the media player while the media resource
              is loading.</desc>
      <longDesc>Message to display in the media player while the media resource
              is loading.</longDesc>
    </property>
    <property>
      <name>player</name>
      <jspName>player</jspName>
      <fieldName>_player</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html> which media player to use to play the media resource. If possible,
              the media control will accomodate this request.  However, if
              the requested player is not available on the user agent, or does
              not support playing the media resource, an alternate player
              will be used instead.  In all cases, the "link" player is used
              as a fallback if no other player is available, or the requested
              player fails for some reason.
              <ul>
                <li>
                  <code>"none"</code>
                  <p>
                   use a link in the user agent page to launch the playing of the
                   media resource.
                  </p>
                  <p>
                   This player setting uses the least amount of space on the page
                   and uses the user agent's built in content type mapping
                   to determine how to display the media resource.
                  </p>
                </li>
                <li>
                  <code>"quicktime"</code>
                  <p>
                   use the Apple QuickTime player.
                  </p>
                </li>
                <li>
                  <code>"windows"</code>
                  <p>
                   use the Windows Media Player.
                  </p>
                </li>
                <li>
                  <code>"real"</code>
                  <p>
                   use the Real Player.
                  </p>
                </li>
              </ul></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html> which media player to use to play the media resource. If possible,
              the media control will accomodate this request.  However, if
              the requested player is not available on the user agent, or does
              not support playing the media resource, an alternate player
              will be used instead.  In all cases, the "link" player is used
              as a fallback if no other player is available, or the requested
              player fails for some reason.
              <ul>
                <li>
                  <code>"none"</code>
                  <p>
                   use a link in the user agent page to launch the playing of the
                   media resource.
                  </p>
                  <p>
                   This player setting uses the least amount of space on the page
                   and uses the user agent's built in content type mapping
                   to determine how to display the media resource.
                  </p>
                </li>
                <li>
                  <code>"quicktime"</code>
                  <p>
                   use the Apple QuickTime player.
                  </p>
                </li>
                <li>
                  <code>"windows"</code>
                  <p>
                   use the Windows Media Player.
                  </p>
                </li>
                <li>
                  <code>"real"</code>
                  <p>
                   use the Real Player.
                  </p>
                </li>
              </ul></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>controls</name>
      <jspName>controls</jspName>
      <fieldName>_controls</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html> the set of controls made available to the user for controlling
              the media playback.  The actual set of controls displayed for the
              same value may differ between players.  Likewise, the amount of
              space occupied by the controls will differ from media player to
              media player.  This can cause problems if the size of the
              media control has been specified by the "width" and "height"
              attributes rather than "innerWidth" and "innerHeight".
              <ul>
                <li>
                  <code>"none"</code>
                  <p>
                   don't show any controls for the media player and don't allow
                   control access through alternate means, such as context menus.
                  </p>
                  <p>
                   This value is typically only used in kiosk-type applications
                   where no user control over the playing of the media is allowed.
                   It is typically used in conjunction with setting the
                   "autostart" attribute to "true", and the "playCount" attribute
                   to "0" to cause the media play immediately and then loop.
                  </p>
                </li>
                <li>
                  <code>"noneVisible"</code>
                  <p>
                   don't show any controls for the media player but allow control
                   access through alternate means, such as context menus.
                  </p>
                  <p>
                   This value is typically only used in applications where user
                   control over the playing of the media is allowed, but
                   not encouraged.  It is typically used in conjunction with
                   setting the "autostart" attribute to "true", and the
                   "playCount" attribute to "0" to cause the media to play
                   immediately and then loop.
                  </p>
                </li>
                <li>
                  <code>"minimal"</code>
                  <p>
                    show a minimal set of controls for playing media on the media
                    player.
                  </p>
                  <p>
                   This value gives users control over the most
                   important media playing controls, while occupying the least
                   amount of additional space on the user agent.
                  </p>
                </li>
                <li>
                  <code>"typical"</code>
                  <p>
                   show the typical set of controls for playing media on the
                   media player.
                  </p>
                  <p>
                   This value, the default, gives users control over the most
                   common media playing controls, without occupying an inordinate
                   amount of extra space on the user agent.
                  </p>
                </li>
                <li>
                  <code>"all"</code>
                  <p>
                   Show all available controls for playing media on the media player
                  </p>
                  <p>
                   Using this setting can cause large amount of additional space
                   to be required, depending on the media player used.
                  </p>
                </li>
              </ul>
              <p>
                The default of this attribute is <code>"typical"</code>.
              </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html> the set of controls made available to the user for controlling
              the media playback.  The actual set of controls displayed for the
              same value may differ between players.  Likewise, the amount of
              space occupied by the controls will differ from media player to
              media player.  This can cause problems if the size of the
              media control has been specified by the "width" and "height"
              attributes rather than "innerWidth" and "innerHeight".
              <ul>
                <li>
                  <code>"none"</code>
                  <p>
                   don't show any controls for the media player and don't allow
                   control access through alternate means, such as context menus.
                  </p>
                  <p>
                   This value is typically only used in kiosk-type applications
                   where no user control over the playing of the media is allowed.
                   It is typically used in conjunction with setting the
                   "autostart" attribute to "true", and the "playCount" attribute
                   to "0" to cause the media play immediately and then loop.
                  </p>
                </li>
                <li>
                  <code>"noneVisible"</code>
                  <p>
                   don't show any controls for the media player but allow control
                   access through alternate means, such as context menus.
                  </p>
                  <p>
                   This value is typically only used in applications where user
                   control over the playing of the media is allowed, but
                   not encouraged.  It is typically used in conjunction with
                   setting the "autostart" attribute to "true", and the
                   "playCount" attribute to "0" to cause the media to play
                   immediately and then loop.
                  </p>
                </li>
                <li>
                  <code>"minimal"</code>
                  <p>
                    show a minimal set of controls for playing media on the media
                    player.
                  </p>
                  <p>
                   This value gives users control over the most
                   important media playing controls, while occupying the least
                   amount of additional space on the user agent.
                  </p>
                </li>
                <li>
                  <code>"typical"</code>
                  <p>
                   show the typical set of controls for playing media on the
                   media player.
                  </p>
                  <p>
                   This value, the default, gives users control over the most
                   common media playing controls, without occupying an inordinate
                   amount of extra space on the user agent.
                  </p>
                </li>
                <li>
                  <code>"all"</code>
                  <p>
                   Show all available controls for playing media on the media player
                  </p>
                  <p>
                   Using this setting can cause large amount of additional space
                   to be required, depending on the media player used.
                  </p>
                </li>
              </ul>
              <p>
                The default of this attribute is <code>"typical"</code>.
              </p></html>
]]>
      </longDesc>
      <defaultValue>typical</defaultValue>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.output.CoreMessage</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXMessage</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.output.CoreMessage</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXMessage</sourceClassParentClassName>
    <name>tr:message</name>
    <type>org.apache.myfaces.trinidad.CoreMessage</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreMessageTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Message</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>help</name>
      <desc>This facet should contain field level help.</desc>
      <longDesc>This facet should contain field level help.</longDesc>
    </facet>
    <desc>Component that displays a message on behalf of a component.
Trinidad input components typically support automatically showing
their own messages, so this tag should be used only when
setting the "simple" attribute to true.</desc>
    <longDesc>
<![CDATA[
<html:p>
 Component that displays a message on behalf of a component.
 Trinidad input components typically support automatically showing
 their own messages, including a tip and the error message.
 Developers should use this when they set &quot;simple&quot;
 to &quot;true&quot; on an Trinidad input component, or when using
 a non-Trinidad input component.
</html:p>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>message</name>
      <jspName>message</jspName>
      <fieldName>_message</fieldName>
      <className>java.lang.String</className>
      <desc>the error, warning, or informational text.</desc>
      <longDesc>the error, warning, or informational text.</longDesc>
    </property>
    <property>
      <name>messageType</name>
      <jspName>messageType</jspName>
      <fieldName>_messageType</fieldName>
      <className>java.lang.String</className>
      <desc>the type of the message; acceptable values
          are "error", "warning", "info", and "none".  Defaults to "none".</desc>
      <longDesc>the type of the message; acceptable values
          are "error", "warning", "info", and "none".  Defaults to "none".</longDesc>
      <defaultValue>none</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.output.CoreMessages</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXMessages</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.output.CoreMessages</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXMessages</sourceClassParentClassName>
    <name>tr:messages</name>
    <type>org.apache.myfaces.trinidad.CoreMessages</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreMessagesTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Messages</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The messages bean is used at the top of an application page to give
        the user important messaging information.</desc>
    <longDesc>The messages bean is used at the top of an application page to
give the user important messaging information. It will
automatically show any messages added to the FacesContext.</longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>message</name>
      <jspName>message</jspName>
      <fieldName>_message</fieldName>
      <className>java.lang.String</className>
      <desc>the main text message for the box.</desc>
      <longDesc>the main text message for the box.</longDesc>
    </property>
    <property>
      <name>text</name>
      <jspName>text</jspName>
      <fieldName>_text</fieldName>
      <className>java.lang.String</className>
      <desc>the overridden title text.</desc>
      <longDesc>the overridden title text.</longDesc>
    </property>
    <property>
      <name>globalOnly</name>
      <jspName>globalOnly</jspName>
      <fieldName>_globalOnly</fieldName>
      <className>boolean</className>
      <desc>whether to render all messages or just global messages. Normally
global messages are rendered followed by messages for individual
components. If this attribute is set to true, only the global
messages will be rendered.</desc>
      <longDesc>whether to render all messages or just global messages. Normally
global messages are rendered followed by messages for individual
components. If this attribute is set to true, only the global
messages will be rendered.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.nav.CoreNavigationPane</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXNavigationLevel</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.nav.CoreNavigationPane</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXNavigationLevel</sourceClassParentClassName>
    <name>tr:navigationPane</name>
    <type>org.apache.myfaces.trinidad.CoreNavigationPane</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreNavigationPaneTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Pane</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The navigationPane component creates a series of navigation items representing one level in a navigation hierarchy.</desc>
    <longDesc>
<![CDATA[
<html:p>
          The navigationPane component creates a series of navigation items representing one
          level in a navigation hierarchy. These items may either be added as children or a
          menu model may be bound to the navigationPane component. If a menu model is bound, of class
          <html:code>org.apache.myfaces.trinidad.model.XMLMenuModel</html:code> or
          <html:code>org.apache.myfaces.trinidad.model.MenuModel</html:code>, a level along the focus path,
          or the next level down, will be rendered. A node that is on the focus path will be rendered as &quot;selected&quot;.
          </html:p>
          <html:p>

          <html:b>Note</html:b>: The 'level' attribute is temporary. It is used to indicate the level
          along the focusPath to render. It will likely be replaced with an el expression in a future release.
          </html:p>
          <html:p>
          XMLMenuModel extends TreeModel, but it also knows how to go from the current viewId to the focus path.
          Notice that the xmlMenuModel has no special knowledge of page navigation and places no requirements
          on the nodes that go into the tree. The nodes in the tree are stamped out with the 'nodeStamp' facet,
          which should contain a commandNavigationItem component, which allows the default actionListener
          mechanism to be used for page navigation.
          </html:p>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>Whether the component is disabled.</desc>
      <longDesc>Whether the component is disabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>hint</name>
      <jspName>hint</jspName>
      <fieldName>_hint</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>How the navigational items are displayed.  Options are:
              <ul><li>bar
                </li><li>buttons
                </li><li>choice
                </li><li>list
                </li><li>tabs
                </li></ul>
               </html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>How the navigational items are displayed.  Options are:
              <ul><li>bar
                </li><li>buttons
                </li><li>choice
                </li><li>list
                </li><li>tabs
                </li></ul>
               </html>
]]>
      </longDesc>
    </property>
    <property>
      <name>title</name>
      <jspName>title</jspName>
      <fieldName>_title</fieldName>
      <className>java.lang.String</className>
      <desc>Text that describes the items.  (This attribute is only applicable if the rendering hint supports it, e.g. "choice".)</desc>
      <longDesc>Text that describes the items.  (This attribute is only applicable if the rendering hint supports it, e.g. "choice".)</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.nav.CoreNavigationTree</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXNavigationTree</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.nav.CoreNavigationTree</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXNavigationTree</sourceClassParentClassName>
    <name>tr:navigationTree</name>
    <type>org.apache.myfaces.trinidad.CoreNavigationTree</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreNavigationTreeTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.NavigationTree</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The Trinidad NavigationTree is used to display data that is structured in a hierarchical format.</desc>
    <longDesc>
<![CDATA[
<html:p>
                 The navigationTree is used to display navigation data that is structured in a
                 hierarchical format. The features of the Tree component include mechanisms for
                 expanding and collapsing portions of the hierarchy. The focus path of the
                 navigationTree is visually indicated and by default the nodes along the
                 focus path are added to the expandedRowKeys pathSet.
               </html:p>

               <html:P>
                 The &quot;nodeStamp&quot; facet of the navigationTree is used to render the
                 data for each node in the tree. The &quot;nodeStamp&quot; is repeatedly
                 rendered (stamped) once per node.
               </html:P>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.output.CoreOutputDocument</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXOutput</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.output.CoreOutputDocument</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXOutput</sourceClassParentClassName>
    <name>tr:outputDocument</name>
    <type>org.apache.myfaces.trinidad.CoreOutputDocument</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreOutputDocumentTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Document</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>title</name>
      <desc>The title of the document.</desc>
      <longDesc>The title of the document.</longDesc>
    </facet>
    <facet>
      <name>separator</name>
      <desc>The object used to separate paragraphs of the document.</desc>
      <longDesc>The object used to separate paragraphs of the document.</longDesc>
    </facet>
    <desc>The outputDocument component supports styled text with line breaks.</desc>
    <longDesc>The outputText component supports styled text.  The text
can optionally be left unescaped, and supports
conversion to and from Java objects.</longDesc>
    <property>
      <name>titleClass</name>
      <jspName>titleClass</jspName>
      <fieldName>_titleClass</fieldName>
      <className>java.lang.String</className>
      <desc>the style class of the title. This property will be
         considered only if a title facet is used.</desc>
      <longDesc>the style class of the title. This property will be
         considered only if a title facet is used.</longDesc>
    </property>
    <property>
      <name>separatorClass</name>
      <jspName>separatorClass</jspName>
      <fieldName>_separatorClass</fieldName>
      <className>java.lang.String</className>
      <desc>the style class of the separator. This property will be
         considered only if a separator facet is used.</desc>
      <longDesc>the style class of the separator. This property will be
         considered only if a separator facet is used.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.output.CoreOutputFormatted</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXOutput</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.output.CoreOutputFormatted</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXOutput</sourceClassParentClassName>
    <name>tr:outputFormatted</name>
    <type>org.apache.myfaces.trinidad.CoreOutputFormatted</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreOutputFormattedTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Formatted</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The outputFormatted bean accepts a string in its "value" attribute
        containing a very limited set of HTML markup and outputs formatted
        results.</desc>
    <longDesc>
<![CDATA[
<html:p>
        The outputFormatted bean accepts a string in its &quot;value&quot; attribute
        containing a very limited set of HTML markup and outputs formatted
        results.  It is not intended as anything near to a generic HTML
        output engine, and will never be such a bean.  Developers
        needing full HTML output should use &lt;f:verbatim&gt;
        or &lt;tr:outputText&gt; with escape=&quot;false&quot;.
        </html:p>
        <html:p>
        What this bean <html:em>does</html:em> provide is a limited
        ability to use a single source for translated or user-provided
        formatted text without further parsing or filtering or
        dangerous constructs (e.g., Javascript), and with some hope
        of successful output to non-HTML displays.  It also supports
        more attributes than an unescaped outputText tag - for example,
        it supports styleClass.
        </html:p>
        <html:p>
        This component supports the following HTML markup:
        <html:ul>
          <html:li>&lt;br&gt;</html:li>
          <html:li>&lt;hr&gt;</html:li>
          <html:li>&lt;li&gt;, &lt;ol&gt;, &lt;ul&gt;</html:li>
          <html:li>&lt;p&gt;</html:li>
          <html:li>&lt;b&gt;</html:li>
          <html:li>&lt;i&gt;</html:li>
          <html:li>&lt;tt&gt;</html:li>
          <html:li>&lt;big&gt;</html:li>
          <html:li>&lt;small&gt;</html:li>
          <html:li>&lt;pre&gt;</html:li>
          <html:li>&lt;span&gt;</html:li>
          <html:li>&lt;a&gt;</html:li>
        </html:ul>
        and the following entities:
        <html:ul>
          <html:li>&amp;lt;</html:li>
          <html:li>&amp;gt;</html:li>
          <html:li>&amp;amp;</html:li>
          <html:li>&amp;reg;</html:li>
          <html:li>&amp;copy;</html:li>
          <html:li>&amp;nbsp;</html:li>
          <html:li>&amp;quot;</html:li>
        </html:ul>
        </html:p>
        <html:p>
        Elements or entities other than these will be ignored.  In addition,
        the CSS attributes (&quot;class&quot; and &quot;style&quot;) and &quot;href&quot; are supported -
        all others are ignored.
        </html:p>
        <html:p>
        No guarantee is made that the input HTML will
        be output without modification.  For example, paragraph
        and list-item elements will always be closed even if left
        open in the input text.  Other HTML markup may be replaced
        with output more appropriate to the current look-and-feel
        or user agent.
        </html:p>
        <html:p>
        Note: The escaping rules are different in a .jspx file than they are in
        a .jsp file. See the example below.
        </html:p>
]]>
    </longDesc>
    <property>
      <name>styleUsage</name>
      <jspName>styleUsage</jspName>
      <fieldName>_styleUsage</fieldName>
      <className>java.lang.String</className>
      <desc>the style usage, intended to make it easier to
              put the correct style on the text.
              Set this attribute when the outputFormatted
              is for instruction text, page stamp text, or inContextBranding
              text.
              The valid values are "instruction" ,
              "pageStamp", and "inContextBranding".
              If styleUsage and styleClass attributes are both set,
              the styleClass attribute takes precedence.</desc>
      <longDesc>the style usage, intended to make it easier to
              put the correct style on the text.
              Set this attribute when the outputFormatted
              is for instruction text, page stamp text, or inContextBranding
              text.
              The valid values are "instruction" ,
              "pageStamp", and "inContextBranding".
              If styleUsage and styleClass attributes are both set,
              the styleClass attribute takes precedence.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.output.CoreOutputLabel</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXOutput</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.output.CoreOutputLabel</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXOutput</sourceClassParentClassName>
    <name>tr:outputLabel</name>
    <type>org.apache.myfaces.trinidad.CoreOutputLabel</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreOutputLabelTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Label</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>Component that displays a label for a form component.</desc>
    <longDesc>
<![CDATA[
<html><p>
          Component that displays a label for a form component,
          including a text label, and an (optional) icon indicating
          the type of message. Developers should use this if they need
          more control over layout than the built-in label support for
          label components allows.
        </p></html>
]]>
    </longDesc>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set.
              For accessibility reasons, this functionality is not supported in
              screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set.
              For accessibility reasons, this functionality is not supported in
              screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>showRequired</name>
      <jspName>showRequired</jspName>
      <fieldName>_showRequired</fieldName>
      <className>boolean</className>
      <desc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</desc>
      <longDesc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>valueAndAccessKey</name>
      <jspName>valueAndAccessKey</jspName>
      <fieldName>_valueAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html> An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html> An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>for</name>
      <jspName>for</jspName>
      <fieldName>_for</fieldName>
      <className>java.lang.String</className>
      <desc>the ID of the component that this component
refers to</desc>
      <longDesc>the ID of the component that this component
refers to</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.output.CoreOutputText</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXOutput</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.output.CoreOutputText</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXOutput</sourceClassParentClassName>
    <name>tr:outputText</name>
    <type>org.apache.myfaces.trinidad.CoreOutputText</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreOutputTextTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Text</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The outputText component supports styled text.</desc>
    <longDesc>The outputText component supports styled text.  The text
can optionally be left unescaped, and supports
conversion to and from Java objects.</longDesc>
    <property>
      <name>truncateAt</name>
      <jspName>truncateAt</jspName>
      <fieldName>_truncateAt</fieldName>
      <className>int</className>
      <desc>the length at which the text should automatically begin
              truncating.  When set to zero (the default), the string
              will never truncate.  Values from one to thirteen will
              be treated as thirteen - the outputText component will not
              truncate strings shorter than thirteen characters.</desc>
      <longDesc>the length at which the text should automatically begin
              truncating.  When set to zero (the default), the string
              will never truncate.  Values from one to thirteen will
              be treated as thirteen - the outputText component will not
              truncate strings shorter than thirteen characters.</longDesc>
      <defaultValue>0</defaultValue>
    </property>
    <property>
      <name>description</name>
      <jspName>description</jspName>
      <fieldName>_description</fieldName>
      <className>java.lang.String</className>
      <desc>an additional description to be attached
to the text, for use in improving accessibility.  The description will
be available to screen readers and other accessibility agents, but will
not be otherwise visible.</desc>
      <longDesc>an additional description to be attached
to the text, for use in improving accessibility.  The description will
be available to screen readers and other accessibility agents, but will
not be otherwise visible.</longDesc>
    </property>
    <property>
      <name>escape</name>
      <jspName>escape</jspName>
      <fieldName>_escape</fieldName>
      <className>boolean</className>
      <desc>
<![CDATA[
<html> an attribute controlling whether output will
be escaped for the current markup language or not.  This attribute
defaults to true, and should only be set to false if absolutely necessary.
When set to false, you may exposed to cross-site scripting attacks if
the value of this component is any way derived from values supplied
by a user;  see <code>outputFormatted</code> for a safe
alternative.  In addition, nearly all attributes are ignored when "escape"
is set to false (e.g., "styleClass" is not output).</html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html> an attribute controlling whether output will
be escaped for the current markup language or not.  This attribute
defaults to true, and should only be set to false if absolutely necessary.
When set to false, you may exposed to cross-site scripting attacks if
the value of this component is any way derived from values supplied
by a user;  see <code>outputFormatted</code> for a safe
alternative.  In addition, nearly all attributes are ignored when "escape"
is set to false (e.g., "styleClass" is not output).</html>
]]>
      </longDesc>
      <defaultValue>true</defaultValue>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.nav.CorePage</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXPage</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.nav.CorePage</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXPage</sourceClassParentClassName>
    <name>tr:page</name>
    <type>org.apache.myfaces.trinidad.CorePage</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.nav.CorePageTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Page</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>menuSwitch</name>
      <desc>This location typically contains a menuChoice.</desc>
      <longDesc>This location typically contains a menuChoice.</longDesc>
    </facet>
    <facet>
      <name>contextSwitcher</name>
      <desc>The context switcher of a page.</desc>
      <longDesc>The context switcher of a page.</longDesc>
    </facet>
    <facet>
      <name>messages</name>
      <desc>The node to display messages. Usually contains a messages component.</desc>
      <longDesc>The node to display messages. Usually contains a messages component.</longDesc>
    </facet>
    <facet>
      <name>branding</name>
      <desc>The corporate or organization branding region of the page.  This section typically
                contains a medium size image of the logo of the organization
                owning the page.</desc>
      <longDesc>The corporate or organization branding region of the page.  This section typically
                contains a medium size image of the logo of the organization
                owning the page.</longDesc>
    </facet>
    <facet>
      <name>brandingApp</name>
      <desc>The application, module, or product branding region of the page.
                This section typically contains a image of the application logo.</desc>
      <longDesc>The application, module, or product branding region of the page.
                This section typically contains a image of the application logo.</longDesc>
    </facet>
    <facet>
      <name>brandingAppContextual</name>
      <desc>The application's contextual branding region of the page.
                This section typically
                contains formatted text indicating that ONE context exists
                between the persistent tabs. The user selects the context
                from a centralized aggregate home page of multiple contexts,
                then navigates into a tabbed application pertaining to that
                specific context.</desc>
      <longDesc>The application's contextual branding region of the page.
                This section typically
                contains formatted text indicating that ONE context exists
                between the persistent tabs. The user selects the context
                from a centralized aggregate home page of multiple contexts,
                then navigates into a tabbed application pertaining to that
                specific context.</longDesc>
    </facet>
    <facet>
      <name>search</name>
      <desc>The search region of the page.</desc>
      <longDesc>The search region of the page.</longDesc>
    </facet>
    <facet>
      <name>location</name>
      <desc>The locator region of the page.  If present, this section
                typically contains either a processTrain, indicating the user's
                location in a multistep process, or navigationPath, containing
                links that will bring the user back to each of the parent
                pages of a tree of pages that he has navigated down into.</desc>
      <longDesc>The locator region of the page.  If present, this section
                typically contains either a processTrain, indicating the user's
                location in a multistep process, or navigationPath, containing
                links that will bring the user back to each of the parent
                pages of a tree of pages that he has navigated down into.</longDesc>
    </facet>
    <facet>
      <name>actions</name>
      <desc>The page-level actions of the page.  If present, this area
                typically contains either a panelButtonBar containing buttons
                that operate on the entire page, or a processChoiceBar allowing
                the user to move to the next or previous step in a process.</desc>
      <longDesc>The page-level actions of the page.  If present, this area
                typically contains either a panelButtonBar containing buttons
                that operate on the entire page, or a processChoiceBar allowing
                the user to move to the next or previous step in a process.</longDesc>
    </facet>
    <facet>
      <name>appCopyright</name>
      <desc>The copyright region of the page.  If present, this area
                typically contains a outputText with the copyright information.</desc>
      <longDesc>The copyright region of the page.  If present, this area
                typically contains a outputText with the copyright information.</longDesc>
    </facet>
    <facet>
      <name>appPrivacy</name>
      <desc>The privacy region of the page.  If present, this area
                typically contains a commandLink to the privacy policy for the
                application.</desc>
      <longDesc>The privacy region of the page.  If present, this area
                typically contains a commandLink to the privacy policy for the
                application.</longDesc>
    </facet>
    <facet>
      <name>appAbout</name>
      <desc>Area to put a commandLink to more information about the application.</desc>
      <longDesc>Area to put a commandLink to more information about the application.</longDesc>
    </facet>
    <facet>
      <name>infoSupplemental</name>
      <desc>This region provides a location for
                presenting additional information for the user. It often
                contains a panelBox.</desc>
      <longDesc>This region provides a location for
                presenting additional information for the user. It often
                contains a panelBox.</longDesc>
    </facet>
    <facet>
      <name>infoReturn</name>
      <desc>The return information region. Typically this will contain a "return to [X]" link.</desc>
      <longDesc>The return information region. Typically this will contain a "return to [X]" link.</longDesc>
    </facet>
    <facet>
      <name>infoUser</name>
      <desc>The user information region.  This region provides a location for
                presenting user login and connection information.</desc>
      <longDesc>The user information region.  This region provides a location for
                presenting user login and connection information.</longDesc>
    </facet>
    <facet>
      <name>infoFootnote</name>
      <desc>The footnote information region.  This region provides a location for
                page-level information that is ancillary to the user's task.</desc>
      <longDesc>The footnote information region.  This region provides a location for
                page-level information that is ancillary to the user's task.</longDesc>
    </facet>
    <facet>
      <name>infoStatus</name>
      <desc>The status information region. This region
                provides a location for page-level status that is important to
                the user's task. It also provides a location for a key notation.
                A key notation is a legend used to define icons, elements, or
                terms used within the page content.</desc>
      <longDesc>The status information region. This region
                provides a location for page-level status that is important to
                the user's task. It also provides a location for a key notation.
                A key notation is a legend used to define icons, elements, or
                terms used within the page content.</longDesc>
    </facet>
    <desc>The Page component is similar to the PanelPage component, except that instead of having navigation1, navigation2, navigation3, and navigationGlobal facets for adding navigation item information, the user binds a model object and a stamp to render these areas.</desc>
    <longDesc><![CDATA[The Page component is similar to the PanelPage component, except that instead of having navigation1, navigation2 and navigation3 facets for adding navigation item information, the user binds a model object and a stamp to render these areas. The model object is of type MenuModel. A commandNavigationItem should be used as the stamp and placed in the &quot;nodeStamp&quot; facet.]]></longDesc>
    <property>
      <name>chromeType</name>
      <jspName>chromeType</jspName>
      <fieldName>_chromeType</fieldName>
      <className>java.lang.String</className>
      <desc>what the chromeType is for the page: compact or expanded. If
              compact, the productBranding will be shown alongside the
              corporate branding instead of below the corporate branding.</desc>
      <longDesc>what the chromeType is for the page: compact or expanded. If
              compact, the productBranding will be shown alongside the
              corporate branding instead of below the corporate branding.</longDesc>
      <defaultValue>compact</defaultValue>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CorePanelAccordion</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXPanel</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CorePanelAccordion</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXPanel</sourceClassParentClassName>
    <name>tr:panelAccordion</name>
    <type>org.apache.myfaces.trinidad.CorePanelAccordion</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelAccordionTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Accordion</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The panelAccordion control creates, contains and shows a series of items defined by showDetailItem nodes.</desc>
    <longDesc>The panelAccordion control can be used to
display a group of contents belonging to a showDetailItem.  It supports
both a one-item-at-a-time mode - the default - or multiple-items-at-a-time.
The latter can be enabled by setting "discloseMany" to true.  Visually,
an accordion looks like a series of accordion bars,
with panels below the bar representing disclosed showDetailItem children.</longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>discloseNone</name>
      <jspName>discloseNone</jspName>
      <fieldName>_discloseNone</fieldName>
      <className>boolean</className>
      <desc>Indicates whether a minimum of one detail item must be
disclosed at a time.  Use "false" (the default) to keep a minimum of one
detail item disclosed at all times.  Use "true" to make it possible for
all items to be collapsed.</desc>
      <longDesc>Indicates whether a minimum of one detail item must be
disclosed at a time.  Use "false" (the default) to keep a minimum of one
detail item disclosed at all times.  Use "true" to make it possible for
all items to be collapsed.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>discloseMany</name>
      <jspName>discloseMany</jspName>
      <fieldName>_discloseMany</fieldName>
      <className>boolean</className>
      <desc>Indicates whether more than one detail item may be
disclosed at a time.  Use "false" (the default) to keep a maximum of
one detail item disclosed at all times.  Use "true" to make it
possible for multiple detail items to be disclosed.</desc>
      <longDesc>Indicates whether more than one detail item may be
disclosed at a time.  Use "false" (the default) to keep a maximum of
one detail item disclosed at all times.  Use "true" to make it
possible for multiple detail items to be disclosed.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CorePanelBorderLayout</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXPanel</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CorePanelBorderLayout</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXPanel</sourceClassParentClassName>
    <name>tr:panelBorderLayout</name>
    <type>org.apache.myfaces.trinidad.CorePanelBorderLayout</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelBorderLayoutTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.BorderLayout</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>top</name>
      <desc>Content to be rendered above the children.</desc>
      <longDesc>Content to be rendered above the children.</longDesc>
    </facet>
    <facet>
      <name>bottom</name>
      <desc>Content to be rendered below the children.</desc>
      <longDesc>Content to be rendered below the children.</longDesc>
    </facet>
    <facet>
      <name>left</name>
      <desc>Content to be rendered to the left of the children and
                between any top and bottom facets.</desc>
      <longDesc>Content to be rendered to the left of the children and
                between any top and bottom facets.</longDesc>
    </facet>
    <facet>
      <name>right</name>
      <desc>Content to be rendered to the right of the children and
                between any top and bottom facets.</desc>
      <longDesc>Content to be rendered to the right of the children and
                between any top and bottom facets.</longDesc>
    </facet>
    <facet>
      <name>start</name>
      <desc>Content to be rendered to the left of the children and
                between any top and bottom facets, if the reading direction is
                left-to-right, on the right otherwise.</desc>
      <longDesc>Content to be rendered to the left of the children and
                between any top and bottom facets, if the reading direction is
                left-to-right, on the right otherwise.</longDesc>
    </facet>
    <facet>
      <name>end</name>
      <desc>Content to be rendered to the right of the children and
                between any top and bottom facets, if the reading direction is
                left-to-right, on the left otherwise.</desc>
      <longDesc>Content to be rendered to the right of the children and
                between any top and bottom facets, if the reading direction is
                left-to-right, on the left otherwise.</longDesc>
    </facet>
    <facet>
      <name>innerTop</name>
      <desc>Content to be rendered above the children, inside of 'top'.</desc>
      <longDesc>Content to be rendered above the children, inside of 'top'.</longDesc>
    </facet>
    <facet>
      <name>innerBottom</name>
      <desc>Content to be rendered below the children, but above 'bottom'.</desc>
      <longDesc>Content to be rendered below the children, but above 'bottom'.</longDesc>
    </facet>
    <facet>
      <name>innerLeft</name>
      <desc>Content to be rendered to the left of the children and
                between any innerTop and innerBottom facets, to the right of the left facet.</desc>
      <longDesc>Content to be rendered to the left of the children and
                between any innerTop and innerBottom facets, to the right of the left facet.</longDesc>
    </facet>
    <facet>
      <name>innerRight</name>
      <desc>Content to be rendered to the right of the children and
                between any innerTop and innerBottom facets.</desc>
      <longDesc>Content to be rendered to the right of the children and
                between any innerTop and innerBottom facets.</longDesc>
    </facet>
    <facet>
      <name>innerStart</name>
      <desc>the equivalent of innerLeft on left-to-right clients and innerRight on right-to-left clients.</desc>
      <longDesc>the equivalent of innerLeft on left-to-right clients and innerRight on right-to-left clients.</longDesc>
    </facet>
    <facet>
      <name>innerEnd</name>
      <desc>the equivalent of innerRight on left-to-right clients and innerLeft on right-to-left clients.</desc>
      <longDesc>the equivalent of innerRight on left-to-right clients and innerLeft on right-to-left clients.</longDesc>
    </facet>
    <desc>The panelBorderLayout component is a layout element which lays out all of its
          children consecutively in its middle, and supports the following
          facets: top, bottom, left, right, start, end, innerTop, innerBottom, innerLeft, innerRight, innerStart, and innerEnd</desc>
    <longDesc>
<![CDATA[
The panelBorderLayout component is a layout element which lays out all of its
          children consecutively in its middle, and supports twelve other
          facets: top, bottom, left, right, start and end. Clients should use only
          one of left/right or start/end for each side, in any one container, but if both are used,
          left/right &quot;wins&quot;.
]]>
    </longDesc>
    <property>
      <name>layout</name>
      <jspName>layout</jspName>
      <fieldName>_layout</fieldName>
      <className>java.lang.String</className>
      <desc>Changes how the panel is rendered. The default is to expand the panel to fix the size of its contents.
        Setting the value to positioned will force the panel to use the size given to it via CSS (either via the
        styleClass, inlineStyle or via the skin). The facets are sized using the height and width attributes and
        the center is given the remainder. With a positioned layout the height and width should be set and the
        position should be set to relative or absolute. Note that due to limitations in IE6, the positioned layout
        uses JavaScript resizing that will affect performance. Expand is the default.</desc>
      <longDesc>Changes how the panel is rendered. The default is to expand the panel to fix the size of its contents.
        Setting the value to positioned will force the panel to use the size given to it via CSS (either via the
        styleClass, inlineStyle or via the skin). The facets are sized using the height and width attributes and
        the center is given the remainder. With a positioned layout the height and width should be set and the
        position should be set to relative or absolute. Note that due to limitations in IE6, the positioned layout
        uses JavaScript resizing that will affect performance. Expand is the default.</longDesc>
      <defaultValue>expand</defaultValue>
    </property>
    <property>
      <name>topHeight</name>
      <jspName>topHeight</jspName>
      <fieldName>_topHeight</fieldName>
      <className>java.lang.String</className>
      <desc>Specifies the CSS height to give to the top facet in valid CSS units.
        Used if the layout is positioned and the top facet is present and rendered. Defaults to 25%.</desc>
      <longDesc>Specifies the CSS height to give to the top facet in valid CSS units.
        Used if the layout is positioned and the top facet is present and rendered. Defaults to 25%.</longDesc>
      <defaultValue>25%</defaultValue>
    </property>
    <property>
      <name>bottomHeight</name>
      <jspName>bottomHeight</jspName>
      <fieldName>_bottomHeight</fieldName>
      <className>java.lang.String</className>
      <desc>Specifies the CSS height to give to the bottom facet in valid CSS units.
        Used if the layout is positioned and the bottom facet is present and rendered. Defaults to 25%.</desc>
      <longDesc>Specifies the CSS height to give to the bottom facet in valid CSS units.
        Used if the layout is positioned and the bottom facet is present and rendered. Defaults to 25%.</longDesc>
      <defaultValue>25%</defaultValue>
    </property>
    <property>
      <name>innerTopHeight</name>
      <jspName>innerTopHeight</jspName>
      <fieldName>_innerTopHeight</fieldName>
      <className>java.lang.String</className>
      <desc>Specifies the CSS height to give to the inner top facet in valid CSS units.
        Used if the layout is positioned and the inner top facet is present and rendered. Defaults to 25%.</desc>
      <longDesc>Specifies the CSS height to give to the inner top facet in valid CSS units.
        Used if the layout is positioned and the inner top facet is present and rendered. Defaults to 25%.</longDesc>
      <defaultValue>25%</defaultValue>
    </property>
    <property>
      <name>innerBottomHeight</name>
      <jspName>innerBottomHeight</jspName>
      <fieldName>_innerBottomHeight</fieldName>
      <className>java.lang.String</className>
      <desc>Specifies the CSS height to give to the inner bottom facet in valid CSS units.
        Used if the layout is positioned and the inner bottom facet is present and rendered. Defaults to 25%.</desc>
      <longDesc>Specifies the CSS height to give to the inner bottom facet in valid CSS units.
        Used if the layout is positioned and the inner bottom facet is present and rendered. Defaults to 25%.</longDesc>
      <defaultValue>25%</defaultValue>
    </property>
    <property>
      <name>startWidth</name>
      <jspName>startWidth</jspName>
      <fieldName>_startWidth</fieldName>
      <className>java.lang.String</className>
      <desc>Specifies the CSS width to give to the start facet in valid CSS units.
        Used if the layout is positioned and the start facet is present and rendered and the left or right facet
        is not used instead. Defaults to 25%.</desc>
      <longDesc>Specifies the CSS width to give to the start facet in valid CSS units.
        Used if the layout is positioned and the start facet is present and rendered and the left or right facet
        is not used instead. Defaults to 25%.</longDesc>
      <defaultValue>25%</defaultValue>
    </property>
    <property>
      <name>endWidth</name>
      <jspName>endWidth</jspName>
      <fieldName>_endWidth</fieldName>
      <className>java.lang.String</className>
      <desc>Specifies the CSS width to give to the end facet in valid CSS units.
        Used if the layout is positioned and the end facet is present and rendered and the left or right facet
        is not used instead. Defaults to 25%.</desc>
      <longDesc>Specifies the CSS width to give to the end facet in valid CSS units.
        Used if the layout is positioned and the end facet is present and rendered and the left or right facet
        is not used instead. Defaults to 25%.</longDesc>
      <defaultValue>25%</defaultValue>
    </property>
    <property>
      <name>leftWidth</name>
      <jspName>leftWidth</jspName>
      <fieldName>_leftWidth</fieldName>
      <className>java.lang.String</className>
      <desc>Specifies the CSS width to give to the left facet in valid CSS units.
        Used if the layout is positioned and the left facet is present and rendered. Defaults to 25%.</desc>
      <longDesc>Specifies the CSS width to give to the left facet in valid CSS units.
        Used if the layout is positioned and the left facet is present and rendered. Defaults to 25%.</longDesc>
      <defaultValue>25%</defaultValue>
    </property>
    <property>
      <name>rightWidth</name>
      <jspName>rightWidth</jspName>
      <fieldName>_rightWidth</fieldName>
      <className>java.lang.String</className>
      <desc>Specifies the CSS width to give to the right facet in valid CSS units.
        Used if the layout is positioned and the right facet is present and rendered. Defaults to 25%.</desc>
      <longDesc>Specifies the CSS width to give to the right facet in valid CSS units.
        Used if the layout is positioned and the right facet is present and rendered. Defaults to 25%.</longDesc>
      <defaultValue>25%</defaultValue>
    </property>
    <property>
      <name>innerStartWidth</name>
      <jspName>innerStartWidth</jspName>
      <fieldName>_innerStartWidth</fieldName>
      <className>java.lang.String</className>
      <desc>Specifies the CSS width to give to the inner start facet in valid CSS units.
        Used if the layout is positioned and the inner start facet is present and rendered and the inner left or right facet
        is not used instead. Defaults to 25%.</desc>
      <longDesc>Specifies the CSS width to give to the inner start facet in valid CSS units.
        Used if the layout is positioned and the inner start facet is present and rendered and the inner left or right facet
        is not used instead. Defaults to 25%.</longDesc>
      <defaultValue>25%</defaultValue>
    </property>
    <property>
      <name>innerEndWidth</name>
      <jspName>innerEndWidth</jspName>
      <fieldName>_innerEndWidth</fieldName>
      <className>java.lang.String</className>
      <desc>Specifies the CSS width to give to the inner end facet in valid CSS units.
        Used if the layout is positioned and the inner end facet is present and rendered and the inner left or right facet
        is not used instead. Defaults to 25%.</desc>
      <longDesc>Specifies the CSS width to give to the inner end facet in valid CSS units.
        Used if the layout is positioned and the inner end facet is present and rendered and the inner left or right facet
        is not used instead. Defaults to 25%.</longDesc>
      <defaultValue>25%</defaultValue>
    </property>
    <property>
      <name>innerLeftWidth</name>
      <jspName>innerLeftWidth</jspName>
      <fieldName>_innerLeftWidth</fieldName>
      <className>java.lang.String</className>
      <desc>Specifies the CSS width to give to the inner left facet in valid CSS units.
        Used if the layout is positioned and the inner left facet is present and rendered. Defaults to 25%.</desc>
      <longDesc>Specifies the CSS width to give to the inner left facet in valid CSS units.
        Used if the layout is positioned and the inner left facet is present and rendered. Defaults to 25%.</longDesc>
      <defaultValue>25%</defaultValue>
    </property>
    <property>
      <name>innerRightWidth</name>
      <jspName>innerRightWidth</jspName>
      <fieldName>_innerRightWidth</fieldName>
      <className>java.lang.String</className>
      <desc>Specifies the CSS width to give to the inner right facet in valid CSS units.
        Used if the layout is positioned and the inner right facet is present and rendered. Defaults to 25%.</desc>
      <longDesc>Specifies the CSS width to give to the inner right facet in valid CSS units.
        Used if the layout is positioned and the inner right facet is present and rendered. Defaults to 25%.</longDesc>
      <defaultValue>25%</defaultValue>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CorePanelBox</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXPanel</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CorePanelBox</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXPanel</sourceClassParentClassName>
    <name>tr:panelBox</name>
    <type>org.apache.myfaces.trinidad.CorePanelBox</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelBoxTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Box</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The panelBox is used to place ancillary information on a page,
offset by a certain color.</desc>
    <longDesc>
<![CDATA[
<html:p>
  The panelBox is used to place ancillary information on a page,
  offset by a certain color.
</html:p>
<html:p>
  There are four possible attributes to set for the content container.
  The width of the container can be set to either an exact pixel size or
  a percentage of the element the content container is within.  This is
  done by using the inlineStyle or styleClass attributes.
</html:p>
<html:p>
  Content containers can have headers and icons.  Set the text and icon
  attributes to gain these items.  If neither is set, the content
  container will only display its children.  If there is a header but no
  icon, the header will show and the content will be offset to line up with
  the start of the header.  If an icon is set, the icon will appear to the
  left of the header, but the content will still be offset to the left of the
  header.  If an icon is set but no header, the icon will still be displayed
  on the left but no header text will be visible.
</html:p>
<html:p>
  Content containers can have various color schemes, which can be specified
  by setting the background attribute.  The values for the background attribute
  are light, medium, dark, and transparent.  The default is light.  Please note
  that changing the background attribute may also change the appearance of the
  title bar.
</html:p>
<html:p>
  You can make changes to the style of the content region of this component by
  adding your custom styles to the contentStyle attribute.
</html:p>
<html:p>
  Content containers will generally have only one child with the actual
  contents as its children. This child will describe how the content should be
  displayed.  However, the content container can have multiple children, in
  which case the children are displayed in a stack fashion, lined up
  vertically.
</html:p>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>text</name>
      <jspName>text</jspName>
      <fieldName>_text</fieldName>
      <className>java.lang.String</className>
      <desc>The header of the content container.</desc>
      <longDesc>The header of the content container.</longDesc>
    </property>
    <property>
      <name>background</name>
      <jspName>background</jspName>
      <fieldName>_background</fieldName>
      <className>java.lang.String</className>
      <desc>the appearance type of the content container. It should be one of "light",
"medium", "dark", or "transparent"</desc>
      <longDesc>the appearance type of the content container. It should be one of "light",
"medium", "dark", or "transparent"</longDesc>
      <defaultValue>light</defaultValue>
    </property>
    <property>
      <name>icon</name>
      <jspName>icon</jspName>
      <fieldName>_icon</fieldName>
      <className>java.lang.String</className>
      <desc>An URL to an image to use for the icon of
the content container.</desc>
      <longDesc>An URL to an image to use for the icon of
the content container.</longDesc>
    </property>
    <property>
      <name>contentStyle</name>
      <jspName>contentStyle</jspName>
      <fieldName>_contentStyle</fieldName>
      <className>java.lang.String</className>
      <desc>The inline style of the content region.</desc>
      <longDesc>The inline style of the content region.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CorePanelButtonBar</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXPanel</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CorePanelButtonBar</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXPanel</sourceClassParentClassName>
    <name>tr:panelButtonBar</name>
    <type>org.apache.myfaces.trinidad.CorePanelButtonBar</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelButtonBarTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.ButtonBar</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The panelButtonBar lays out a set of buttons.</desc>
    <longDesc>The panelButtonBar lays out a set of buttons.</longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>halign</name>
      <jspName>halign</jspName>
      <fieldName>_halign</fieldName>
      <className>java.lang.String</className>
      <desc>the horizontal alignment to one of start, end, left,
right, or center.</desc>
      <longDesc>the horizontal alignment to one of start, end, left,
right, or center.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CorePanelCaptionGroup</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXPanel</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CorePanelCaptionGroup</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXPanel</sourceClassParentClassName>
    <name>tr:panelCaptionGroup</name>
    <type>org.apache.myfaces.trinidad.CorePanelCaptionGroup</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelCaptionGroupTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.PanelCaptionGroup</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>caption</name>
      <desc>Content to be rendered as the caption for the group content.  The
      facet takes precidence over the captionText attribute and can be used to specify more complex
      or non-text captions (e.g. images).</desc>
      <longDesc>Content to be rendered as the caption for the group content.  The
      facet takes precidence over the captionText attribute and can be used to specify more complex
      or non-text captions (e.g. images).</longDesc>
    </facet>
    <desc>The panelCaptionGroup is used to render a set of components,
      into a related and more managable grouping.  The group is surrounded by a border
      containing the group caption.</desc>
    <longDesc>
<![CDATA[
<html:p>
The panelCaptionGroup is used to render a set of components, into a related and more
managable grouping.  The group is surrounded by a border containing the group caption.
</html:p>
<html:p>
The caption facet can be used to specify a complex caption (e.g. Icons, Links, etc.) for the
content group.  For simple captions, the captionText attribute will suffice.
</html:p>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>captionText</name>
      <jspName>captionText</jspName>
      <fieldName>_captionText</fieldName>
      <className>java.lang.String</className>
      <desc>The text to be rendered as the caption for the group content.</desc>
      <longDesc>The text to be rendered as the caption for the group content.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CorePanelChoice</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXShowOne</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CorePanelChoice</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXShowOne</sourceClassParentClassName>
    <name>tr:panelChoice</name>
    <type>org.apache.myfaces.trinidad.CorePanelChoice</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelChoiceTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Choice</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The panelChoice control creates, contains and shows a series of items defined by showDetailItem nodes.</desc>
    <longDesc>The panelChoice control can be used to display a group of contents belonging to a showDetailItem.
          A choice control with each individual option representing a showDetailItem child is displayed.
          An option within choice control corresponding to showDetailItem that is disclosed is shown as
          selected and contents of selected showDetailItem is displayed. If none of the showDetailItem
          children are selected, the first showDetailItem that is enabled is considered to be selected.</longDesc>
    <property>
      <name>label</name>
      <jspName>label</jspName>
      <fieldName>_label</fieldName>
      <className>java.lang.String</className>
      <desc>the user-visible text of the item</desc>
      <longDesc>the user-visible text of the item</longDesc>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>labelAndAccessKey</name>
      <jspName>labelAndAccessKey</jspName>
      <fieldName>_labelAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>position</name>
      <jspName>position</jspName>
      <fieldName>_position</fieldName>
      <className>java.lang.String</className>
      <desc>position of the control elements. Defaults to
         "start", if not specified. Other value supported is"top".</desc>
      <longDesc>position of the control elements. Defaults to
         "start", if not specified. Other value supported is"top".</longDesc>
      <defaultValue>start</defaultValue>
    </property>
    <property>
      <name>alignment</name>
      <jspName>alignment</jspName>
      <fieldName>_alignment</fieldName>
      <className>java.lang.String</className>
      <desc>alignment of the elements. Defaults to
         "center", if not specified. Other values are "start",
         "end", "top", and "bottom".</desc>
      <longDesc>alignment of the elements. Defaults to
         "center", if not specified. Other values are "start",
         "end", "top", and "bottom".</longDesc>
      <defaultValue>center</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CorePanelFormLayout</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXPanel</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CorePanelFormLayout</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXPanel</sourceClassParentClassName>
    <name>tr:panelFormLayout</name>
    <type>org.apache.myfaces.trinidad.CorePanelFormLayout</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelFormLayoutTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.FormLayout</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>footer</name>
      <desc>
<![CDATA[
This facet is rendered under the columns and usually contains a panelButtonBar.
             <p>
This facet may not always line up perfectly, especially if the labels or fields are longer than expected.  Try adjusting things with the labelWidth and fieldWidth attributes when necessary.  Also, the columns attribute on inputText may be helpful.
             </p>
]]>
      </desc>
      <longDesc>
<![CDATA[
This facet is rendered under the columns and usually contains a panelButtonBar.
             <p>
This facet may not always line up perfectly, especially if the labels or fields are longer than expected.  Try adjusting things with the labelWidth and fieldWidth attributes when necessary.  Also, the columns attribute on inputText may be helpful.
             </p>
]]>
      </longDesc>
    </facet>
    <desc>The panelFormLayout lays out input form controls, such that their labels and fields line up vertically.  The children of this component are input controls, they are inputText, inputHidden, inputFile, inputColor, inputListOfValues, inputDate, selectBooleanCheckBox, selectBooleanRadio, selectOneChoice, selectOneListBox, selectOneRadio, selectManyListBox and panelLabelAndMessage.  These components must have their "simple" attribute set to false (the default).  For cases where other controls are required inside panelFormLayout, wrap them in a panelLabelAndMessage.

This component can be used to lay out multiple columns using the rows attribute.  The children are laid out down and then across.  Note that this layout is not a table layout so there is no overall table row.  Instead, rows are unique per column; in one column a row may consume more vertical space than a nearby row in another column.

The panelFormLayout is an example of one of the components that has support for grouping its children components.
If you place panelFormLayout child items inside of a group, separators will be drawn around the group of form items if adjacent to other form items (separators won't be drawn at the top if the group is the first item in the column or, similarly, at the bottom if the group is the last item in the column).
Grouped panelFormLayout items are kept in the same column of the panelFormLayout even when the assigned rows attribute is set to a value smaller than the number of items in the group.
The panelFormLayout component also supports the group component in its footer facet so you can place more than one item in the footer.  You can even group footer items one additional time to get separators to appear.</desc>
    <longDesc>
<![CDATA[
<html:p>
           The panelFormLayout lays out input form controls, such that their
           labels and fields line up vertically.  It supports multiple
           columns, and also supports a footer facet.
          </html:p>
          <html:p>
           Usually, this component will simply contain labelled Apache Trinidad input
           components in its main content - these are inputText, inputFile,
           inputColor, inputListOfValues, inputDate,
           selectBooleanCheckbox, selectBooleanRadio, selectOneChoice,
           selectOneListbox, selectOneRadio, selectManyCheckbox, and
           selectManyListbox.  These components must have
           their &quot;simple&quot; attribute set to false, which is the default,
           and will cause the labels and fields inside the panelFormLayout
           to be aligned vertically.
          </html:p>
          <html:p>
           When more complex field contents are needed, use
           a panelLabelAndMessage around the more complex contents
           needed;  see the example below.
          </html:p>
          <html:p>
           Other components can be added to panelFormLayout, but they
           will not line up with labels and fields automatically,
           and each will appear on its own row.
           You can use other panel components - like panelHorizontal -
           to get some level of layout within a row, but to align
           contents with the other labels and fields, use panelLabelAndMessage
           or the &quot;footer&quot; facet.
          </html:p>
          <html:p>
           The panelFormLayout is an example of one of the components that has support
           for grouping its children components.
           If you place panelFormLayout child items inside of a group, separators will
           be drawn around the group of form items if adjacent to other form items
           (separators won't be drawn at the top if the group is the first item in
           the column or, similarly, at the bottom if the group is the last item
           in the column).
           Grouped panelFormLayout items are kept in the same column of the panelFormLayout
           even when the assigned rows attribute is set to a value smaller than
           the number of items in the group.
           The panelFormLayout component also supports the group component in its footer
           facet so you can place more than one item in the footer.  You can even
           group footer items one additional time to get separators to appear.
          </html:p>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>fieldWidth</name>
      <jspName>fieldWidth</jspName>
      <fieldName>_fieldWidth</fieldName>
      <className>java.lang.String</className>
      <desc>The preferred width of the field.  Usually a percentage, but may be specified as either a percentage or an absolute number of pixels.  If the width is not specified, it will default appropriately.  If specified as a percentage the labelWidth plus the fieldWidth should add up to 100%, regardless of the number of columns.  If the fieldWidth is specified and is a percentage the labelWidth will be derived appropriately if not specified.</desc>
      <longDesc>The preferred width of the field.  Usually a percentage, but may be specified as either a percentage or an absolute number of pixels.  If the width is not specified, it will default appropriately.  If specified as a percentage the labelWidth plus the fieldWidth should add up to 100%, regardless of the number of columns.  If the fieldWidth is specified and is a percentage the labelWidth will be derived appropriately if not specified.</longDesc>
    </property>
    <property>
      <name>labelWidth</name>
      <jspName>labelWidth</jspName>
      <fieldName>_labelWidth</fieldName>
      <className>java.lang.String</className>
      <desc>The preferred width of the label.  Usually a percentage, but may be specified as either a percentage or an absolute number of pixels.  If the width is not specified, it will default appropriately.  If specified as a percentage the labelWidth plus the fieldWidth should add up to 100%, regardless of the number of columns.  If the labelWidth is specified and is a percentage the fieldWidth will be derived appropriately if not specified.</desc>
      <longDesc>The preferred width of the label.  Usually a percentage, but may be specified as either a percentage or an absolute number of pixels.  If the width is not specified, it will default appropriately.  If specified as a percentage the labelWidth plus the fieldWidth should add up to 100%, regardless of the number of columns.  If the labelWidth is specified and is a percentage the fieldWidth will be derived appropriately if not specified.</longDesc>
    </property>
    <property>
      <name>maxColumns</name>
      <jspName>maxColumns</jspName>
      <fieldName>_maxColumns</fieldName>
      <className>int</className>
      <desc>Sets the maximum number of columns to show.  This attribute defaults to 3 and 2 on PDAs.  If this panelFormLayout is inside of another panelFormLayout, this will always be 1.</desc>
      <longDesc>Sets the maximum number of columns to show.  This attribute defaults to 3 and 2 on PDAs.  If this panelFormLayout is inside of another panelFormLayout, this will always be 1.</longDesc>
    </property>
    <property>
      <name>rows</name>
      <jspName>rows</jspName>
      <fieldName>_rows</fieldName>
      <className>int</className>
      <desc>Sets the number of rows after which to start a new column.  This attribute defaults to Integer.MAX_VALUE.  The number of rows actually rendered depends also on the "maxColumns" property.  If the children will not fit in the given number of rows and columns, the number of rows will increase to accomodate the children.</desc>
      <longDesc>Sets the number of rows after which to start a new column.  This attribute defaults to Integer.MAX_VALUE.  The number of rows actually rendered depends also on the "maxColumns" property.  If the children will not fit in the given number of rows and columns, the number of rows will increase to accomodate the children.</longDesc>
    </property>
    <property>
      <name>labelAlignment</name>
      <jspName>labelAlignment</jspName>
      <fieldName>_labelAlignment</fieldName>
      <className>java.lang.String</className>
      <desc>The alignment of label prompts for the form items.</desc>
      <longDesc>The alignment of label prompts for the form items.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CorePanelGroupLayout</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXPanel</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CorePanelGroupLayout</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXPanel</sourceClassParentClassName>
    <name>tr:panelGroupLayout</name>
    <type>org.apache.myfaces.trinidad.CorePanelGroupLayout</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelGroupLayoutTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.GroupLayout</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>separator</name>
      <desc>Content to be rendered once between each of the
                other children.</desc>
      <longDesc>Content to be rendered once between each of the
                other children.</longDesc>
    </facet>
    <desc>A panel component that displays its children in a group.</desc>
    <longDesc>The panelGroupLayout control is a layout element that
arranges its children in one of a few simple patterns.
Each pair of adjacent children will be separated
by an optional separator child.  It can lay out
children consecutively (wrapping as needed), or in a single
horizontal line, or vertically.</longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>layout</name>
      <jspName>layout</jspName>
      <fieldName>_layout</fieldName>
      <className>java.lang.String</className>
      <desc>Type of layout, either "vertical", "horizontal" (no wrapping) or"default" (horizontal with wrapping).</desc>
      <longDesc>Type of layout, either "vertical", "horizontal" (no wrapping) or"default" (horizontal with wrapping).</longDesc>
      <defaultValue>default</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CorePanelHeader</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXPanel</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CorePanelHeader</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXPanel</sourceClassParentClassName>
    <name>tr:panelHeader</name>
    <type>org.apache.myfaces.trinidad.CorePanelHeader</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelHeaderTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Header</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The panelHeader control places a label and optional icon at the top of a section.</desc>
    <longDesc>
<![CDATA[
<html:p>
  The panelHeader control places a label and optional icon at the top of a
  section.
</html:p>

<section name="panelHeader and Messaging Information">
  <html:p>
    The panelHeader can also be used at the top of an application page to give
    the user important messaging information. The types of messages, set by
    the <html:code>messageType</html:code> attribute are:

    <html:ul>
      <html:li>error</html:li>
      <html:li>information</html:li>
      <html:li>warning</html:li>
      <html:li>confirmation</html:li>
    </html:ul>
  </html:p>
</section>

<section name="Header Size">
  <html:p>
    panelHeader does not support setting the CSS style, but does support setting
    a size. A large header (H1 in HTML) corresponds to 0, medium to 1, and small
    to 2.  Some render kits and skins support sizes up to 5 (equiv. H6 - HTML's
    maximum header value) but most renderkits and skins will only support up to
    2 (in compliance with the BLAF and BLAF+ specs.  Setting the header size to
    something greater then the supported value will style the header the same
    as the largest supported value (ie. size="6" will be displayed the same as
    either a size="5" if supported or a size="2").
  </html:p>
</section>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>text</name>
      <jspName>text</jspName>
      <fieldName>_text</fieldName>
      <className>java.lang.String</className>
      <desc>the label of the header.</desc>
      <longDesc>the label of the header.</longDesc>
    </property>
    <property>
      <name>icon</name>
      <jspName>icon</jspName>
      <fieldName>_icon</fieldName>
      <className>java.lang.String</className>
      <desc>the URI for the icon of the header.</desc>
      <longDesc>the URI for the icon of the header.</longDesc>
    </property>
    <property>
      <name>messageType</name>
      <jspName>messageType</jspName>
      <fieldName>_messageType</fieldName>
      <className>java.lang.String</className>
      <desc>Set if an error, info, confirmation, or warning header is needed.</desc>
      <longDesc>Set if an error, info, confirmation, or warning header is needed.</longDesc>
      <defaultValue>none</defaultValue>
    </property>
    <property>
      <name>size</name>
      <jspName>size</jspName>
      <fieldName>_size</fieldName>
      <className>int</className>
      <desc>Size of this panelHeader. The largest is 0 and corresponds to an H1 header
        the smallest is 5 and corresponds to an H6 Header.  Note that this version of the tag will 
        display all sizes above 2 the same as size 2. Setting the size to a negative number will
        allow the header to be calculated according to its parent header.  The default value for 
        this property is -1.</desc>
      <longDesc>Size of this panelHeader. The largest is 0 and corresponds to an H1 header
        the smallest is 5 and corresponds to an H6 Header.  Note that this version of the tag will 
        display all sizes above 2 the same as size 2. Setting the size to a negative number will
        allow the header to be calculated according to its parent header.  The default value for 
        this property is -1.</longDesc>
      <defaultValue>-1</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CorePanelHorizontalLayout</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXPanel</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CorePanelHorizontalLayout</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXPanel</sourceClassParentClassName>
    <name>tr:panelHorizontalLayout</name>
    <type>org.apache.myfaces.trinidad.CorePanelHorizontalLayout</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelHorizontalLayoutTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.HorizontalLayout</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>separator</name>
      <desc>Content to be rendered once between each of the
                other children.</desc>
      <longDesc>Content to be rendered once between each of the
                other children.</longDesc>
    </facet>
    <desc>The panelHorizontalLayout control is a layout element that
arranges its children horizontally. The vertical and horizontal alignment
can be specified.</desc>
    <longDesc>The panelHorizontalLayout control is a layout element that
arranges its children horizontally. The vertical and horizontal alignment
can be specified.
Each pair of adjacent children will be separated
by an optional separator child.</longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>valign</name>
      <jspName>valign</jspName>
      <fieldName>_valign</fieldName>
      <className>java.lang.String</className>
      <desc>the vertical alignment to one of top, bottom, middle, or baseline.</desc>
      <longDesc>the vertical alignment to one of top, bottom, middle, or baseline.</longDesc>
    </property>
    <property>
      <name>halign</name>
      <jspName>halign</jspName>
      <fieldName>_halign</fieldName>
      <className>java.lang.String</className>
      <desc>the horizontal alignment to one of start, end, left,
right, or center.</desc>
      <longDesc>the horizontal alignment to one of start, end, left,
right, or center.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CorePanelLabelAndMessage</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXPanel</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CorePanelLabelAndMessage</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXPanel</sourceClassParentClassName>
    <name>tr:panelLabelAndMessage</name>
    <type>org.apache.myfaces.trinidad.CorePanelLabelAndMessage</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelLabelAndMessageTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.LabelAndMessage</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>help</name>
      <desc>This facet should contain field level help.</desc>
      <longDesc>This facet should contain field level help.</longDesc>
    </facet>
    <facet>
      <name>end</name>
      <desc>Component to render after the children.</desc>
      <longDesc>Component to render after the children.</longDesc>
    </facet>
    <desc>This component lays out a label and children.
      Typically, the only child of this component will be an input element of some sort,
      but as many children as necessary can be added.  When using panelLabelAndMessage with
      a Trinidad input component, you should always set simple="true" on the input component.
      Non-simple Trinidad input components already effectively have all the functionality of
      panelLabelAndMessage. Note that the label and messages that are rendered only apply to the
      "for" component so messages and labels will not be shown if there are multiple input
      child components.
      To lay out multiple panelLabelAndMessage components - or multiple non-simple Trinidad
      input components - you can use the panelForm component.  When panelLabelAndMessage
      components are placed inside a panelForm the labels will line up.</desc>
    <longDesc>
<![CDATA[
<html:p>
          This component lays out a label, children, tip, and associated message.
          Typically, the only child of this component will be an
          input element of some sort, but as many children as necessary can
          be added.  When using panelLabelAndMessage with a Trinidad
          input component, you should <html:strong>always</html:strong>
          set <html:code>simple=&quot;true&quot;</html:code> on the input
          component.  Non-simple Trinidad input components already
          effectively have all the functionality of
          panelLabelAndMessage.
        </html:p>
        <html:p>
          Note that the label and messages that are rendered only apply to the
          "for" component so messages and labels will not be shown if there are multiple input
          child components.
        </html:p>
        <html:p>
          To lay out multiple panelLabelAndMessage components - or multiple
          non-simple Trinidad input components - you can use the
          panelForm component.  When panelLabelAndMessage components are
          placed inside a panelForm the labels will line up.
        </html:p>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>showRequired</name>
      <jspName>showRequired</jspName>
      <fieldName>_showRequired</fieldName>
      <className>boolean</className>
      <desc>whether the panel should show an indicator that its contents are required.</desc>
      <longDesc>whether the panel should show an indicator that its contents are required.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>label</name>
      <jspName>label</jspName>
      <fieldName>_label</fieldName>
      <className>java.lang.String</className>
      <desc>the label of the bean.</desc>
      <longDesc>the label of the bean.</longDesc>
    </property>
    <property>
      <name>labelStyle</name>
      <jspName>labelStyle</jspName>
      <fieldName>_labelStyle</fieldName>
      <className>java.lang.String</className>
      <desc>Specifies inline styles for the label portion of the component, e.g. "vertical-align: bottom;" to align the label to the bottom of the container.</desc>
      <longDesc>Specifies inline styles for the label portion of the component, e.g. "vertical-align: bottom;" to align the label to the bottom of the container.</longDesc>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>labelAndAccessKey</name>
      <jspName>labelAndAccessKey</jspName>
      <fieldName>_labelAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc><![CDATA[An attribute that will simultaneously set both the "label" and "accessKey" attributes from a single value, using conventional ampersand notation.  For example, setting this attribute to "T&amp;ext" will set the label to "Text" and the access key to 'e'.]]></desc>
      <longDesc><![CDATA[An attribute that will simultaneously set both the "label" and "accessKey" attributes from a single value, using conventional ampersand notation.  For example, setting this attribute to "T&amp;ext" will set the label to "Text" and the access key to 'e'.]]></longDesc>
    </property>
    <property>
      <name>for</name>
      <jspName>for</jspName>
      <fieldName>_for</fieldName>
      <className>java.lang.String</className>
      <desc>The ID of the component that this component's label refers to.</desc>
      <longDesc>The ID of the component that this component's label refers to.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CorePanelList</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXPanel</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CorePanelList</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXPanel</sourceClassParentClassName>
    <name>tr:panelList</name>
    <type>org.apache.myfaces.trinidad.CorePanelList</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelListTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.List</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The panelList control outputs each visible child
          in a list with a bullet next to it.</desc>
    <longDesc>
<![CDATA[
<html><p>The panelList component outputs each visible child
          in a list with a bullet next to it.
          The list can be split into columns. This is
          done by setting the &quot;rows&quot; attribute. This is the multiple
          of children at which to add another column.
          For example, if the &quot;rows&quot; attribute was set to 6 then if
          there were 1-6 visible children there would be
          one column, 7 to 12 visible children there
          would be 2 columns, and 13+ visible children
          would be shown in 3 columns. The number of
          columns is determined by the value set for &quot;maxColumns&quot; attribute.
          So if there were 100 visible children with &quot;rows&quot; set to 30 and
          &quot;maxColumns&quot; was set to 3 children, there will be 3
          columns (and 34 rows).
          If &quot;rows&quot; attribute is not specified, all visible contents will
          be in one column. The &quot;maxColumns&quot; that can be set is
          dependent on the type of Agent. If the value set for &quot;maxColumns&quot;
          is greater than the default for the agent, then it is defaulted.
          The default maxColumns value is 2 for the PDA.
          Children are not displayed/rendered if value of &quot;maxColumns&quot;
          or &quot;rows&quot; is less than one.
          The split is based solely on the number of visible children and
          not on their size.</p></html>
]]>
    </longDesc>
    <property>
      <name>listStyle</name>
      <jspName>listStyle</jspName>
      <fieldName>_listStyle</fieldName>
      <className>java.lang.String</className>
      <desc>Styles the list. For example, you can style the list to be squares like this:
      listStyle='list-style-type:square'</desc>
      <longDesc>Styles the list. For example, you can style the list to be squares like this:
      listStyle='list-style-type:square'</longDesc>
    </property>
    <property>
      <name>rows</name>
      <jspName>rows</jspName>
      <fieldName>_rows</fieldName>
      <className>int</className>
      <desc>Sets
                  the number of rows after which to start a new column.
                  This attribute defaults to Integer.MAX_VALUE.
                  The number of rows actually rendered depends also on the
                  "maxColumns" attribute.
                  If the children will not fit in the given number
                  of rows and columns, the number of rows will
                  increase to accomodate the children.</desc>
      <longDesc>Sets
                  the number of rows after which to start a new column.
                  This attribute defaults to Integer.MAX_VALUE.
                  The number of rows actually rendered depends also on the
                  "maxColumns" attribute.
                  If the children will not fit in the given number
                  of rows and columns, the number of rows will
                  increase to accomodate the children.</longDesc>
      <defaultValue>2147483647</defaultValue>
    </property>
    <property>
      <name>maxColumns</name>
      <jspName>maxColumns</jspName>
      <fieldName>_maxColumns</fieldName>
      <className>int</className>
      <desc>Sets
                  the maximum number of columns to show.
                  This attribute defaults to 3 and defaults to 2 for PDA's</desc>
      <longDesc>Sets
                  the maximum number of columns to show.
                  This attribute defaults to 3 and defaults to 2 for PDA's</longDesc>
      <defaultValue>3</defaultValue>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CorePanelPage</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXPanel</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CorePanelPage</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXPanel</sourceClassParentClassName>
    <name>tr:panelPage</name>
    <type>org.apache.myfaces.trinidad.CorePanelPage</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelPageTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Page</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>appAbout</name>
      <desc>Area to put a commandLink to more information about the application.</desc>
      <longDesc>Area to put a commandLink to more information about the application.</longDesc>
    </facet>
    <facet>
      <name>appCopyright</name>
      <desc>The copyright region of the page.  If present, this area
                typically contains an outputText with the copyright information.</desc>
      <longDesc>The copyright region of the page.  If present, this area
                typically contains an outputText with the copyright information.</longDesc>
    </facet>
    <facet>
      <name>appPrivacy</name>
      <desc>The privacy region of the page.  If present, this area
                typically contains a commandLink to the privacy policy for the
                application.</desc>
      <longDesc>The privacy region of the page.  If present, this area
                typically contains a commandLink to the privacy policy for the
                application.</longDesc>
    </facet>
    <facet>
      <name>branding</name>
      <desc>The branding region of the page.  This section typically
                contains a horizontal panelGroup for an image of a logo and an
                outputText for a title.</desc>
      <longDesc>The branding region of the page.  This section typically
                contains a horizontal panelGroup for an image of a logo and an
                outputText for a title.</longDesc>
    </facet>
    <facet>
      <name>infoFootnote</name>
      <desc>The footnote information region.  This region provides a location for
                page-level information that is ancillary to the user's task.</desc>
      <longDesc>The footnote information region.  This region provides a location for
                page-level information that is ancillary to the user's task.</longDesc>
    </facet>
    <facet>
      <name>infoReturn</name>
      <desc>The return information region. Typically this will contain a "return to [X]" link.</desc>
      <longDesc>The return information region. Typically this will contain a "return to [X]" link.</longDesc>
    </facet>
    <facet>
      <name>infoStatus</name>
      <desc>The status information region. This region
                provides a location for page-level status that is important to
                the user's task.</desc>
      <longDesc>The status information region. This region
                provides a location for page-level status that is important to
                the user's task.</longDesc>
    </facet>
    <facet>
      <name>infoUser</name>
      <desc>The user information region.  This region provides a location for
                presenting user sign-in and connection information.</desc>
      <longDesc>The user information region.  This region provides a location for
                presenting user sign-in and connection information.</longDesc>
    </facet>
    <facet>
      <name>location</name>
      <desc>The locator region of the page.  If present, this section
                typically contains either a processTrain, indicating the user's
                location in a multistep process, or navigationPath, containing
                links that will bring the user back to each of the parent
                pages of a tree of pages that he has navigated down into.</desc>
      <longDesc>The locator region of the page.  If present, this section
                typically contains either a processTrain, indicating the user's
                location in a multistep process, or navigationPath, containing
                links that will bring the user back to each of the parent
                pages of a tree of pages that he has navigated down into.</longDesc>
    </facet>
    <facet>
      <name>navigation1</name>
      <desc>This location typically contains tabs for the primary layer.</desc>
      <longDesc>This location typically contains tabs for the primary layer.</longDesc>
    </facet>
    <facet>
      <name>navigation2</name>
      <desc>This location typically contains tabs for the secondary layer.</desc>
      <longDesc>This location typically contains tabs for the secondary layer.</longDesc>
    </facet>
    <facet>
      <name>navigation3</name>
      <desc>An optional vertically oriented region of contexual components for the main content.  Often this contains a list or tree of links for deeper navigation structure than the global, primary, and secondary regions can provide.</desc>
      <longDesc>An optional vertically oriented region of contexual components for the main content.  Often this contains a list or tree of links for deeper navigation structure than the global, primary, and secondary regions can provide.</longDesc>
    </facet>
    <facet>
      <name>navigationGlobal</name>
      <desc>This section typically contains global application links or otherwise top level navigation structure links, e.g. "Home", "Preferences", "Help", and "Sign Out".</desc>
      <longDesc>This section typically contains global application links or otherwise top level navigation structure links, e.g. "Home", "Preferences", "Help", and "Sign Out".</longDesc>
    </facet>
    <facet>
      <name>search</name>
      <desc>The search region of the page.  Typically used for application or system-wide searches.</desc>
      <longDesc>The search region of the page.  Typically used for application or system-wide searches.</longDesc>
    </facet>
    <desc>PanelPage lays out an entire page.</desc>
    <longDesc>PanelPage lays out an entire page.
        It supports several navigation and content areas for the creation of pages.
        When the panelPage is geometry managed, the last indexed child will be stretched vertically to fit in the leftover space not consumed by the other indexed children. If you do not want this stretching behavior, you must wrap your indexed children with a panelGroup with layout="vertical" and inlineStyle="overflow: auto;". This way, the panelGroup will be stretched to fit and scrollbars will appear when the content inside is larger than the allocated space.</longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>auxiliary1Size</name>
      <jspName>auxiliary1Size</jspName>
      <fieldName>_auxiliary1Size</fieldName>
      <className>int</className>
      <desc>Specifies the number of pixels that the auxiliary1 content should consume (this is a width if the orientationis "start" or "end" or a height if the orientation is "bottom").</desc>
      <longDesc>Specifies the number of pixels that the auxiliary1 content should consume (this is a width if the orientationis "start" or "end" or a height if the orientation is "bottom").</longDesc>
      <defaultValue>200</defaultValue>
    </property>
    <property>
      <name>auxiliary2Size</name>
      <jspName>auxiliary2Size</jspName>
      <fieldName>_auxiliary2Size</fieldName>
      <className>int</className>
      <desc>Specifies the number of pixels that the auxiliary2 content should consume (this is a width if the orientationis "start" or "end" or a height if the orientation is "bottom").</desc>
      <longDesc>Specifies the number of pixels that the auxiliary2 content should consume (this is a width if the orientationis "start" or "end" or a height if the orientation is "bottom").</longDesc>
      <defaultValue>200</defaultValue>
    </property>
    <property>
      <name>auxiliaryGlobalSize</name>
      <jspName>auxiliaryGlobalSize</jspName>
      <fieldName>_auxiliaryGlobalSize</fieldName>
      <className>int</className>
      <desc>Specifies the number of pixels that the auxiliaryGlobal content should consume (this is a width if the orientationis "start" or "end" or a height if the orientation is "bottom").</desc>
      <longDesc>Specifies the number of pixels that the auxiliaryGlobal content should consume (this is a width if the orientationis "start" or "end" or a height if the orientation is "bottom").</longDesc>
      <defaultValue>200</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CorePanelPageHeader</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXPanel</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CorePanelPageHeader</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXPanel</sourceClassParentClassName>
    <name>tr:panelPageHeader</name>
    <type>org.apache.myfaces.trinidad.CorePanelPageHeader</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelPageHeaderTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.PageHeader</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>navigation1</name>
      <desc>This location typically contains a menuTabs.</desc>
      <longDesc>This location typically contains a menuTabs.</longDesc>
    </facet>
    <facet>
      <name>navigation2</name>
      <desc>This location typically contains a menuBar.</desc>
      <longDesc>This location typically contains a menuBar.</longDesc>
    </facet>
    <facet>
      <name>navigationGlobal</name>
      <desc>This section typically contains a menuButtons.</desc>
      <longDesc>This section typically contains a menuButtons.</longDesc>
    </facet>
    <facet>
      <name>menuSwitch</name>
      <desc>This location typically contains a menuChoice.</desc>
      <longDesc>This location typically contains a menuChoice.</longDesc>
    </facet>
    <facet>
      <name>branding</name>
      <desc>The corporate or organization branding region of the page.  This section typically
                contains a medium size image of the logo of the organization
                owning the page.</desc>
      <longDesc>The corporate or organization branding region of the page.  This section typically
                contains a medium size image of the logo of the organization
                owning the page.</longDesc>
    </facet>
    <facet>
      <name>brandingApp</name>
      <desc>The application, module, or product branding region of the page.
                This section typically contains a image of the application logo.</desc>
      <longDesc>The application, module, or product branding region of the page.
                This section typically contains a image of the application logo.</longDesc>
    </facet>
    <facet>
      <name>brandingAppContextual</name>
      <desc>The application's contextual branding region of the page.  This section typically
                contains formatted text indicating that ONE context exists
                between the persistent tabs. The user selects the context
                from a centralized aggregate home page of multiple contexts,
                then navigates into a tabbed application pertaining to that
                specific context.</desc>
      <longDesc>The application's contextual branding region of the page.  This section typically
                contains formatted text indicating that ONE context exists
                between the persistent tabs. The user selects the context
                from a centralized aggregate home page of multiple contexts,
                then navigates into a tabbed application pertaining to that
                specific context.</longDesc>
    </facet>
    <facet>
      <name>search</name>
      <desc>The search region of the page.</desc>
      <longDesc>The search region of the page.</longDesc>
    </facet>
    <desc>PanelPageHeader lays out the top portion of a page.</desc>
    <longDesc>PanelPageHeader lays out the top portion of a page.</longDesc>
    <property>
      <name>chromeType</name>
      <jspName>chromeType</jspName>
      <fieldName>_chromeType</fieldName>
      <className>java.lang.String</className>
      <desc>what the chromeType is for the page: compact or expanded. If
              compact, the productBranding will be shown alongside the
              corporate branding instead of below the corporate branding.</desc>
      <longDesc>what the chromeType is for the page: compact or expanded. If
              compact, the productBranding will be shown alongside the
              corporate branding instead of below the corporate branding.</longDesc>
      <defaultValue>compact</defaultValue>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CorePanelPopup</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXPanel</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CorePanelPopup</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXPanel</sourceClassParentClassName>
    <name>tr:panelPopup</name>
    <type>org.apache.myfaces.trinidad.CorePanelPopup</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelPopupTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Popup</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>trigger</name>
      <desc>Content to be rendered as a link to launch the popup panel. Use this facet
        to define an icon or other content types to launch the popup. If this facet  is not defined, then
        the 'text' attribute must be specified.</desc>
      <longDesc>Content to be rendered as a link to launch the popup panel. Use this facet
        to define an icon or other content types to launch the popup. If this facet  is not defined, then
        the 'text' attribute must be specified.</longDesc>
    </facet>
    <desc>The panelPopup is used to place ancillary information on a page,
made visible via a clickable link.</desc>
    <longDesc>
<![CDATA[
<html:p>
The panelPopup is used to place ancillary information on a page, made visible via a clickable link (e.g icon or link).
</html:p>
<html:p>
The text attribute or 'trigger' facet is used to define the clickable area of the page.  When clicked a floating panel is made visible
containing the child components. If the title attribute is present, then a title bar (including the title) will be
rendered for the popup panel.
</html:p>
<html:p>
The position attribute of popupPanel can be used to control the location of the panel when visible.
</html:p>
<html:p>
  You can make changes to the style of the content region of this component by
  adding your custom styles to the contentStyle attribute.
</html:p>
<html:p>
  Content containers will generally have only one child with the actual
  contents as its children. This child will describe how the content should be
  displayed.  However, the content container can have multiple children, in
  which case the children are displayed in a stack fashion, lined up
  vertically.
</html:p>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>triggerType</name>
      <jspName>triggerType</jspName>
      <fieldName>_triggerType</fieldName>
      <className>java.lang.String</className>
      <desc>Defines the launch behaviour of the popup.  If set to 'click' the popup will
        appear when the trigger is clicked, and disappear when you click off the popup.  The 'hover' value
        will cause the popup to appear while the mouse is over the trigger, and disappear when the mouse
        leaves either the trigger or the popup panel.</desc>
      <longDesc>Defines the launch behaviour of the popup.  If set to 'click' the popup will
        appear when the trigger is clicked, and disappear when you click off the popup.  The 'hover' value
        will cause the popup to appear while the mouse is over the trigger, and disappear when the mouse
        leaves either the trigger or the popup panel.</longDesc>
      <defaultValue>click</defaultValue>
    </property>
    <property>
      <name>icon</name>
      <jspName>icon</jspName>
      <fieldName>_icon</fieldName>
      <className>java.lang.String</className>
      <desc>The icon to render as a link to launch the popup panel.  If the 'trigger'
        facet is defined, then this attribute is ignored.  If the 'text' attribute is also specified,
        then the icon and text will both be rendered.</desc>
      <longDesc>The icon to render as a link to launch the popup panel.  If the 'trigger'
        facet is defined, then this attribute is ignored.  If the 'text' attribute is also specified,
        then the icon and text will both be rendered.</longDesc>
    </property>
    <property>
      <name>text</name>
      <jspName>text</jspName>
      <fieldName>_text</fieldName>
      <className>java.lang.String</className>
      <desc>The text to render as a link to launch the popup panel.  If the 'trigger'
        facet is defined, then this attribute is ignored.</desc>
      <longDesc>The text to render as a link to launch the popup panel.  If the 'trigger'
        facet is defined, then this attribute is ignored.</longDesc>
    </property>
    <property>
      <name>title</name>
      <jspName>title</jspName>
      <fieldName>_title</fieldName>
      <className>java.lang.String</className>
      <desc>The title of the panel when visible.  The titlebar is not rendered if this attribute
        is not specified.</desc>
      <longDesc>The title of the panel when visible.  The titlebar is not rendered if this attribute
        is not specified.</longDesc>
    </property>
    <property>
      <name>modal</name>
      <jspName>modal</jspName>
      <fieldName>_modal</fieldName>
      <className>boolean</className>
      <desc>The display mode of the panel.  Defaults to "false" (non-modal).
        Non-Modal panels will close when the user clicks off the panel. Modal popups are
        rendered with a titlebar and close icon.  Clicking the close icon will close the
        modal popup.</desc>
      <longDesc>The display mode of the panel.  Defaults to "false" (non-modal).
        Non-Modal panels will close when the user clicks off the panel. Modal popups are
        rendered with a titlebar and close icon.  Clicking the close icon will close the
        modal popup.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>position</name>
      <jspName>position</jspName>
      <fieldName>_position</fieldName>
      <className>java.lang.String</className>
      <desc>The position of the content container when visible. Defaults to
         "relative" if not specified. Other values are "centered" (centered on screen).</desc>
      <longDesc>The position of the content container when visible. Defaults to
         "relative" if not specified. Other values are "centered" (centered on screen).</longDesc>
      <defaultValue>relative</defaultValue>
    </property>
    <property>
      <name>xoffset</name>
      <jspName>xoffset</jspName>
      <fieldName>_xoffset</fieldName>
      <className>int</className>
      <desc>The popup's horizontal offset in pixels from the current mouse position.
        This property only applies to popups using relative positioning.</desc>
      <longDesc>The popup's horizontal offset in pixels from the current mouse position.
        This property only applies to popups using relative positioning.</longDesc>
      <defaultValue>0</defaultValue>
    </property>
    <property>
      <name>yoffset</name>
      <jspName>yoffset</jspName>
      <fieldName>_yoffset</fieldName>
      <className>int</className>
      <desc>The popup's vertical offset in pixels from the current mouse position.
        This property only applies to popups using relative positioning.</desc>
      <longDesc>The popup's vertical offset in pixels from the current mouse position.
        This property only applies to popups using relative positioning.</longDesc>
      <defaultValue>0</defaultValue>
    </property>
    <property>
      <name>contentStyle</name>
      <jspName>contentStyle</jspName>
      <fieldName>_contentStyle</fieldName>
      <className>java.lang.String</className>
      <desc>The inline style of the content region.</desc>
      <longDesc>The inline style of the content region.</longDesc>
    </property>
    <property>
      <name>width</name>
      <jspName>width</jspName>
      <fieldName>_width</fieldName>
      <className>int</className>
      <desc>Set the width of the popup.  If not present the width defaults to the width of the content.</desc>
      <longDesc>Set the width of the popup.  If not present the width defaults to the width of the content.</longDesc>
      <defaultValue>0</defaultValue>
    </property>
    <property>
      <name>height</name>
      <jspName>height</jspName>
      <fieldName>_height</fieldName>
      <className>int</className>
      <desc>Set the height of the popup.  If not present the width defaults to the height of the content.</desc>
      <longDesc>Set the height of the popup.  If not present the width defaults to the height of the content.</longDesc>
      <defaultValue>0</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CorePanelRadio</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXShowOne</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CorePanelRadio</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXShowOne</sourceClassParentClassName>
    <name>tr:panelRadio</name>
    <type>org.apache.myfaces.trinidad.CorePanelRadio</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelRadioTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Radio</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The panelRadio control creates, contains and shows a series of items defined by showDetailItem nodes.</desc>
    <longDesc>The panelRadio control can be used to display a group of contents belonging to a showDetailItem.
          Radio buttons with each individual radio button representing a showDetailItem child is displayed.
          The radio button control corresponding to showDetailItem that is disclosed is shown as selected
          and contents of selected showDetailItem is displayed. If none of the showDetailItem children
          are selected, the first showDetailItem that is enabled is considered to be selected.</longDesc>
    <property>
      <name>label</name>
      <jspName>label</jspName>
      <fieldName>_label</fieldName>
      <className>java.lang.String</className>
      <desc>the user-visible text of the item</desc>
      <longDesc>the user-visible text of the item</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>position</name>
      <jspName>position</jspName>
      <fieldName>_position</fieldName>
      <className>java.lang.String</className>
      <desc>position of the control elements. Defaults to
         "start", if not specified. Other value supported is"top".</desc>
      <longDesc>position of the control elements. Defaults to
         "start", if not specified. Other value supported is"top".</longDesc>
      <defaultValue>start</defaultValue>
    </property>
    <property>
      <name>alignment</name>
      <jspName>alignment</jspName>
      <fieldName>_alignment</fieldName>
      <className>java.lang.String</className>
      <desc>alignment of the elements. Defaults to
         "center", if not specified. Other values are "start",
         "end", "top", and "bottom".</desc>
      <longDesc>alignment of the elements. Defaults to
         "center", if not specified. Other values are "start",
         "end", "top", and "bottom".</longDesc>
      <defaultValue>center</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CorePanelSideBar</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXPanel</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CorePanelSideBar</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXPanel</sourceClassParentClassName>
    <name>tr:panelSideBar</name>
    <type>org.apache.myfaces.trinidad.CorePanelSideBar</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelSideBarTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.SideBar</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>filter</name>
      <desc>rendered above the children of the
                panelSideBar.</desc>
      <longDesc>rendered above the children of the
                panelSideBar.</longDesc>
    </facet>
    <desc>The panelSideBar control renders a side navigation bar.</desc>
    <longDesc>
<![CDATA[
<html:p>
            The panelSideBar control renders a side navigation bar.
<!--Comment out - we don't have menuLists in EA6!
            The panelSideBar control (sometimes known as "Level 3 Navigation")
            usually contains a menuList.
-->
          </html:p>
]]>
    </longDesc>
    <property>
      <name>width</name>
      <jspName>width</jspName>
      <fieldName>_width</fieldName>
      <className>java.lang.String</className>
      <desc>the width of the panelSideBar in pixels or as a percentage.</desc>
      <longDesc>the width of the panelSideBar in pixels or as a percentage.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CorePanelTabbed</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXShowOne</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CorePanelTabbed</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXShowOne</sourceClassParentClassName>
    <name>tr:panelTabbed</name>
    <type>org.apache.myfaces.trinidad.CorePanelTabbed</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelTabbedTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Tab</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The panelTabbed control creates, contains and shows a series of items defined by showDetailItem nodes.</desc>
    <longDesc>
<![CDATA[
The panelTabbed control can be used to display a group of contents that belongs to
           a showDetailItem that is shown. Tab bar(s) with tabs representing the showDetailItem children is displayed.
          The tab for the showDetailItem that is selected to be shown is highlighted and contents from the
           selected showDetailItem is displayed. If none of the showDetailItem children are selected, the first showDetailItem
           that is enabled is considered to be selected.

          <section name="Attributes">

          <html:p>
          The "position" attribute indicates whether the tab bar has to
          be above and/or below the contents.
          </html:p>
          </section>
]]>
    </longDesc>
    <property>
      <name>position</name>
      <jspName>position</jspName>
      <fieldName>_position</fieldName>
      <className>java.lang.String</className>
      <desc>the position of the tab bar. Defaults to
             "both", if not specified. Other values are "above" and "below".</desc>
      <longDesc>the position of the tab bar. Defaults to
             "both", if not specified. Other values are "above" and "below".</longDesc>
      <defaultValue>both</defaultValue>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CorePanelTip</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXPanel</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CorePanelTip</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXPanel</sourceClassParentClassName>
    <name>tr:panelTip</name>
    <type>org.apache.myfaces.trinidad.CorePanelTip</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelTipTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Tip</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The panelTip tag provides a container for page or section level hints
to the user.</desc>
    <longDesc>
<![CDATA[
<html:p>
            The panelTip Component provides a container for page or
section level hints to the user.
          </html:p>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.CorePoll</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXPoll</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.CorePoll</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXPoll</sourceClassParentClassName>
    <name>tr:poll</name>
    <type>org.apache.myfaces.trinidad.CorePoll</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.CorePollTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Poll</rendererType>
    <desc>This components polls the server periodically so that any dependent
          components get a chance to update themselves.</desc>
    <longDesc>
<![CDATA[
<html:p>         
          The poll element triggers an event after the time interval 
          specified by the interval attribute (in milliseconds).
          On the server, the <code>org.apache.myfaces.trinidad.event.PollEvent</code>
          is queued and the listeners get a chance to update the model,
          refresh components, or even display a dialog in response to
          this event.  The components that have listed this poll
          component as a partiaTrigger get a chance to re-render themselves.
          The poll component automatically uses Partial Page Rendering
          (PPR) if available.
          </html:p>
]]>
    </longDesc>
    <property>
      <name>interval</name>
      <jspName>interval</jspName>
      <fieldName>_interval</fieldName>
      <className>int</className>
      <desc>the time between poll events, in milliseconds. 
            The default is 5000. If in screen-reader mode, 
            make sure the interval is long enough for the
            screen reader to read through the re-render before a 
            new poll occurs.</desc>
      <longDesc>the time between poll events, in milliseconds. 
            The default is 5000. If in screen-reader mode, 
            make sure the interval is long enough for the
            screen reader to read through the re-render before a 
            new poll occurs.</longDesc>
      <defaultValue>5000</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.nav.CoreProcessChoiceBar</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXProcess</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.nav.CoreProcessChoiceBar</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXProcess</sourceClassParentClassName>
    <name>tr:processChoiceBar</name>
    <type>org.apache.myfaces.trinidad.CoreProcessChoiceBar</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreProcessChoiceBarTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.ChoiceBar</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>ProcessChoiceBar is a UIXProcess component that renders a previous
          button, a choice bar, and a next button.</desc>
    <longDesc>
<![CDATA[
ProcessChoiceBar is a UIXProcess component that renders a previous
          button, a choice bar, and a next button.
          <section name="Model">
          The processChoiceBar takes a model of type
          <html:code>org.apache.myfaces.trinidad.model.MenuModel</html:code>. The last node along the focusPath and its siblings are rendered.
          <html:p>
          MenuModel extends TreeModel, but it also knows how to go from the current viewId to the focus path. Notice that the menuModel has no special knowledge of page navigation and places no requirements on the nodes that go into the tree. The nodes in the tree are stamped out with the 'nodeStamp' facet, which should contain a commandNavigationItem component, which allows the default actionListener mechanism to be used for page navigation.
          </html:p>
          <html:p>
          There are two common scenarios for processes, &quot;Plus One&quot; and &quot;Max Visited&quot; which are explained below.
            <html:ul>
              <html:li>&quot;Plus One&quot; - from the current step the user can navigate to any previous page and the next page. If the user is on the 5th step of a process and goes back to step 2, then the user can only navigate from step 2 to step 1 and step 3.
              </html:li>
              <html:li>&quot;Max Visited&quot; - the user can navigate to the max visited page. If the user is currently on the max visited page then the user can also navigate to the next page. If the user is on the 5th step of a process and goes back to step 2, then the user can navigate from step 2 to steps 1, 2, 3, 4, and 5.
              </html:li>
            </html:ul>

            The class <html:code>org.apache.myfaces.trinidad.model.ProcessMenuModel</html:code> and <html:code>org.apache.myfaces.trinidad.model.ProcessUtils</html:code> were created to support the &quot;Plus One&quot; and &quot;Max Visited&quot; scenarios. Please see the javadoc for these classes for more information.
          </html:p>
          <html:p>
          On browsers that support disabled items in the drop down,
          the unreachable items will look disabled, otherwise they will not be rendered.
          </html:p>

          </section>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.output.CoreProgressIndicator</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXProgress</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.output.CoreProgressIndicator</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXProgress</sourceClassParentClassName>
    <name>tr:progressIndicator</name>
    <type>org.apache.myfaces.trinidad.CoreProgressIndicator</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreProgressIndicatorTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Indicator</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The progressIndicator component can be used to give users
          an understanding that there is a back end task in progress.</desc>
    <longDesc>
<![CDATA[
<html:p>
          The progress is tracked from the
          <code>org.apache.myfaces.trinidad.model.BoundedRangeModel</code>
          attached to this component through its 'value' attribute.
          The progressIndicator element goes to an indeterminate mode
          and shows up as a spinner animation if the 'value' or 'maximum'
          from the BoundedRangeModel is unknown. When these gets known the
          component switches to a determinate mode and renders a progress
          bar indicating percentage of task completion.
          Once the task is complete, ActionEvent is queued and, the page
          indicated by outcome of 'action' attribute is navigated to.
          </html:p>

          <html:p>
          The progressIndicator component needs to have a poll component from
          the page as a partial trigger, in order that it be updated at regular
          intervals in PPR mode as determined by the pollInterval from the
          poll component.
          </html:p>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.input.CoreResetButton</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXReset</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.input.CoreResetButton</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXReset</sourceClassParentClassName>
    <name>tr:resetButton</name>
    <type>org.apache.myfaces.trinidad.CoreResetButton</type>
    <family>org.apache.myfaces.trinidad.ResetButton</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreResetButtonTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Button</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The reset button control creates a push button which will
          reset the content of a form.</desc>
    <longDesc>
<![CDATA[
<html:p>
            The reset button control creates a push button which will
            reset the content of a form.
         </html:p>
]]>
    </longDesc>
    <property>
      <name>text</name>
      <jspName>text</jspName>
      <fieldName>_text</fieldName>
      <className>java.lang.String</className>
      <desc>the textual label of the button.</desc>
      <longDesc>the textual label of the button.</longDesc>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the reset button should be disabled.</desc>
      <longDesc>whether the reset button should be disabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>textAndAccessKey</name>
      <jspName>textAndAccessKey</jspName>
      <fieldName>_textAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "text"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "T&amp;amp;ext" will
              set the text to "Text" and the access key to 'e'.
              </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "text"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "T&amp;amp;ext" will
              set the text to "Text" and the access key to 'e'.
              </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to this button.
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              <p>
                If the same access key appears in multiple locations in the
                same page of output, the rendering user agent will cycle
                among the elements accessed by the similar keys.
              </p><p>
                This attribute is sometimes referred to as the "mnemonic".
              </p><p>
                The character specified by this attribute
                <strong>must</strong> exist in the
                <code>Text</code> attribute of this button instance.
                If it does not, the user will receive no visual indication of
                the existence of the accessKey.
                The easiest, and most convenient
                way to specify both the text and the mnemonic together is
                to use textAndAccessKey.
                </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to this button.
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              <p>
                If the same access key appears in multiple locations in the
                same page of output, the rendering user agent will cycle
                among the elements accessed by the similar keys.
              </p><p>
                This attribute is sometimes referred to as the "mnemonic".
              </p><p>
                The character specified by this attribute
                <strong>must</strong> exist in the
                <code>Text</code> attribute of this button instance.
                If it does not, the user will receive no visual indication of
                the existence of the accessKey.
                The easiest, and most convenient
                way to specify both the text and the mnemonic together is
                to use textAndAccessKey.
                </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.input.CoreSelectBooleanCheckbox</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXSelectBoolean</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.input.CoreSelectBooleanCheckbox</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXSelectBoolean</sourceClassParentClassName>
    <name>tr:selectBooleanCheckbox</name>
    <type>org.apache.myfaces.trinidad.CoreSelectBooleanCheckbox</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreSelectBooleanCheckboxTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Checkbox</rendererType>
    <defaultEventName>change</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>help</name>
      <desc>This facet should contain field level help.</desc>
      <longDesc>This facet should contain field level help.</longDesc>
    </facet>
    <desc>The selectBooleanCheckbox control is a standard browser input
          checkbox.  It supports displaying a prompt, text, and messages.</desc>
    <longDesc>
<![CDATA[
<html><p>
            The selectBooleanCheckbox component maps to a standard browser input
            checkbox, which toggles between selected and unselected
            states. It supports displaying a prompt, text, and
            messages.  The text contained by the
            selectBooleanCheckbox control will be
            displayed as the checkbox label.
          </p></html>
]]>
    </longDesc>
    <property>
      <name>contentStyle</name>
      <jspName>contentStyle</jspName>
      <fieldName>_contentStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</desc>
      <longDesc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</longDesc>
    </property>
    <property>
      <name>autoSubmit</name>
      <jspName>autoSubmit</jspName>
      <fieldName>_autoSubmit</fieldName>
      <className>boolean</className>
      <desc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</desc>
      <longDesc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>readOnly</name>
      <jspName>readOnly</jspName>
      <fieldName>_readOnly</fieldName>
      <className>boolean</className>
      <desc>whether the element is read-only.</desc>
      <longDesc>whether the element is read-only.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the element is disabled.</desc>
      <longDesc>whether the element is disabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>label</name>
      <jspName>label</jspName>
      <fieldName>_label</fieldName>
      <className>java.lang.String</className>
      <desc>the label of the bean.</desc>
      <longDesc>the label of the bean.</longDesc>
    </property>
    <property>
      <name>simple</name>
      <jspName>simple</jspName>
      <fieldName>_simple</fieldName>
      <className>boolean</className>
      <desc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</desc>
      <longDesc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>text</name>
      <jspName>text</jspName>
      <fieldName>_text</fieldName>
      <className>java.lang.String</className>
      <desc>the text value of the checkbox.</desc>
      <longDesc>the text value of the checkbox.</longDesc>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to this checkbox.
          For accessibility reasons, this functionality is not supported in
          screen reader mode.
          <p>
            If the same access key appears in multiple locations in the
            same page of output, the rendering user agent will cycle
            among the elements accessed by the similar keys.
          </p><p>
            This attribute is sometimes referred to as the "mnemonic".
          </p><p>
            The character specified by this attribute
            <strong>must</strong>exist in the
            <code>text</code>attribute of this selectBooleanCheckbox instance.
            If it does not, the user will receive no visual indication of
            the existence of the accessKey.
            </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to this checkbox.
          For accessibility reasons, this functionality is not supported in
          screen reader mode.
          <p>
            If the same access key appears in multiple locations in the
            same page of output, the rendering user agent will cycle
            among the elements accessed by the similar keys.
          </p><p>
            This attribute is sometimes referred to as the "mnemonic".
          </p><p>
            The character specified by this attribute
            <strong>must</strong>exist in the
            <code>text</code>attribute of this selectBooleanCheckbox instance.
            If it does not, the user will receive no visual indication of
            the existence of the accessKey.
            </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>textAndAccessKey</name>
      <jspName>textAndAccessKey</jspName>
      <fieldName>_textAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "text"
          and "accessKey" attributes from a single value, using
          conventional ampersand ('&amp;') notation.
          <p>
          For example, setting this attribute to "T&amp;amp;ext" will
          set the text to "Text" and the access key to 'e'.
          </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "text"
          and "accessKey" attributes from a single value, using
          conventional ampersand ('&amp;') notation.
          <p>
          For example, setting this attribute to "T&amp;amp;ext" will
          set the text to "Text" and the access key to 'e'.
          </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>onchange</name>
      <jspName>onchange</jspName>
      <fieldName>_onchange</fieldName>
      <className>java.lang.String</className>
      <desc>event handler for when the value is changed.</desc>
      <longDesc>event handler for when the value is changed.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onblur</name>
      <jspName>onblur</jspName>
      <fieldName>_onblur</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component losing the focus.</desc>
      <longDesc>the event handler for the component losing the focus.</longDesc>
    </property>
    <property>
      <name>onfocus</name>
      <jspName>onfocus</jspName>
      <fieldName>_onfocus</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component gaining the focus.</desc>
      <longDesc>the event handler for the component gaining the focus.</longDesc>
    </property>
    <property>
      <name>showRequired</name>
      <jspName>showRequired</jspName>
      <fieldName>_showRequired</fieldName>
      <className>boolean</className>
      <desc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</desc>
      <longDesc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.input.CoreSelectBooleanRadio</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXSelectBoolean</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.input.CoreSelectBooleanRadio</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXSelectBoolean</sourceClassParentClassName>
    <name>tr:selectBooleanRadio</name>
    <type>org.apache.myfaces.trinidad.CoreSelectBooleanRadio</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreSelectBooleanRadioTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Radio</rendererType>
    <defaultEventName>change</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>help</name>
      <desc>This facet should contain field level help.</desc>
      <longDesc>This facet should contain field level help.</longDesc>
    </facet>
    <desc>The selectBooleanRadio control maps to a single browser input
          radio, grouped with all other selectBooleanRadio controls
          in the same form which share the same "group" attribute.
          It supports displaying a prompt, text, and messages.</desc>
    <longDesc>
<![CDATA[
<html><p>
          The selectBooleanRadio component maps to a single browser input
          radio, grouped with all other selectBooleanRadio controls
          in the same form which share the same &quot;group&quot; attribute.
          It supports displaying a prompt, text, and messages.
          Radio buttons with the same &quot;group&quot; will be placed in the
          same group with mutually exclusive selection, regardless of
          their physical placement on the page.
          </p></html>
]]>
    </longDesc>
    <property>
      <name>contentStyle</name>
      <jspName>contentStyle</jspName>
      <fieldName>_contentStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</desc>
      <longDesc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</longDesc>
    </property>
    <property>
      <name>autoSubmit</name>
      <jspName>autoSubmit</jspName>
      <fieldName>_autoSubmit</fieldName>
      <className>boolean</className>
      <desc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</desc>
      <longDesc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>readOnly</name>
      <jspName>readOnly</jspName>
      <fieldName>_readOnly</fieldName>
      <className>boolean</className>
      <desc>whether the element is read-only.</desc>
      <longDesc>whether the element is read-only.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the element is disabled.</desc>
      <longDesc>whether the element is disabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>label</name>
      <jspName>label</jspName>
      <fieldName>_label</fieldName>
      <className>java.lang.String</className>
      <desc>the label of the bean.</desc>
      <longDesc>the label of the bean.</longDesc>
    </property>
    <property>
      <name>simple</name>
      <jspName>simple</jspName>
      <fieldName>_simple</fieldName>
      <className>boolean</className>
      <desc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</desc>
      <longDesc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>text</name>
      <jspName>text</jspName>
      <fieldName>_text</fieldName>
      <className>java.lang.String</className>
      <desc>the text of the radio button.</desc>
      <longDesc>the text of the radio button.</longDesc>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to this radio button.
          For accessibility reasons, this functionality is not supported in
          screen reader mode.
          <p>
            If the same access key appears in multiple locations in the
            same page of output, the rendering user agent will cycle
            among the elements accessed by the similar keys.
          </p><p>
            This attribute is sometimes referred to as the "mnemonic".
          </p><p>
            The character specified by this attribute
            <strong>must</strong>exist in the
            <code>text</code>attribute of this CheckBox instance.
            If it does not, the user will receive no visual indication of
            the existence of the accessKey.
            </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to this radio button.
          For accessibility reasons, this functionality is not supported in
          screen reader mode.
          <p>
            If the same access key appears in multiple locations in the
            same page of output, the rendering user agent will cycle
            among the elements accessed by the similar keys.
          </p><p>
            This attribute is sometimes referred to as the "mnemonic".
          </p><p>
            The character specified by this attribute
            <strong>must</strong>exist in the
            <code>text</code>attribute of this CheckBox instance.
            If it does not, the user will receive no visual indication of
            the existence of the accessKey.
            </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>textAndAccessKey</name>
      <jspName>textAndAccessKey</jspName>
      <fieldName>_textAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "text"
          and "accessKey" attributes from a single value, using
          conventional ampersand ('&amp;') notation.
          <p>
          For example, setting this attribute to "T&amp;amp;ext" will
          set the text to "Text" and the access key to 'e'.
          </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "text"
          and "accessKey" attributes from a single value, using
          conventional ampersand ('&amp;') notation.
          <p>
          For example, setting this attribute to "T&amp;amp;ext" will
          set the text to "Text" and the access key to 'e'.
          </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>group</name>
      <jspName>group</jspName>
      <fieldName>_group</fieldName>
      <className>java.lang.String</className>
    </property>
    <property>
      <name>onchange</name>
      <jspName>onchange</jspName>
      <fieldName>_onchange</fieldName>
      <className>java.lang.String</className>
      <desc>event handler for when the value is changed.</desc>
      <longDesc>event handler for when the value is changed.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onblur</name>
      <jspName>onblur</jspName>
      <fieldName>_onblur</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component losing the focus.</desc>
      <longDesc>the event handler for the component losing the focus.</longDesc>
    </property>
    <property>
      <name>onfocus</name>
      <jspName>onfocus</jspName>
      <fieldName>_onfocus</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component gaining the focus.</desc>
      <longDesc>the event handler for the component gaining the focus.</longDesc>
    </property>
    <property>
      <name>showRequired</name>
      <jspName>showRequired</jspName>
      <fieldName>_showRequired</fieldName>
      <className>boolean</className>
      <desc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</desc>
      <longDesc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.input.CoreSelectItem</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXSelectItem</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.input.CoreSelectItem</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXSelectItem</sourceClassParentClassName>
    <name>tr:selectItem</name>
    <type>org.apache.myfaces.trinidad.CoreSelectItem</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreSelectItemTag</tagClass>
    <desc>The selectItem tag represents a single item that the user
may select from a list, choice, radio, or shuttle Trinidad control.</desc>
    <longDesc>
<![CDATA[
The selectItem tag represents a single item that the user
may select from a list, choice, radio, or shuttle Trinidad control.
It may be used in place of the JSF selectItem or selectItems
tags, but is very similar (largely not requiring &quot;item&quot; in front
of its attributes.)
]]>
    </longDesc>
    <property>
      <name>label</name>
      <jspName>label</jspName>
      <fieldName>_label</fieldName>
      <className>java.lang.String</className>
      <desc>the user-visible text of the item</desc>
      <longDesc>the user-visible text of the item</longDesc>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the item is disabled.  By default, no
          items are disabled.</desc>
      <longDesc>whether the item is disabled.  By default, no
          items are disabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>longDesc</name>
      <jspName>longDesc</jspName>
      <fieldName>_longDesc</fieldName>
      <className>java.lang.String</className>
      <desc>the description associated with this option.
        This is used in selectManyShuttle and selectOrderShuttle, and ignored otherwise.</desc>
      <longDesc>the description associated with this option.
        This is used in selectManyShuttle and selectOrderShuttle, and ignored otherwise.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the bean.  This text
         is commonly used by user agents to display advisory information about the option.</desc>
      <longDesc>The short description of the bean.  This text
         is commonly used by user agents to display advisory information about the option.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.input.CoreSelectManyCheckbox</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXSelectMany</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.input.CoreSelectManyCheckbox</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXSelectMany</sourceClassParentClassName>
    <name>tr:selectManyCheckbox</name>
    <type>org.apache.myfaces.trinidad.CoreSelectManyCheckbox</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreSelectManyCheckboxTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Checkbox</rendererType>
    <defaultEventName>change</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>help</name>
      <desc>This facet should contain field level help.</desc>
      <longDesc>This facet should contain field level help.</longDesc>
    </facet>
    <desc>The selectManyCheckbox component creates a component which allows
          the user to select many values from a series of checkboxes.</desc>
    <longDesc>
<![CDATA[
<html><p>The selectManyCheckbox component creates a component which allows
          the user to select many values from a series of checkboxes.
          It can contain any number of
          &lt;f:selectItem&gt;, &lt;f:selectItems&gt;, or
   &lt;tr:selectItem&gt; components,  each of which represents an available checkbox that the user may select.</p></html>
]]>
    </longDesc>
    <property>
      <name>contentStyle</name>
      <jspName>contentStyle</jspName>
      <fieldName>_contentStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</desc>
      <longDesc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</longDesc>
    </property>
    <property>
      <name>layout</name>
      <jspName>layout</jspName>
      <fieldName>_layout</fieldName>
      <className>java.lang.String</className>
      <desc>whether the control displays the buttons
              horizontally or vertically.The valid values are "horizontal" and
              "vertical",the default being "vertical".</desc>
      <longDesc>whether the control displays the buttons
              horizontally or vertically.The valid values are "horizontal" and
              "vertical",the default being "vertical".</longDesc>
      <defaultValue>vertical</defaultValue>
    </property>
    <property>
      <name>valuePassThru</name>
      <jspName>valuePassThru</jspName>
      <fieldName>_valuePassThru</fieldName>
      <className>boolean</className>
      <desc>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client.
        Therefore, when valuePassThru is false,
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set
        valuePassThru to true. This will pass the values through to the client,
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</desc>
      <longDesc>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client.
        Therefore, when valuePassThru is false,
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set
        valuePassThru to true. This will pass the values through to the client,
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>readOnly</name>
      <jspName>readOnly</jspName>
      <fieldName>_readOnly</fieldName>
      <className>boolean</className>
      <desc>whether the element is read-only.</desc>
      <longDesc>whether the element is read-only.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the element is disabled.</desc>
      <longDesc>whether the element is disabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>label</name>
      <jspName>label</jspName>
      <fieldName>_label</fieldName>
      <className>java.lang.String</className>
      <desc>the label of the bean.</desc>
      <longDesc>the label of the bean.</longDesc>
    </property>
    <property>
      <name>simple</name>
      <jspName>simple</jspName>
      <fieldName>_simple</fieldName>
      <className>boolean</className>
      <desc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</desc>
      <longDesc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>onchange</name>
      <jspName>onchange</jspName>
      <fieldName>_onchange</fieldName>
      <className>java.lang.String</className>
      <desc>event handler for when the value is changed.</desc>
      <longDesc>event handler for when the value is changed.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onblur</name>
      <jspName>onblur</jspName>
      <fieldName>_onblur</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component losing the focus.</desc>
      <longDesc>the event handler for the component losing the focus.</longDesc>
    </property>
    <property>
      <name>onfocus</name>
      <jspName>onfocus</jspName>
      <fieldName>_onfocus</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component gaining the focus.</desc>
      <longDesc>the event handler for the component gaining the focus.</longDesc>
    </property>
    <property>
      <name>showRequired</name>
      <jspName>showRequired</jspName>
      <fieldName>_showRequired</fieldName>
      <className>boolean</className>
      <desc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</desc>
      <longDesc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>labelAndAccessKey</name>
      <jspName>labelAndAccessKey</jspName>
      <fieldName>_labelAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>autoSubmit</name>
      <jspName>autoSubmit</jspName>
      <fieldName>_autoSubmit</fieldName>
      <className>boolean</className>
      <desc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</desc>
      <longDesc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.input.CoreSelectManyListbox</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXSelectMany</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.input.CoreSelectManyListbox</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXSelectMany</sourceClassParentClassName>
    <name>tr:selectManyListbox</name>
    <type>org.apache.myfaces.trinidad.CoreSelectManyListbox</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreSelectManyListboxTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Listbox</rendererType>
    <defaultEventName>change</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>help</name>
      <desc>This facet should contain field level help.</desc>
      <longDesc>This facet should contain field level help.</longDesc>
    </facet>
    <desc>The selectManyListbox component creates a component which allows
          the user to select many values from a list of items.</desc>
    <longDesc>
<![CDATA[
<html>The UIXSelectManyListbox component creates a component which allows
          the user to select many values from a list of items.
          It can contain any number of
          &lt;f:selectItem&gt;, &lt;f:selectItems&gt;, or
   &lt;tr:selectItem&gt; components,  each of which
          represents an available option that the user may select.</html>
]]>
    </longDesc>
    <property>
      <name>contentStyle</name>
      <jspName>contentStyle</jspName>
      <fieldName>_contentStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</desc>
      <longDesc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</longDesc>
    </property>
    <property>
      <name>size</name>
      <jspName>size</jspName>
      <fieldName>_size</fieldName>
      <className>int</className>
      <desc>how many items should be visible.  Small values may be overridden if the platform cannot render a list of that size correctly.</desc>
      <longDesc>how many items should be visible.  Small values may be overridden if the platform cannot render a list of that size correctly.</longDesc>
    </property>
    <property>
      <name>valuePassThru</name>
      <jspName>valuePassThru</jspName>
      <fieldName>_valuePassThru</fieldName>
      <className>boolean</className>
      <desc>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client.
        Therefore, when valuePassThru is false,
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set
        valuePassThru to true. This will pass the values through to the client,
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</desc>
      <longDesc>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client.
        Therefore, when valuePassThru is false,
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set
        valuePassThru to true. This will pass the values through to the client,
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>readOnly</name>
      <jspName>readOnly</jspName>
      <fieldName>_readOnly</fieldName>
      <className>boolean</className>
      <desc>whether the element is read-only.</desc>
      <longDesc>whether the element is read-only.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the element is disabled.</desc>
      <longDesc>whether the element is disabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>label</name>
      <jspName>label</jspName>
      <fieldName>_label</fieldName>
      <className>java.lang.String</className>
      <desc>the label of the bean.</desc>
      <longDesc>the label of the bean.</longDesc>
    </property>
    <property>
      <name>simple</name>
      <jspName>simple</jspName>
      <fieldName>_simple</fieldName>
      <className>boolean</className>
      <desc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</desc>
      <longDesc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>onchange</name>
      <jspName>onchange</jspName>
      <fieldName>_onchange</fieldName>
      <className>java.lang.String</className>
      <desc>event handler for when the value is changed.</desc>
      <longDesc>event handler for when the value is changed.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onblur</name>
      <jspName>onblur</jspName>
      <fieldName>_onblur</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component losing the focus.</desc>
      <longDesc>the event handler for the component losing the focus.</longDesc>
    </property>
    <property>
      <name>onfocus</name>
      <jspName>onfocus</jspName>
      <fieldName>_onfocus</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component gaining the focus.</desc>
      <longDesc>the event handler for the component gaining the focus.</longDesc>
    </property>
    <property>
      <name>showRequired</name>
      <jspName>showRequired</jspName>
      <fieldName>_showRequired</fieldName>
      <className>boolean</className>
      <desc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</desc>
      <longDesc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>labelAndAccessKey</name>
      <jspName>labelAndAccessKey</jspName>
      <fieldName>_labelAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>autoSubmit</name>
      <jspName>autoSubmit</jspName>
      <fieldName>_autoSubmit</fieldName>
      <className>boolean</className>
      <desc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</desc>
      <longDesc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.input.CoreSelectManyShuttle</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXSelectMany</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.input.CoreSelectManyShuttle</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXSelectMany</sourceClassParentClassName>
    <name>tr:selectManyShuttle</name>
    <type>org.apache.myfaces.trinidad.CoreSelectManyShuttle</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreSelectManyShuttleTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Shuttle</rendererType>
    <defaultEventName>change</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>filter</name>
      <desc>the filter above the leading list.</desc>
      <longDesc>the filter above the leading list.</longDesc>
    </facet>
    <facet>
      <name>leadingFooter</name>
      <desc>the footer of buttons/images under the leading list.</desc>
      <longDesc>the footer of buttons/images under the leading list.</longDesc>
    </facet>
    <facet>
      <name>trailingFooter</name>
      <desc>the footer of buttons/images under the trailing list.</desc>
      <longDesc>the footer of buttons/images under the trailing list.</longDesc>
    </facet>
    <desc>The selectManyShuttle component provides a mechanism for selecting
   multiple values from a list of values by allowing the user to move
   items between two lists.</desc>
    <longDesc>
<![CDATA[
The selectManyShuttle component provides a mechanism for selecting
   multiple values from a list of values by allowing the user to move
   items between two lists.  The &quot;value&quot; attribute of the selectManyShuttle,
   like any other selectMany component, must be a List or array of values
   that correspond to a value of one of the contained SelectItems.  If a
   value of one of the SelectItems is in the List or array, that item
   will appear in the trailing list.  Looked at another way, you can
   change a selectManyListbox directly into a selectManyShuttle;  instead
   of the &quot;value&quot; driving which items are selected in the listbox, it
   affects which items appear in the trailing list of the shuttle.
         <html:p>
  The selectManyShuttle does not allow for reordering;
  the selectOrderShuttle component adds this functionality
  to selectManyShuttle.  selectManyShuttle also does not include
  automatic messaging support, unlike most other Trinidad messaging
  components.
         </html:p>
          <section name="Attributes">
            <html:p>
              Each list in the shuttle has a header, the
              text of which can be set as the &quot;leadingHeader&quot; attribute
              and the &quot;trailingHeader&quot; attribute.
            </html:p>
            <html:p>
              Each container in the shuttle can have an area to display item
              descriptions below the list. To indicate whether or not
              a container should have such an area set the attributes
              <html:code>&quot;leadingDescShown&quot;</html:code> attribute
              and the <html:code>&quot;trailingDescShown&quot;</html:code> attribute.
            </html:p>
            <html:p>
              To control the display size(number of items) of the lists, the
              size attribute has to be specified. The size specified must be
              between 10 and 20 items. If the attribute is not set or has a
              value less than 10, the size would have a default or minimum
              value of 10. If the attribute value specified is more than 20 items,
              the size would have the maximum value of 20.
            </html:p>
          </section>

          <section name="Shuttle Footers">
            <html:p>
              The shuttle allows the user to place components - typically,
       buttons or icons - below each of the lists.  These
              buttons or icons will take up only one row below the lists
              (no wrapping), and should have a maximum height of 26 pixels
              if the layout of the shuttle is to remain consistent.  The
              buttons and icons should be placed within the
              shuttle as the <html:code>leadingFooter</html:code>
              or the <html:code>trailingFooter</html:code> facet,
              depending on which list the buttons should go under.
              Leave the appropriate facet empty if no footer is
              required under a list.  These buttons and icons can be
              used to perform operations upon the shuttle using a
              ShuttleProxy as described below.
            </html:p>
          </section>
          <section name="Shuttle Filter">
            <html:p>
              The shuttle allows the user to place a filter above the
              list in the leading container. The filter is added as the
       <html:code>filter</html:code> facet.  The filter can be used to
       perform operations upon the shuttle using a ShuttleProxy as
       described below.
            </html:p>
          </section>

          <section name="JavaScript proxies">
            <html:p>
              In some cases, developers will need to use JavaScript to
              manipulate or use the contents of the lists.  This may be
              required as actions for the buttons or icons in the
              shuttle footers or outside the shuttle all together. Thus,
              a set of Javascript utility methods are available that
              operate on the lists.  These are located in the shuttle.js
              Javascript library, which is automatically loaded if you
              use the shuttle.
            </html:p>
            <html:p>
              These methods can be accessed by creating a
              <html:code>ShuttleProxy</html:code> instance based on the
              shuttle client ID and form.
              <html:pre>
                // create the proxy object
                var proxy2 = new ShuttleProxy(&quot;testShuttle2&quot;, &quot;testForm2&quot;);
              </html:pre>
            </html:p>
            <html:p>
              Once the proxy is created, you can use it to gain
              information about the lists or to manipulate the lists in
              the shuttle.  The proxy provides the following functions:

              <html:ul>

                <html:li><html:code>move(fromLeadingList, allItems)</html:code> : moves items from
                  one list to the other.  If <html:code>fromLeadingList</html:code> is true, the items
                  move from the leading list to the trailing list.  If
                  <html:code>fromLeadingList</html:code> is false, the items move the opposite
                  direction.  If <html:code>allItems</html:code> is true, all the items are moved,
                  otherwise only the selected items are moved.</html:li>

                <html:li><html:code>reorderList(down, allTheWay, leadingList)</html:code> : reorders
                  a list.  If <html:code>down</html:code> is true, the items move down in the list,
                  otherwise they move up.  If <html:code>allTheWay</html:code> is true, the items move
                  all the way to the top or bottom of the list depending on the value of
                  <html:code>down</html:code>.  If <html:code>leadingList</html:code> is true, the leading list
                  is reordered, otherwise the trailing list is reordered.</html:li>

                <html:li><html:code>getItems(leadingList)</html:code> : returns an array of
                  <html:code>option</html:code> objects that make up a list.  If <html:code>leadingList</html:code>
                  is true, the array has the leading list's options, otherwise the items
                  are from the trailing list.  Note that the array will not include the
                  horizontal bar at the end of the lists.</html:li>

                <html:li><html:code>getSelectedItems(leadingList)</html:code> : returns an array of
                  <html:code>option</html:code> objects that are selected in a list.  If
                  <html:code>leadingList</html:code> is true, the array has the leading list's options,
                  otherwise the items are from the trailingList.  Note that the array will not
                  include the horizontal bar at the end of the lists.</html:li>

                <html:li><html:code>getItemCount(leadingList)</html:code> : returns the number of
                  items in a list.  If <html:code>leadingList</html:code> is true, the number returned
                  is the number of items in the leading list.  Otherwise, the number returned
                  is the number of items in the trailing list.  Note that the horizontal bar
                  at the end of the lists is not included in this count -- you only get the
                  number of actual items.</html:li>

                <html:li><html:code>getSelectedItemCount(leadingList)</html:code> : returns the number
                  of selected items in a list.  If <html:code>leadingList</html:code> is true, the
                  number returned is the number of selected items in the leading list.
                  Otherwise, the number returned is the number of selected items in the
                  trailing list.  Note that the horizontal bar at the end of the lists is not
                  included in this count -- you only get the number of actual items.</html:li>

                <html:li><html:code>addItem(leadingList, index, text, value, description)</html:code> : adds an item
                  at the given index to a list.  The item is added to the leading list if
                  <html:code>leadingList</html:code> is true, otherwise it is added to the trailing list.
                  The <html:code>index</html:code> should be 0 based.  Thus, to insert an item at
                  the end of a list, set <html:code>index</html:code> to
                  <html:code>shuttleProxy.getItemCount(leadinglist)</html:code>.  The <html:code>text</html:code>
                  parameter specifies the display text for the item, while the
                  <html:code>value</html:code> parameter specifies the value that represents this item
                  upon form submission. The <html:code>description</html:code> parameter specifies a
                  description of the item. The <html:code>description</html:code> parameter can be omitted.</html:li>

                <html:li><html:code>deleteItemByValue(leadingList, value)</html:code> :
                  deletes an item
                  from a list.  The item is deleted from the leading list if
                  <html:code>leadingList</html:code> is true, otherwise it is deleted from the trailing
                  list.  The item deleted is the first item with the value (not text) of
                  <html:code>value</html:code>.</html:li>

                <html:li><html:code>deleteSelectedItems(leadingList)</html:code> : deletes items
                  from a list.  The items are deleted from the leading list if
                  <html:code>leadingList</html:code> is true, otherwise they are deleted from the
                  trailing list.  The items deleted are the items that are selected in the
                  appropriate list.</html:li>

                <html:li><html:code>reset()</html:code> : reset the shuttle
                  to its initial state.</html:li>

              </html:ul>

            </html:p>

          </section>
]]>
    </longDesc>
    <property>
      <name>valuePassThru</name>
      <jspName>valuePassThru</jspName>
      <fieldName>_valuePassThru</fieldName>
      <className>boolean</className>
      <desc>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client.
        Therefore, when valuePassThru is false,
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set
        valuePassThru to true. This will pass the values through to the client,
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</desc>
      <longDesc>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client.
        Therefore, when valuePassThru is false,
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set
        valuePassThru to true. This will pass the values through to the client,
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>readOnly</name>
      <jspName>readOnly</jspName>
      <fieldName>_readOnly</fieldName>
      <className>boolean</className>
      <desc>whether the element is read-only.</desc>
      <longDesc>whether the element is read-only.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the element is disabled.</desc>
      <longDesc>whether the element is disabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>onchange</name>
      <jspName>onchange</jspName>
      <fieldName>_onchange</fieldName>
      <className>java.lang.String</className>
      <desc>event handler for when the value is changed.</desc>
      <longDesc>event handler for when the value is changed.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onblur</name>
      <jspName>onblur</jspName>
      <fieldName>_onblur</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component losing the focus.</desc>
      <longDesc>the event handler for the component losing the focus.</longDesc>
    </property>
    <property>
      <name>onfocus</name>
      <jspName>onfocus</jspName>
      <fieldName>_onfocus</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component gaining the focus.</desc>
      <longDesc>the event handler for the component gaining the focus.</longDesc>
    </property>
    <property>
      <name>size</name>
      <jspName>size</jspName>
      <fieldName>_size</fieldName>
      <className>int</className>
      <desc>the display size(number of items) of the lists. The size
              specified must be between 10 and 20 items. If the attribute is not
              set or has a value less than 10, the size would have a default or
              minimum value of 10. If the attribute value specified is more than
              20 items, the size would have the maximum value of 20.</desc>
      <longDesc>the display size(number of items) of the lists. The size
              specified must be between 10 and 20 items. If the attribute is not
              set or has a value less than 10, the size would have a default or
              minimum value of 10. If the attribute value specified is more than
              20 items, the size would have the maximum value of 20.</longDesc>
    </property>
    <property>
      <name>leadingHeader</name>
      <jspName>leadingHeader</jspName>
      <fieldName>_leadingHeader</fieldName>
      <className>java.lang.String</className>
      <desc>the header of the leading list of the shuttle.</desc>
      <longDesc>the header of the leading list of the shuttle.</longDesc>
    </property>
    <property>
      <name>trailingHeader</name>
      <jspName>trailingHeader</jspName>
      <fieldName>_trailingHeader</fieldName>
      <className>java.lang.String</className>
      <desc>the header of the trailing list of the shuttle.</desc>
      <longDesc>the header of the trailing list of the shuttle.</longDesc>
    </property>
    <property>
      <name>leadingDescShown</name>
      <jspName>leadingDescShown</jspName>
      <fieldName>_leadingDescShown</fieldName>
      <className>boolean</className>
      <desc>whether or not the leading list has an area to display descriptions.</desc>
      <longDesc>whether or not the leading list has an area to display descriptions.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>trailingDescShown</name>
      <jspName>trailingDescShown</jspName>
      <fieldName>_trailingDescShown</fieldName>
      <className>boolean</className>
      <desc>whether or not the trailing list has an area to display descriptions.</desc>
      <longDesc>whether or not the trailing list has an area to display descriptions.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>label</name>
      <jspName>label</jspName>
      <fieldName>_label</fieldName>
      <className>java.lang.String</className>
      <desc>the label for the shuttle that is used to identify the component only when displaying error messages. The label specified does not otherwise appear on the page.</desc>
      <longDesc>the label for the shuttle that is used to identify the component only when displaying error messages. The label specified does not otherwise appear on the page.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.input.CoreSelectOneChoice</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXSelectOne</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.input.CoreSelectOneChoice</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXSelectOne</sourceClassParentClassName>
    <name>tr:selectOneChoice</name>
    <type>org.apache.myfaces.trinidad.CoreSelectOneChoice</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreSelectOneChoiceTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Choice</rendererType>
    <defaultEventName>change</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>help</name>
      <desc>This facet should contain field level help.</desc>
      <longDesc>This facet should contain field level help.</longDesc>
    </facet>
    <desc>The selectOneChoice component creates a menu-style component, which allows the user to select a single value from a list of items.</desc>
    <longDesc>
<![CDATA[
<html>The selectOneChoice component creates a menu-style component,
          which allows the user to select a single value from a list of items.
          The selectOneChoice component contains any number of
          &lt;f:selectItem&gt;, &lt;f:selectItems&gt;, or
          &lt;tr:selectItem&gt; components,  each of which
          represents an available option that the user may select.</html>
]]>
    </longDesc>
    <property>
      <name>contentStyle</name>
      <jspName>contentStyle</jspName>
      <fieldName>_contentStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</desc>
      <longDesc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</longDesc>
    </property>
    <property>
      <name>unselectedLabel</name>
      <jspName>unselectedLabel</jspName>
      <fieldName>_unselectedLabel</fieldName>
      <className>java.lang.String</className>
      <desc>The label for the option that represents a value of null, meaning nothing is selected. If unselectedLabel is not set and if the component does not have a selected value, then an option with an empty string as the label and value is rendered as the first option in the choice box (if there isn't an empty option already defined). Once an option has been successfully selected, and if unselectedLabel is not set, then the empty option will not be rendered.</desc>
      <longDesc>The label for the option that represents a value of null, meaning nothing is selected. If unselectedLabel is not set and if the component does not have a selected value, then an option with an empty string as the label and value is rendered as the first option in the choice box (if there isn't an empty option already defined). Once an option has been successfully selected, and if unselectedLabel is not set, then the empty option will not be rendered.</longDesc>
    </property>
    <property>
      <name>labelAndAccessKey</name>
      <jspName>labelAndAccessKey</jspName>
      <fieldName>_labelAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>valuePassThru</name>
      <jspName>valuePassThru</jspName>
      <fieldName>_valuePassThru</fieldName>
      <className>boolean</className>
      <desc>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client.
        Therefore, when valuePassThru is false,
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set
        valuePassThru to true. This will pass the values through to the client,
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</desc>
      <longDesc>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client.
        Therefore, when valuePassThru is false,
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set
        valuePassThru to true. This will pass the values through to the client,
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>readOnly</name>
      <jspName>readOnly</jspName>
      <fieldName>_readOnly</fieldName>
      <className>boolean</className>
      <desc>whether the element is read-only.</desc>
      <longDesc>whether the element is read-only.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the element is disabled.</desc>
      <longDesc>whether the element is disabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>label</name>
      <jspName>label</jspName>
      <fieldName>_label</fieldName>
      <className>java.lang.String</className>
      <desc>the label of the bean.</desc>
      <longDesc>the label of the bean.</longDesc>
    </property>
    <property>
      <name>simple</name>
      <jspName>simple</jspName>
      <fieldName>_simple</fieldName>
      <className>boolean</className>
      <desc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</desc>
      <longDesc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>onchange</name>
      <jspName>onchange</jspName>
      <fieldName>_onchange</fieldName>
      <className>java.lang.String</className>
      <desc>event handler for when the value is changed.</desc>
      <longDesc>event handler for when the value is changed.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onblur</name>
      <jspName>onblur</jspName>
      <fieldName>_onblur</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component losing the focus.</desc>
      <longDesc>the event handler for the component losing the focus.</longDesc>
    </property>
    <property>
      <name>onfocus</name>
      <jspName>onfocus</jspName>
      <fieldName>_onfocus</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component gaining the focus.</desc>
      <longDesc>the event handler for the component gaining the focus.</longDesc>
    </property>
    <property>
      <name>showRequired</name>
      <jspName>showRequired</jspName>
      <fieldName>_showRequired</fieldName>
      <className>boolean</className>
      <desc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</desc>
      <longDesc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>autoSubmit</name>
      <jspName>autoSubmit</jspName>
      <fieldName>_autoSubmit</fieldName>
      <className>boolean</className>
      <desc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</desc>
      <longDesc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.input.CoreSelectOneListbox</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXSelectOne</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.input.CoreSelectOneListbox</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXSelectOne</sourceClassParentClassName>
    <name>tr:selectOneListbox</name>
    <type>org.apache.myfaces.trinidad.CoreSelectOneListbox</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreSelectOneListboxTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Listbox</rendererType>
    <defaultEventName>change</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>help</name>
      <desc>This facet should contain field level help.</desc>
      <longDesc>This facet should contain field level help.</longDesc>
    </facet>
    <desc>The selectOneListbox  component creates a component which allows
          the user to select a single value from a list of items.</desc>
    <longDesc>
<![CDATA[
<html>The UIXSelectOneListbox component creates a component which allows
          the user to select a single value from a list of items.
          The UIXSelectOneListbox component contains any number of
          &lt;f:selectItem&gt;, &lt;f:selectItems&gt;, or
   &lt;tr:selectItem&gt; components,  each of which
          represents an available option that the user may select.</html>
]]>
    </longDesc>
    <property>
      <name>contentStyle</name>
      <jspName>contentStyle</jspName>
      <fieldName>_contentStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</desc>
      <longDesc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</longDesc>
    </property>
    <property>
      <name>size</name>
      <jspName>size</jspName>
      <fieldName>_size</fieldName>
      <className>int</className>
      <desc>The number of items that should be visible in the list. The renderer may constrain the maximum and minimum number of items shown.</desc>
      <longDesc>The number of items that should be visible in the list. The renderer may constrain the maximum and minimum number of items shown.</longDesc>
    </property>
    <property>
      <name>valuePassThru</name>
      <jspName>valuePassThru</jspName>
      <fieldName>_valuePassThru</fieldName>
      <className>boolean</className>
      <desc>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client.
        Therefore, when valuePassThru is false,
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set
        valuePassThru to true. This will pass the values through to the client,
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</desc>
      <longDesc>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client.
        Therefore, when valuePassThru is false,
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set
        valuePassThru to true. This will pass the values through to the client,
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>unselectedLabel</name>
      <jspName>unselectedLabel</jspName>
      <fieldName>_unselectedLabel</fieldName>
      <className>java.lang.String</className>
      <desc>the label for an additional item that indicates no selection has
   been made.  When the user selects this item, "required" validation will
   not pass, or a null value will be set if the component is not "required".</desc>
      <longDesc>the label for an additional item that indicates no selection has
   been made.  When the user selects this item, "required" validation will
   not pass, or a null value will be set if the component is not "required".</longDesc>
    </property>
    <property>
      <name>readOnly</name>
      <jspName>readOnly</jspName>
      <fieldName>_readOnly</fieldName>
      <className>boolean</className>
      <desc>whether the element is read-only.</desc>
      <longDesc>whether the element is read-only.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the element is disabled.</desc>
      <longDesc>whether the element is disabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>label</name>
      <jspName>label</jspName>
      <fieldName>_label</fieldName>
      <className>java.lang.String</className>
      <desc>the label of the bean.</desc>
      <longDesc>the label of the bean.</longDesc>
    </property>
    <property>
      <name>simple</name>
      <jspName>simple</jspName>
      <fieldName>_simple</fieldName>
      <className>boolean</className>
      <desc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</desc>
      <longDesc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>onchange</name>
      <jspName>onchange</jspName>
      <fieldName>_onchange</fieldName>
      <className>java.lang.String</className>
      <desc>event handler for when the value is changed.</desc>
      <longDesc>event handler for when the value is changed.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onblur</name>
      <jspName>onblur</jspName>
      <fieldName>_onblur</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component losing the focus.</desc>
      <longDesc>the event handler for the component losing the focus.</longDesc>
    </property>
    <property>
      <name>onfocus</name>
      <jspName>onfocus</jspName>
      <fieldName>_onfocus</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component gaining the focus.</desc>
      <longDesc>the event handler for the component gaining the focus.</longDesc>
    </property>
    <property>
      <name>showRequired</name>
      <jspName>showRequired</jspName>
      <fieldName>_showRequired</fieldName>
      <className>boolean</className>
      <desc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</desc>
      <longDesc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>labelAndAccessKey</name>
      <jspName>labelAndAccessKey</jspName>
      <fieldName>_labelAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>autoSubmit</name>
      <jspName>autoSubmit</jspName>
      <fieldName>_autoSubmit</fieldName>
      <className>boolean</className>
      <desc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</desc>
      <longDesc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.input.CoreSelectOneRadio</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXSelectOne</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.input.CoreSelectOneRadio</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXSelectOne</sourceClassParentClassName>
    <name>tr:selectOneRadio</name>
    <type>org.apache.myfaces.trinidad.CoreSelectOneRadio</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreSelectOneRadioTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Radio</rendererType>
    <defaultEventName>change</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>help</name>
      <desc>This facet should contain field level help.</desc>
      <longDesc>This facet should contain field level help.</longDesc>
    </facet>
    <desc>The selectOneRadio component creates a component
          which allows the user to select a single value from a set of items
          displayed as a series of radio buttons.</desc>
    <longDesc>
<![CDATA[
<html><p>The selectOneRadio component creates a component
          which allows the user to select a single value from a set of items
          displayed as a series of radio buttons.
          It can contain any number of
          &lt;f:selectItem&gt;, &lt;f:selectItems&gt;, or
   &lt;tr:selectItem&gt; components,  each of which
          represents an available option that the user may select.</p></html>
]]>
    </longDesc>
    <property>
      <name>contentStyle</name>
      <jspName>contentStyle</jspName>
      <fieldName>_contentStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</desc>
      <longDesc>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</longDesc>
    </property>
    <property>
      <name>unselectedLabel</name>
      <jspName>unselectedLabel</jspName>
      <fieldName>_unselectedLabel</fieldName>
      <className>java.lang.String</className>
      <desc>the label for an additional item that indicates no selection has
been made.  When the user selects this item, "required" validation will
not pass, or a null value will be set if the component is not "required".</desc>
      <longDesc>the label for an additional item that indicates no selection has
been made.  When the user selects this item, "required" validation will
not pass, or a null value will be set if the component is not "required".</longDesc>
    </property>
    <property>
      <name>layout</name>
      <jspName>layout</jspName>
      <fieldName>_layout</fieldName>
      <className>java.lang.String</className>
      <desc>whether the control displays the buttons
              horizontally or vertically.The valid values are "horizontal" and
              "vertical", the default being "vertical".</desc>
      <longDesc>whether the control displays the buttons
              horizontally or vertically.The valid values are "horizontal" and
              "vertical", the default being "vertical".</longDesc>
      <defaultValue>vertical</defaultValue>
    </property>
    <property>
      <name>valuePassThru</name>
      <jspName>valuePassThru</jspName>
      <fieldName>_valuePassThru</fieldName>
      <className>boolean</className>
      <desc>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client.
        Therefore, when valuePassThru is false,
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set
        valuePassThru to true. This will pass the values through to the client,
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</desc>
      <longDesc>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client.
        Therefore, when valuePassThru is false,
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set
        valuePassThru to true. This will pass the values through to the client,
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>readOnly</name>
      <jspName>readOnly</jspName>
      <fieldName>_readOnly</fieldName>
      <className>boolean</className>
      <desc>whether the element is read-only.</desc>
      <longDesc>whether the element is read-only.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the element is disabled.</desc>
      <longDesc>whether the element is disabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>label</name>
      <jspName>label</jspName>
      <fieldName>_label</fieldName>
      <className>java.lang.String</className>
      <desc>the label of the bean.</desc>
      <longDesc>the label of the bean.</longDesc>
    </property>
    <property>
      <name>simple</name>
      <jspName>simple</jspName>
      <fieldName>_simple</fieldName>
      <className>boolean</className>
      <desc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey,  showRequired,
tip), and may use simpler layout primitives</desc>
      <longDesc>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey,  showRequired,
tip), and may use simpler layout primitives</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>onchange</name>
      <jspName>onchange</jspName>
      <fieldName>_onchange</fieldName>
      <className>java.lang.String</className>
      <desc>event handler for when the value is changed.</desc>
      <longDesc>event handler for when the value is changed.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onblur</name>
      <jspName>onblur</jspName>
      <fieldName>_onblur</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component losing the focus.</desc>
      <longDesc>the event handler for the component losing the focus.</longDesc>
    </property>
    <property>
      <name>onfocus</name>
      <jspName>onfocus</jspName>
      <fieldName>_onfocus</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component gaining the focus.</desc>
      <longDesc>the event handler for the component gaining the focus.</longDesc>
    </property>
    <property>
      <name>showRequired</name>
      <jspName>showRequired</jspName>
      <fieldName>_showRequired</fieldName>
      <className>boolean</className>
      <desc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</desc>
      <longDesc>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Character used to gain quick access to
               the form element specified by the
         <code>for</code>, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              <p>
                This attribute is sometimes referred to as the "mnemonic".
                </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>labelAndAccessKey</name>
      <jspName>labelAndAccessKey</jspName>
      <fieldName>_labelAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;') notation.
              <p>
              For example, setting this attribute to "L&amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>autoSubmit</name>
      <jspName>autoSubmit</jspName>
      <fieldName>_autoSubmit</fieldName>
      <className>boolean</className>
      <desc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</desc>
      <longDesc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.input.CoreSelectOrderShuttle</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXSelectOrder</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.input.CoreSelectOrderShuttle</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXSelectOrder</sourceClassParentClassName>
    <name>tr:selectOrderShuttle</name>
    <type>org.apache.myfaces.trinidad.CoreSelectOrderShuttle</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreSelectOrderShuttleTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Shuttle</rendererType>
    <defaultEventName>change</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>filter</name>
      <desc>the filter above the leading list.</desc>
      <longDesc>the filter above the leading list.</longDesc>
    </facet>
    <facet>
      <name>leadingFooter</name>
      <desc>the footer of buttons/images under the leading list.</desc>
      <longDesc>the footer of buttons/images under the leading list.</longDesc>
    </facet>
    <facet>
      <name>trailingFooter</name>
      <desc>the footer of buttons/images under the trailing list.</desc>
      <longDesc>the footer of buttons/images under the trailing list.</longDesc>
    </facet>
    <desc>The selectOrderShuttle component provides a mechanism for selecting
   multiple values from a list of values by allowing the user to move
   items between two lists, and reordering that list of values.</desc>
    <longDesc>
<![CDATA[
The selectOrderShuttle component provides a mechanism for selecting
   multiple values from a list of values by allowing the user to move
   items between two lists, and reordering that list of values.
          It includes all the functionality
          of selectManyShuttle, and has an equivalent API.  The only
          functional difference is that selectOrderShuttle will present the
          user with the ability to reorder the list of selected values,
          and will deliver <html:code>ValueChangeEvents</html:code> when
          the order changes. (selectMany components do not consider
          changes in order relevant to the value of that component.)  See
          the documentation for selectManyShuttle for further information
          on using the shuttle.
]]>
    </longDesc>
    <property>
      <name>reorderOnly</name>
      <jspName>reorderOnly</jspName>
      <fieldName>_reorderOnly</fieldName>
      <className>boolean</className>
      <desc>whether the shuttle is in "reorder only" mode, where the user can reorder the list of values, but cannot add or remove them.</desc>
      <longDesc>whether the shuttle is in "reorder only" mode, where the user can reorder the list of values, but cannot add or remove them.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>valuePassThru</name>
      <jspName>valuePassThru</jspName>
      <fieldName>_valuePassThru</fieldName>
      <className>boolean</className>
      <desc>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client.
        Therefore, when valuePassThru is false,
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set
        valuePassThru to true. This will pass the values through to the client,
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</desc>
      <longDesc>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client.
        Therefore, when valuePassThru is false,
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set
        valuePassThru to true. This will pass the values through to the client,
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>readOnly</name>
      <jspName>readOnly</jspName>
      <fieldName>_readOnly</fieldName>
      <className>boolean</className>
      <desc>whether the element is read-only.</desc>
      <longDesc>whether the element is read-only.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>whether the element is disabled.</desc>
      <longDesc>whether the element is disabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>onchange</name>
      <jspName>onchange</jspName>
      <fieldName>_onchange</fieldName>
      <className>java.lang.String</className>
      <desc>event handler for when the value is changed.</desc>
      <longDesc>event handler for when the value is changed.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onblur</name>
      <jspName>onblur</jspName>
      <fieldName>_onblur</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component losing the focus.</desc>
      <longDesc>the event handler for the component losing the focus.</longDesc>
    </property>
    <property>
      <name>onfocus</name>
      <jspName>onfocus</jspName>
      <fieldName>_onfocus</fieldName>
      <className>java.lang.String</className>
      <desc>the event handler for the component gaining the focus.</desc>
      <longDesc>the event handler for the component gaining the focus.</longDesc>
    </property>
    <property>
      <name>size</name>
      <jspName>size</jspName>
      <fieldName>_size</fieldName>
      <className>int</className>
      <desc>the display size(number of items) of the lists. The size
              specified must be between 10 and 20 items. If the attribute is not
              set or has a value less than 10, the size would have a default or
              minimum value of 10. If the attribute value specified is more than
              20 items, the size would have the maximum value of 20.</desc>
      <longDesc>the display size(number of items) of the lists. The size
              specified must be between 10 and 20 items. If the attribute is not
              set or has a value less than 10, the size would have a default or
              minimum value of 10. If the attribute value specified is more than
              20 items, the size would have the maximum value of 20.</longDesc>
    </property>
    <property>
      <name>leadingHeader</name>
      <jspName>leadingHeader</jspName>
      <fieldName>_leadingHeader</fieldName>
      <className>java.lang.String</className>
      <desc>the header of the leading list of the shuttle.</desc>
      <longDesc>the header of the leading list of the shuttle.</longDesc>
    </property>
    <property>
      <name>trailingHeader</name>
      <jspName>trailingHeader</jspName>
      <fieldName>_trailingHeader</fieldName>
      <className>java.lang.String</className>
      <desc>the header of the trailing list of the shuttle.</desc>
      <longDesc>the header of the trailing list of the shuttle.</longDesc>
    </property>
    <property>
      <name>leadingDescShown</name>
      <jspName>leadingDescShown</jspName>
      <fieldName>_leadingDescShown</fieldName>
      <className>boolean</className>
      <desc>whether or not the leading list has an area to display descriptions.</desc>
      <longDesc>whether or not the leading list has an area to display descriptions.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>trailingDescShown</name>
      <jspName>trailingDescShown</jspName>
      <fieldName>_trailingDescShown</fieldName>
      <className>boolean</className>
      <desc>whether or not the trailing list has an area to display descriptions.</desc>
      <longDesc>whether or not the trailing list has an area to display descriptions.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>label</name>
      <jspName>label</jspName>
      <fieldName>_label</fieldName>
      <className>java.lang.String</className>
      <desc>the label for the shuttle that is used to identify the component only when displaying error messages. The label specified does not otherwise appear on the page.</desc>
      <longDesc>the label for the shuttle that is used to identify the component only when displaying error messages. The label specified does not otherwise appear on the page.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.data.CoreSelectRangeChoiceBar</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXSelectRange</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.data.CoreSelectRangeChoiceBar</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXSelectRange</sourceClassParentClassName>
    <name>tr:selectRangeChoiceBar</name>
    <type>org.apache.myfaces.trinidad.CoreSelectRangeChoiceBar</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.data.CoreSelectRangeChoiceBarTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.ChoiceBar</rendererType>
    <defaultEventName>change</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>SelectRangeChoiceBar is used to allow the user to select a range of
          records to display among a larger set of records.
          It allows the user to move back and forth through these records
          through a choice and buttons.</desc>
    <longDesc>
<![CDATA[
SelectRangeChoiceBar is used to allow the user to select a range of
          records to display among a larger set of records.
          It allows the user to move back and forth through these records.
          <section name="Appearance">
          selectRangeChoiceBar renders a Previous button, a choice, and a Next button.
          The choice contains options for ranges.
          </section>
          <section name="Events">
          Clicking on either the Previous or Next buttons or selecting an option from the
          choice will deliver a <code>RangeChangeEvent</code> to the server.
          </section>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>showAll</name>
      <jspName>showAll</jspName>
      <fieldName>_showAll</fieldName>
      <className>boolean</className>
      <desc>whether the "Show All" option is selected. The "Show All" option
        is available if there are less than 30 options and the row count in
        the data model is known.</desc>
      <longDesc>whether the "Show All" option is selected. The "Show All" option
        is available if there are less than 30 options and the row count in
        the data model is known.</longDesc>
      <defaultValue>false</defaultValue>
      <tagExcluded>true</tagExcluded>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.output.CoreSeparator</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXObject</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.output.CoreSeparator</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXObject</sourceClassParentClassName>
    <name>tr:separator</name>
    <type>org.apache.myfaces.trinidad.CoreSeparator</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreSeparatorTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Separator</rendererType>
    <desc>The separator is used anywhere to create a horizontal separator
between items.</desc>
    <longDesc>
<![CDATA[
<html:p>
          The separator creates a horizontal separator.
         </html:p>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CoreShowDetail</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXShowDetail</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CoreShowDetail</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXShowDetail</sourceClassParentClassName>
    <name>tr:showDetail</name>
    <type>org.apache.myfaces.trinidad.CoreShowDetail</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CoreShowDetailTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.ShowDetail</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>prompt</name>
      <desc>Component rendered next to the hide or show icon.  If this facet is present, this
will be used instead of the disclosedText and undisclosedText attributes.</desc>
      <longDesc>Component rendered next to the hide or show icon.  If this facet is present, this
will be used instead of the disclosedText and undisclosedText attributes.</longDesc>
    </facet>
    <desc>The showDetail provides a means of toggling a group of components between being
hidden or shown.  If the "prompt" facet is present, the component in the facet
will be put next to the disclosure icon.  If the prompt facet is not present
but either the disclosedText or the undisclosedText attributes are set, then
the text in that attribute will be displayed next to the disclosure icon.
If the prompt facet is not set but both the disclosedText and undisclosedText
attributes are set then the disclosedText will be displayed when disclosed="true"
and undisclosedText will be displayed when disclosed="false".  If the prompt
facet is not set and neither the disclosedText or undisclosedText attributes are
set, then the label will default to "Hide" for the disclosed text and "Show" for
the undisclosed text.  For the purposes of EL, setting disclosedText or
undisclosedText to null is the same as not setting the value.</desc>
    <longDesc>
<![CDATA[
The showDetail provides a means of toggling a group of components between being
disclosed or undisclosed.  A showDetail should be used to:
<html:ul>
  <html:li>
    hide/show an entire section or a part of a section of information within the
    contents of a page such as:
  </html:li>
  <html:ul>
    <html:i>
      <html:li>show more information / hide more information</html:li>
      <html:li>show details / hide details</html:li>
      <html:li>
        show &quot;section name&quot; / hide &quot;section name&quot;
      </html:li>
      <html:li>show graph/hide graph, etc.</html:li>
    </html:i>
  </html:ul>
  <html:li>hide/show functionality such as:</html:li>
  <html:ul>
    <html:i>
      <html:li>simple/advance search</html:li>
    </html:i>
  </html:ul>
  <html:li>hide/show details of a table row</html:li>
</html:ul>
<html:p>
  On mobile devices the showDetail renders nothing itself, but does renders its
  children.
</html:p>
<section name="Appearance">
  If the &quot;disclosed&quot; property on the showDetail is set to false,  the
  an icon indicating that the item is not disclosed will be rendered and the
  &quot;prompt&quot; facet will be rendered next to the icon.  In this case
  the children of showDetail will not be rendered.  If the &quot;disclosed&quot;
  property  is set to false, the icon indicating that the item IS disclosed will
  be rendered and the and the &quot;prompt&quot; facet will be rendered next to
  the icon.  In this case, the children of showDetail WILL be rendered.
  <html:p>
    If the &quot;prompt&quot; facet is not present, but either the disclosedText
    or undisclosedText attributes are present (not both), the text in the attribute
    will appear next to the disclosure icon for both states.
  </html:p>
  <html:p>
    If the &quot;prompt&quot; facet is not present and both the disclosedText and
    or undisclosedText attributes are present , the text in the disclosedText
    attribute will appear when disclosed=&quot;true&quot; and the text in the
    undisclosedText attribute will appear when disclosed=&quot;false&quot;.
  </html:p>
  <html:p>
    Finally, if the &quot;prompt&quot; facet is not present and neither the
    disclosedText or undisclosedText attributes are present, then the word
    &quot;hide&quot; will appear next to the disclosure icon when
    disclosed=&quot;true&quot; and the word &quot;show&quot; will appear next
    to the disclosure icon when disclosed=&quot;false&quot;.  In this case both
    the &quot;hide&quot; and &quot;show&quot; labels will be links and mnd may
    be clicked in order to toggle the disclosure.
  </html:p>
</section>
<section name="Events">
  Clicking on the icon of the showDetail will deliver a <code>DisclosureEvent</code>
  to the server.  If a &quot;prompt&quot; facet is used, changing the value of the
  disclosed attribute on this component will also deliver the event.
</section>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>disclosedText</name>
      <jspName>disclosedText</jspName>
      <fieldName>_disclosedText</fieldName>
      <className>java.lang.String</className>
      <desc>the text to display when the children are disclosed.  If this attribute is set
and the undisclosedText attribute is not set, this text will be displayed for
both the disclosed state AND the undisclosed state.</desc>
      <longDesc>the text to display when the children are disclosed.  If this attribute is set
and the undisclosedText attribute is not set, this text will be displayed for
both the disclosed state AND the undisclosed state.</longDesc>
    </property>
    <property>
      <name>undisclosedText</name>
      <jspName>undisclosedText</jspName>
      <fieldName>_undisclosedText</fieldName>
      <className>java.lang.String</className>
      <desc>the text to display when the children are undisclosed.  If this attribute is set
and the disclosedText attribute is not set, this text will be displayed for
both the disclosed state AND the undisclosed state.</desc>
      <longDesc>the text to display when the children are undisclosed.  If this attribute is set
and the disclosedText attribute is not set, this text will be displayed for
both the disclosed state AND the undisclosed state.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CoreShowDetailHeader</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXShowDetail</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CoreShowDetailHeader</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXShowDetail</sourceClassParentClassName>
    <name>tr:showDetailHeader</name>
    <type>org.apache.myfaces.trinidad.CoreShowDetailHeader</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CoreShowDetailHeaderTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Header</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>The showDetailHeader provides a means of toggling the contents under a header
between being disclosed(shown) or undisclosed(hidden).</desc>
    <longDesc>
<![CDATA[
<html:p>
  The showDetailHeader provides a means of toggling the contents
  under a header between being disclosed(shown) or undisclosed(hidden).
</html:p>
<html:p>
  On mobile devices the showDetailHeader renders nothing itself,
  but does render its children.
</html:p>

<section name="Appearance">
  <html:p>
    If the &quot;disclosed&quot; property on the showDetailHeader is set
    to false, the icon arrow will point sideways, and the children of
    the showDetailHeader will not be rendered.  If the &quot;disclosed&quot;
    property of the showDetailHeader is set to true, the icon arrow will
    point down and the children of the showDetailHeader will be rendered.
  </html:p>
</section>
<section name="Events">
  <html:p>
    Clicking on the icon of the showDetailHeader will deliver a
    <code>DisclosureEvent</code> to the server.
  </html:p>
</section>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>text</name>
      <jspName>text</jspName>
      <fieldName>_text</fieldName>
      <className>java.lang.String</className>
      <desc>the label of the header.</desc>
      <longDesc>the label of the header.</longDesc>
    </property>
    <property>
      <name>icon</name>
      <jspName>icon</jspName>
      <fieldName>_icon</fieldName>
      <className>java.lang.String</className>
      <desc>the URI for the icon of the header.</desc>
      <longDesc>the URI for the icon of the header.</longDesc>
    </property>
    <property>
      <name>messageType</name>
      <jspName>messageType</jspName>
      <fieldName>_messageType</fieldName>
      <className>java.lang.String</className>
      <desc>Set if an error, info, confirmation, or warning header is needed.</desc>
      <longDesc>Set if an error, info, confirmation, or warning header is needed.</longDesc>
      <defaultValue>none</defaultValue>
    </property>
    <property>
      <name>size</name>
      <jspName>size</jspName>
      <fieldName>_size</fieldName>
      <className>int</className>
      <desc>Size of this panelHeader. The largest is 0 and corresponds to an H1 header
        the smallest is 5 and corresponds to an H6 Header.  Note that this version of the tag will 
        display all sizes above 2 the same as size 2. Setting the size to a negative number will
        allow the header to be calculated according to its parent header.  The default value for 
        this property is -1.</desc>
      <longDesc>Size of this panelHeader. The largest is 0 and corresponds to an H1 header
        the smallest is 5 and corresponds to an H6 Header.  Note that this version of the tag will 
        display all sizes above 2 the same as size 2. Setting the size to a negative number will
        allow the header to be calculated according to its parent header.  The default value for 
        this property is -1.</longDesc>
      <defaultValue>-1</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.layout.CoreShowDetailItem</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXShowDetail</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.layout.CoreShowDetailItem</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXShowDetail</sourceClassParentClassName>
    <name>tr:showDetailItem</name>
    <type>org.apache.myfaces.trinidad.CoreShowDetailItem</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.layout.CoreShowDetailItemTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Item</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>toolbar</name>
      <desc>The content for the toolbar region of the detail item.
This facet will not be rendered as part of this component
but should, instead, be rendered by containers which support
toobars.</desc>
      <longDesc>The content for the toolbar region of the detail item.
This facet will not be rendered as part of this component
but should, instead, be rendered by containers which support
toobars.</longDesc>
    </facet>
    <desc>The showDetailItem represents a single item with specific
contents that can be selected by users to be shown in a showOne component.</desc>
    <longDesc>
<![CDATA[
<html:p>
  The showDetailItem component is used inside of a showOne
  component to contain a group of children.  It is identified visually
  by the the <html:strong>text</html:strong> attribute value and lays
  out its children.  When inside of a parent showOne, &quot;disclosed&quot; and
  &quot;rendered&quot; mean different things: if &quot;rendered&quot; is false, it means
  that this item and its contents are not available at all to the user,
  while if &quot;disclosed&quot; is false, it means that the contents of the item
  are not currently visible, but may be made visible by the user.  It is
  generally used inside of a showOne component, but may be used on its
  own, in which case &quot;disclosed&quot; functions equivalently to &quot;rendered&quot;,
  and the &quot;text&quot; attribute is ignored.
</html:p>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>If value is "true", the component becomes non-interactive.
Otherwise,the default value is "false" and component assumes
its expected behavior.</desc>
      <longDesc>If value is "true", the component becomes non-interactive.
Otherwise,the default value is "false" and component assumes
its expected behavior.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>text</name>
      <jspName>text</jspName>
      <fieldName>_text</fieldName>
      <className>java.lang.String</className>
      <desc>the textual label of the showDetailItem.</desc>
      <longDesc>the textual label of the showDetailItem.</longDesc>
    </property>
    <property>
      <name>textAndAccessKey</name>
      <jspName>textAndAccessKey</jspName>
      <fieldName>_textAndAccessKey</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
An attribute that will simultaneously set both the "text"
and "accessKey" attributes from a single value, using
conventional ampersand ('&amp;') notation.
<p>
  For example, setting this attribute to "T&amp;amp;ext" will
  set the text to "Text" and the access key to 'e'.
</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
An attribute that will simultaneously set both the "text"
and "accessKey" attributes from a single value, using
conventional ampersand ('&amp;') notation.
<p>
  For example, setting this attribute to "T&amp;amp;ext" will
  set the text to "Text" and the access key to 'e'.
</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>accessKey</name>
      <jspName>accessKey</jspName>
      <fieldName>_accessKey</fieldName>
      <className>char</className>
      <desc>
<![CDATA[
Character used to gain quick access to this showDetailItem.
For accessibility reasons, this functionality is not supported
in screen reader mode.
<p>
  If the same access key appears in multiple locations in the
  same page of output, the rendering user agent will cycle
  among the elements accessed by the similar keys.
</p>
<p>
  This attribute is sometimes referred to as the "mnemonic".
</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
Character used to gain quick access to this showDetailItem.
For accessibility reasons, this functionality is not supported
in screen reader mode.
<p>
  If the same access key appears in multiple locations in the
  same page of output, the rendering user agent will cycle
  among the elements accessed by the similar keys.
</p>
<p>
  This attribute is sometimes referred to as the "mnemonic".
</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>flex</name>
      <jspName>flex</jspName>
      <fieldName>_flex</fieldName>
      <className>int</className>
      <desc>A non-negative integer that indicates the flexibility of this
component in its container.  If the container supports it, flex
is used to determine how space is distributed among its children.
Components with larger flex values will be made larger than
components with lower flex values.  This is done so at the ratio
determined by the flex of each of the two components.  The actual
value is only relevant if there are other flexible components
(components with flex values larger than zero) within the same
container.</desc>
      <longDesc>A non-negative integer that indicates the flexibility of this
component in its container.  If the container supports it, flex
is used to determine how space is distributed among its children.
Components with larger flex values will be made larger than
components with lower flex values.  This is done so at the ratio
determined by the flex of each of the two components.  The actual
value is only relevant if there are other flexible components
(components with flex values larger than zero) within the same
container.</longDesc>
      <defaultValue>0</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.nav.CoreSingleStepButtonBar</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXSingleStep</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.nav.CoreSingleStepButtonBar</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXSingleStep</sourceClassParentClassName>
    <name>tr:singleStepButtonBar</name>
    <type>org.apache.myfaces.trinidad.CoreSingleStepButtonBar</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreSingleStepButtonBarTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.ButtonBar</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>SingleStepButtonBar renders a Previous button,
         text describing the current step and the maximum steps, and a Next button.</desc>
    <longDesc>
<![CDATA[
SingleStepButtonBar renders a Previous button,
          text indicating the current step and the maximum steps, and a Next button.
          SingleStepButtonBar is used to navigate forward and back in
          a series of steps, like steps in a checkout process.
          <section name="Events and Listeners">
            SingleStepButtonBar implements javax.faces.component.ActionSource, which
            means it is a source of javax.faces.event.ActionEvent's.
            <p>
            The ActionEvent is delivered during the Apply Request Values phase
            when navigating back, and during the
            Invoke Application phase when navigating forward.
            </p>
            <p>
            The nextAction/previousAction attributes are of type MethodBinding
            and must (if non-null) point to an action method. The nextAction
            method will be called when navigating forward, and the previousAction
            method will be called when navigating back with a singleStep
            component.
            </p>
            <p>
            JSF has a default javax.faces.event.ActionListener that passes the
            nextAction or previousAction outcome to the NavigationHandler.
            </p>
            <p>
            The nextActionListener/previousActionListener attributes are of
            type MethodBinding and must (in non-null) point to a method
            accepting an ActionEvent, with a return type of void.
            When navigating to the previous step, then the previousActionListener
            method is called. When navigating to the next step, the nextActionListener
            method is called.
            </p>
          </section>
]]>
    </longDesc>
    <property>
      <name>text</name>
      <jspName>text</jspName>
      <fieldName>_text</fieldName>
      <className>java.lang.String</className>
      <desc>the text description of items being navigated.
            The default is "Step".</desc>
      <longDesc>the text description of items being navigated.
            The default is "Step".</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.output.CoreSpacer</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXObject</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.output.CoreSpacer</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXObject</sourceClassParentClassName>
    <name>tr:spacer</name>
    <type>org.apache.myfaces.trinidad.CoreSpacer</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreSpacerTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Spacer</rendererType>
    <desc>spacers occupy a fixed amount of
          space in a layout.</desc>
    <longDesc>spacer occupies a fixed amount of space in a layout, specified by
          its width and height attributes. If the width is not specified, but
          height specified, a block level HTML element is rendered, thereby
          introducing a new line effect. If width is specified, then,
          irrespective of the specified value of height, it may not get shorter
          than the applicable line-height, in user agents that strictly support
          standards mode HTML.</longDesc>
    <property>
      <name>width</name>
      <jspName>width</jspName>
      <fieldName>_width</fieldName>
      <className>java.lang.String</className>
      <desc>the width of the spacer item.</desc>
      <longDesc>the width of the spacer item.</longDesc>
    </property>
    <property>
      <name>height</name>
      <jspName>height</jspName>
      <fieldName>_height</fieldName>
      <className>java.lang.String</className>
      <desc>the height of the spacer item.</desc>
      <longDesc>the height of the spacer item.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</desc>
      <longDesc>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.output.CoreStatusIndicator</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXObject</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.output.CoreStatusIndicator</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXObject</sourceClassParentClassName>
    <name>tr:statusIndicator</name>
    <type>org.apache.myfaces.trinidad.CoreStatusIndicator</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreStatusIndicatorTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.StatusIndicator</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>ready</name>
      <desc>Content to be rendered when the page is ready. If this facet is
                 specified, no default icon is going to be rendered.</desc>
      <longDesc>Content to be rendered when the page is ready. If this facet is
                 specified, no default icon is going to be rendered.</longDesc>
    </facet>
    <facet>
      <name>busy</name>
      <desc>Content to be rendered when the page is busy processing.
                 If this facet is specified, no default icon is going to
                 be rendered.</desc>
      <longDesc>Content to be rendered when the page is busy processing.
                 If this facet is specified, no default icon is going to
                 be rendered.</longDesc>
    </facet>
    <desc>The statusIndicator component shows whether the page
               is busy processing or is ready. By default, the component
               shows predefined icons for both readyand busy state. However,
               if a facet is specified, be it rendered or not, none of the
               default icon is going to be rendered. That behavior enable an
               easy emulation of GMail behavior specifying only a busy
               facet.</desc>
    <longDesc>
<![CDATA[
<html:p>
            The The statusIndicator component shows whether the page is
            busy processing or is ready. By default, the component
            shows predefined icons for both readyand busy state. However,
            if a facet is specified, be it rendered or not, none of the
            default icon is going to be rendered. That behavior enable an
            easy emulation of GMail behavior by specifying only a busy
            facet.</html:p>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.CoreStyleSheet</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.CoreStyleSheet</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <name>trh:styleSheet</name>
    <type>org.apache.myfaces.trinidad.CoreStyleSheet</type>
    <family>org.apache.myfaces.trinidad.StyleSheet</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.CoreStyleSheetTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.StyleSheet</rendererType>
    <desc>The styleSheet tag generates the style
          sheet link reference to a generated Apache Trinidad style sheet.
          This is automatically included for you if you use the Trinidad head tag.</desc>
    <longDesc>The styleSheet component generates the style
          sheet link reference to a generated Apache Trinidad style sheet.
          This is automatically included for you if you use the Trinidad
          HtmlHead component.</longDesc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.CoreSubform</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXSubform</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.CoreSubform</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXSubform</sourceClassParentClassName>
    <name>tr:subform</name>
    <type>org.apache.myfaces.trinidad.CoreSubform</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.CoreSubformTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Subform</rendererType>
    <desc>The subform tag represents an independently submittable
region of a page.  The contents of a subform will only be validated
(or otherwise processed) if a component inside of the subform is
responsible for submitting the page or if the default attribute is set to true.</desc>
    <longDesc>
<![CDATA[
<html:p>
The CoreSubform represents an independently submittable
region of a page.  The contents of a subform will only be validated
(or otherwise processed) if a component inside of the subform is
responsible for submitting the page or if the default attribute is set to true. This allows for comparatively
fine-grained control of which components will be validated and pushed
into the model without the compromises of using entirely separate form
elements.
</html:p>

<html:p>
We strongly recommend the use of a single &lt;tr:form&gt; per page, and
using &lt;tr:subform&gt; where you might otherwise be tempted to use multiple
forms.  Multiple forms require multiple copies of page state, and user
edits in forms that aren't submitted are always lost.  When a page using
subforms is submitted, page state is only written once, and all
user edits are preserved.
</html:p>
<html:p>
See the UIXSubform Javadoc for more details on how subforms work.
</html:p>
]]>
    </longDesc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.data.CoreTable</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXTable</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.data.CoreTable</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXTable</sourceClassParentClassName>
    <name>tr:table</name>
    <type>org.apache.myfaces.trinidad.CoreTable</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.data.CoreTableTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Table</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>footer</name>
      <desc>the component used to render the table footer.</desc>
      <longDesc>the component used to render the table footer.</longDesc>
    </facet>
    <facet>
      <name>header</name>
      <desc>the component used to render the table header.</desc>
      <longDesc>the component used to render the table header.</longDesc>
    </facet>
    <facet>
      <name>actions</name>
      <desc>content to be rendered inline with the navigation bar.</desc>
      <longDesc>content to be rendered inline with the navigation bar.</longDesc>
    </facet>
    <desc>The Trinidad Table is used to display tabular data. It also supports selection (both single and multiple), sorting, record navigation and detail-disclosure.</desc>
    <longDesc>
<![CDATA[
The Trinidad Table is used to display tabular data. It also supports selection
(both single and multiple), sorting, record navigation and
detail-disclosure.

         <section name="Table Model">
           <p>
            The Trinidad Table component uses a model to access the data
            in the underlying list. The specific model class is
            <code>org.apache.myfaces.trinidad.model.CollectionModel</code>.
            You may also use other model instances, e.g.,
            <code>java.util.List</code>  ,
            array, and  <code>javax.faces.model.DataModel</code>.
            The Table will automatically convert the instance
            into a CollectionModel.
           </p>
         </section>


        <section name="Columns">
          <P>
            The immediate children of a Table component must all be
            <code>&lt;tr:column&gt;</code> components. Each visible Trinidad Column
            component creates a separate column in the Table.
            For more information see the documentation for
            <code>&lt;column&gt;</code>
          </P>
        </section>


        <section name="Range Navigation">
          <P>
            When the list being displayed by a Table is huge, you can enable the Table
            to break up the list into ranges and display a single range at a time.
            Range controls are provided on the Table to let the user scroll to the next range,
            or to go back to the previous range. If the total size of the list is known, a
            control to let the user jump directly to a particular part of the list is also
            provided on the Table. Use the Table attributes &quot;rows&quot; and &quot;first&quot; to control the
            range navigation feature.
            When the user changes the range, the Table fires a <code>RangeChangeEvent</code>.
          </P>
        </section>


        <section name="Displaying Details">
          <P>
            You can configure the Table to display or hide additional details of a
            particular row in response to a user gesture. When the details feature
            is enabled, a new column containing a toggle (per row) will render in
            the Table. When a toggle is activated, the details for that row are
            displayed. When a toggle is deactivated, the details for the row are
            hidden. The user can also display or hide the details for all rows at
            the same time (the controls for this feature are enabled by setting
            the &quot;allDetailsEnabled&quot; property to true.)
          </P>
          <P>
            To enable the details feature set the &quot;detailStamp&quot; facet on the
            Table. Place the components that are used to show the details (of a
            row), inside this facet. In the following example, the Person's age is
            displayed in the details section:

            <pre>
    <tr:table var="row">
      <f:facet name="detailStamp">
        <tr:outputText value="#{row.age}"/>
      </f:facet>
    </tr:table>
            </pre>
          </P>
          <P>
            When a detail row is shown or hidden the Table generates a
            <code>DisclosureEvent</code>. If all detail rows are shown or hidden
            the Table fires a <code>DisclosureAllEvent</code>.
          </P>
        </section>

        <section name="Selection">
          <p>
            The selection feature of a Table lets the user select one
            or more rows in the list.  The user can then perform some operation on
            the selected rows by activating an appropriate ActionSource component (e.g.,
            by clicking on a commandButton).
          </p>
          <p>
            There are two types of selection - single and multiple. The type of
            selection is determined by the "rowSelection" attribute, which
            can be set to "single" or "multiple".
          </p>
        </section>

        <section name="Sorting">
          <p>
            The Table component supports sorting columns in ascending or descending
            order. A special 3D border on a column header lets the user know
            that the column is sortable. When the user clicks on a column header
            to sort a previously unsorted column, the Table sorts the
            column data in ascending order. Subsequent clicks on the same
            header sorts the data in the reverse order.
          </p>
          <p>
        There are three requirements to enable sorting: the underlying table
        model must support sorting, the &quot;sortProperty&quot; and &quot;sortable&quot;
        attributes must be set on the column to enable the sort capability for
        that column.
          </p>
          <P>
            To support sorting, the <code>CollectionModel</code> instance
            must implement the following methods:</P>
            <pre>
    public boolean isSortable(String propertyName)
    public void setSortCriteria(List criteria)
    public List getSortCriteria()
            </pre>
          <P>
            If the underlying model is not a <code>CollectionModel</code>, the
            Table automatically examines the actual data to determine which properties are
            sortable. Any column that has data that
            implements <code>java.lang.Comparable</code> is sortable.  This
            automatic support cannot be nearly as efficient as coding sorting
            directly into a <code>CollectionModel</code> (for instance,
            by translating the sort into an &quot;ORDER BY&quot; SQL clause), but
            is sufficient for small data sets.
          </P>
          <P>
        To associate a column with a particular property-name to be used for
        sorting purposes, use the &quot;sortProperty&quot; attribute on the column.
        To enable the UI for sorting a particular column, set the
        &quot;sortable&quot; property to <code>true</code>.
            For more information see the documentation for
            <code>&lt;column&gt;</code>.
          </P>
          <P>
            In the following example,
            both columns are sortable. Sorting the first column sorts by the
            &quot;firstname&quot; property; sorting the second column sorts by the &quot;lastname&quot;
            property.
          </P>
          <pre>
    <tr:table value="...">
      <tr:column sortProperty="firstname" sortable="true">
        <f:facet name="header">
          <tr:outputText value="Firstname" />
        </f:facet>
        ...
      </tr:column>
      <tr:column sortProperty="lastname" sortable="true">
        <f:facet name="header">
          <tr:outputText value="Lastname" />
        </f:facet>
        ...
      </tr:column>
    </tr:table>
          </pre>
        </section>

        <section name="Banding">
          <P>
            Banding is a technique where groups of rows (or columns)
            are displayed with alternating background colors. This helps to
            differentiate between adjacent rows (or columns).
          </P>
          <P>
            The &quot;banding&quot; attribute on the Table controls the type of banding to
            use.  The &quot;bandingInterval&quot; attribute controls
            the number of consecutive rows (or columns) that are colored the same.
          </P>
          <P>
            Note that the above banding attributes on the Table are ignored when
            the &quot;bandingShade&quot; attribute is used on the Column.
          </P>
        </section>
]]>
    </longDesc>
    <property>
      <name>horizontalGridVisible</name>
      <jspName>horizontalGridVisible</jspName>
      <fieldName>_horizontalGridVisible</fieldName>
      <className>boolean</className>
      <desc>if the horizontal grid lines will be drawn.</desc>
      <longDesc>if the horizontal grid lines will be drawn.</longDesc>
      <defaultValue>true</defaultValue>
    </property>
    <property>
      <name>verticalGridVisible</name>
      <jspName>verticalGridVisible</jspName>
      <fieldName>_verticalGridVisible</fieldName>
      <className>boolean</className>
      <desc>if the vertical grid lines will be drawn.</desc>
      <longDesc>if the vertical grid lines will be drawn.</longDesc>
      <defaultValue>true</defaultValue>
    </property>
    <property>
      <name>emptyText</name>
      <jspName>emptyText</jspName>
      <fieldName>_emptyText</fieldName>
      <className>java.lang.String</className>
      <desc>text displayed when a table is empty.</desc>
      <longDesc>text displayed when a table is empty.</longDesc>
    </property>
    <property>
      <name>columnBandingInterval</name>
      <jspName>columnBandingInterval</jspName>
      <fieldName>_columnBandingInterval</fieldName>
      <className>int</className>
      <desc>the interval between which the column banding alternates.  For example, a columnBandingInterval of 1 would display alternately banded columns.</desc>
      <longDesc>the interval between which the column banding alternates.  For example, a columnBandingInterval of 1 would display alternately banded columns.</longDesc>
      <defaultValue>0</defaultValue>
    </property>
    <property>
      <name>rowBandingInterval</name>
      <jspName>rowBandingInterval</jspName>
      <fieldName>_rowBandingInterval</fieldName>
      <className>int</className>
      <desc>the interval between which the row banding alternates.  For example, rowBandingInterval=1 would displayalternately banded rows in the Grid.</desc>
      <longDesc>the interval between which the row banding alternates.  For example, rowBandingInterval=1 would displayalternately banded rows in the Grid.</longDesc>
      <defaultValue>0</defaultValue>
    </property>
    <property>
      <name>rowSelection</name>
      <jspName>rowSelection</jspName>
      <fieldName>_rowSelection</fieldName>
      <className>java.lang.String</className>
      <desc>whether rows in this table selectable. Valid values are "none", "single", "multiple"</desc>
      <longDesc>whether rows in this table selectable. Valid values are "none", "single", "multiple"</longDesc>
      <defaultValue>none</defaultValue>
    </property>
    <property>
      <name>autoSubmit</name>
      <jspName>autoSubmit</jspName>
      <fieldName>_autoSubmit</fieldName>
      <className>boolean</className>
      <desc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).  This only takes effect if rowSelection attribute enabled.</desc>
      <longDesc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).  This only takes effect if rowSelection attribute enabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>width</name>
      <jspName>width</jspName>
      <fieldName>_width</fieldName>
      <className>java.lang.String</className>
      <desc>the width of the table.  The value must either be a number of pixels or a percentage - it is not a CSS width.</desc>
      <longDesc>the width of the table.  The value must either be a number of pixels or a percentage - it is not a CSS width.</longDesc>
    </property>
    <property>
      <name>summary</name>
      <jspName>summary</jspName>
      <fieldName>_summary</fieldName>
      <className>java.lang.String</className>
      <desc>the summary of this table's purpose and structure
         for user agents rendering to non-visual media.</desc>
      <longDesc>the summary of this table's purpose and structure
         for user agents rendering to non-visual media.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>allDetailsEnabled</name>
      <jspName>allDetailsEnabled</jspName>
      <fieldName>_allDetailsEnabled</fieldName>
      <className>boolean</className>
      <desc>whether or not to enable the show/hide all
              links above the table,
              which allow the user to show/hide all the detail rows.
              To enable the detail rows, a "detailStamp" facet must be set on
              this Table.</desc>
      <longDesc>whether or not to enable the show/hide all
              links above the table,
              which allow the user to show/hide all the detail rows.
              To enable the detail rows, a "detailStamp" facet must be set on
              this Table.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>height</name>
      <jspName>height</jspName>
      <fieldName>_height</fieldName>
      <className>java.lang.String</className>
      <desc>Sets a height to the content of the table. 
        This generates a scrollbar to access all rows in the current range.</desc>
      <longDesc>Sets a height to the content of the table. 
        This generates a scrollbar to access all rows in the current range.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.nav.CoreTrain</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXProcess</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.nav.CoreTrain</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXProcess</sourceClassParentClassName>
    <name>tr:train</name>
    <type>org.apache.myfaces.trinidad.CoreTrain</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreTrainTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Train</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>Train is a UIXProcess component that renders a train.
          A train is a horizontal series of train stations connected by
          a horizontal line. Each train station
          is an image and text describing the page in the multi-page process.</desc>
    <longDesc>
<![CDATA[
Train is a UIXProcess component
        that renders a train. A train is a horizontal series of train
        stations connected by a horizontal line. Each train station is an
        image and text describing the page in the multi-page process.

        <section name="Model">
          The train takes a model of type
          <html:code>org.apache.myfaces.trinidad.model.MenuModel</html:code>. The
          last node along the focusPath and its siblings are rendered.
          <html:p>
          MenuModel extends TreeModel, but it also knows how to go from the
          current viewId to the focus path. Notice that the menuModel has no
          special knowledge of page navigation and places no requirements on
          the nodes that go into the tree. The nodes in the tree are stamped
          out with the 'nodeStamp' facet, which should contain a
          commandNavigationItem component, which allows the default
          actionListener mechanism to be used for page navigation.
          </html:p>
          <html:p>
          There are two common scenarios for processes, &quot;Plus One&quot;
          and &quot;Max Visited&quot; which are explained below.
            <html:ul>
              <html:li>&quot;Plus One&quot; - from the current step the user can
              navigate to any previous page and the next page. If the user is on
              the 5th step of a process and goes back to step 2, then the user
              can only navigate from step 2 to step 1 and step 3.
              </html:li>
              <html:li>&quot;Max Visited&quot; - the user can navigate to the max
              visited page. If the user is currently on the max visited page
              then the user can also navigate to the next page. If the user is
              on the 5th step of a process and goes back to step 2, then the
              user can navigate from step 2 to steps 1, 2, 3, 4, and 5.
              </html:li>
            </html:ul>

            The class <html:code>org.apache.myfaces.trinidad.model.ProcessMenuModel</html:code>
            and <html:code>org.apache.myfaces.trinidad.model.ProcessUtils</html:code>
            were created to support the &quot;Plus One&quot; and
            &quot;Max Visited&quot; scenarios. Please see the javadoc for these
            classes for more information.

            <html:p>
            When the focusPath is not focused on a top level node,
            images are rendered before and
            after the train to indicate that this train is
            part of a sub-process
            </html:p>
          </html:p>
          </section>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.data.CoreTree</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXTree</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.data.CoreTree</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXTree</sourceClassParentClassName>
    <name>tr:tree</name>
    <type>org.apache.myfaces.trinidad.CoreTree</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.data.CoreTreeTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Tree</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>Represents an interactive tree component.</desc>
    <longDesc>
<![CDATA[
<html:p>
          The Trinidad Tree is used to display data that is structured in a hierarchical format.
          This component supports multiple root elements, and it has a
          simple user interface (UI) - each element in the Tree is appropriately indented to indicate
          its level in the hierarchy, and is connected to its parent.
          The features of the Tree component include mechanisms for expanding and
          collapsing portions of the hierarchy.  This component is not well suited
          for massive trees, since it does not support any focusing capability.
        </html:p>

        <html:P>
          The &quot;nodeStamp&quot; facet of the Tree is used to display the
          data for each element in the tree. The &quot;nodeStamp&quot; is repeatedly
          rendered (stamped) once per element.
        </html:P>
]]>
    </longDesc>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.core.data.CoreTreeTable</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXTreeTable</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.core.data.CoreTreeTable</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXTreeTable</sourceClassParentClassName>
    <name>tr:treeTable</name>
    <type>org.apache.myfaces.trinidad.CoreTreeTable</type>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.core.data.CoreTreeTableTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.TreeTable</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>footer</name>
      <desc>the component used to render the table footer.</desc>
      <longDesc>the component used to render the table footer.</longDesc>
    </facet>
    <facet>
      <name>header</name>
      <desc>the component used to render the table header.</desc>
      <longDesc>the component used to render the table header.</longDesc>
    </facet>
    <facet>
      <name>actions</name>
      <desc>content to be rendered inline with the navigation bar.</desc>
      <longDesc>content to be rendered inline with the navigation bar.</longDesc>
    </facet>
    <facet>
      <name>pathStamp</name>
      <desc>the component used to stamp each step of the focus path of this
                  treeTable.</desc>
      <longDesc>the component used to stamp each step of the focus path of this
                  treeTable.</longDesc>
    </facet>
    <desc>The Trinidad TreeTable is used to display data that is structured in a hierarchical format.</desc>
    <longDesc>
<![CDATA[
<html:p>
          The Trinidad TreeTable is used to display data that is structured in a hierarchical format.
          This component displays a hierarchy
          in a UI similar to an Trinidad Table, and is more elaborate than the Tree component.
          TreeTable supports displaying columns of data per element in the hierarchy.
          Unlike the Tree component, TreeTable
          only supports single rooted hierarchies. The features of the TreeTable
          component include mechanisms for focusing in on subtrees (within the main
          tree), as well as expanding and collapsing elements in the hierarchy.
        </html:p>

        <html:p>
          Like the Table, the TreeTable's children must be Trinidad
          Column components. Like the Tree, the TreeTable has a &quot;nodeStamp&quot;
          facet which renders the &quot;Object Name&quot; Column.

          The &quot;Object Name&quot; Column contains the primary identifier of an element
          in the hierarchy. For example, in an organization chart of employees, the &quot;Object Name&quot;
          Column might be the employee name.
        </html:p>
]]>
    </longDesc>
    <property>
      <name>horizontalGridVisible</name>
      <jspName>horizontalGridVisible</jspName>
      <fieldName>_horizontalGridVisible</fieldName>
      <className>boolean</className>
      <desc>if the horizontal grid lines will be drawn.</desc>
      <longDesc>if the horizontal grid lines will be drawn.</longDesc>
      <defaultValue>true</defaultValue>
    </property>
    <property>
      <name>verticalGridVisible</name>
      <jspName>verticalGridVisible</jspName>
      <fieldName>_verticalGridVisible</fieldName>
      <className>boolean</className>
      <desc>if the vertical grid lines will be drawn.</desc>
      <longDesc>if the vertical grid lines will be drawn.</longDesc>
      <defaultValue>true</defaultValue>
    </property>
    <property>
      <name>emptyText</name>
      <jspName>emptyText</jspName>
      <fieldName>_emptyText</fieldName>
      <className>java.lang.String</className>
      <desc>text displayed when a table is empty.</desc>
      <longDesc>text displayed when a table is empty.</longDesc>
    </property>
    <property>
      <name>columnBandingInterval</name>
      <jspName>columnBandingInterval</jspName>
      <fieldName>_columnBandingInterval</fieldName>
      <className>int</className>
      <desc>the interval between which the column banding alternates.  For example, a columnBandingInterval of 1 would display alternately banded columns.</desc>
      <longDesc>the interval between which the column banding alternates.  For example, a columnBandingInterval of 1 would display alternately banded columns.</longDesc>
      <defaultValue>0</defaultValue>
    </property>
    <property>
      <name>rowBandingInterval</name>
      <jspName>rowBandingInterval</jspName>
      <fieldName>_rowBandingInterval</fieldName>
      <className>int</className>
      <desc>the interval between which the row banding alternates.  For example, rowBandingInterval=1 would displayalternately banded rows in the Grid.</desc>
      <longDesc>the interval between which the row banding alternates.  For example, rowBandingInterval=1 would displayalternately banded rows in the Grid.</longDesc>
      <defaultValue>0</defaultValue>
    </property>
    <property>
      <name>rowSelection</name>
      <jspName>rowSelection</jspName>
      <fieldName>_rowSelection</fieldName>
      <className>java.lang.String</className>
      <desc>whether rows in this table selectable. Valid values are "none", "single", "multiple"</desc>
      <longDesc>whether rows in this table selectable. Valid values are "none", "single", "multiple"</longDesc>
      <defaultValue>none</defaultValue>
    </property>
    <property>
      <name>autoSubmit</name>
      <jspName>autoSubmit</jspName>
      <fieldName>_autoSubmit</fieldName>
      <className>boolean</className>
      <desc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).  This only takes effect if rowSelection attribute enabled.</desc>
      <longDesc>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).  This only takes effect if rowSelection attribute enabled.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>width</name>
      <jspName>width</jspName>
      <fieldName>_width</fieldName>
      <className>java.lang.String</className>
      <desc>the width of the table.  The value must either be a number of pixels or a percentage - it is not a CSS width.</desc>
      <longDesc>the width of the table.  The value must either be a number of pixels or a percentage - it is not a CSS width.</longDesc>
    </property>
    <property>
      <name>summary</name>
      <jspName>summary</jspName>
      <fieldName>_summary</fieldName>
      <className>java.lang.String</className>
      <desc>the summary of this table's purpose and structure
         for user agents rendering to non-visual media.</desc>
      <longDesc>the summary of this table's purpose and structure
         for user agents rendering to non-visual media.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS styles to use for this component.</desc>
      <longDesc>the CSS styles to use for this component.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>a CSS style class to use for this component.</desc>
      <longDesc>a CSS style class to use for this component.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>The short description of the component. This text is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </desc>
      <longDesc>
<![CDATA[
the IDs of the components that should trigger a partial update.
        <p>
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.</p>
        <p>
        Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
        </p>
        <p>
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
        ":::" will pop out of two naming containers, etc. The search for
        the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
        component with id = commandButton1 after popping out of two naming containers relative to this component.
        To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>expandAllEnabled</name>
      <jspName>expandAllEnabled</jspName>
      <fieldName>_expandAllEnabled</fieldName>
      <className>boolean</className>
      <desc>Whether the Expand All, Collapse All links should be rendered.</desc>
      <longDesc>Whether the Expand All, Collapse All links should be rendered.</longDesc>
      <defaultValue>true</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXDecorateCollection</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXDecorateCollection</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.DecorateCollection</type>
    <family>org.apache.myfaces.trinidad.DecorateCollection</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXDecorateCollectionTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.DecorateCollection</rendererType>
    <desc>Base class for composite collection decorator.</desc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXDocument</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXDocument</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Document</type>
    <family>org.apache.myfaces.trinidad.Document</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXDocumentTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Document</rendererType>
    <desc>The document control is the base abstraction for an entire document.  It will generally be used immediately inside a UIViewRoot.</desc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXEditableValue</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXValue</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXEditableValue</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXValue</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.EditableValue</type>
    <family>org.apache.myfaces.trinidad.EditableValue</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXEditableValueTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.EditableValue</rendererType>
    <listener>
      <name>valueChangeListener</name>
      <className>javax.faces.event.ValueChangeListener</className>
      <eventClassName>javax.faces.ValueChange</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>
      <phases>Process Validations ,Apply Request Values</phases>
    </listener>
    <desc>The editableValue web element contains all the shared attributes
          supported by all Apache Trinidad components that support the JSF
          EditableValueHolder interface.</desc>
    <property>
      <name>immediate</name>
      <jspName>immediate</jspName>
      <fieldName>_immediate</fieldName>
      <className>boolean</className>
      <desc>whether the value is converted and validated immediately in the Apply Request Values phase, or is handled in the Process Validators phase, the default.  By default, values are converted and validated together in the Process Validators phase.  However, if you need access to the value of a component during Apply Request Values - for example, if you need to get the value from an actionListener on an immediate commandButton - then setting this to "immediate" makes that possible.</desc>
      <longDesc>whether the value is converted and validated immediately in the Apply Request Values phase, or is handled in the Process Validators phase, the default.  By default, values are converted and validated together in the Process Validators phase.  However, if you need access to the value of a component during Apply Request Values - for example, if you need to get the value from an actionListener on an immediate commandButton - then setting this to "immediate" makes that possible.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>valid</name>
      <jspName>valid</jspName>
      <fieldName>_valid</fieldName>
      <className>boolean</className>
      <desc>whether the component's value is currently valid</desc>
      <longDesc>whether the component's value is currently valid</longDesc>
      <defaultValue>true</defaultValue>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>required</name>
      <jspName>required</jspName>
      <fieldName>_required</fieldName>
      <className>boolean</className>
      <desc>whether a non-null, non-empty value must be entered.  If false, validators will not be executed when the value is null or empty.</desc>
      <longDesc>whether a non-null, non-empty value must be entered.  If false, validators will not be executed when the value is null or empty.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>localValueSet</name>
      <jspName>localValueSet</jspName>
      <fieldName>_localValueSet</fieldName>
      <className>boolean</className>
      <literalOnly>true</literalOnly>
      <desc>whether a local value is currently set.  If false, values are being retrieved from any attached ValueBinding</desc>
      <longDesc>whether a local value is currently set.  If false, values are being retrieved from any attached ValueBinding</longDesc>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>submittedValue</name>
      <jspName>submittedValue</jspName>
      <fieldName>_submittedValue</fieldName>
      <className>java.lang.Object</className>
      <literalOnly>true</literalOnly>
      <desc>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.</desc>
      <longDesc>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>
    <property>
      <name>validator</name>
      <jspName>validator</jspName>
      <fieldName>_validator</fieldName>
      <className>javax.faces.el.MethodBinding</className>
      <stateHolder>true</stateHolder>
      <desc>a method reference to a validator method</desc>
      <longDesc>a method reference to a validator method</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>valueChangeListener</name>
      <jspName>valueChangeListener</jspName>
      <fieldName>_valueChangeListener</fieldName>
      <className>javax.faces.el.MethodBinding</className>
      <stateHolder>true</stateHolder>
      <desc>a method reference to a value change listener</desc>
      <longDesc>a method reference to a value change listener</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>javax.faces.event.ValueChangeEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>requiredMessageDetail</name>
      <jspName>requiredMessageDetail</jspName>
      <fieldName>_requiredMessageDetail</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html> the message to be displayed, if 'required' validation fails.
             <p>
              <strong>
               Parameters:
              </strong>
              <ul>
               <li>
                {0} the label that identifies the component
               </li>
              </ul>
             </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html> the message to be displayed, if 'required' validation fails.
             <p>
              <strong>
               Parameters:
              </strong>
              <ul>
               <li>
                {0} the label that identifies the component
               </li>
              </ul>
             </p></html>
]]>
      </longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXForm</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXForm</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Form</type>
    <family>org.apache.myfaces.trinidad.Form</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXFormTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Form</rendererType>
    <desc>The form control is the base abstraction for a submitted
region of a page.</desc>
    <property>
      <name>submitted</name>
      <jspName>submitted</jspName>
      <fieldName>_submitted</fieldName>
      <className>boolean</className>
      <transient>true</transient>
      <desc>whether the form was submitted on this request</desc>
      <longDesc>whether the form was submitted on this request</longDesc>
      <defaultValue>false</defaultValue>
      <tagExcluded>true</tagExcluded>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXGo</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXGo</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Go</type>
    <family>org.apache.myfaces.trinidad.Go</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXGoTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Go</rendererType>
    <desc>go is a base abstraction for components like goButton and goLink
          that are used to navigate directly to a different page without
          any server-side actions.</desc>
    <property>
      <name>destination</name>
      <jspName>destination</jspName>
      <fieldName>_destination</fieldName>
      <className>java.lang.String</className>
      <desc>the URI this go component references</desc>
      <longDesc>the URI this go component references</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXGroup</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXGroup</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <name>tr:group</name>
    <type>org.apache.myfaces.trinidad.Group</type>
    <family>org.apache.myfaces.trinidad.Group</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXGroupTag</tagClass>
    <desc>The group component is an invisible control that aggregates semantically-related children; the group itself has no associated client representation (visual or API).
Some parent components may have special representation for groups like adding separators around the group but this is a special case and is not always rendered this way.
In most cases, only the children of the group will be rendered directly to the page.
There will be no layout applied to the children so the natural layout behavior of the underlying HTML elements will apply.
If you require a more predictable layout, you should use a layout component such as panelGroupLayout.</desc>
    <longDesc>The group component is an invisible control that aggregates semantically-related children; the group itself has no associated client representation (visual or API).
Some parent components may have special representation for groups like adding separators around the group but this is a special case and is not always rendered this way.
In most cases, only the children of the group will be rendered directly to the page.
There will be no layout applied to the children so the natural layout behavior of the underlying HTML elements will apply.
If you require a more predictable layout, you should use a layout component such as panelGroupLayout.</longDesc>
    <property>
      <name>startBoundary</name>
      <jspName>startBoundary</jspName>
      <fieldName>_startBoundary</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
          indicates if a visual group start boundary is desired. The default value of 'dontCare' 
          indicates no preference. A value of 'show' indicates a preference to show a start boundary.
          A value of 'hide' indicates a preference to not show a start boundary. Regardless of the 
          start boundary value, whether a visual boundary will be displayed is up to the group's 
          parent component.
        </html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
          indicates if a visual group start boundary is desired. The default value of 'dontCare' 
          indicates no preference. A value of 'show' indicates a preference to show a start boundary.
          A value of 'hide' indicates a preference to not show a start boundary. Regardless of the 
          start boundary value, whether a visual boundary will be displayed is up to the group's 
          parent component.
        </html>
]]>
      </longDesc>
      <defaultValue>dontCare</defaultValue>
    </property>
    <property>
      <name>endBoundary</name>
      <jspName>endBoundary</jspName>
      <fieldName>_endBoundary</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
          indicates if a visual group end boundary is desired. The default value of 'dontCare' 
          indicates no preference. A value of 'show' indicates a preference to show an end boundary.
          A value of 'hide' indicates a preference to not show an end boundary. Regardless of the 
          end boundary value, whether a visual boundary will be displayed is up to the group's 
          parent component.
        </html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
          indicates if a visual group end boundary is desired. The default value of 'dontCare' 
          indicates no preference. A value of 'show' indicates a preference to show an end boundary.
          A value of 'hide' indicates a preference to not show an end boundary. Regardless of the 
          end boundary value, whether a visual boundary will be displayed is up to the group's 
          parent component.
        </html>
]]>
      </longDesc>
      <defaultValue>dontCare</defaultValue>
    </property>
    <property>
      <name>title</name>
      <jspName>title</jspName>
      <fieldName>_title</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>
          a title value for the group. Whether anything is done with this title value is up to the 
          group's parent component.
        </html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
          a title value for the group. Whether anything is done with this title value is up to the 
          group's parent component.
        </html>
]]>
      </longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.html.HtmlBody</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.html.HtmlBody</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <name>trh:body</name>
    <type>org.apache.myfaces.trinidad.HtmlBody</type>
    <family>org.apache.myfaces.trinidad.Body</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.html.HtmlBodyTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Body</rendererType>
    <defaultEventName>load</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>Tag for the HTML body element.</desc>
    <longDesc>
<![CDATA[
<html:p>
            Tag for the HTML body element.  In addition
to providing support for the standard HTML body functionality,
the Trinidad body component enables partial-page rendering (PPR) support
and assigning initial page focus.
          </html:p>
<html:p>
  The body component resets the Trinidad EL context when code re-enters the component via
  an invoke on component call or a visit tree call. See the
  org.apache.myfaces.trinidad.context.ComponentContextManager for more information.
</html:p>
]]>
    </longDesc>
    <property>
      <name>firstClickPassed</name>
      <jspName>firstClickPassed</jspName>
      <fieldName>_firstClickPassed</fieldName>
      <className>boolean</className>
      <desc>whether or not Trinidad will allow the first click to go
             through in certain instances. When a PPR event occurs, we block
             all subsequent user input until it completes. However, there may
             be instances where the client wants to receive the very first
             click. For example, if the user entered text in an inputText
             that fires a PPR request, then the user immediately clicked
             a submit button two events will be triggered - an onchange
             followed by an onclick. The onchange will trigger the client
             action which will immediately start the PPR blocking, so the
             onclick will get consumed by the blocking code and no submit will
             occur. Setting this value to true will allow the click to go
             through.</desc>
      <longDesc>whether or not Trinidad will allow the first click to go
             through in certain instances. When a PPR event occurs, we block
             all subsequent user input until it completes. However, there may
             be instances where the client wants to receive the very first
             click. For example, if the user entered text in an inputText
             that fires a PPR request, then the user immediately clicked
             a submit button two events will be triggered - an onchange
             followed by an onclick. The onchange will trigger the client
             action which will immediately start the PPR blocking, so the
             onclick will get consumed by the blocking code and no submit will
             occur. Setting this value to true will allow the click to go
             through.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</desc>
      <longDesc>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS style class of the bean.</desc>
      <longDesc>the CSS style class of the bean.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the inline CSS style for this element</desc>
      <longDesc>the inline CSS style for this element</longDesc>
    </property>
    <property>
      <name>onload</name>
      <jspName>onload</jspName>
      <fieldName>_onload</fieldName>
      <className>java.lang.String</className>
      <desc>an onload Javascript handler.</desc>
      <longDesc>an onload Javascript handler.</longDesc>
    </property>
    <property>
      <name>onunload</name>
      <jspName>onunload</jspName>
      <fieldName>_onunload</fieldName>
      <className>java.lang.String</className>
      <desc>an onunload Javascript handler.</desc>
      <longDesc>an onunload Javascript handler.</longDesc>
    </property>
    <property>
      <name>initialFocusId</name>
      <jspName>initialFocusId</jspName>
      <fieldName>_initialFocusId</fieldName>
      <className>java.lang.String</className>
      <desc>the id of the component to which you want the
        focus to be when the full page renders. The accessibility-mode
        must be set to "inaccessible" for this feature to be on.</desc>
      <longDesc>the id of the component to which you want the
        focus to be when the full page renders. The accessibility-mode
        must be set to "inaccessible" for this feature to be on.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.html.HtmlCellFormat</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.html.HtmlCellFormat</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <name>trh:cellFormat</name>
    <type>org.apache.myfaces.trinidad.HtmlCellFormat</type>
    <family>org.apache.myfaces.trinidad.CellFormat</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.html.HtmlCellFormatTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.CellFormat</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>CellFormat components are used to format cells in a
          rowLayout component.</desc>
    <longDesc>CellFormat components are used to format cells in a
          rowLayout.  It is a container of other layout elements which
          allows its contents to take additional formatting, such as vertical
          alignment, width, or colspan.</longDesc>
    <property>
      <name>shortText</name>
      <jspName>shortText</jspName>
      <fieldName>_shortText</fieldName>
      <className>java.lang.String</className>
      <desc>This attribute should be used to provide an abbreviated form of
             the cell's content, and may be rendered by user agents when
             appropriate in place of the cell's content. Abbreviated names
             should be short since user agents may render them repeatedly
             (especially if this cell is a header cell).</desc>
      <longDesc>This attribute should be used to provide an abbreviated form of
             the cell's content, and may be rendered by user agents when
             appropriate in place of the cell's content. Abbreviated names
             should be short since user agents may render them repeatedly
             (especially if this cell is a header cell).</longDesc>
    </property>
    <property>
      <name>halign</name>
      <jspName>halign</jspName>
      <fieldName>_halign</fieldName>
      <className>java.lang.String</className>
      <desc>the horizontal alignment of the grid row elements.
              The acceptable values are "center", "left", "right", "start", and "end".</desc>
      <longDesc>the horizontal alignment of the grid row elements.
              The acceptable values are "center", "left", "right", "start", and "end".</longDesc>
    </property>
    <property>
      <name>valign</name>
      <jspName>valign</jspName>
      <fieldName>_valign</fieldName>
      <className>java.lang.String</className>
      <desc>the vertical alignment of the grid row elements.
              The acceptable values are "middle", "top", and "bottom".</desc>
      <longDesc>the vertical alignment of the grid row elements.
              The acceptable values are "middle", "top", and "bottom".</longDesc>
    </property>
    <property>
      <name>width</name>
      <jspName>width</jspName>
      <fieldName>_width</fieldName>
      <className>java.lang.String</className>
      <desc>the preferred width of the enclosed layout elements.</desc>
      <longDesc>the preferred width of the enclosed layout elements.</longDesc>
    </property>
    <property>
      <name>height</name>
      <jspName>height</jspName>
      <fieldName>_height</fieldName>
      <className>java.lang.String</className>
      <desc>the preferred height of the enclosed layout elements.</desc>
      <longDesc>the preferred height of the enclosed layout elements.</longDesc>
    </property>
    <property>
      <name>columnSpan</name>
      <jspName>columnSpan</jspName>
      <fieldName>_columnSpan</fieldName>
      <className>int</className>
      <desc>the number of cells wide the child layout element will be.</desc>
      <longDesc>the number of cells wide the child layout element will be.</longDesc>
    </property>
    <property>
      <name>rowSpan</name>
      <jspName>rowSpan</jspName>
      <fieldName>_rowSpan</fieldName>
      <className>int</className>
      <desc>the number of cells high the child layout element will be.</desc>
      <longDesc>the number of cells high the child layout element will be.</longDesc>
    </property>
    <property>
      <name>wrappingDisabled</name>
      <jspName>wrappingDisabled</jspName>
      <fieldName>_wrappingDisabled</fieldName>
      <className>boolean</className>
      <desc>whether automatic text wrapping should be disabled for
              this cell.</desc>
      <longDesc>whether automatic text wrapping should be disabled for
              this cell.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>headers</name>
      <jspName>headers</jspName>
      <fieldName>_headers</fieldName>
      <className>java.lang.String</className>
      <desc>Indicates which table cells are the headers for this cell. This
             attribute is used by screen readers to associate header
             information with data cells. This must be set to a
             space-separated list of IDs. Each ID must be the ID of a
             pertinent header cell.</desc>
      <longDesc>Indicates which table cells are the headers for this cell. This
             attribute is used by screen readers to associate header
             information with data cells. This must be set to a
             space-separated list of IDs. Each ID must be the ID of a
             pertinent header cell.</longDesc>
    </property>
    <property>
      <name>header</name>
      <jspName>header</jspName>
      <fieldName>_header</fieldName>
      <className>boolean</className>
      <desc>Indicates whether or not this table cell is a header cell or a data cell.
        Setting this attribute to 'true' will mark this cell as a header cell.</desc>
      <longDesc>Indicates whether or not this table cell is a header cell or a data cell.
        Setting this attribute to 'true' will mark this cell as a header cell.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</desc>
      <longDesc>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS style class of the bean.</desc>
      <longDesc>the CSS style class of the bean.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the inline CSS style for this element</desc>
      <longDesc>the inline CSS style for this element</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.html.HtmlFrame</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.html.HtmlFrame</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <name>trh:frame</name>
    <type>org.apache.myfaces.trinidad.HtmlFrame</type>
    <family>org.apache.myfaces.trinidad.Frame</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.html.HtmlFrameTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Frame</rendererType>
    <desc>The frame component is used to specify attributes needed by an
          HTML frame.</desc>
    <longDesc>
<![CDATA[
The frame is used to specify attributes needed by an
          HTML frame. It does not render any child nodes, and should only be used as
          a facet on a frameBorderLayout component. The contents of a frame is selected
          by using the source attribute.
          <html:p>
          On mobile devices a list links to each frame is rendered
          for a frameBorderLayout, and each frame is brought up
          as a separate page.
          </html:p>
]]>
    </longDesc>
    <property>
      <name>source</name>
      <jspName>source</jspName>
      <fieldName>_source</fieldName>
      <className>java.lang.String</className>
      <required>true</required>
      <desc>the URI for the source of this frame</desc>
      <longDesc>the URI for the source of this frame</longDesc>
    </property>
    <property>
      <name>longDescURL</name>
      <jspName>longDescURL</jspName>
      <fieldName>_longDescURL</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html> This attribute specifies a link to a long description of the
             frame. This description should supplement the short description
             provided using the <code>shortDesc</code> attribute, and
             may be particularly useful for non-visual user agents.</html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html> This attribute specifies a link to a long description of the
             frame. This description should supplement the short description
             provided using the <code>shortDesc</code> attribute, and
             may be particularly useful for non-visual user agents.</html>
]]>
      </longDesc>
    </property>
    <property>
      <name>name</name>
      <jspName>name</jspName>
      <fieldName>_name</fieldName>
      <className>java.lang.String</className>
      <desc>the name used to identify this frame</desc>
      <longDesc>the name used to identify this frame</longDesc>
    </property>
    <property>
      <name>width</name>
      <jspName>width</jspName>
      <fieldName>_width</fieldName>
      <className>java.lang.String</className>
      <desc>the proposed width of this frame
              This can be in pixels or percentage. This attribute is used only if this
              frame is a left/right facet of a frameBorderLayout component.</desc>
      <longDesc>the proposed width of this frame
              This can be in pixels or percentage. This attribute is used only if this
              frame is a left/right facet of a frameBorderLayout component.</longDesc>
    </property>
    <property>
      <name>height</name>
      <jspName>height</jspName>
      <fieldName>_height</fieldName>
      <className>java.lang.String</className>
      <desc>the proposed height of this frame.
              This can be in pixels or percentage. This attribute is used only if this
              frame is a top/bottom facet of a frameBorderLayout component.</desc>
      <longDesc>the proposed height of this frame.
              This can be in pixels or percentage. This attribute is used only if this
              frame is a top/bottom facet of a frameBorderLayout component.</longDesc>
    </property>
    <property>
      <name>marginWidth</name>
      <jspName>marginWidth</jspName>
      <fieldName>_marginWidth</fieldName>
      <className>int</className>
      <desc>the width of the frame margin. The value must be greater than zero (pixels).</desc>
      <longDesc>the width of the frame margin. The value must be greater than zero (pixels).</longDesc>
    </property>
    <property>
      <name>marginHeight</name>
      <jspName>marginHeight</jspName>
      <fieldName>_marginHeight</fieldName>
      <className>int</className>
      <desc>the width of the frame margin. The value must be greater than zero (pixels).</desc>
      <longDesc>the width of the frame margin. The value must be greater than zero (pixels).</longDesc>
    </property>
    <property>
      <name>scrolling</name>
      <jspName>scrolling</jspName>
      <fieldName>_scrolling</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html> whether or not scrollbars are available on this
              frame. Valid values for this attribute are the following
              constants:<br/>


     "yes" specifies that scrollbars are always available. <br/>
     "no" specifies that scrollbars are never available. <br/>
     "auto" specifies that the browser determines whether to display scroll
              bars based on the size of the frame and its content. If
              you do not specify a value for scrolling, the default
              value is "auto"</html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html> whether or not scrollbars are available on this
              frame. Valid values for this attribute are the following
              constants:<br/>


     "yes" specifies that scrollbars are always available. <br/>
     "no" specifies that scrollbars are never available. <br/>
     "auto" specifies that the browser determines whether to display scroll
              bars based on the size of the frame and its content. If
              you do not specify a value for scrolling, the default
              value is "auto"</html>
]]>
      </longDesc>
      <defaultValue>auto</defaultValue>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</desc>
      <longDesc>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS style class of the bean.</desc>
      <longDesc>the CSS style class of the bean.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the inline CSS style for this element</desc>
      <longDesc>the inline CSS style for this element</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.html.HtmlFrameBorderLayout</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.html.HtmlFrameBorderLayout</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <name>trh:frameBorderLayout</name>
    <type>org.apache.myfaces.trinidad.HtmlFrameBorderLayout</type>
    <family>org.apache.myfaces.trinidad.FrameBorderLayout</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.html.HtmlFrameBorderLayoutTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.FrameBorderLayout</rendererType>
    <defaultEventName>load</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>center</name>
      <desc>The frame to be rendered in the center.</desc>
      <longDesc>The frame to be rendered in the center.</longDesc>
    </facet>
    <facet>
      <name>top</name>
      <desc>The frame to be rendered above the center frame.
                This frame's height attribute is used to allocate
                its height.</desc>
      <longDesc>The frame to be rendered above the center frame.
                This frame's height attribute is used to allocate
                its height.</longDesc>
    </facet>
    <facet>
      <name>bottom</name>
      <desc>The frame to be rendered below the center frame.
                This frame's height attribute is used to allocate
                its height.</desc>
      <longDesc>The frame to be rendered below the center frame.
                This frame's height attribute is used to allocate
                its height.</longDesc>
    </facet>
    <facet>
      <name>left</name>
      <desc>The frame to be rendered to the left of the center frame.
                This frame's width attribute is used to allocate
                its width.</desc>
      <longDesc>The frame to be rendered to the left of the center frame.
                This frame's width attribute is used to allocate
                its width.</longDesc>
    </facet>
    <facet>
      <name>right</name>
      <desc>The frame to be rendered to the right of the center frame.
                This frame's width attribute is used to allocate
                its width.</desc>
      <longDesc>The frame to be rendered to the right of the center frame.
                This frame's width attribute is used to allocate
                its width.</longDesc>
    </facet>
    <facet>
      <name>start</name>
      <desc>The frame to be rendered to the left of the center frame,
                if the
                reading direction is left-to-right, or right otherwise.
                This frame's width attribute is used to allocate
                its width.</desc>
      <longDesc>The frame to be rendered to the left of the center frame,
                if the
                reading direction is left-to-right, or right otherwise.
                This frame's width attribute is used to allocate
                its width.</longDesc>
    </facet>
    <facet>
      <name>end</name>
      <desc>The frame to be rendered to the right of the center frame,
                if the
                reading direction is left-to-right, or left otherwise.
                This frame's width attribute is used to allocate
                its width.</desc>
      <longDesc>The frame to be rendered to the right of the center frame,
                if the
                reading direction is left-to-right, or left otherwise.
                This frame's width attribute is used to allocate
                its width.</longDesc>
    </facet>
    <facet>
      <name>innerLeft</name>
      <desc>The frame to be rendered between the left frame and
                the center frame.
                This frame's width attribute is used to allocate
                its width.</desc>
      <longDesc>The frame to be rendered between the left frame and
                the center frame.
                This frame's width attribute is used to allocate
                its width.</longDesc>
    </facet>
    <facet>
      <name>innerRight</name>
      <desc>The frame to be rendered between the right frame and
                the center frame.
                This frame's width attribute is used to allocate
                its width.</desc>
      <longDesc>The frame to be rendered between the right frame and
                the center frame.
                This frame's width attribute is used to allocate
                its width.</longDesc>
    </facet>
    <facet>
      <name>innerStart</name>
      <desc>The frame to be rendered as the innerLeft frame,
                if the reading direction is left-to-right,
                or innerRight frame otherwise.
                This frame's width attribute is used to allocate
                its width.</desc>
      <longDesc>The frame to be rendered as the innerLeft frame,
                if the reading direction is left-to-right,
                or innerRight frame otherwise.
                This frame's width attribute is used to allocate
                its width.</longDesc>
    </facet>
    <facet>
      <name>innerEnd</name>
      <desc>The frame to be rendered as the innerRight frame,
                if the reading direction is left-to-right,
                or innerLeft frame otherwise.
                This frame's width attribute is used to allocate
                its width.</desc>
      <longDesc>The frame to be rendered as the innerRight frame,
                if the reading direction is left-to-right,
                or innerLeft frame otherwise.
                This frame's width attribute is used to allocate
                its width.</longDesc>
    </facet>
    <facet>
      <name>alternateContent</name>
      <desc>
<![CDATA[
These contents will be rendered inside HTML
              <code>NOFRAMES</code> tags. Browsers that do not
              support frames will render these contents.
]]>
      </desc>
      <longDesc>
<![CDATA[
These contents will be rendered inside HTML
              <code>NOFRAMES</code> tags. Browsers that do not
              support frames will render these contents.
]]>
      </longDesc>
    </facet>
    <desc>frameBorderLayout is a layout bean which can be used to place seven
          frames at left, right, top, bottom, innerLeft, innerRight and center
          positions.</desc>
    <longDesc>
<![CDATA[
frameBorderLayout is a layout bean which can be used to place seven
          frames at left, right, top, bottom, innerLeft, innerRight and center
          positions.  It does not render any children except for the specified
          facets which must all be either frames or
          frameBorderLayouts. The user may use either left/right or
          start/end as facets, but not both.  Left/right takes
          precedence over start/end.

          <html:p>
          On mobile devices a list linking to each frame is rendered.
          </html:p>
]]>
    </longDesc>
    <property>
      <name>onload</name>
      <jspName>onload</jspName>
      <fieldName>_onload</fieldName>
      <className>java.lang.String</className>
      <desc>an onload Javascript handler.</desc>
      <longDesc>an onload Javascript handler.</longDesc>
    </property>
    <property>
      <name>onunload</name>
      <jspName>onunload</jspName>
      <fieldName>_onunload</fieldName>
      <className>java.lang.String</className>
      <desc>an onunload Javascript handler.</desc>
      <longDesc>an onunload Javascript handler.</longDesc>
    </property>
    <property>
      <name>width</name>
      <jspName>width</jspName>
      <fieldName>_width</fieldName>
      <className>java.lang.String</className>
      <desc>The proposed width of this frameBorderLayout.  This can be in
           pixels or percentage. This attribute is used only if this a nested
           frameBorderLayout in a left/right facet of a
           frameBorderLayout.</desc>
      <longDesc>The proposed width of this frameBorderLayout.  This can be in
           pixels or percentage. This attribute is used only if this a nested
           frameBorderLayout in a left/right facet of a
           frameBorderLayout.</longDesc>
    </property>
    <property>
      <name>height</name>
      <jspName>height</jspName>
      <fieldName>_height</fieldName>
      <className>java.lang.String</className>
      <desc>The proposed height of this frameBorderLayout.  This can be in
           pixels or percentage. This attribute is used only if this a nested
           frameBorderLayout in a top/bottom facet of a
           frameBorderLayout.</desc>
      <longDesc>The proposed height of this frameBorderLayout.  This can be in
           pixels or percentage. This attribute is used only if this a nested
           frameBorderLayout in a top/bottom facet of a
           frameBorderLayout.</longDesc>
    </property>
    <property>
      <name>frameSpacing</name>
      <jspName>frameSpacing</jspName>
      <fieldName>_frameSpacing</fieldName>
      <className>int</className>
      <desc>The size of frame spacing to be rendered.</desc>
      <longDesc>The size of frame spacing to be rendered.</longDesc>
    </property>
    <property>
      <name>borderWidth</name>
      <jspName>borderWidth</jspName>
      <fieldName>_borderWidth</fieldName>
      <className>int</className>
      <desc>The size for the border width to be rendered.</desc>
      <longDesc>The size for the border width to be rendered.</longDesc>
    </property>
    <property>
      <name>frameBorderWidth</name>
      <jspName>frameBorderWidth</jspName>
      <fieldName>_frameBorderWidth</fieldName>
      <className>int</className>
      <desc>The size for the frame border width to be rendered.</desc>
      <longDesc>The size for the frame border width to be rendered.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</desc>
      <longDesc>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS style class of the bean.</desc>
      <longDesc>the CSS style class of the bean.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the inline CSS style for this element</desc>
      <longDesc>the inline CSS style for this element</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.html.HtmlHead</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.html.HtmlHead</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <name>trh:head</name>
    <type>org.apache.myfaces.trinidad.HtmlHead</type>
    <family>org.apache.myfaces.trinidad.Head</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.html.HtmlHeadTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Head</rendererType>
    <desc>Tag for the HTML head element.</desc>
    <longDesc>
<![CDATA[
<html:p>
            Tag for the HTML head element, including the
            document's title and any style sheets needed by th
            current look-and-feel.  Page authors
            that use this do not need to use a styleSheet component, as it
            will automatically be included.
          </html:p>
<html:p>
  The head component resets the Trinidad EL context when code re-enters the component via
  an invoke on component call or a visit tree call. See the
  org.apache.myfaces.trinidad.context.ComponentContextManager for more information.
</html:p>
]]>
    </longDesc>
    <property>
      <name>title</name>
      <jspName>title</jspName>
      <fieldName>_title</fieldName>
      <className>java.lang.String</className>
      <desc>The title of the document.  (This title doesn't have to match the
            title on any contained panelPage.)</desc>
      <longDesc>The title of the document.  (This title doesn't have to match the
            title on any contained panelPage.)</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</desc>
      <longDesc>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.html.HtmlHtml</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.html.HtmlHtml</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <name>trh:html</name>
    <type>org.apache.myfaces.trinidad.HtmlHtml</type>
    <family>org.apache.myfaces.trinidad.Html</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.html.HtmlHtmlTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Html</rendererType>
    <desc>
<![CDATA[
<html>
          The html tag generates the &lt;html&gt; element for an HTML page.</html>
]]>
    </desc>
    <longDesc>
<![CDATA[
<html:p>
          The html tag generates the &lt;html&gt; element for an HTML page.
It will automatically generate &quot;locale&quot; and &quot;dir&quot; attributes
based on the current locale.
          </html:p>
]]>
    </longDesc>
    <property>
      <name>mode</name>
      <jspName>mode</jspName>
      <fieldName>_mode</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
Set if the page should render in default standards mode, quirks mode, or strict mode.  Behavior of the modes are:<ul>
<li>"default": renders as transitional doctypes for both XHTML and HTML,
with <a href="http://developer.mozilla.org/en/docs/Gecko's_%22Almost_Standards%22_Mode">"almost standards"</a> rendering mode</li>
<li>"strict": renders as a strict doctype for both XHTML and HTML, also
in standards rendering mode</li>
<li>"quirks": renders HTML pages in quirks mode, and XHTML with
a transitional doctype, but standards mode  (there is no quirks mode for
XHTML).</li></ul>
]]>
      </desc>
      <longDesc>
<![CDATA[
Set if the page should render in default standards mode, quirks mode, or strict mode.  Behavior of the modes are:<ul>
<li>"default": renders as transitional doctypes for both XHTML and HTML,
with <a href="http://developer.mozilla.org/en/docs/Gecko's_%22Almost_Standards%22_Mode">"almost standards"</a> rendering mode</li>
<li>"strict": renders as a strict doctype for both XHTML and HTML, also
in standards rendering mode</li>
<li>"quirks": renders HTML pages in quirks mode, and XHTML with
a transitional doctype, but standards mode  (there is no quirks mode for
XHTML).</li></ul>
]]>
      </longDesc>
      <defaultValue>default</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.html.HtmlMeta</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.html.HtmlMeta</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <name>trh:meta</name>
    <type>org.apache.myfaces.trinidad.HtmlMeta</type>
    <family>org.apache.myfaces.trinidad.Meta</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.html.HtmlMetaTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Meta</rendererType>
    <desc>The meta component supports generating an html meta tag for things like reloading the page or configuring viewport characteristics.  It is also important to note that a meta HTML tag cannot have an ID so the component ID will not be seen in the browser source.</desc>
    <longDesc>
<![CDATA[
<html:p>
            The meta component supports generating an html meta tag for things like reloading the page or configuring viewport characteristics like these:
            <html:ul>
              <html:li><html:pre>&lt;meta name="viewport" content="width=device-width, user-scalable=no"&gt;</html:pre></html:li>
              <html:li><html:pre>&lt;meta name="apple-mobile-web-app-capable" content="yes"&gt;</html:pre></html:li>
              <html:li><html:pre>&lt;meta http-equiv="refresh" content="2;url=./test/index.jspx"&gt;</html:pre></html:li>
            </html:ul>
            It is also important to note that a meta HTML tag cannot have an ID so the component ID will not be seen in the browser source.
	  </html:p>
]]>
    </longDesc>
    <property>
      <name>name</name>
      <jspName>name</jspName>
      <fieldName>_name</fieldName>
      <className>java.lang.String</className>
      <desc>the	name or the http-equiv attribute for the meta tag (see the type attribute for further configuration)</desc>
      <longDesc>the	name or the http-equiv attribute for the meta tag (see the type attribute for further configuration)</longDesc>
    </property>
    <property>
      <name>type</name>
      <jspName>type</jspName>
      <fieldName>_type</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html>how the name attribute is used.  Options are:
              <ul><li>name - for "name" which is the most common use for meta tags
                </li><li>httpEquiv - for "http-equiv" which is the used in some legacy meta tags
                </li></ul>
              </html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>how the name attribute is used.  Options are:
              <ul><li>name - for "name" which is the most common use for meta tags
                </li><li>httpEquiv - for "http-equiv" which is the used in some legacy meta tags
                </li></ul>
              </html>
]]>
      </longDesc>
      <defaultValue>name</defaultValue>
    </property>
    <property>
      <name>content</name>
      <jspName>content</jspName>
      <fieldName>_content</fieldName>
      <className>java.lang.String</className>
      <desc>the	content for the meta tag</desc>
      <longDesc>the	content for the meta tag</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.html.HtmlRowLayout</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.html.HtmlRowLayout</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <name>trh:rowLayout</name>
    <type>org.apache.myfaces.trinidad.HtmlRowLayout</type>
    <family>org.apache.myfaces.trinidad.RowLayout</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.html.HtmlRowLayoutTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.RowLayout</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>RowLayout components can be used on their own, or to
          define a row of a tableLayout component.</desc>
    <longDesc>
<![CDATA[
RowLayout components can be used on their own, or to
          define a row of a tableLayout.  It can contain any arbitrary
          content, one per cell, but clients that need formatting beyond just a
          simple &lt;td&gt; element must wrap the child nodes in cellFormat
          components.
]]>
    </longDesc>
    <property>
      <name>halign</name>
      <jspName>halign</jspName>
      <fieldName>_halign</fieldName>
      <className>java.lang.String</className>
      <desc>the default horizontal alignment of cells in this row.
              The acceptable values are "center", "left", "right", "start", and "end".</desc>
      <longDesc>the default horizontal alignment of cells in this row.
              The acceptable values are "center", "left", "right", "start", and "end".</longDesc>
    </property>
    <property>
      <name>valign</name>
      <jspName>valign</jspName>
      <fieldName>_valign</fieldName>
      <className>java.lang.String</className>
      <desc>the default vertical alignment of cells in this row.
              The acceptable values are "middle", "top", and "bottom".</desc>
      <longDesc>the default vertical alignment of cells in this row.
              The acceptable values are "middle", "top", and "bottom".</longDesc>
    </property>
    <property>
      <name>width</name>
      <jspName>width</jspName>
      <fieldName>_width</fieldName>
      <className>java.lang.String</className>
      <desc>the preferred total width of the layout.
              This attribute is ignored when the row layout is inside
              of a table layout.</desc>
      <longDesc>the preferred total width of the layout.
              This attribute is ignored when the row layout is inside
              of a table layout.</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</desc>
      <longDesc>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS style class of the bean.</desc>
      <longDesc>the CSS style class of the bean.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the inline CSS style for this element</desc>
      <longDesc>the inline CSS style for this element</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.html.HtmlScript</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.html.HtmlScript</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <name>trh:script</name>
    <type>org.apache.myfaces.trinidad.HtmlScript</type>
    <family>org.apache.myfaces.trinidad.Script</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.html.HtmlScriptTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Script</rendererType>
    <desc>The script component supports	importing libraries, and inline	scripts.</desc>
    <longDesc>
<![CDATA[
<html:p>
	    The	script component supports both the importing of	libraries and
	    inline scripts.
	  </html:p>
]]>
    </longDesc>
    <property>
      <name>text</name>
      <jspName>text</jspName>
      <fieldName>_text</fieldName>
      <className>java.lang.String</className>
      <desc>the	inline script</desc>
      <longDesc>the	inline script</longDesc>
    </property>
    <property>
      <name>source</name>
      <jspName>source</jspName>
      <fieldName>_source</fieldName>
      <className>java.lang.String</className>
      <desc>the	URI of a script	library	to import.</desc>
      <longDesc>the	URI of a script	library	to import.</longDesc>
    </property>
    <property>
      <name>generatesContent</name>
      <jspName>generatesContent</jspName>
      <fieldName>_generatesContent</fieldName>
      <className>boolean</className>
      <desc>if the script generates content
	    using document.write() or document.writeln(), set this to true.
	    It defaults	to false.</desc>
      <longDesc>if the script generates content
	    using document.write() or document.writeln(), set this to true.
	    It defaults	to false.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>the	IDs of the components that should trigger a partial update.
	 This component	will listen on the trigger components. If one of the
	 trigger components receives an	event that will	cause it to update
	 in some way, this component will request to be	updated	too.</desc>
      <longDesc>the	IDs of the components that should trigger a partial update.
	 This component	will listen on the trigger components. If one of the
	 trigger components receives an	event that will	cause it to update
	 in some way, this component will request to be	updated	too.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.html.HtmlTableLayout</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.html.HtmlTableLayout</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <name>trh:tableLayout</name>
    <type>org.apache.myfaces.trinidad.HtmlTableLayout</type>
    <family>org.apache.myfaces.trinidad.TableLayout</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.html.HtmlTableLayoutTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.TableLayout</rendererType>
    <defaultEventName>click</defaultEventName>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>
<![CDATA[
<html>
          A TableLayout is a thin wrapper around the HTML &lt;table&gt;
          element.  It contains a series of row layout elements.</html>
]]>
    </desc>
    <longDesc>
<![CDATA[
A TableLayout is a thin wrapper around the HTML &lt;table&gt;
          element.  It contains a series of row layout elements.
         <section name="Table Layout">
          By default, HTML tables treat cell widths more like suggestions rather than requirements;
          cell content sizes contribute more in determining the size of each column.
          If you care more for the specified cellFormat widths than content sizes (particularly if your
          cellFormat widths are percentage-based and your cells have contents that are
          programmatically-resizable based on the cell width), then you will need to use
          inlineStyle="table-layout:fixed" to declare that you want your cell widths to be explicitly honored.
          Refer to the CSS specification for further details on this style property.
          </section>
]]>
    </longDesc>
    <property>
      <name>width</name>
      <jspName>width</jspName>
      <fieldName>_width</fieldName>
      <className>java.lang.String</className>
      <desc>the preferred total width of the layout.</desc>
      <longDesc>the preferred total width of the layout.</longDesc>
    </property>
    <property>
      <name>halign</name>
      <jspName>halign</jspName>
      <fieldName>_halign</fieldName>
      <className>java.lang.String</className>
      <desc>the horizontal alignment of the table.
              The acceptable values are "center", "left", "right", "start", and "end".</desc>
      <longDesc>the horizontal alignment of the table.
              The acceptable values are "center", "left", "right", "start", and "end".</longDesc>
    </property>
    <property>
      <name>cellSpacing</name>
      <jspName>cellSpacing</jspName>
      <fieldName>_cellSpacing</fieldName>
      <className>int</className>
      <desc>the spacing between cells.</desc>
      <longDesc>the spacing between cells.</longDesc>
    </property>
    <property>
      <name>cellPadding</name>
      <jspName>cellPadding</jspName>
      <fieldName>_cellPadding</fieldName>
      <className>int</className>
      <desc>the spacing within cells.</desc>
      <longDesc>the spacing within cells.</longDesc>
    </property>
    <property>
      <name>borderWidth</name>
      <jspName>borderWidth</jspName>
      <fieldName>_borderWidth</fieldName>
      <className>int</className>
      <desc>the border width around each cell.</desc>
      <longDesc>the border width around each cell.</longDesc>
    </property>
    <property>
      <name>summary</name>
      <jspName>summary</jspName>
      <fieldName>_summary</fieldName>
      <className>java.lang.String</className>
      <desc>The summary of the table's purpose and structure
             for user agents rendering to non-visual media. This attribute
             must be set if this element is being used to implement a data
             table (instead of a layout table).</desc>
      <longDesc>The summary of the table's purpose and structure
             for user agents rendering to non-visual media. This attribute
             must be set if this element is being used to implement a data
             table (instead of a layout table).</longDesc>
    </property>
    <property>
      <name>shortDesc</name>
      <jspName>shortDesc</jspName>
      <fieldName>_shortDesc</fieldName>
      <className>java.lang.String</className>
      <desc>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</desc>
      <longDesc>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</longDesc>
    </property>
    <property>
      <name>partialTriggers</name>
      <jspName>partialTriggers</jspName>
      <fieldName>_partialTriggers</fieldName>
      <className>java.lang.String[]</className>
      <desc>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</desc>
      <longDesc>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</longDesc>
    </property>
    <property>
      <name>onclick</name>
      <jspName>onclick</jspName>
      <fieldName>_onclick</fieldName>
      <className>java.lang.String</className>
      <desc>an onclick Javascript handler.</desc>
      <longDesc>an onclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>ondblclick</name>
      <jspName>ondblclick</jspName>
      <fieldName>_ondblclick</fieldName>
      <className>java.lang.String</className>
      <desc>an ondblclick Javascript handler.</desc>
      <longDesc>an ondblclick Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousedown</name>
      <jspName>onmousedown</jspName>
      <fieldName>_onmousedown</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousedown Javascript handler.</desc>
      <longDesc>an onmousedown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseup</name>
      <jspName>onmouseup</jspName>
      <fieldName>_onmouseup</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseup Javascript handler.</desc>
      <longDesc>an onmouseup Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseover</name>
      <jspName>onmouseover</jspName>
      <fieldName>_onmouseover</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseover Javascript handler.</desc>
      <longDesc>an onmouseover Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmousemove</name>
      <jspName>onmousemove</jspName>
      <fieldName>_onmousemove</fieldName>
      <className>java.lang.String</className>
      <desc>an onmousemove Javascript handler.</desc>
      <longDesc>an onmousemove Javascript handler.</longDesc>
    </property>
    <property>
      <name>onmouseout</name>
      <jspName>onmouseout</jspName>
      <fieldName>_onmouseout</fieldName>
      <className>java.lang.String</className>
      <desc>an onmouseout Javascript handler.</desc>
      <longDesc>an onmouseout Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeypress</name>
      <jspName>onkeypress</jspName>
      <fieldName>_onkeypress</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeypress Javascript handler.</desc>
      <longDesc>an onkeypress Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeydown</name>
      <jspName>onkeydown</jspName>
      <fieldName>_onkeydown</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeydown Javascript handler.</desc>
      <longDesc>an onkeydown Javascript handler.</longDesc>
    </property>
    <property>
      <name>onkeyup</name>
      <jspName>onkeyup</jspName>
      <fieldName>_onkeyup</fieldName>
      <className>java.lang.String</className>
      <desc>an onkeyup Javascript handler.</desc>
      <longDesc>an onkeyup Javascript handler.</longDesc>
    </property>
    <property>
      <name>styleClass</name>
      <jspName>styleClass</jspName>
      <fieldName>_styleClass</fieldName>
      <className>java.lang.String</className>
      <desc>the CSS style class of the bean.</desc>
      <longDesc>the CSS style class of the bean.</longDesc>
    </property>
    <property>
      <name>inlineStyle</name>
      <jspName>inlineStyle</jspName>
      <fieldName>_inlineStyle</fieldName>
      <className>java.lang.String</className>
      <desc>the inline CSS style for this element</desc>
      <longDesc>the inline CSS style for this element</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXInput</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXEditableValue</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXInput</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXEditableValue</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Input</type>
    <family>org.apache.myfaces.trinidad.Input</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXInputTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Text</rendererType>
    <desc>UIXInput is a base class for all Apache Trinidad input components.</desc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXIterator</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXCollection</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXIterator</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXCollection</sourceClassParentClassName>
    <name>tr:iterator</name>
    <type>org.apache.myfaces.trinidad.Iterator</type>
    <family>org.apache.myfaces.trinidad.Iterator</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXIteratorTag</tagClass>
    <desc>UIXIterator is a component that performs iteration
over its child components.  It is like a UIXTable without any chrome.
While functionally similar to a forEach tag, an iterator is a component
that does its processing during rendering, while forEach runs during
the assembly of the component tree, and doesn't leave behind a component in the
heirarchy.</desc>
    <longDesc>
<![CDATA[
<p>UIXIterator is a component that performs iteration over its child components. It is similar to UIXTable
but has no chrome.
 Each child is repeatedly stamped as many times as necessary.
 Iteration is done starting at the index given by the &quot;first&quot; attribute,
 for as many indices as specified by the &quot;rows&quot; attribute.
 If &quot;rows&quot; returns 0, then the iteration continues until 
 there are no more elements in the underlying data.
 </p>
 <p> 
  While the &lt;tr:forEach&gt;
will be sufficient for most user's needs, it does not work with a JSF
DataModel, or CollectionModel. It also cannot be bound to EL expressions that
use component-managed EL variables
(such as the &quot;var&quot; variable on an &lt;tr:table&gt;), because
a forEach tag runs during
The &lt;tr:iterator&gt; tag was created to
address these issues.
</p>
<p>
To list all, the benefits of UIXIterator over forEach:
<ul>
<li>Access to component-managed EL variables</li>
<li>Full support for CollectionModel and DataModel</li>
<li>Does not require creating multiple copies of children,
so more memory efficient</li>
<li>Much better at dealing with adding and deleting children,
at least when used with a CollectionModel with a good
implementation of getRowKey()</li>
<li>Supports "binding", and all other forms of JSF component
manipulation</li>
</ul>
and the negative aspects:
<ul>
<li>Leaves behind a component in the hierarchy, which causes
problems with components like panelFormLayout that try to handle each child
individually.</li>
<li>Because there's only one of each child, the same limitations
on "binding", etc., as apply inside a table also apply to iterator.</li>
</ul>
</p>
<p>By default, it processes up to 25 rows. Use the rows attribute to alter this behavior.</p>
]]>
    </longDesc>
    <property>
      <name>varStatus</name>
      <jspName>varStatus</jspName>
      <fieldName>_varStatus</fieldName>
      <className>java.lang.String</className>
      <literalOnly>true</literalOnly>
      <desc>
<![CDATA[
<html>
 Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this 
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:
          <ul>
            <li>"model" - returns the CollectionModel for this component.</li>
            <li>"index" - returns the zero based row index.</li>
            <li>"hierarchicalIndex" - returns an array containing zero based row index.</li>
            <li>"hierarchicalLabel" - returns a string label representing 1 based index of this row.</li>
            <li>"rowKey" - returns the current rowKey in the collection.</li>
            <li>"current" - returns the current row in the collection.</li>
          </ul></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this 
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:
          <ul>
            <li>"model" - returns the CollectionModel for this component.</li>
            <li>"index" - returns the zero based row index.</li>
            <li>"hierarchicalIndex" - returns an array containing zero based row index.</li>
            <li>"hierarchicalLabel" - returns a string label representing 1 based index of this row.</li>
            <li>"rowKey" - returns the current rowKey in the collection.</li>
            <li>"current" - returns the current row in the collection.</li>
          </ul></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>value</name>
      <jspName>value</jspName>
      <fieldName>_value</fieldName>
      <className>java.lang.Object</className>
      <desc>
<![CDATA[
the data model being used by this component.
The specific model class is
        <code>org.apache.myfaces.trinidad.model.CollectionModel</code>.

        You may also use other model instances, e.g.,  
        <code>java.util.List</code>  ,
        array, and  <code>javax.faces.model.DataModel</code>.
        This component will automatically convert the instance
        into a <code>CollectionModel</code>.
]]>
      </desc>
      <longDesc>
<![CDATA[
the data model being used by this component.
The specific model class is
        <code>org.apache.myfaces.trinidad.model.CollectionModel</code>.

        You may also use other model instances, e.g.,  
        <code>java.util.List</code>  ,
        array, and  <code>javax.faces.model.DataModel</code>.
        This component will automatically convert the instance
        into a <code>CollectionModel</code>.
]]>
      </longDesc>
    </property>
    <property>
      <name>rows</name>
      <jspName>rows</jspName>
      <fieldName>_rows</fieldName>
      <className>int</className>
      <desc>the maximum number of rows to display in a single range of rows.
Some ranges might have fewer
than the number of rows specified by this attribute (eg: the last range
might have an insufficient number of rows).
To display all rows at once, set this attribute to 0.
The default is 25.</desc>
      <longDesc>the maximum number of rows to display in a single range of rows.
Some ranges might have fewer
than the number of rows specified by this attribute (eg: the last range
might have an insufficient number of rows).
To display all rows at once, set this attribute to 0.
The default is 25.</longDesc>
      <defaultValue>25</defaultValue>
    </property>
    <property>
      <name>first</name>
      <jspName>first</jspName>
      <fieldName>_first</fieldName>
      <className>int</className>
      <desc>the index of the first row in the currently range of rows.
This index is zero-based. This attribute is used to control
which range of rows to display to the user.</desc>
      <longDesc>the index of the first row in the currently range of rows.
This index is zero-based. This attribute is used to control
which range of rows to display to the user.</longDesc>
      <defaultValue>0</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXListView</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXIterator</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXListView</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXIterator</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.ListView</type>
    <family>org.apache.myfaces.trinidad.ListView</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXListViewTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.ListView</rendererType>
    <listener>
      <name>selectionListener</name>
      <className>org.apache.myfaces.trinidad.event.SelectionListener</className>
      <eventClassName>org.apache.myfaces.trinidad.Selection</eventClassName>
      <desc>The selection event is delivered when the table selection
                       changes.</desc>
      <longDesc>The selection event is delivered when the table selection
                       changes.</longDesc>
      <phases>Apply Request Values ,Invoke Application</phases>
    </listener>
    <listener>
      <name>rowDisclosureListener</name>
      <className>org.apache.myfaces.trinidad.event.RowDisclosureListener</className>
      <eventClassName>org.apache.myfaces.trinidad.RowDisclosure</eventClassName>
      <desc>The expansion event is generated for a table when the detail facet of a row is expanded or collapsed. For tree or a treeTable, the expansion
                       event is generated when tree nodes are expanded or collapsed.</desc>
      <longDesc>The expansion event is generated for a table when the detail facet of a row is expanded or collapsed. For tree or a treeTable, the expansion
                       event is generated when tree nodes are expanded or collapsed.</longDesc>
      <phases>Apply Request Values ,Invoke Application</phases>
    </listener>
    <desc>UIXListView is a component that is similar to UIXIterator. In addition it adds support for selection and grouping. 
    The grouping support add Tree Like functionaliy via the TreeModel class.</desc>
    <longDesc>
<![CDATA[
<p>UIXListView is a component that is similar to UIXIterator. In addition it adds support for selection and grouping. 
      The grouping support add Tree Like functionaliy via the TreeModel class.</p>
]]>
    </longDesc>
    <property>
      <name>selectedRowKeys</name>
      <jspName>selectedRowKeys</jspName>
      <fieldName>_selectedRowKeys</fieldName>
      <className>org.apache.myfaces.trinidad.model.RowKeySet</className>
      <desc>the selection state for this component.</desc>
      <longDesc>the selection state for this component.</longDesc>
    </property>
    <property>
      <name>groupDisclosedRowKeys</name>
      <jspName>groupDisclosedRowKeys</jspName>
      <fieldName>_groupDisclosedRowKeys</fieldName>
      <className>org.apache.myfaces.trinidad.model.RowKeySet</className>
      <desc>the set of disclosed groups for this component.
Each entry in the set is a rowKey.</desc>
      <longDesc>the set of disclosed groups for this component.
Each entry in the set is a rowKey.</longDesc>
    </property>
    <property>
      <name>selectionListener</name>
      <jspName>selectionListener</jspName>
      <fieldName>_selectionListener</fieldName>
      <className>javax.el.MethodExpression</className>
      <desc>a method reference to a selection listener</desc>
      <longDesc>a method reference to a selection listener</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>org.apache.myfaces.trinidad.event.SelectionEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>groupDisclosureListener</name>
      <jspName>groupDisclosureListener</jspName>
      <fieldName>_groupDisclosureListener</fieldName>
      <className>javax.el.MethodExpression</className>
      <desc>a method reference to a group disclosure listener</desc>
      <longDesc>a method reference to a group disclosure listener</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>org.apache.myfaces.trinidad.event.RowDisclosureEvent</parameterType>
      </methodBindingSignature>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXMenu</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXMenu</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Menu</type>
    <family>org.apache.myfaces.trinidad.Menu</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXMenuTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.List</rendererType>
    <facet>
      <name>popupMenu</name>
      <desc>the popup menu associated with this menu</desc>
      <longDesc>the popup menu associated with this menu</longDesc>
    </facet>
    <desc>Signifies an element that can contain a series of UIXCommand components.</desc>
    <longDesc>Signifies an element that can contain a series of UIXCommand components.</longDesc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXMessage</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXMessage</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Message</type>
    <family>org.apache.myfaces.trinidad.Message</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXMessageTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Message</rendererType>
    <desc>UIXMessage is the base component class for components
that display a single message on behalf of a component.</desc>
    <property>
      <name>for</name>
      <jspName>for</jspName>
      <fieldName>_for</fieldName>
      <className>java.lang.String</className>
      <desc>the relative ID from this component to the component whose messages will be displayed</desc>
      <longDesc>the relative ID from this component to the component whose messages will be displayed</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXMessages</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXMessages</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Messages</type>
    <family>org.apache.myfaces.trinidad.Messages</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXMessagesTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Messages</rendererType>
    <desc>UIXMessages is the base component class for components
that display a messages for an entire page.</desc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXNavigationLevel</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXNavigationHierarchy</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXNavigationLevel</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXNavigationHierarchy</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.NavigationLevel</type>
    <family>org.apache.myfaces.trinidad.NavigationLevel</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXNavigationLevelTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.NavigationLevel</rendererType>
    <facet>
      <name>nodeStamp</name>
      <desc>the component to use to stamp each element in the
              navigation. A CommandNavigationItem is expected.</desc>
      <longDesc>the component to use to stamp each element in the
              navigation. A CommandNavigationItem is expected.</longDesc>
    </facet>
    <desc>The navigationLevel component creates a series of navigation items representing one level in a navigation hierarchy.</desc>
    <longDesc>The navigationLevel component creates a series of navigation items representing one level in a navigation hierarchy.</longDesc>
    <property>
      <name>value</name>
      <jspName>value</jspName>
      <fieldName>_value</fieldName>
      <className>java.lang.Object</className>
      <desc>the hierarchy of navigation data - must be of type
            org.apache.myfaces.trinidad.model.MenuModel</desc>
      <longDesc>the hierarchy of navigation data - must be of type
            org.apache.myfaces.trinidad.model.MenuModel</longDesc>
    </property>
    <property>
      <name>level</name>
      <jspName>level</jspName>
      <fieldName>_level</fieldName>
      <className>int</className>
      <desc>the level, based on a 0 based index, in the menuModel to render based on the focusPath of the menuModel.</desc>
      <longDesc>the level, based on a 0 based index, in the menuModel to render based on the focusPath of the menuModel.</longDesc>
      <defaultValue>0</defaultValue>
    </property>
    <property>
      <name>varStatus</name>
      <jspName>varStatus</jspName>
      <fieldName>_varStatus</fieldName>
      <className>java.lang.String</className>
      <literalOnly>true</literalOnly>
      <desc>
<![CDATA[
<html>
 Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:<ul><li>"model" - returns the CollectionModel for this component</li><li>"index" - returns the zero based row index</li></ul></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:<ul><li>"model" - returns the CollectionModel for this component</li><li>"index" - returns the zero based row index</li></ul></html>
]]>
      </longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXNavigationPath</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXNavigationHierarchy</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXNavigationPath</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXNavigationHierarchy</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.NavigationPath</type>
    <family>org.apache.myfaces.trinidad.NavigationPath</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXNavigationPathTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Path</rendererType>
    <facet>
      <name>nodeStamp</name>
      <desc>the component to use to stamp each element in the
              navigation. A CommandNavigationItem is expected.</desc>
      <longDesc>the component to use to stamp each element in the
              navigation. A CommandNavigationItem is expected.</longDesc>
    </facet>
    <desc>A navigationPath component is used in hierarchical
          site layouts to indicate the path back to the root page of the
          hierarchy with links.</desc>
    <longDesc>A navigationPath component is used in hierarchical
          site layouts to indicate the path back to the root page of the
          hierarchy with links.</longDesc>
    <property>
      <name>value</name>
      <jspName>value</jspName>
      <fieldName>_value</fieldName>
      <className>java.lang.Object</className>
      <desc>the hierarchy of navigation data - must be of type 
            org.apache.myfaces.trinidad.model.MenuModel</desc>
      <longDesc>the hierarchy of navigation data - must be of type 
            org.apache.myfaces.trinidad.model.MenuModel</longDesc>
    </property>
    <property>
      <name>varStatus</name>
      <jspName>varStatus</jspName>
      <fieldName>_varStatus</fieldName>
      <className>java.lang.String</className>
      <literalOnly>true</literalOnly>
      <desc>
<![CDATA[
<html>
 Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this 
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:<ul><li>"model" - returns the CollectionModel for this component</li><li>"index" - returns the zero based row index</li></ul></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this 
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:<ul><li>"model" - returns the CollectionModel for this component</li><li>"index" - returns the zero based row index</li></ul></html>
]]>
      </longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXNavigationTree</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXNavigationHierarchy</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXNavigationTree</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXNavigationHierarchy</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.NavigationTree</type>
    <family>org.apache.myfaces.trinidad.NavigationTree</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXNavigationTreeTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.NavigationTree</rendererType>
    <facet>
      <name>nodeStamp</name>
      <desc>the component to use to stamp each element in the
              tree. Only certain types of components are supported,
              including all
              components with no behavior and most components that implement the
              EditableValueHolder or ActionSource interfaces.</desc>
      <longDesc>the component to use to stamp each element in the
              tree. Only certain types of components are supported,
              including all
              components with no behavior and most components that implement the
              EditableValueHolder or ActionSource interfaces.</longDesc>
    </facet>
    <listener>
      <name>rowDisclosureListener</name>
      <className>org.apache.myfaces.trinidad.event.RowDisclosureListener</className>
      <eventClassName>org.apache.myfaces.trinidad.RowDisclosure</eventClassName>
      <desc>The expansion event is generated for a table when the detail facet of a row is expanded or collapsed. For tree or a treeTable, the expansion
                       event is generated when tree nodes are expanded or collapsed.</desc>
      <longDesc>The expansion event is generated for a table when the detail facet of a row is expanded or collapsed. For tree or a treeTable, the expansion
                       event is generated when tree nodes are expanded or collapsed.</longDesc>
      <phases>Apply Request Values ,Invoke Application</phases>
    </listener>
    <desc>Apache Trinidad navigationTree components are used to display hierarchical navigation data.</desc>
    <longDesc>
<![CDATA[
<html:p>

            Apache Trinidad navigationTree components are used to display hierarchical navigation data.
          </html:p>
]]>
    </longDesc>
    <property>
      <name>rowDisclosureListener</name>
      <jspName>rowDisclosureListener</jspName>
      <fieldName>_rowDisclosureListener</fieldName>
      <className>javax.el.MethodExpression</className>
      <desc>a method reference to an ExpansionListener</desc>
      <longDesc>a method reference to an ExpansionListener</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>org.apache.myfaces.trinidad.event.RowDisclosureEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>disclosedRowKeys</name>
      <jspName>disclosedRowKeys</jspName>
      <fieldName>_disclosedRowKeys</fieldName>
      <className>org.apache.myfaces.trinidad.model.RowKeySet</className>
      <desc>the set of disclosed rows for this component.
Each entry in the set is a rowKey.</desc>
      <longDesc>the set of disclosed rows for this component.
Each entry in the set is a rowKey.</longDesc>
    </property>
    <property>
      <name>value</name>
      <jspName>value</jspName>
      <fieldName>_value</fieldName>
      <className>java.lang.Object</className>
      <desc>the hierarchy of tree data - must be of type
            org.apache.myfaces.trinidad.model.MenuModel</desc>
      <longDesc>the hierarchy of tree data - must be of type
            org.apache.myfaces.trinidad.model.MenuModel</longDesc>
    </property>
    <property>
      <name>startLevel</name>
      <jspName>startLevel</jspName>
      <fieldName>_startLevel</fieldName>
      <className>int</className>
      <desc>the starting level, based on a 0 based index, in the menuModel to render based on the focusPath of the menuModel.</desc>
      <longDesc>the starting level, based on a 0 based index, in the menuModel to render based on the focusPath of the menuModel.</longDesc>
      <defaultValue>0</defaultValue>
    </property>
    <property>
      <name>varStatus</name>
      <jspName>varStatus</jspName>
      <fieldName>_varStatus</fieldName>
      <className>java.lang.String</className>
      <literalOnly>true</literalOnly>
      <desc>
<![CDATA[
<html>
 Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:<ul><li>"model" - returns the CollectionModel for this component</li><li>"index" - returns the zero based row index</li></ul></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:<ul><li>"model" - returns the CollectionModel for this component</li><li>"index" - returns the zero based row index</li></ul></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>immediate</name>
      <jspName>immediate</jspName>
      <fieldName>_immediate</fieldName>
      <className>boolean</className>
      <desc>whether data validation
          should be skipped when row disclosure
          events are generated by this component.

          When immediate is false (the default), events will
          be delivered during the Invoke Application phase, which
          will trigger validation.  When set to true,  events
          will be executed during the Apply Request Values phase.</desc>
      <longDesc>whether data validation
          should be skipped when row disclosure
          events are generated by this component.

          When immediate is false (the default), events will
          be delivered during the Invoke Application phase, which
          will trigger validation.  When set to true,  events
          will be executed during the Apply Request Values phase.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXObject</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXObject</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Object</type>
    <family>org.apache.myfaces.trinidad.Object</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXObjectTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Object</rendererType>
    <desc>Object is a base abstraction for components that represent object
          resources (like image) that have no server-side behavior and
          do not participate in type conversion.</desc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXOutput</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXValue</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXOutput</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXValue</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Output</type>
    <family>org.apache.myfaces.trinidad.Output</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXOutputTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Text</rendererType>
    <desc>UIXOutput is a concrete base class for all Apache Trinidad output components that
support type conversion.</desc>
    <longDesc>
<![CDATA[
UIXOutput is a concrete base class for all Apache Trinidad output components that
support type conversion.  All UIXOutput classes output something,
but they all also support a &quot;value&quot; attribute that can be converted
into a String with a <html:code>javax.faces.convert.Converter</html:code>.
]]>
    </longDesc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXPage</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXNavigationHierarchy</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXPage</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXNavigationHierarchy</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Page</type>
    <family>org.apache.myfaces.trinidad.Page</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXPageTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.BasePage</rendererType>
    <facet>
      <name>nodeStamp</name>
      <desc>the component to use to stamp each element in the
              menu. A CommandNavigationItem is expected.</desc>
      <longDesc>the component to use to stamp each element in the
              menu. A CommandNavigationItem is expected.</longDesc>
    </facet>
    <listener>
      <name>rowDisclosureListener</name>
      <className>org.apache.myfaces.trinidad.event.RowDisclosureListener</className>
      <eventClassName>org.apache.myfaces.trinidad.RowDisclosure</eventClassName>
      <desc>The expansion event is generated for a table when the detail facet of a row is expanded or collapsed. For tree or a treeTable, the expansion
                       event is generated when tree nodes are expanded or collapsed.</desc>
      <longDesc>The expansion event is generated for a table when the detail facet of a row is expanded or collapsed. For tree or a treeTable, the expansion
                       event is generated when tree nodes are expanded or collapsed.</longDesc>
      <phases>Apply Request Values ,Invoke Application</phases>
    </listener>
    <desc>basePage is the base abstraction for a page</desc>
    <longDesc>
<![CDATA[
<html:p>
          A Page component uses a MenuModel and a stamp to render navigation items.
          </html:p>
]]>
    </longDesc>
    <property>
      <name>rowDisclosureListener</name>
      <jspName>rowDisclosureListener</jspName>
      <fieldName>_rowDisclosureListener</fieldName>
      <className>javax.el.MethodExpression</className>
      <desc>a method reference to an ExpansionListener</desc>
      <longDesc>a method reference to an ExpansionListener</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>org.apache.myfaces.trinidad.event.RowDisclosureEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>disclosedRowKeys</name>
      <jspName>disclosedRowKeys</jspName>
      <fieldName>_disclosedRowKeys</fieldName>
      <className>org.apache.myfaces.trinidad.model.RowKeySet</className>
      <desc>the set of disclosed rows for this component.
Each entry in the set is a rowKey.</desc>
      <longDesc>the set of disclosed rows for this component.
Each entry in the set is a rowKey.</longDesc>
    </property>
    <property>
      <name>value</name>
      <jspName>value</jspName>
      <fieldName>_value</fieldName>
      <className>java.lang.Object</className>
      <desc>the hierarchy of menu data - must be of type 
            org.apache.myfaces.trinidad.model.MenuModel</desc>
      <longDesc>the hierarchy of menu data - must be of type 
            org.apache.myfaces.trinidad.model.MenuModel</longDesc>
    </property>
    <property>
      <name>varStatus</name>
      <jspName>varStatus</jspName>
      <fieldName>_varStatus</fieldName>
      <className>java.lang.String</className>
      <literalOnly>true</literalOnly>
      <desc>
<![CDATA[
<html>
 Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this 
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:<ul><li>"model" - returns the CollectionModel for this component</li><li>"index" - returns the zero based row index</li></ul></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this 
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:<ul><li>"model" - returns the CollectionModel for this component</li><li>"index" - returns the zero based row index</li></ul></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>immediate</name>
      <jspName>immediate</jspName>
      <fieldName>_immediate</fieldName>
      <className>boolean</className>
      <desc>whether data validation 
          should be skipped when row disclosure
          events are generated by this component.

          When immediate is false (the default), events will
          be delivered during the Invoke Application phase, which
          will trigger validation.  When set to true,  events
          will be executed during the Apply Request Values phase.</desc>
      <longDesc>whether data validation 
          should be skipped when row disclosure
          events are generated by this component.

          When immediate is false (the default), events will
          be delivered during the Invoke Application phase, which
          will trigger validation.  When set to true,  events
          will be executed during the Apply Request Values phase.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXPanel</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXPanel</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Panel</type>
    <family>org.apache.myfaces.trinidad.Panel</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXPanelTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Group</rendererType>
    <desc>Base class for components that provide
layout for their children.</desc>
    <longDesc>Base class for components that provide
layout for their children.</longDesc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXPoll</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXPoll</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Poll</type>
    <family>org.apache.myfaces.trinidad.Poll</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXPollTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Poll</rendererType>
    <listener>
      <name>pollListener</name>
      <className>org.apache.myfaces.trinidad.event.PollListener</className>
      <eventClassName>org.apache.myfaces.trinidad.Poll</eventClassName>
      <desc>Event delivered when the poll component polls the server.</desc>
      <longDesc>Event delivered when the poll component polls the server.</longDesc>
      <phases>Apply Request Values ,Invoke Application</phases>
    </listener>
    <desc>The poll component initiates poll to the server.</desc>
    <longDesc>The poll component initiates poll to the server.</longDesc>
    <property>
      <name>immediate</name>
      <jspName>immediate</jspName>
      <fieldName>_immediate</fieldName>
      <className>boolean</className>
      <desc>whether data validation 
          should be skipped when poll
          events are generated by this component.

          When immediate is false (the default), events will
          be delivered during the Invoke Application phase, which
          will trigger validation.  When set to true,  events
          will be executed during the Apply Request Values phase.</desc>
      <longDesc>whether data validation 
          should be skipped when poll
          events are generated by this component.

          When immediate is false (the default), events will
          be delivered during the Invoke Application phase, which
          will trigger validation.  When set to true,  events
          will be executed during the Apply Request Values phase.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>pollListener</name>
      <jspName>pollListener</jspName>
      <fieldName>_pollListener</fieldName>
      <className>javax.el.MethodExpression</className>
      <desc>a method reference to a poll listener</desc>
      <longDesc>a method reference to a poll listener</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>org.apache.myfaces.trinidad.event.PollEvent</parameterType>
      </methodBindingSignature>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXProcess</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXNavigationHierarchy</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXProcess</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXNavigationHierarchy</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Process</type>
    <family>org.apache.myfaces.trinidad.Process</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXProcessTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.ChoiceBar</rendererType>
    <facet>
      <name>nodeStamp</name>
      <desc>the component to use to stamp each element in the
              process. A CommandNavigationItem is expected.</desc>
      <longDesc>the component to use to stamp each element in the
              process. A CommandNavigationItem is expected.</longDesc>
    </facet>
    <desc>Signifies an element that represents a process and binds to a menuModel.</desc>
    <longDesc>Signifies an element that represents a process and binds to a menuModel.</longDesc>
    <property>
      <name>value</name>
      <jspName>value</jspName>
      <fieldName>_value</fieldName>
      <className>java.lang.Object</className>
      <desc>the hierarchy of data - must be of type 
            org.apache.myfaces.trinidad.model.MenuModel</desc>
      <longDesc>the hierarchy of data - must be of type 
            org.apache.myfaces.trinidad.model.MenuModel</longDesc>
    </property>
    <property>
      <name>varStatus</name>
      <jspName>varStatus</jspName>
      <fieldName>_varStatus</fieldName>
      <className>java.lang.String</className>
      <literalOnly>true</literalOnly>
      <desc>
<![CDATA[
<html>
 Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this 
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:<ul><li>"model" - returns the CollectionModel for this component</li><li>"index" - returns the zero based row index</li></ul></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
 Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this 
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:<ul><li>"model" - returns the CollectionModel for this component</li><li>"index" - returns the zero based row index</li></ul></html>
]]>
      </longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXProgress</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXProgress</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Progress</type>
    <family>org.apache.myfaces.trinidad.Progress</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXProgressTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Indicator</rendererType>
    <listener>
      <name>actionListener</name>
      <className>javax.faces.event.ActionListener</className>
      <eventClassName>javax.faces.Action</eventClassName>
      <desc>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.</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>Any Phase ,Invoke Application</phases>
    </listener>
    <desc>UIXProgress is a base abstraction for 
          components that implement ActionSource and 
          indicate the progress of tasks running in
	    the server, typically navigating to a special
          page once the task is complete.</desc>
    <longDesc>UIXProgress is a base abstraction for 
          components that implement ActionSource and 
          indicate the progress of tasks running in
	    the server, typically navigating to a special
          page once the task is complete.
	    When the task is complete, an ActionEvent is
	    delivered.</longDesc>
    <property>
      <name>value</name>
      <jspName>value</jspName>
      <fieldName>_value</fieldName>
      <className>java.lang.Object</className>
      <desc>The data model being used by this progress component.
              The model should be of type 
              org.apache.myfaces.trinidad.model.BoundedRangeModel.</desc>
      <longDesc>The data model being used by this progress component.
              The model should be of type 
              org.apache.myfaces.trinidad.model.BoundedRangeModel.</longDesc>
    </property>
    <property>
      <name>action</name>
      <jspName>action</jspName>
      <fieldName>_action</fieldName>
      <className>javax.faces.el.MethodBinding</className>
      <stateHolder>true</stateHolder>
      <desc>A reference to an action method sent by the progress component, 
              or the static outcome of an action. This is invoked when the task
              under progress is complete.</desc>
      <longDesc>A reference to an action method sent by the progress component, 
              or the static outcome of an action. This is invoked when the task
              under progress is complete.</longDesc>
      <methodBindingSignature>
        <returnType>java.lang.String</returnType>
      </methodBindingSignature>
    </property>
    <property>
      <name>actionListener</name>
      <jspName>actionListener</jspName>
      <fieldName>_actionListener</fieldName>
      <className>javax.faces.el.MethodBinding</className>
      <stateHolder>true</stateHolder>
      <desc>A method reference to an action listener.
            This is invoked after the task in progress is complete.</desc>
      <longDesc>A method reference to an action listener.
            This is invoked after the task in progress is complete.</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>javax.faces.event.ActionEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>immediate</name>
      <jspName>immediate</jspName>
      <fieldName>_immediate</fieldName>
      <className>boolean</className>
      <desc>whether data validation - client-side or
            server-side -
          will be skipped when
          events are generated by this component.

          When immediate is true, the command's action and
          ActionListeners, including the default ActionListener
          provided by the JavaServer Faces implementation,
          will be executed during Apply Request Values phase
          of the request processing lifecycle, rather than
          waiting until the Invoke Application phase.  Because
          validation runs during Process Validators (after
          Apply Request Values, but before Invoke Application),
          setting immediate to true will skip validation.</desc>
      <longDesc>whether data validation - client-side or
            server-side -
          will be skipped when
          events are generated by this component.

          When immediate is true, the command's action and
          ActionListeners, including the default ActionListener
          provided by the JavaServer Faces implementation,
          will be executed during Apply Request Values phase
          of the request processing lifecycle, rather than
          waiting until the Invoke Application phase.  Because
          validation runs during Process Validators (after
          Apply Request Values, but before Invoke Application),
          setting immediate to true will skip validation.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXReset</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXReset</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Reset</type>
    <family>org.apache.myfaces.trinidad.Reset</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXResetTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Reset</rendererType>
    <desc>UIXReset is a base abstraction for components that reset the state
          of a page.</desc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXSelectBoolean</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXEditableValue</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXSelectBoolean</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXEditableValue</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.SelectBoolean</type>
    <family>org.apache.myfaces.trinidad.SelectBoolean</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXSelectBooleanTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.SelectBoolean</rendererType>
    <desc>Base class for input components whose value is true or false.</desc>
    <property>
      <name>selected</name>
      <jspName>selected</jspName>
      <fieldName>_selected</fieldName>
      <className>boolean</className>
      <desc>whether or not the component is
              currently selected.  This is a typesafe alias for the "value"
              attribute. Note that "selected" and "value" attributes should not be used at the same time to avoid conflict.</desc>
      <longDesc>whether or not the component is
              currently selected.  This is a typesafe alias for the "value"
              attribute. Note that "selected" and "value" attributes should not be used at the same time to avoid conflict.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXSelectInput</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXEditableValue</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXSelectInput</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXEditableValue</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.SelectInput</type>
    <family>org.apache.myfaces.trinidad.SelectInput</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXSelectInputTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Text</rendererType>
    <listener>
      <name>actionListener</name>
      <className>javax.faces.event.ActionListener</className>
      <eventClassName>javax.faces.Action</eventClassName>
      <desc>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.</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>Apply Request Values</phases>
    </listener>
    <listener>
      <name>returnListener</name>
      <className>org.apache.myfaces.trinidad.event.ReturnListener</className>
      <eventClassName>org.apache.myfaces.trinidad.Return</eventClassName>
      <desc>Event delivered when the dialog has completed successfully.</desc>
      <longDesc>Event delivered when the dialog has completed successfully.</longDesc>
      <phases>Apply Request Values</phases>
    </listener>
    <desc>selectInput is a base abstraction for
          components that allow both input and selection 
          from a list of possible values.</desc>
    <longDesc>selectInput is a base abstraction for
          components that allow both input and selection 
          from a list of possible values.</longDesc>
    <property>
      <name>actionExpression</name>
      <jspName>action</jspName>
      <fieldName>_actionExpression</fieldName>
      <className>javax.el.MethodExpression</className>
      <stateHolder>true</stateHolder>
      <desc>a reference to an action method sent by the commandButton, or the static outcome of an action</desc>
      <longDesc>a reference to an action method sent by the commandButton, or the static outcome of an action</longDesc>
      <methodBindingSignature>
        <returnType>java.lang.String</returnType>
      </methodBindingSignature>
    </property>
    <property>
      <name>actionListener</name>
      <jspName>actionListener</jspName>
      <fieldName>_actionListener</fieldName>
      <className>javax.faces.el.MethodBinding</className>
      <stateHolder>true</stateHolder>
      <desc>a method reference to an action listener</desc>
      <longDesc>a method reference to an action listener</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>javax.faces.event.ActionEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>returnListener</name>
      <jspName>returnListener</jspName>
      <fieldName>_returnListener</fieldName>
      <className>javax.el.MethodExpression</className>
      <desc>a method reference to an return listener</desc>
      <longDesc>a method reference to an return listener</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>org.apache.myfaces.trinidad.event.ReturnEvent</parameterType>
      </methodBindingSignature>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXSelectItem</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXSelectItem</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.SelectItem</type>
    <family>org.apache.myfaces.trinidad.SelectItem</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXSelectItemTag</tagClass>
    <desc>The UIXSelectItem class is the base concrete class for a single
          item which the user may select from the set of items in a list,
          choice, radio, or shuttle control.</desc>
    <property>
      <name>value</name>
      <jspName>value</jspName>
      <fieldName>_value</fieldName>
      <className>java.lang.Object</className>
      <desc>the value used to identify this item when the
              parent control is submitted to the server.  If no value is specified
              for a particular item, the item's contents will be used as its
              value.</desc>
      <longDesc>the value used to identify this item when the
              parent control is submitted to the server.  If no value is specified
              for a particular item, the item's contents will be used as its
              value.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXSelectMany</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXEditableValue</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXSelectMany</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXEditableValue</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.SelectMany</type>
    <family>org.apache.myfaces.trinidad.SelectMany</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXSelectManyTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Listbox</rendererType>
    <desc>UIXSelectMany is a base abstraction for 
          components that allow selection of multiple of a
    series of selectItem controls, where order
          is not relevant.</desc>
    <longDesc>
<![CDATA[
UIXSelectMany is a base abstraction for 
          components that allow selection of multiple of a
    series of selectItem controls, where order
          is not relevant.
          selectOne controls may contain any number of
          &lt;f:selectItem&gt;, &lt;f:selectItems&gt;, or
    &lt;tr:selectItem&gt; components.
]]>
    </longDesc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXSelectOne</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXEditableValue</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXSelectOne</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXEditableValue</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.SelectOne</type>
    <family>org.apache.myfaces.trinidad.SelectOne</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXSelectOneTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Choice</rendererType>
    <desc>UIXSelectOne is a base abstraction for 
          components that allow selection of a single in a
    series of selectItem components.</desc>
    <longDesc>
<![CDATA[
UIXSelectOne is a base abstraction for 
          components that allow selection of a single in a
    series of selectItem components.
          selectOne components may contain any number of
          &lt;f:selectItem&gt;, &lt;f:selectItems&gt;, or
    &lt;tr:selectItem&gt; components,  each of which
          represents an available option that the user may select.
]]>
    </longDesc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXSelectOrder</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXSelectMany</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXSelectOrder</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXSelectMany</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.SelectOrder</type>
    <family>org.apache.myfaces.trinidad.SelectOrder</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXSelectOrderTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Shuttle</rendererType>
    <desc>UIXSelectOrder is a base abstraction for 
          components that allow selection of multiple of a
	  series of selectItem controls, where order
          is relevant.</desc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXSelectRange</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXSelectRange</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.SelectRange</type>
    <family>org.apache.myfaces.trinidad.SelectRange</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXSelectRangeTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.ChoiceBar</rendererType>
    <facet>
      <name>rangeLabel</name>
      <desc>use to customize the label of each range selection.</desc>
      <longDesc>use to customize the label of each range selection.</longDesc>
    </facet>
    <listener>
      <name>rangeChangeListener</name>
      <className>org.apache.myfaces.trinidad.event.RangeChangeListener</className>
      <eventClassName>org.apache.myfaces.trinidad.RangeChange</eventClassName>
      <desc>The range change event is delivered when the user
                       navigates.</desc>
      <longDesc>The range change event is delivered when the user
                       navigates.</longDesc>
      <phases>Any Phase ,Invoke Application</phases>
    </listener>
    <desc>UIXSelectRange is a base abstraction for 
          components that select a
          range.</desc>
    <longDesc>UIXSelectRange is a base abstraction for 
          components that select a
          range, e.g, 5 - 10 of 50.</longDesc>
    <property>
      <name>var</name>
      <jspName>var</jspName>
      <fieldName>_var</fieldName>
      <className>java.lang.String</className>
      <literalOnly>true</literalOnly>
      <desc>the name of the EL variable that provides access to the "start"
              and "end" variables that point to the start and end row in
              the each range from the data model. This can be used to customize
              the range text.</desc>
      <longDesc>the name of the EL variable that provides access to the "start"
              and "end" variables that point to the start and end row in
              the each range from the data model. This can be used to customize
              the range text.</longDesc>
    </property>
    <property>
      <name>immediate</name>
      <jspName>immediate</jspName>
      <fieldName>_immediate</fieldName>
      <className>boolean</className>
      <desc>whether data validation 
          should be skipped when range change
          events are generated by this component.

          When immediate is false (the default), events will
          be delivered during the Invoke Application phase, which
          will trigger validation.  When set to true,  events
          will be executed during the Apply Request Values phase.</desc>
      <longDesc>whether data validation 
          should be skipped when range change
          events are generated by this component.

          When immediate is false (the default), events will
          be delivered during the Invoke Application phase, which
          will trigger validation.  When set to true,  events
          will be executed during the Apply Request Values phase.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>rangeChangeListener</name>
      <jspName>rangeChangeListener</jspName>
      <fieldName>_rangeChangeListener</fieldName>
      <className>javax.el.MethodExpression</className>
      <desc>a method reference to a rangeChange listener that
         will be called when a new range is selected.</desc>
      <longDesc>a method reference to a rangeChange listener that
         will be called when a new range is selected.</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>org.apache.myfaces.trinidad.event.RangeChangeEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>value</name>
      <jspName>value</jspName>
      <fieldName>_value</fieldName>
      <className>java.lang.Object</className>
      <desc>
<![CDATA[
<html> the data model being used by this component.
The specific model class is
        <code>org.apache.myfaces.trinidad.model.CollectionModel</code>.

        You may also use other model instances, e.g.,  
        <code>java.util.List</code>  ,
        array, and  <code>javax.faces.model.DataModel</code>.
        This component will automatically convert the instance
        into a <code>CollectionModel</code>.</html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html> the data model being used by this component.
The specific model class is
        <code>org.apache.myfaces.trinidad.model.CollectionModel</code>.

        You may also use other model instances, e.g.,  
        <code>java.util.List</code>  ,
        array, and  <code>javax.faces.model.DataModel</code>.
        This component will automatically convert the instance
        into a <code>CollectionModel</code>.</html>
]]>
      </longDesc>
    </property>
    <property>
      <name>rows</name>
      <jspName>rows</jspName>
      <fieldName>_rows</fieldName>
      <className>int</className>
      <desc>the maximum number of rows to display in a single range of rows.
Some ranges might have fewer
than the number of rows specified by this attribute (eg: the last range
might have an insufficient number of rows).
To display all rows at once, set this attribute to 0.</desc>
      <longDesc>the maximum number of rows to display in a single range of rows.
Some ranges might have fewer
than the number of rows specified by this attribute (eg: the last range
might have an insufficient number of rows).
To display all rows at once, set this attribute to 0.</longDesc>
      <defaultValue>25</defaultValue>
    </property>
    <property>
      <name>first</name>
      <jspName>first</jspName>
      <fieldName>_first</fieldName>
      <className>int</className>
      <desc>the index of the first row in the currently range of rows.
This index is zero-based. This attribute is used to control
which range of rows to display to the user.</desc>
      <longDesc>the index of the first row in the currently range of rows.
This index is zero-based. This attribute is used to control
which range of rows to display to the user.</longDesc>
      <defaultValue>0</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXShowDetail</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXShowDetail</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.ShowDetail</type>
    <family>org.apache.myfaces.trinidad.ShowDetail</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXShowDetailTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.ShowDetail</rendererType>
    <listener>
      <name>disclosureListener</name>
      <className>org.apache.myfaces.trinidad.event.DisclosureListener</className>
      <eventClassName>org.apache.myfaces.trinidad.Disclosure</eventClassName>
      <desc>The disclosure event is delivered when a node is
                       disclosed.</desc>
      <longDesc>The disclosure event is delivered when a node is
                       disclosed.</longDesc>
      <phases>Apply Request Values ,Invoke Application</phases>
    </listener>
    <desc>showDetail is a base component abstraction for components
          that can toggle between showing and hiding all of their
          children.</desc>
    <property>
      <name>disclosed</name>
      <jspName>disclosed</jspName>
      <fieldName>_disclosed</fieldName>
      <className>boolean</className>
      <desc>whether or not to disclose the children</desc>
      <longDesc>whether or not to disclose the children</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>disclosedTransient</name>
      <jspName>disclosedTransient</jspName>
      <fieldName>_disclosedTransient</fieldName>
      <className>boolean</className>
      <desc>stops the local value of disclosed from being set
        by renderers. This allows the value to always be taken from the value of the disclosed
        value expression. Disclosed values must be updated in other ways (i.e. from a
        disclosure listener)</desc>
      <longDesc>stops the local value of disclosed from being set
        by renderers. This allows the value to always be taken from the value of the disclosed
        value expression. Disclosed values must be updated in other ways (i.e. from a
        disclosure listener)</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>immediate</name>
      <jspName>immediate</jspName>
      <fieldName>_immediate</fieldName>
      <className>boolean</className>
      <desc>whether data validation - client-side or
            server-side - should be skipped when
          events are generated by this component.

          When immediate is false (the default), the disclosure event will
          be delivered during the Invoke Application phase, which
          will trigger validation.  When set to true, the disclosure
          event will be executed during the Apply Request Values phase.</desc>
      <longDesc>whether data validation - client-side or
            server-side - should be skipped when
          events are generated by this component.

          When immediate is false (the default), the disclosure event will
          be delivered during the Invoke Application phase, which
          will trigger validation.  When set to true, the disclosure
          event will be executed during the Apply Request Values phase.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>disclosureListener</name>
      <jspName>disclosureListener</jspName>
      <fieldName>_disclosureListener</fieldName>
      <className>javax.el.MethodExpression</className>
      <desc>a method reference to a disclosure listener</desc>
      <longDesc>a method reference to a disclosure listener</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>org.apache.myfaces.trinidad.event.DisclosureEvent</parameterType>
      </methodBindingSignature>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXShowMany</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXShowMany</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.ShowMany</type>
    <family>org.apache.myfaces.trinidad.ShowMany</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXShowManyTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Accordion</rendererType>
    <desc>showMany is the base abstraction for components that contain
a group of showDetails and can display multiple items at a time.</desc>
    <longDesc>showMany is the base abstraction for components that contain
a group of showDetails and can display multiple at a time.</longDesc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXShowOne</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXShowOne</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.ShowOne</type>
    <family>org.apache.myfaces.trinidad.ShowOne</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXShowOneTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Tab</rendererType>
    <desc>showOne is the base abstraction for components that contains
a group of showDetails, but displays one of them.</desc>
    <longDesc>showOne is the base abstraction for components that contains
a group of showDetails, but displays one of them.</longDesc>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXSingleStep</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXSingleStep</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.SingleStep</type>
    <family>org.apache.myfaces.trinidad.SingleStep</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXSingleStepTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.ButtonBar</rendererType>
    <listener>
      <name>actionListener</name>
      <className>javax.faces.event.ActionListener</className>
      <eventClassName>javax.faces.Action</eventClassName>
      <desc>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.</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>
    <desc>UIXSingleStep is a base abstraction for components
          that implement ActionSource and 
          navigate back and forth through a sequence of known steps.</desc>
    <longDesc>
<![CDATA[
UIXSingleStep is a base abstraction for components
          that implement ActionSource and 
          navigate back and forth through a sequence of known steps.
          <section name="Events and Listeners">
            UIXSingleStep implements javax.faces.component.ActionSource, which
            means it is a source of javax.faces.event.ActionEvents.
            <p>
            The ActionEvent is delivered during the Apply Request Values phase 
            when navigating back, and during the 
            Invoke Application phase when navigating forward.
            </p>
            <p>
            The nextAction/previousAction attributes are of type MethodBinding
            and must (if non-null) point to an action method. The nextAction
            method will be called when navigating forward, and the previousAction
            method will be called when navigating back with a singleStep
            component.
            </p>
            <p>
            JSF has a default javax.faces.event.ActionListener that passes the
            nextAction or previousAction outcome to the NavigationHandler.
            </p>              
            <p>
            The nextActionListener/previousActionListener attributes are of 
            type MethodBinding and must (in non-null) point to a method 
            accepting an ActionEvent, with a return type of void.
            When navigating to the previous step, then the previousActionListener
            method is called. When navigating to the next step, the nextActionListener
            method is called.
            </p>       
          </section>
]]>
    </longDesc>
    <property>
      <name>selectedStep</name>
      <jspName>selectedStep</jspName>
      <fieldName>_selectedStep</fieldName>
      <className>int</className>
      <desc>the current step. The valid range is 1 to maxStep.
              It defaults to 1.</desc>
      <longDesc>the current step. The valid range is 1 to maxStep.
              It defaults to 1.</longDesc>
      <defaultValue>1</defaultValue>
    </property>
    <property>
      <name>maxStep</name>
      <jspName>maxStep</jspName>
      <fieldName>_maxStep</fieldName>
      <className>int</className>
      <desc>the last possible step. If this value is not known, 
              it should be set to
              MAX_VALUE_UNKNOWN (-1),
              which is also the default value. If maxStep is
              MAX_VALUE_UNKNOWN, then no text is rendered between the Back/Next
              buttons. When maxStep is 2 and selectedStep
              is 1, then only a Continue button is rendered.</desc>
      <longDesc>the last possible step. If this value is not known, 
              it should be set to
              MAX_VALUE_UNKNOWN (-1),
              which is also the default value. If maxStep is
              MAX_VALUE_UNKNOWN, then no text is rendered between the Back/Next
              buttons. When maxStep is 2 and selectedStep
              is 1, then only a Continue button is rendered.</longDesc>
      <defaultValue>-1</defaultValue>
    </property>
    <property>
      <name>previousActionListener</name>
      <jspName>previousActionListener</jspName>
      <fieldName>_previousActionListener</fieldName>
      <className>javax.faces.el.MethodBinding</className>
      <stateHolder>true</stateHolder>
      <desc>a method reference to an action listener 
             that will be called when the singleStep component navigates
             to the previous step.</desc>
      <longDesc>a method reference to an action listener 
             that will be called when the singleStep component navigates
             to the previous step.</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>javax.faces.event.ActionEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>nextActionListener</name>
      <jspName>nextActionListener</jspName>
      <fieldName>_nextActionListener</fieldName>
      <className>javax.faces.el.MethodBinding</className>
      <stateHolder>true</stateHolder>
      <desc>a method reference to an action listener  
             that will be called when the singleStep component navigates
             to the next step.</desc>
      <longDesc>a method reference to an action listener  
             that will be called when the singleStep component navigates
             to the next step.</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>javax.faces.event.ActionEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>nextAction</name>
      <jspName>nextAction</jspName>
      <fieldName>_nextAction</fieldName>
      <className>javax.faces.el.MethodBinding</className>
      <stateHolder>true</stateHolder>
      <desc>a reference to an action method  
             that will be called when the singleStep component navigates
             to the next step, or the static outcome of the action.</desc>
      <longDesc>a reference to an action method  
             that will be called when the singleStep component navigates
             to the next step, or the static outcome of the action.</longDesc>
      <methodBindingSignature>
        <returnType>java.lang.String</returnType>
      </methodBindingSignature>
    </property>
    <property>
      <name>previousAction</name>
      <jspName>previousAction</jspName>
      <fieldName>_previousAction</fieldName>
      <className>javax.faces.el.MethodBinding</className>
      <stateHolder>true</stateHolder>
      <desc>a reference to an action method  
             that will be called when the singleStep component navigates
             to the previous step, or the static outcome of the action.</desc>
      <longDesc>a reference to an action method  
             that will be called when the singleStep component navigates
             to the previous step, or the static outcome of the action.</longDesc>
      <methodBindingSignature>
        <returnType>java.lang.String</returnType>
      </methodBindingSignature>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXSubform</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXSubform</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Subform</type>
    <family>org.apache.myfaces.trinidad.Subform</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXSubformTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Subform</rendererType>
    <longDesc>
<![CDATA[
UIXSubform is the base abstraction for an independently submittable
region of a page.  The contents of a subform will only be validated
(or otherwise processed) if a component inside of the subform is
responsible for submitting the page.  This allows for comparatively
fine-grained control of which components will be validated and pushed
into the model without the compromises of using entirely separate form
elements.  UIXSubform is a <html:code>NamingContainer</html:code> and
therefore IDs can be reused between subforms.

<section name="Behavior of subforms">
<html:p>
A <html:code>UIXSubform</html:code> is considered &quot;submitted&quot; if an
event is queued by one of its children or facets for a phase later
than &quot;Apply Request Values&quot; (that is, for later than
<html:code>decode()</html:code>).  The most common example is a
(non-immediate) &quot;command&quot; component (like an &lt;h:commandButton&gt;
or &lt;tr:commandButton&gt;).
</html:p>
<html:p>
A <html:code>UIXSubform</html:code> will always allow the
&quot;Apply Request Values&quot; phase to execute for its children,
even when not &quot;submitted&quot;, but when not &quot;submitted&quot;, the
&quot;Process Validations&quot; and &quot;Update Model Values&quot; phases will
be skipped.  This differs from an ordinary form component,
which, when not submitted, does not (and cannot) run
&quot;Apply Request Values&quot; either.
</html:p>
</section>
<section name="UIXSubform and &quot;default&quot;">
<html:p>
In some scenarios, there may be buttons (or other components
that submit the page) outside of the main content of a page.  If
this main content is in a UIXSubform, it could not be fully
processed whenever those buttons are clicked, since those
buttons aren't inside of the UIXSubform.  To support this
scenario, Apache Trinidad supports a &quot;default&quot; property on
UIXSubform.  A &quot;default&quot; subform behaves like any other
subform in most respects, but if <html:em>no</html:em> subforms
are &quot;submitted&quot; - if no subform has an appropriate event
come from its children - then all &quot;default&quot; subforms act
as if they are &quot;submitted&quot;.
</html:p>
</section>
]]>
    </longDesc>
    <property>
      <name>default</name>
      <jspName>default</jspName>
      <fieldName>_default</fieldName>
      <className>boolean</className>
      <literalOnly>true</literalOnly>
      <desc>whether the subform should assume it
has been submitted.  When set to "true", "submitted" will be
considered true if no other subform has been submitted.</desc>
      <longDesc>whether the subform should assume it
has been submitted.  When set to "true", "submitted" will be
considered true if no other subform has been submitted.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXSwitcher</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXSwitcher</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <name>tr:switcher</name>
    <type>org.apache.myfaces.trinidad.Switcher</type>
    <family>org.apache.myfaces.trinidad.Switcher</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXSwitcherTag</tagClass>
    <desc>The switcher component dynamically decides which facet component
should be rendered.</desc>
    <longDesc>
<![CDATA[
The switcher component dynamically decides which facet component
should be rendered.  It has two properties.  The switcher will render
the facet matching &quot;facetName&quot;;  however, if no such facet exists
(or &quot;facetName&quot; is null), and &quot;defaultFacet&quot; has been set, then
that facet will be used instead.   (It's possible to achieve this
same functionality by using a panelGroup and binding the
&quot;rendered&quot; property of each child, but this component can be
simpler.  Ordinary children of the switcher component are not rendered at
all.)
]]>
    </longDesc>
    <property>
      <name>facetName</name>
      <jspName>facetName</jspName>
      <fieldName>_facetName</fieldName>
      <className>java.lang.String</className>
      <desc>the name of the facet to render and process.</desc>
      <longDesc>the name of the facet to render and process.</longDesc>
    </property>
    <property>
      <name>defaultFacet</name>
      <jspName>defaultFacet</jspName>
      <fieldName>_defaultFacet</fieldName>
      <className>java.lang.String</className>
      <desc>the name of the facet to render and process if "facetName"
              is null or otherwise does not refer to an existing facet.</desc>
      <longDesc>the name of the facet to render and process if "facetName"
              is null or otherwise does not refer to an existing facet.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXTable</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXIterator</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXTable</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXIterator</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Table</type>
    <family>org.apache.myfaces.trinidad.Table</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXTableTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Table</rendererType>
    <facet>
      <name>detailStamp</name>
      <desc>the component to stamp below every row which is disclosed. Adding a
detail facet will automatically cause the detail column to be displayed.</desc>
      <longDesc>the component to stamp below every row which is disclosed. Adding a
detail facet will automatically cause the detail column to be displayed.</longDesc>
    </facet>
    <listener>
      <name>rowDisclosureListener</name>
      <className>org.apache.myfaces.trinidad.event.RowDisclosureListener</className>
      <eventClassName>org.apache.myfaces.trinidad.RowDisclosure</eventClassName>
      <desc>The expansion event is generated for a table when the detail facet of a row is expanded or collapsed. For tree or a treeTable, the expansion
                       event is generated when tree nodes are expanded or collapsed.</desc>
      <longDesc>The expansion event is generated for a table when the detail facet of a row is expanded or collapsed. For tree or a treeTable, the expansion
                       event is generated when tree nodes are expanded or collapsed.</longDesc>
      <phases>Apply Request Values ,Invoke Application</phases>
    </listener>
    <listener>
      <name>selectionListener</name>
      <className>org.apache.myfaces.trinidad.event.SelectionListener</className>
      <eventClassName>org.apache.myfaces.trinidad.Selection</eventClassName>
      <desc>The selection event is delivered when the table selection
                       changes.</desc>
      <longDesc>The selection event is delivered when the table selection
                       changes.</longDesc>
      <phases>Apply Request Values ,Invoke Application</phases>
    </listener>
    <listener>
      <name>rangeChangeListener</name>
      <className>org.apache.myfaces.trinidad.event.RangeChangeListener</className>
      <eventClassName>org.apache.myfaces.trinidad.RangeChange</eventClassName>
      <desc>The range change event is delivered when the user
                       navigates.</desc>
      <longDesc>The range change event is delivered when the user
                       navigates.</longDesc>
      <phases>Apply Request Values ,Invoke Application</phases>
    </listener>
    <listener>
      <name>sortListener</name>
      <className>org.apache.myfaces.trinidad.event.SortListener</className>
      <eventClassName>org.apache.myfaces.trinidad.Sort</eventClassName>
      <desc>The sort event is delivered when the table column sort
                       criteria is changed.</desc>
      <longDesc>The sort event is delivered when the table column sort
                       criteria is changed.</longDesc>
      <phases>Apply Request Values ,Invoke Application</phases>
    </listener>
    <desc>UIXTable is the base abstraction for table components.</desc>
    <property>
      <name>rowDisclosureListener</name>
      <jspName>rowDisclosureListener</jspName>
      <fieldName>_rowDisclosureListener</fieldName>
      <className>javax.el.MethodExpression</className>
      <desc>a method reference to an ExpansionListener</desc>
      <longDesc>a method reference to an ExpansionListener</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>org.apache.myfaces.trinidad.event.RowDisclosureEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>disclosedRowKeys</name>
      <jspName>disclosedRowKeys</jspName>
      <fieldName>_disclosedRowKeys</fieldName>
      <className>org.apache.myfaces.trinidad.model.RowKeySet</className>
      <desc>the set of disclosed rows for this component.
Each entry in the set is a rowKey.</desc>
      <longDesc>the set of disclosed rows for this component.
Each entry in the set is a rowKey.</longDesc>
    </property>
    <property>
      <name>selectionListener</name>
      <jspName>selectionListener</jspName>
      <fieldName>_selectionListener</fieldName>
      <className>javax.el.MethodExpression</className>
      <desc>a method reference to a selection listener</desc>
      <longDesc>a method reference to a selection listener</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>org.apache.myfaces.trinidad.event.SelectionEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>selectedRowKeys</name>
      <jspName>selectedRowKeys</jspName>
      <fieldName>_selectedRowKeys</fieldName>
      <className>org.apache.myfaces.trinidad.model.RowKeySet</className>
      <desc>the selection state for this component.</desc>
      <longDesc>the selection state for this component.</longDesc>
    </property>
    <property>
      <name>immediate</name>
      <jspName>immediate</jspName>
      <fieldName>_immediate</fieldName>
      <className>boolean</className>
      <desc>whether or not data validation - client-side or
            server-side -
          should take place when
          events are generated by this component.

          When immediate is true, the default ActionListener
          provided by the JavaServer Faces implementation
          should be executed during Apply Request Values phase
          of the request processing lifecycle, rather than
          waiting until the Invoke Application phase.</desc>
      <longDesc>whether or not data validation - client-side or
            server-side -
          should take place when
          events are generated by this component.

          When immediate is true, the default ActionListener
          provided by the JavaServer Faces implementation
          should be executed during Apply Request Values phase
          of the request processing lifecycle, rather than
          waiting until the Invoke Application phase.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>sortListener</name>
      <jspName>sortListener</jspName>
      <fieldName>_sortListener</fieldName>
      <className>javax.el.MethodExpression</className>
      <desc>a method reference to a sort listener</desc>
      <longDesc>a method reference to a sort listener</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>org.apache.myfaces.trinidad.event.SortEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>rangeChangeListener</name>
      <jspName>rangeChangeListener</jspName>
      <fieldName>_rangeChangeListener</fieldName>
      <className>javax.el.MethodExpression</className>
      <desc>a method reference to a rangeChange listener that
         will be called when a new range is selected.</desc>
      <longDesc>a method reference to a rangeChange listener that
         will be called when a new range is selected.</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>org.apache.myfaces.trinidad.event.RangeChangeEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>showAll</name>
      <jspName>showAll</jspName>
      <fieldName>_showAll</fieldName>
      <className>boolean</className>
      <desc>whether the "Show All" option is selected. The "Show All" option
        is available if there are less than 30 options and the row count in
        the data model is known.</desc>
      <longDesc>whether the "Show All" option is selected. The "Show All" option
        is available if there are less than 30 options and the row count in
        the data model is known.</longDesc>
      <defaultValue>false</defaultValue>
      <tagExcluded>true</tagExcluded>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXTree</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXHierarchy</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXTree</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXHierarchy</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Tree</type>
    <family>org.apache.myfaces.trinidad.Tree</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXTreeTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Tree</rendererType>
    <facet>
      <name>nodeStamp</name>
      <desc>the component to use to stamp each element in the
              tree. Only certain types of components are supported, 
              including all
              components with no behavior and most components that implement the
              EditableValueHolder or ActionSource interfaces.  In a treeTable, this must be a column.</desc>
      <longDesc>the component to use to stamp each element in the
              tree. Only certain types of components are supported, 
              including all
              components with no behavior and most components that implement the
              EditableValueHolder or ActionSource interfaces.  In a treeTable, this must be a column.</longDesc>
    </facet>
    <listener>
      <name>rowDisclosureListener</name>
      <className>org.apache.myfaces.trinidad.event.RowDisclosureListener</className>
      <eventClassName>org.apache.myfaces.trinidad.RowDisclosure</eventClassName>
      <desc>The expansion event is generated for a table when the detail facet of a row is expanded or collapsed. For tree or a treeTable, the expansion
                       event is generated when tree nodes are expanded or collapsed.</desc>
      <longDesc>The expansion event is generated for a table when the detail facet of a row is expanded or collapsed. For tree or a treeTable, the expansion
                       event is generated when tree nodes are expanded or collapsed.</longDesc>
      <phases>Apply Request Values ,Invoke Application</phases>
    </listener>
    <listener>
      <name>selectionListener</name>
      <className>org.apache.myfaces.trinidad.event.SelectionListener</className>
      <eventClassName>org.apache.myfaces.trinidad.Selection</eventClassName>
      <desc>The selection event is delivered when the table selection
                       changes.</desc>
      <longDesc>The selection event is delivered when the table selection
                       changes.</longDesc>
      <phases>Apply Request Values ,Invoke Application</phases>
    </listener>
    <listener>
      <name>focusListener</name>
      <className>org.apache.myfaces.trinidad.event.FocusListener</className>
      <eventClassName>org.apache.myfaces.trinidad.Focus</eventClassName>
      <desc>Event delivered when user clicks to focus on (or zoom into) a particular element's subtree of children.
      	        The TreeTable responds to this event by modifying the "focusPath" property appropriately.
      	        Subsequently, any registered FocusListener instances are called.</desc>
      <longDesc>Event delivered when user clicks to focus on (or zoom into) a particular element's subtree of children.
      	        The TreeTable responds to this event by modifying the "focusPath" property appropriately.
      	        Subsequently, any registered FocusListener instances are called.</longDesc>
      <phases>Apply Request Values ,Invoke Application</phases>
    </listener>
    <desc>Represents an interactive tree component.</desc>
    <longDesc>
<![CDATA[
<html:p>
            Apache Trinidad tree components are used to display hierarchical data. 
            For example,
            if we have a personnel organization chart depicting all the direct 
            reports under 
            each employee, we could use a tree component to display this
            chart. While each element (employee) in the hierarchy may have any 
            number of
            child elements, each element can only have one parent element.
          </html:p>
      
          <section name="The Tree Model">
            <html:P>
              The Apache Trinidad tree components use a model to access the data in the
              underlying hierarchy.  The specific model class is
              <html:code>org.apache.myfaces.trinidad.model.TreeModel</html:code>.

              You may find the
              <html:code>org.apache.myfaces.trinidad.model.ChildPropertyTreeModel</html:code> class
              useful when constructing a <html:code>TreeModel</html:code>.
            </html:P>
          </section>

          <section name="Data">
            <html:P>
              The tree components use a stamping strategy similar to the Trinidad Table
              component.  Child components are used to display the
              data for each element in the tree. Each child component is not recreated
              per element; instead, each child is repeatedly
              rendered (stamped) once per element. Because of this stamping
              behavior, only certain types of components are supported as
              children. Supported components include all
              components with no behavior and most components that implement the
              EditableValueHolder or ActionSource interfaces.
            </html:P>
            <html:P>
              Each time a child component is stamped, the data for the current
              element is copied into an EL reachable property.  The
              name of this property is defined by the <html:code>var</html:code>
              property on
              the tree component. Once the tree has completed rendering, this property is
              removed (or reverted back to its previous value).
            </html:P>
          </section>
          <section name="Events">
            <html:P>
              When the user expands or collapses a subtree the tree
              generates a <html:code>DisclosureEvent</html:code>. This event has an
              <html:code>isExpanded</html:code> method that returns whether the user wants
              to expand or collapse the subtree of a particular element. That
              particular element is made current on the Tree before the event is
              delivered.
            </html:P>
          </section>

          <section name="Expand/Collapse State">
            <html:P>
              The Trinidad tree components use an instance of the
              <html:code>org.apache.myfaces.trinidad.model.RowKeySet</html:code>
              class to keep track
              of which elements are expanded. This instance is stored
              as the &quot;expandedRowKeys&quot; attribute on the component. You may use this
              instance to programmatically control the expand/collapse state of an
              element in the hierarchy.
            </html:P>
          </section>
]]>
    </longDesc>
    <property>
      <name>selectedRowKeys</name>
      <jspName>selectedRowKeys</jspName>
      <fieldName>_selectedRowKeys</fieldName>
      <className>org.apache.myfaces.trinidad.model.RowKeySet</className>
      <desc>the selection state for this component.</desc>
      <longDesc>the selection state for this component.</longDesc>
    </property>
    <property>
      <name>immediate</name>
      <jspName>immediate</jspName>
      <fieldName>_immediate</fieldName>
      <className>boolean</className>
      <desc>whether or not data validation - client-side or
            server-side -
          should take place when
          events are generated by this component.

          When immediate is true, the default ActionListener
          provided by the JavaServer Faces implementation
          should be executed during Apply Request Values phase
          of the request processing lifecycle, rather than
          waiting until the Invoke Application phase.</desc>
      <longDesc>whether or not data validation - client-side or
            server-side -
          should take place when
          events are generated by this component.

          When immediate is true, the default ActionListener
          provided by the JavaServer Faces implementation
          should be executed during Apply Request Values phase
          of the request processing lifecycle, rather than
          waiting until the Invoke Application phase.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>rowDisclosureListener</name>
      <jspName>rowDisclosureListener</jspName>
      <fieldName>_rowDisclosureListener</fieldName>
      <className>javax.el.MethodExpression</className>
      <desc>a method reference to an ExpansionListener</desc>
      <longDesc>a method reference to an ExpansionListener</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>org.apache.myfaces.trinidad.event.RowDisclosureEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>disclosedRowKeys</name>
      <jspName>disclosedRowKeys</jspName>
      <fieldName>_disclosedRowKeys</fieldName>
      <className>org.apache.myfaces.trinidad.model.RowKeySet</className>
      <desc>the set of disclosed rows for this component.
Each entry in the set is a rowKey.</desc>
      <longDesc>the set of disclosed rows for this component.
Each entry in the set is a rowKey.</longDesc>
    </property>
    <property>
      <name>selectionListener</name>
      <jspName>selectionListener</jspName>
      <fieldName>_selectionListener</fieldName>
      <className>javax.el.MethodExpression</className>
      <desc>a method reference to a selection listener</desc>
      <longDesc>a method reference to a selection listener</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>org.apache.myfaces.trinidad.event.SelectionEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>varStatus</name>
      <jspName>varStatus</jspName>
      <fieldName>_varStatus</fieldName>
      <className>java.lang.String</className>
      <literalOnly>true</literalOnly>
      <desc>
<![CDATA[
<html>
          Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this 
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:
          <ul>
          <li>"model" - returns the CollectionModel for this component</li>
          <li>"index" - returns the zero based row index</li>
          <li>"hierarchicalIndex" - returns an array containing the row indices of heirarchy of the currrent row, for e.g. [0,1,2]
              Please use this attribute with caution since it requires moving currency to calculate the row index for 
              each parent collection in the tree hierarchy.
          </li>
          <li>"hierarchicalLabel" - returns a string label representing the hierarchy of that row, for e.g. 1.1, 1.1.1. 
             It should be noted that the labels are 1 based vs 0 based for rowIndex. 
            Please use this attribute with caution since it requires moving currency to calculate the row index for 
              each parent collection in the tree hierarchy.
          </li>
          </ul></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html>
          Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this 
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:
          <ul>
          <li>"model" - returns the CollectionModel for this component</li>
          <li>"index" - returns the zero based row index</li>
          <li>"hierarchicalIndex" - returns an array containing the row indices of heirarchy of the currrent row, for e.g. [0,1,2]
              Please use this attribute with caution since it requires moving currency to calculate the row index for 
              each parent collection in the tree hierarchy.
          </li>
          <li>"hierarchicalLabel" - returns a string label representing the hierarchy of that row, for e.g. 1.1, 1.1.1. 
             It should be noted that the labels are 1 based vs 0 based for rowIndex. 
            Please use this attribute with caution since it requires moving currency to calculate the row index for 
              each parent collection in the tree hierarchy.
          </li>
          </ul></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>value</name>
      <jspName>value</jspName>
      <fieldName>_value</fieldName>
      <className>java.lang.Object</className>
      <desc>the hierarchy of tree data - must be of type 
        org.apache.myfaces.trinidad.model.TreeModel</desc>
      <longDesc>the hierarchy of tree data - must be of type 
        org.apache.myfaces.trinidad.model.TreeModel</longDesc>
    </property>
    <property>
      <name>focusRowKey</name>
      <jspName>focusRowKey</jspName>
      <fieldName>_focusRowKey</fieldName>
      <className>java.lang.Object</className>
      <desc>the rowKey of the currently focused row.
        The rowKeys of the ancestor rows of the focus row are added
        to the expandedRowKeys RowKeySet by default.</desc>
      <longDesc>the rowKey of the currently focused row.
        The rowKeys of the ancestor rows of the focus row are added
        to the expandedRowKeys RowKeySet by default.</longDesc>
    </property>
    <property>
      <name>focusListener</name>
      <jspName>focusListener</jspName>
      <fieldName>_focusListener</fieldName>
      <className>javax.el.MethodExpression</className>
      <desc>a method reference to a focus listener</desc>
      <longDesc>a method reference to a focus listener</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>org.apache.myfaces.trinidad.event.FocusEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>initiallyExpanded</name>
      <jspName>initiallyExpanded</jspName>
      <fieldName>_initiallyExpanded</fieldName>
      <className>boolean</className>
      <desc>If upon initial rendering, the current subtree under the focused row path
        should be expanded. A RowDisclosureEvent is broadcast from the encode begin of the 
        component so that listeners are properly notified of the disclosure.</desc>
      <longDesc>If upon initial rendering, the current subtree under the focused row path
        should be expanded. A RowDisclosureEvent is broadcast from the encode begin of the 
        component so that listeners are properly notified of the disclosure.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXTreeTable</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXTree</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXTreeTable</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXTree</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.TreeTable</type>
    <family>org.apache.myfaces.trinidad.TreeTable</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXTreeTableTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.BaseTreeTable</rendererType>
    <desc>The Apache Trinidad TreeTable is used to display data that is structured in a hierarchical format.</desc>
    <longDesc>
<![CDATA[
<html:p>
          The Apache Trinidad TreeTable is used to display data that is structured in a hierarchical format.
          This component displays a hierarchy
          in a UI similar to a Trinidad Table, and is more elaborate than the Tree component.
          TreeTable supports displaying columns of data per element in the hierarchy.
          Unlike the Tree component, TreeTable
          only supports single rooted hierarchies. The features of the TreeTable
          component include mechanisms for focusing in on subtrees (within the main
          tree), as well as expanding and collapsing elements in the hierarchy.
        </html:p>

        <html:p>
          Like the Table, the TreeTable's children must be Trinidad
          Column components. Like the Tree, the TreeTable has a &quot;nodeStamp&quot;
          facet which renders the &quot;Object Name&quot; Column.

          The &quot;Object Name&quot; Column contains the primary identifier of an element
          in the hierarchy. For example, in an organization chart of employees, the &quot;Object Name&quot;
          Column might be the employee name.
        </html:p>
]]>
    </longDesc>
    <property>
      <name>rootNodeRendered</name>
      <jspName>rootNodeRendered</jspName>
      <fieldName>_rootNodeRendered</fieldName>
      <className>boolean</className>
      <desc>If the root node should be rendered or not. Defaults to true.</desc>
      <longDesc>If the root node should be rendered or not. Defaults to true.</longDesc>
      <defaultValue>true</defaultValue>
    </property>
    <property>
      <name>rowsByDepth</name>
      <jspName>rowsByDepth</jspName>
      <fieldName>_rowsByDepth</fieldName>
      <className>int[]</className>
      <desc>the maximum number of records that can be displayed at
              one time (range size).
              Each level of depth in the tree can have a different range size.
              The first number in the array sets the range size for the root
              collection. Each subsequent number sets the range size for the
              corresponding depth. The last number becomes the default for
              each subsequent level of depth.

              If a node has more children than
              the range size, navigation rows will be rendered above and
              below the child nodes.</desc>
      <longDesc>the maximum number of records that can be displayed at
              one time (range size).
              Each level of depth in the tree can have a different range size.
              The first number in the array sets the range size for the root
              collection. Each subsequent number sets the range size for the
              corresponding depth. The last number becomes the default for
              each subsequent level of depth.

              If a node has more children than
              the range size, navigation rows will be rendered above and
              below the child nodes.</longDesc>
    </property>
    <property>
      <name>rangeChangeListener</name>
      <jspName>rangeChangeListener</jspName>
      <fieldName>_rangeChangeListener</fieldName>
      <className>javax.el.MethodExpression</className>
      <desc>a method reference to a rangeChange listener that
         will be called when a new range is selected.</desc>
      <longDesc>a method reference to a rangeChange listener that
         will be called when a new range is selected.</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>org.apache.myfaces.trinidad.event.RangeChangeEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>height</name>
      <jspName>height</jspName>
      <fieldName>_height</fieldName>
      <className>java.lang.String</className>
      <desc>Sets a height to the content of the table. 
        This generates a scrollbar to access all rows in the current range.</desc>
      <longDesc>Sets a height to the content of the table. 
        This generates a scrollbar to access all rows in the current range.</longDesc>
    </property>
  </component>
  <component>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.component.UIXValue</className>
    <parentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.component.UIXValue</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.trinidad.component.UIXComponentBase</sourceClassParentClassName>
    <type>org.apache.myfaces.trinidad.Value</type>
    <family>org.apache.myfaces.trinidad.Value</family>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.UIXValueTag</tagClass>
    <rendererType>org.apache.myfaces.trinidad.Value</rendererType>
    <desc>The UIXValue component contains all the shared attributes
   supported by all Apache Trinidad components that support the JSF
   ValueHolder interface, and therefore support values and Converters.</desc>
    <property>
      <name>value</name>
      <jspName>value</jspName>
      <fieldName>_value</fieldName>
      <className>java.lang.Object</className>
      <desc>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</desc>
      <longDesc>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</longDesc>
    </property>
    <property>
      <name>converter</name>
      <jspName>converter</jspName>
      <fieldName>_converter</fieldName>
      <className>javax.faces.convert.Converter</className>
      <stateHolder>true</stateHolder>
      <desc>a converter object</desc>
      <longDesc>a converter object</longDesc>
    </property>
  </component>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.convert.BigDecimalConverter</className>
    <sourceClassName>javax.faces.convert.BigDecimalConverter</sourceClassName>
    <converterId>javax.faces.BigDecimal</converterId>
    <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>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.convert.BigIntegerConverter</className>
    <sourceClassName>javax.faces.convert.BigIntegerConverter</sourceClassName>
    <converterId>javax.faces.BigInteger</converterId>
    <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>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.convert.BooleanConverter</className>
    <sourceClassName>javax.faces.convert.BooleanConverter</sourceClassName>
    <converterId>javax.faces.Boolean</converterId>
    <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>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.convert.ByteConverter</className>
    <sourceClassName>javax.faces.convert.ByteConverter</sourceClassName>
    <converterId>javax.faces.Byte</converterId>
    <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>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.convert.CharacterConverter</className>
    <sourceClassName>javax.faces.convert.CharacterConverter</sourceClassName>
    <converterId>javax.faces.Character</converterId>
    <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>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.convert.DateTimeConverter</className>
    <sourceClassName>javax.faces.convert.DateTimeConverter</sourceClassName>
    <name>f:convertDateTime</name>
    <converterId>javax.faces.DateTime</converterId>
    <bodyContent>empty</bodyContent>
    <tagClass>org.apache.myfaces.taglib.core.ConvertDateTimeTag</tagClass>
    <generatedTagClass>true</generatedTagClass>
    <desc>This tag associates a date time converter with the nearest parent UIComponent</desc>
    <longDesc>
<![CDATA[
This tag associates a date time converter with the nearest parent UIComponent.

Unless otherwise specified, all attributes accept static values or EL expressions.

see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
]]>
    </longDesc>
    <property>
      <name>dateStyle</name>
      <className>java.lang.String</className>
      <desc>The style of the date</desc>
      <longDesc>The style of the date.  Values include: default, short, medium, 
long, and full.</longDesc>
    </property>
    <property>
      <name>locale</name>
      <className>java.util.Locale</className>
      <desc>The name of the locale to be used, instead of the default</desc>
      <longDesc>The name of the locale to be used, instead of the default.</longDesc>
    </property>
    <property>
      <name>pattern</name>
      <className>java.lang.String</className>
      <desc>A custom Date formatting pattern, in the format used by java</desc>
      <longDesc>A custom Date formatting pattern, in the format used by java.text.SimpleDateFormat.</longDesc>
    </property>
    <property>
      <name>timeStyle</name>
      <className>java.lang.String</className>
      <desc>The style of the time</desc>
      <longDesc>The style of the time.  Values include:  default, short, medium, long, 
and full.</longDesc>
    </property>
    <property>
      <name>timeZone</name>
      <className>java.util.TimeZone</className>
      <desc>The time zone to use instead of GMT (the default timezone)</desc>
      <longDesc>The time zone to use instead of GMT (the default timezone). When
this value is a value-binding to a TimeZone instance, that
timezone is used. Otherwise this value is treated as a String
containing a timezone id, ie as the ID parameter of method
java.util.TimeZone.getTimeZone(String).</longDesc>
    </property>
    <property>
      <name>type</name>
      <className>java.lang.String</className>
      <desc>Specifies whether the date, time, or both should be 
parsed/formatted</desc>
      <longDesc>Specifies whether the date, time, or both should be 
parsed/formatted.  Values include:  date, time, and both.
Default based on setting of timeStyle and dateStyle.</longDesc>
    </property>
    <property>
      <name>binding</name>
      <className>javax.faces.convert.DateTimeConverter</className>
      <desc>A ValueExpression that evaluates to a DateTimeConverter.</desc>
      <longDesc>A ValueExpression that evaluates to a DateTimeConverter.</longDesc>
      <generated>false</generated>
    </property>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.convert.DoubleConverter</className>
    <sourceClassName>javax.faces.convert.DoubleConverter</sourceClassName>
    <converterId>javax.faces.Double</converterId>
    <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>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.convert.EnumConverter</className>
    <sourceClassName>javax.faces.convert.EnumConverter</sourceClassName>
    <converterId>javax.faces.Enum</converterId>
    <desc><![CDATA[see Javadoc of <a href="http://java]]></desc>
    <longDesc><![CDATA[see Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>]]></longDesc>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.convert.FloatConverter</className>
    <sourceClassName>javax.faces.convert.FloatConverter</sourceClassName>
    <converterId>javax.faces.Float</converterId>
    <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>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.convert.IntegerConverter</className>
    <sourceClassName>javax.faces.convert.IntegerConverter</sourceClassName>
    <converterId>javax.faces.Integer</converterId>
    <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>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.convert.LongConverter</className>
    <sourceClassName>javax.faces.convert.LongConverter</sourceClassName>
    <converterId>javax.faces.Long</converterId>
    <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>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.convert.NumberConverter</className>
    <sourceClassName>javax.faces.convert.NumberConverter</sourceClassName>
    <name>f:convertNumber</name>
    <converterId>javax.faces.Number</converterId>
    <bodyContent>empty</bodyContent>
    <tagClass>org.apache.myfaces.taglib.core.ConvertNumberTag</tagClass>
    <generatedTagClass>true</generatedTagClass>
    <desc>This tag creates a number formatting converter and associates it
with the nearest parent UIComponent</desc>
    <longDesc>
<![CDATA[
This tag creates a number formatting converter and associates it
with the nearest parent UIComponent.

Unless otherwise specified, all attributes accept static values or EL expressions.

see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
]]>
    </longDesc>
    <property>
      <name>currencyCode</name>
      <className>java.lang.String</className>
      <desc>ISO 4217 currency code</desc>
      <longDesc>ISO 4217 currency code</longDesc>
    </property>
    <property>
      <name>currencySymbol</name>
      <className>java.lang.String</className>
      <desc>The currency symbol used to format a currency value</desc>
      <longDesc>The currency symbol used to format a currency value.  Defaults
to the currency symbol for locale.</longDesc>
    </property>
    <property>
      <name>groupingUsed</name>
      <className>boolean</className>
      <desc>Specifies whether output will contain grouping separators</desc>
      <longDesc>Specifies whether output will contain grouping separators.  Default: true.</longDesc>
      <deferredValueType>java.lang.Boolean</deferredValueType>
    </property>
    <property>
      <name>integerOnly</name>
      <className>boolean</className>
      <desc>Specifies whether only the integer part of the input will be parsed</desc>
      <longDesc>Specifies whether only the integer part of the input will be parsed.  Default: false.</longDesc>
      <deferredValueType>java.lang.Boolean</deferredValueType>
    </property>
    <property>
      <name>locale</name>
      <className>java.util.Locale</className>
      <desc>The name of the locale to be used, instead of the default as
specified in the faces configuration file</desc>
      <longDesc>The name of the locale to be used, instead of the default as
specified in the faces configuration file.</longDesc>
      <deferredValueType>java.lang.Object</deferredValueType>
    </property>
    <property>
      <name>maxFractionDigits</name>
      <className>int</className>
      <desc>The maximum number of digits in the fractional portion of the number</desc>
      <longDesc>The maximum number of digits in the fractional portion of the number.</longDesc>
      <deferredValueType>java.lang.Integer</deferredValueType>
    </property>
    <property>
      <name>maxIntegerDigits</name>
      <className>int</className>
      <desc>The maximum number of digits in the integer portion of the number</desc>
      <longDesc>The maximum number of digits in the integer portion of the number.</longDesc>
      <deferredValueType>java.lang.Integer</deferredValueType>
    </property>
    <property>
      <name>minFractionDigits</name>
      <className>int</className>
      <desc>The minimum number of digits in the fractional portion of the number</desc>
      <longDesc>The minimum number of digits in the fractional portion of the number.</longDesc>
      <deferredValueType>java.lang.Integer</deferredValueType>
    </property>
    <property>
      <name>minIntegerDigits</name>
      <className>int</className>
      <desc>The minimum number of digits in the integer portion of the number</desc>
      <longDesc>The minimum number of digits in the integer portion of the number.</longDesc>
      <deferredValueType>java.lang.Integer</deferredValueType>
    </property>
    <property>
      <name>pattern</name>
      <className>java.lang.String</className>
      <desc>A custom Date formatting pattern, in the format used by java</desc>
      <longDesc>A custom Date formatting pattern, in the format used by java.text.SimpleDateFormat.</longDesc>
    </property>
    <property>
      <name>type</name>
      <className>java.lang.String</className>
      <desc>The type of formatting/parsing to be performed</desc>
      <longDesc>The type of formatting/parsing to be performed.  Values include:
number, currency, and percent.  Default: number.</longDesc>
    </property>
    <property>
      <name>binding</name>
      <className>javax.faces.convert.NumberConverter</className>
      <desc>A ValueExpression that evaluates to a NumberConverter.</desc>
      <longDesc>A ValueExpression that evaluates to a NumberConverter.</longDesc>
      <generated>false</generated>
    </property>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.convert.ShortConverter</className>
    <sourceClassName>javax.faces.convert.ShortConverter</sourceClassName>
    <converterId>javax.faces.Short</converterId>
    <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>
  </converter>
  <converter>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.convert.ColorConverter</className>
    <sourceClassName>org.apache.myfaces.trinidad.convert.ColorConverter</sourceClassName>
    <converterId>org.apache.myfaces.trinidad.Color</converterId>
    <configExcluded>true</configExcluded>
    <desc>
<![CDATA[
<p>Converters string to Color object and vice versa based on
the patterns and the transparency set
]]>
    </desc>
    <longDesc>
<![CDATA[
<p>Converters string to Color object and vice versa based on
the patterns and the transparency set.</p>

Pattern format for colors:

<p>
<strong>Color Format Syntax:</strong>
<p>
To specify the color format use a <em>color pattern</em> string.
In this pattern, all ASCII letters are reserved as pattern letters,
which are defined as the following:
<blockquote>
<pre>
Symbol   Meaning                 Presentation        Example
------   -------                 ------------        -------
r        red component           (Number)            242
g        green component         (Number)            242
b        blue component          (Number)            242
a        alpha component         (Number)            255
R        red component           (Hex)               F2
G        green component         (Hex)               F2
B        blue component          (Hex)               F2
A        alpha component         (Hex)               FF
'        escape for text         (Delimiter)
''       single quote            (Literal)           '
</pre>
</blockquote>
<p>
<strong>Examples:</strong>
<blockquote>
<pre>
Format Pattern                         Result
--------------                         -------
"#RRGGBB"                         ->>  #6609CC
"rrr,ggg,bbb"                     ->>  102,009,204
"t"                               ->>  Transparent (when alpha is zero)
</pre>
</blockquote>
<p>
If patterns is not set then it defaults to patterns  "#RRGGBB", "r,g,b"
The first pattern is special - it is always used for formatting color values.
For default case, getAsString() will use "#RRGGBB" format to represent the color.
Object as String.</p>

<p>The <code>getAsObject()</code> method parses a String into a {@link java.awt.Color},
according to the following algorithm:</p>
<ul>
<li>If the specified String is null, return
    a <code>null</code>.  Otherwise, trim leading and trailing
    whitespace before proceeding.</li>
<li>If the specified String - after trimming - has a zero length,
    return <code>null</code>.</li>
<li>Parses the trimmed string as mentioned in the documentation,
    If the string does not match the patterns specified  throw
    {@link ConverterException} containing a {@link #CONVERT_MESSAGE_ID} message.
    The detail message of {@link #CONVERT_MESSAGE_ID} can be overridden
    by setting a custom error message, by calling
    method <code>setMessageDetailConvert()</code>. The custom message
    can contain placeholders as specified in {@link #CONVERT_MESSAGE_ID}.
    The placeholders will be replaced by appropriate values as mentioned
    in {@link #CONVERT_MESSAGE_ID}</li>
</ul>

<p>The <code>getAsString()</code> method expects a value of type
{@link Color} (or a subclass), and creates a formatted
String according to the following algorithm:</p>
<ul>
<li>If the specified value is null, return a zero-length String.</li>
<li>If the specified value is a String, return it unmodified.</li>
<li>return the string representation of color based on the first pattern.</li>
</ul>
]]>
    </longDesc>
    <property>
      <name>patterns</name>
      <className>java.lang.String[]</className>
      <desc><![CDATA[<p>Retrun the patterns set for this converter]]></desc>
      <longDesc><![CDATA[<p>Retrun the patterns set for this converter.</p>]]></longDesc>
    </property>
    <property>
      <name>transparentAllowed</name>
      <className>boolean</className>
      <desc>
<![CDATA[
<p>Return if localized transparent text should be supported by this
converter
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return if localized transparent text should be supported by this
converter.</p>
]]>
      </longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>messageDetailConvert</name>
      <className>java.lang.String</className>
      <desc>Return custom detail error message that was set for creating faces message,
for values that cannot be converted to {@link java</desc>
      <longDesc>Return custom detail error message that was set for creating faces message,
for values that cannot be converted to {@link java.awt.Color}</longDesc>
    </property>
    <property>
      <name>hint</name>
      <className>java.lang.String</className>
      <desc><![CDATA[<p>Return custom hint message]]></desc>
      <longDesc><![CDATA[<p>Return custom hint message.</p>]]></longDesc>
      <tagExcluded>true</tagExcluded>
    </property>
  </converter>
  <converter>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.convert.DateTimeConverter</className>
    <parentClassName>javax.faces.convert.DateTimeConverter</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.convert.DateTimeConverter</sourceClassName>
    <sourceClassParentClassName>javax.faces.convert.DateTimeConverter</sourceClassParentClassName>
    <converterId>org.apache.myfaces.trinidad.DateTime</converterId>
    <configExcluded>true</configExcluded>
    <desc><![CDATA[<p>{@link Converter} implementation for <code>java]]></desc>
    <longDesc>
<![CDATA[
<p>{@link Converter} implementation for <code>java.util.Date</code>
values. Converts an strings to and from java.util.Date objects.</p>

The converter has additonal features than standard JSF
{@link javax.faces.convert.DateTimeConverter}.

New dateStyle <code>shortish</code> has been introduced. Shortish is identical
to <code>short</code> but forces the year to be a full four digits.
If dateStyle is not set, then <code>dateStyle</code> defaults to
<code>shortish</code>.

 <p>Timezone can be set per web-app in trinidad-config.xml configuration file.
If <code>timeZone</code> is not set on the converter, then timezone will be defaulted to the
value set in trinidad-config.xml configuration file. If it is not set in the
configuration file, then it will be defaulted to GMT.</p>

<p>The converter always allows a level of <code>leniency</code> while converting
user input value to date to the following extent.
<ul>
<li>A converter with associated pattern 'MMM' for month, when attached to any
value holder, will accept values with month specified in the form 'MM' or 'M'
as valid.</li>
<li>Allows use of separators '-' or '.' or '/' irrespective of the separator
specified in the associated pattern.</li>
<li>The leniency is applicable to both 'pattern' and 'secondaryPattern'.</li>
</ul></p>
<p>
For example:</br>
When pattern on the converter is set to "MMM/d/yyyy" the following inputs
are tolerated as valid by the converter.</br>
<dl>
<dt>Jan/4/2004</dt>
<dt>Jan-4-2004</dt>
<dt>Jan.4.2004</dt>
<dt>01/4/2004</dt>
<dt>01-4-2004</dt>
<dt>01.4.2004</dt>
<dt>1/4/2004</dt>
<dt>1-4-2004</dt>
<dt>1.4.2004</dt>
</dl>
</p>

The detail part of faces message,for conversion errors can be customized
by overriding the message associated with each CONVERT_[TYPE]_MESSAGE_ID.

<p>The methods used for customizing the detail message associated with each id
is given below:</p>
<ol>
<li>{@link #CONVERT_DATE_MESSAGE_ID} - {@link #setMessageDetailConvertDate(String)}</li>
<li>{@link #CONVERT_TIME_MESSAGE_ID} - {@link #setMessageDetailConvertTime(String) }</li>
<li>{@link #CONVERT_BOTH_MESSAGE_ID} - {@link #setMessageDetailConvertBoth(String) }</li>
</ol> The custom messages can contain placeholders, which will be replaced with
values as specified in its corresponding message id.

<p>The <code>getAsObject()</code> method parses a String into a
<code>java.util.Date</code>, according to the following algorithm:</p>
<ul>
<li>If the specified String is null, return
    a <code>null</code>.  Otherwise, trim leading and trailing
    whitespace before proceeding.</li>
<li>If the specified String - after trimming - has a zero length,
    return <code>null</code>.</li>
<li>If the <code>locale</code> property is not null,
    use that <code>Locale</code> for managing parsing.  Otherwise, use the
    <code>Locale</code> from the <code>UIViewRoot</code>.</li>
<li>If a <code>pattern</code> has been specified, its syntax must conform
    the rules specified by <code>java.text.SimpleDateFormat</code>.  Such
    a pattern will be used to parse, and the <code>type</code>,
    <code>dateStyle</code>, and <code>timeStyle</code> properties
    will be ignored.</li>
<li>If a <code>pattern</code> has not been specified, parsing will be based
    on the <code>type</code> property, which expects a date value, a time
    value, or both.  Any date and time values included will be parsed in
    accordance to the styles specified by <code>dateStyle</code> and
    <code>timeStyle</code>, respectively.</li>
<li>If conversion fails with <code>pattern</code> or <code>style</code>
    and if <code> secondaryPattern</code> is set, re parsers based on the
    <code>secondaryPattern</code>. Syntax for <code>secondaryPattern</code>
    must conform to the rules specified by
    <code>java.text.SimpleDateFormat</code>.</li>
<li>Parsing is lenient as outlined earlier and is not the same as setting
    leniency on <code>java.text.DateFormat</code>
</ul>

<p>The <code>getAsString()</code> method expects a value of type
<code>java.util.Date</code> (or a subclass), and creates a formatted
String according to the following algorithm:</p>
<ul>
<li>If the specified value is null, return a zero-length String.</li>
<li>If the specified value is a String, return it unmodified.</li>
<li>If the <code>locale</code> property is not null,
    use that <code>Locale</code> for managing formatting.  Otherwise, use the
    <code>Locale</code> from the <code>UIViewRoot</code>.</li>
<li>If a <code>pattern</code> has been specified, its syntax must conform
    the rules specified by <code>java.text.SimpleDateFormat</code>. Such
    a pattern will be used to format, and the <code>type</code>,
    <code>dateStyle</code>, and <code>timeStyle</code> properties
    will be ignored.</li>
<li>If a <code>pattern</code> has not been specified, formatting will be
    based on the <code>type</code> property, which includes a date value,
    a time value, or both into the formatted String.  Any date and time
    values included will be formatted in accordance to the styles specified
    by <code>dateStyle</code> and <code>timeStyle</code>, respectively.</li>
<li><code>secondaryPattern</code> even if set is never used for formatting
    to a String</li>
</ul>
]]>
    </longDesc>
    <property>
      <name>messageDetailConvertDate</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for values that cannot be converted to {@link java
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for values that cannot be converted to {@link java.util.Date} when
<code>pattern / secondary pattern</code> is set or
when <code>type</code> is set to <code>'date'</code>.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailConvertTime</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for values that cannot be converted to {@link java
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for values that cannot be converted to {@link java.util.Date}
when <code>type</code> is set to <code>'time'</code>.
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailConvertBoth</name>
      <className>java.lang.String</className>
      <desc>Return custom detail error message that was set for creating {@link FacesMessage},
for values that cannot be converted to {@link java</desc>
      <longDesc>
<![CDATA[
Return custom detail error message that was set for creating {@link FacesMessage},
for values that cannot be converted to {@link java.util.Date}
when <code>type</code> is set to <code>'both'</code>.
]]>
      </longDesc>
    </property>
    <property>
      <name>locale</name>
      <className>java.util.Locale</className>
      <desc><![CDATA[<p>Return the <code>Locale</code> that was set]]></desc>
      <longDesc>
<![CDATA[
<p>Return the <code>Locale</code> that was set.
If not explicitly set, the <code>Locale</code> stored
in the {@link javax.faces.component.UIViewRoot} for the current
request is used during call to <code>getAsObject</code> and
<code>getAsString</code>.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>pattern</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return the format pattern to be used when formatting and
parsing dates and times
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return the format pattern to be used when formatting and
parsing dates and times.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>timeZone</name>
      <className>java.util.TimeZone</className>
      <desc><![CDATA[<p>Return the <code>TimeZone</code> that is used to interpret a time value]]></desc>
      <longDesc>
<![CDATA[
<p>Return the <code>TimeZone</code> that is used to interpret a time value.
If not explicitly set or if a null value is set, then during call to
<code>getAsObject</code> and <code>getAsString</code>, the time zone set
for the web-app is used. If time zone is not set for the web-app then
the default time zone of <code>GMT</code> is used.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>type</name>
      <className>java.lang.String</className>
      <desc><![CDATA[<p>Return the type of value to be formatted or parsed]]></desc>
      <longDesc>
<![CDATA[
<p>Return the type of value to be formatted or parsed.
If not explicitly set, the default type, <code>date</code>
is returned.</p>
]]>
      </longDesc>
      <defaultValue>date</defaultValue>
    </property>
    <property>
      <name>dateStyle</name>
      <className>java.lang.String</className>
      <desc><![CDATA[<p>Return the style to be used to format or parse dates]]></desc>
      <longDesc>
<![CDATA[
<p>Return the style to be used to format or parse dates.  If not set,
the default value, <code>shortish</code>, is returned.</p>
]]>
      </longDesc>
      <defaultValue>shortish</defaultValue>
    </property>
    <property>
      <name>timeStyle</name>
      <className>java.lang.String</className>
      <desc><![CDATA[<p>Return the style to be used to format or parse times]]></desc>
      <longDesc>
<![CDATA[
<p>Return the style to be used to format or parse times.  If not set,
the default value, <code>short</code>, is returned.</p>
]]>
      </longDesc>
      <defaultValue>short</defaultValue>
    </property>
    <property>
      <name>secondaryPattern</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return the secondary pattern used to parse string when parsing by
pattern or style fails
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return the secondary pattern used to parse string when parsing by
pattern or style fails.</p>
]]>
      </longDesc>
    </property>
  </converter>
  <converter>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.convert.NumberConverter</className>
    <parentClassName>javax.faces.convert.NumberConverter</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.convert.NumberConverter</sourceClassName>
    <sourceClassParentClassName>javax.faces.convert.NumberConverter</sourceClassParentClassName>
    <converterId>org.apache.myfaces.trinidad.Number</converterId>
    <configExcluded>true</configExcluded>
    <desc>This is an extension of the standard JSF {@link javax</desc>
    <longDesc>
<![CDATA[
This is an extension of the standard JSF {@link javax.faces.convert.NumberConverter}
The converter provides all the standard functionality
of the default NumberConverter and is strict while converting to object.

JSF {@link javax.faces.convert.NumberConverter} is lenient and will convert
values like 22.22.2 or 22ABC to valid number 22.22 and 22 respectively,
here it would result in a conversion failure and would throw
ConverterException.

If <code>number grouping separator, decimal separator</code>
is configured in <code>trinidad-config.xml</code> file,
it will be used during call to <code>getAsObject()</code> and
<code>getAsString()</code> for parsing and formatting. If it has not been set,
<code>number grouping separator, decimal separator</code> is
defaulted based on the locale.</p>

<p>If <code>currencyCode</code> is set on the converter then it will be used.
Else uses the <code>currencyCode</code> set on <code>trinidad-config.xml</code>
file. If it is not set, then it is defaulted based on the locale. The
value registered in trinidad-config.xml is obtained using
api from {@link org.apache.myfaces.trinidad.context.RequestContext}.</p>

<p>Since Apache Trinidad is compatible only with JDK 1.4 and higher versions,
the <code>currencyCode</code> gets preference over <code>currencySymbol</code>
See RI's {@link javax.faces.convert.NumberConverter} for the way in which
<code>currencyCode</code> and <code>currencySymbol</code> gets preference for
different version of JDK.

<p>The <code>detail</code> part of the {@link FacesMessage} can be customized.
For each message id there is a corresponding
setter method, which provides for message customization. The customized
messages can contain placeholders as specified in the documentation
for its corresponding message id.</p>

<p>Example: to customize the message for invalid input values, which will result
in conversion error containing {@link #CONVERT_NUMBER_MESSAGE_ID}, the following,
can be done.</p>
<code>
String convertNumberMessageDetail = "{0}" in "{1}" is not valid age.</code>

//  Note that, the string can contain placeholders and it will be replaced
//  appropriately as specified in the documentation for the corresponding
//  message id.

<code>setMessageDetailConvertNumber(convertNumberMessageDetail);</code>

This way user can override detail part of the {@link FacesMessage} for
different conversion errors that occur for wrong values, that arise
during conversion.

There is a one to one mapping for message customization which is as given below. <p>The methods used for customizing the detail message associated with each id
is given below:</p>
<ol><code>
<li>{@link #CONVERT_PATTERN_MESSAGE_ID} - {@link #setMessageDetailConvertPattern(String)}</li>
<li>{@link #CONVERT_NUMBER_MESSAGE_ID} -  {@link #setMessageDetailConvertNumber(String)}</li>
<li>{@link #CONVERT_CURRENCY_MESSAGE_ID} - {@link #setMessageDetailConvertCurrency(String)}</li>
<li>{@link #CONVERT_PERCENT_MESSAGE_ID} - {@link #setMessageDetailConvertPercent(String)}</li>
</code></ol>The custom messages can contain placeholders, which will be replaced with
values as specified in its corresponding message id.

<p>
This NumberConverter is automatically registered under the standard
converter ID, and therefore will be used when the
<code>&lt;f:convertNumber&gt;</code> tag is used.
]]>
    </longDesc>
    <property>
      <name>messageDetailConvertPattern</name>
      <className>java.lang.String</className>
      <desc>Custom detail error message that was set for creation of {@link FacesMessage}
when conversion fails for values that does not match the pattern set</desc>
      <longDesc>Custom detail error message that was set for creation of {@link FacesMessage}
when conversion fails for values that does not match the pattern set.</longDesc>
    </property>
    <property>
      <name>messageDetailConvertNumber</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
when conversion fails for values, when <code>type</code> is set to <code>'number'</code> and
<code>pattern</code> is null or not set
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
when conversion fails for values, when <code>type</code> is set to <code>'number'</code> and
<code>pattern</code> is null or not set.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailConvertCurrency</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
when conversion fails for values, when <code>type</code> is set to
<code>'currency'</code> and <code>pattern</code> is null or not set
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
when conversion fails for values, when <code>type</code> is set to
<code>'currency'</code> and <code>pattern</code> is null or not set.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailConvertPercent</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
when conversion fails for values, when <code>value</code> cannot be converted to a
number, when <code>type</code> is set to <code>'percent'</code>
and <code>pattern</code> is null or not set
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
when conversion fails for values, when <code>value</code> cannot be converted to a
number, when <code>type</code> is set to <code>'percent'</code>
and <code>pattern</code> is null or not set.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>currencyCode</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>currencySymbol</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>groupingUsed</name>
      <className>boolean</className>
      <desc>no description</desc>
      <defaultValue>true</defaultValue>
    </property>
    <property>
      <name>integerOnly</name>
      <className>boolean</className>
      <desc>no description</desc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>locale</name>
      <className>java.util.Locale</className>
      <desc>
<![CDATA[
<p>Return the <code>Locale</code> that was set, returns null if it was not set,
while faces RI returns the <code>Locale</code> set on the view root if the locale
is null
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return the <code>Locale</code> that was set, returns null if it was not set,
while faces RI returns the <code>Locale</code> set on the view root if the locale
is null.
If this value is <code>null</code>, the <code>Locale</code> stored
in the {@link javax.faces.component.UIViewRoot} for the current request
will be utilized during parsing.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>maxFractionDigits</name>
      <className>int</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>maxIntegerDigits</name>
      <className>int</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>minFractionDigits</name>
      <className>int</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>minIntegerDigits</name>
      <className>int</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>roundingMode</name>
      <className>java.math.RoundingMode</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>negativePrefix</name>
      <className>java.lang.String</className>
      <desc>Gets the negative prefix that is applied on the number</desc>
      <longDesc>Gets the negative prefix that is applied on the number. 
Will return the prefix or null if no negative prefix is specified via {@link #setNegativePrefix(String)}.
Negative prefix specified using negative pattern string has no affect on this method.</longDesc>
    </property>
    <property>
      <name>negativeSuffix</name>
      <className>java.lang.String</className>
      <desc>Gets the negative suffix that is applied on the number</desc>
      <longDesc>Gets the negative suffix that is applied on the number. 
Will return the suffix or null if no negative suffix is specified via {@link #setNegativeSuffix(String)}.
Negative suffix specified using negative pattern string has no affect on this method.</longDesc>
    </property>
    <property>
      <name>pattern</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>type</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <defaultValue>number</defaultValue>
    </property>
  </converter>
  <converter>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidadinternal.convert.ColorConverter</className>
    <sourceClassName>org.apache.myfaces.trinidadinternal.convert.ColorConverter</sourceClassName>
    <name>tr:convertColor</name>
    <converterId>org.apache.myfaces.trinidad.Color</converterId>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.convert.ConvertColorTag</tagClass>
    <desc>Converts an string, to and from java.awt.Color objects.</desc>
    <longDesc>Converts an strings to and from java.awt.Color
                            objects. The set of patterns used for conversion can
                            be overriden.</longDesc>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>Whether the converter should be disabled, default to false.</desc>
      <longDesc>Whether the converter should be disabled, default to false.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>patterns</name>
      <jspName>patterns</jspName>
      <fieldName>_patterns</fieldName>
      <className>java.lang.String[]</className>
      <desc>The set of acceptable patterns, as a whitespace sepa
rated list.
              The first pattern in the list will be used for formatting
              java.awt.Color values.  All patterns will be tried in
              order to convert Strings back into java.awt.Colors.
              If no patterns are set, the default is "#RRGGBB r,g,b".</desc>
      <longDesc>The set of acceptable patterns, as a whitespace sepa
rated list.
              The first pattern in the list will be used for formatting
              java.awt.Color values.  All patterns will be tried in
              order to convert Strings back into java.awt.Colors.
              If no patterns are set, the default is "#RRGGBB r,g,b".</longDesc>
    </property>
    <property>
      <name>transparentAllowed</name>
      <jspName>transparentAllowed</jspName>
      <fieldName>_transparentAllowed</fieldName>
      <className>boolean</className>
      <desc>Whether the converter should allow generation of a "
transparent"
color (a black color with an alpha of zero). The converter uses
a String version of "transparent" that is translated for the
user's locale.</desc>
      <longDesc>Whether the converter should allow generation of a "
transparent"
color (a black color with an alpha of zero). The converter uses
a String version of "transparent" that is translated for the
user's locale.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>messageDetailConvert</name>
      <jspName>messageDetailConvert</jspName>
      <fieldName>_messageDetailConvert</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html><p>
              Custom error message to be used, for creating detail part of
              faces message, when users input does not match the specified
              pattern.
             </p>
             <p>
              <strong>
               Parameters:
              </strong>
              <ul>
               <li>
                {0} the label that identifies the component
               </li>
               <li>
                {1} value entered by the user
               </li>
               <li>
                {2} the pattern the converter is expecting
               </li>
              </ul>
             </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html><p>
              Custom error message to be used, for creating detail part of
              faces message, when users input does not match the specified
              pattern.
             </p>
             <p>
              <strong>
               Parameters:
              </strong>
              <ul>
               <li>
                {0} the label that identifies the component
               </li>
               <li>
                {1} value entered by the user
               </li>
               <li>
                {2} the pattern the converter is expecting
               </li>
              </ul>
             </p></html>
]]>
      </longDesc>
    </property>
  </converter>
  <converter>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidadinternal.convert.DateTimeConverter</className>
    <sourceClassName>org.apache.myfaces.trinidadinternal.convert.DateTimeConverter</sourceClassName>
    <name>tr:convertDateTime</name>
    <converterId>org.apache.myfaces.trinidad.DateTime</converterId>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.convert.ConvertDateTimeTag</tagClass>
    <desc>Converts string into java.util.Date and vice versa based on the pattern
          and style set.</desc>
    <longDesc>
<![CDATA[
Converts string into java.util.Date and vice versa based on the pattern
          and style set.
          <html:p>
            The default dateStyle is <html:code>shortish</html:code>.
            Shortish is identical to <html:code>short</html:code> but forces the year to be
            a full four digits. <code>dateStyle</code> defaults to <html:code>shortish</html:code>
            if it was not set.
          </html:p>

          <html:p>Timezone can be set per web-app in trinidad-config.xml configuration file.
          If <code>timeZone</code> is not set on the converter, then timezone will be defaulted to the
          value set in trinidad-config.xml configuration file. If it is not set in the
          configuration file, then it will be defaulted to GMT.</html:p>

          <html:p>
             The converter always allows a level of <code>leniency</code> while converting
             user input value to date to the following extent.
            <html:ul>
              <html:li>
                A converter with associated pattern 'MMM' for month, when attached to any
                value holder, will accept values with month specified in the form 'MM' or 'M'
                as valid.
              </html:li>
              <html:li>
                Allows use of separators '-' or '.' or '/' irrespective of the separator
                specified in the associated pattern.
              </html:li>
              <html:li>
                The leniency is applicable to both 'pattern' and 'secondaryPattern'.
              </html:li>
            </html:ul>
          </html:p>
          <html:p>
            For example:<html:br/>
            When pattern on the converter is set to &quot;MMM/d/yyyy&quot; the following inputs
            are tolerated as valid by the converter.<html:br/>
            <html:dl>
              <html:dt>Jan/4/2004</html:dt>
              <html:dt>Jan-4-2004</html:dt>
              <html:dt>Jan.4.2004</html:dt>
              <html:dt>01/4/2004</html:dt>
              <html:dt>01-4-2004</html:dt>
              <html:dt>01.4.2004</html:dt>
              <html:dt>1/4/2004</html:dt>
              <html:dt>1-4-2004</html:dt>
              <html:dt>1.4.2004</html:dt>
            </html:dl>
          </html:p>

          <html:p>This converter is automatically registered under the standard
            converter ID, and therefore will be used when the
          <html:code>&lt;f:convertDateTime&gt;</html:code> tag is used.</html:p>
]]>
    </longDesc>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>Whether the converter should be disabled, default to false.</desc>
      <longDesc>Whether the converter should be disabled, default to false.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>messageDetailConvertDate</name>
      <jspName>messageDetailConvertDate</jspName>
      <fieldName>_messageDetailConvertDate</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html><p>
              Custom error message to be used, for creating detail part of
              faces message, for values that cannot be converted to date when
              the pattern / secondary pattern is set or when
              <code>type</code> is set to
              <code>'date'</code> and <code>pattern</code>
              is not set or is null.
             </p>
             <p>
              <strong>
               Parameters:
              </strong>
              <ul>
               <li>
                {0} the label that identifies the component
               </li>
               <li>
                {1} value entered by the user
               </li>
               <li>
                {2} an example of the format the converter is expecting
               </li>
              </ul>
             </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html><p>
              Custom error message to be used, for creating detail part of
              faces message, for values that cannot be converted to date when
              the pattern / secondary pattern is set or when
              <code>type</code> is set to
              <code>'date'</code> and <code>pattern</code>
              is not set or is null.
             </p>
             <p>
              <strong>
               Parameters:
              </strong>
              <ul>
               <li>
                {0} the label that identifies the component
               </li>
               <li>
                {1} value entered by the user
               </li>
               <li>
                {2} an example of the format the converter is expecting
               </li>
              </ul>
             </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailConvertTime</name>
      <jspName>messageDetailConvertTime</jspName>
      <fieldName>_messageDetailConvertTime</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html><p>
              Custom error message to be used, for creating detail part of
              faces message, for time based value that cannot be converted
              to date when <code>type</code> is set to
              <code>'time'</code>, <code>pattern</code> is
              not set or is null
             </p>
             <p>
              <strong>
               Parameters:
              </strong>
              <ul>
               <li>
                {0} the label that identifies the component
               </li>
               <li>
                {1} value entered by the user
               </li>
               <li>
                {2} an example of the format the converter is expecting
               </li>
              </ul>
             </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html><p>
              Custom error message to be used, for creating detail part of
              faces message, for time based value that cannot be converted
              to date when <code>type</code> is set to
              <code>'time'</code>, <code>pattern</code> is
              not set or is null
             </p>
             <p>
              <strong>
               Parameters:
              </strong>
              <ul>
               <li>
                {0} the label that identifies the component
               </li>
               <li>
                {1} value entered by the user
               </li>
               <li>
                {2} an example of the format the converter is expecting
               </li>
              </ul>
             </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailConvertBoth</name>
      <jspName>messageDetailConvertBoth</jspName>
      <fieldName>_messageDetailConvertBoth</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html><p>
              Custom error message to be used, for creating detail part of
              faces message, for date-time based value that cannot be converted
              to date when <code>type</code> is set to
              <code>'both'</code> and <code>pattern</code>
              is not set or is null.
             </p>
             <p>
              <strong>
               Parameters:
              </strong>
              <ul>
               <li>
                {0} the label that identifies the component
               </li>
               <li>
                {1} value entered by the user
               </li>
               <li>
                {2} an example of the format the converter is expecting
               </li>
              </ul>
             </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html><p>
              Custom error message to be used, for creating detail part of
              faces message, for date-time based value that cannot be converted
              to date when <code>type</code> is set to
              <code>'both'</code> and <code>pattern</code>
              is not set or is null.
             </p>
             <p>
              <strong>
               Parameters:
              </strong>
              <ul>
               <li>
                {0} the label that identifies the component
               </li>
               <li>
                {1} value entered by the user
               </li>
               <li>
                {2} an example of the format the converter is expecting
               </li>
              </ul>
             </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>dateStyle</name>
      <jspName>dateStyle</jspName>
      <fieldName>_dateStyle</fieldName>
      <className>java.lang.String</className>
      <desc>Predefined formatting style which determines how the date component
               of a date string is to be formatted and parsed. Applied only if type
               is "date" or "both". Valid values are "shortish", "short", "default",
               "medium", "long", and "full". Default value is "shortish".</desc>
      <longDesc>Predefined formatting style which determines how the date component
               of a date string is to be formatted and parsed. Applied only if type
               is "date" or "both". Valid values are "shortish", "short", "default",
               "medium", "long", and "full". Default value is "shortish".</longDesc>
      <defaultValue>shortish</defaultValue>
    </property>
    <property>
      <name>locale</name>
      <jspName>locale</jspName>
      <fieldName>_locale</fieldName>
      <className>java.util.Locale</className>
      <desc>Locale whose predefined styles for dates and times are used during
               formatting or parsing. If not specified or if null, the Locale returned by
               FacesContext.getViewRoot().getLocale() will be used.</desc>
      <longDesc>Locale whose predefined styles for dates and times are used during
               formatting or parsing. If not specified or if null, the Locale returned by
               FacesContext.getViewRoot().getLocale() will be used.</longDesc>
    </property>
    <property>
      <name>pattern</name>
      <jspName>pattern</jspName>
      <fieldName>_pattern</fieldName>
      <className>java.lang.String</className>
      <desc>Custom formatting pattern which determines how the date/time string
              should be formatted and parsed.</desc>
      <longDesc>Custom formatting pattern which determines how the date/time string
              should be formatted and parsed.</longDesc>
    </property>
    <property>
      <name>secondaryPattern</name>
      <jspName>secondaryPattern</jspName>
      <fieldName>_secondaryPattern</fieldName>
      <className>java.lang.String</className>
      <desc>Second pattern, which will be used as a second attempt to parse a
               string if the primary pattern or styles fail, but is never used for
               formatting strings.</desc>
      <longDesc>Second pattern, which will be used as a second attempt to parse a
               string if the primary pattern or styles fail, but is never used for
               formatting strings.</longDesc>
    </property>
    <property>
      <name>timeStyle</name>
      <jspName>timeStyle</jspName>
      <fieldName>_timeStyle</fieldName>
      <className>java.lang.String</className>
      <desc>Predefined formatting style which determines how the time component of
               a date string is to be formatted and parsed. Applied only if type is
               "time" or "both". Valid values are "default", "short", "medium",
               "long", and "full". Default value is "short".</desc>
      <longDesc>Predefined formatting style which determines how the time component of
               a date string is to be formatted and parsed. Applied only if type is
               "time" or "both". Valid values are "default", "short", "medium",
               "long", and "full". Default value is "short".</longDesc>
      <defaultValue>short</defaultValue>
    </property>
    <property>
      <name>timeZone</name>
      <jspName>timeZone</jspName>
      <fieldName>_timeZone</fieldName>
      <className>java.util.TimeZone</className>
      <desc>Time zone in which to interpret any time information in the date
               string. If not set here, picks this value from
               trinidad-config.xml configuration file. If not defined there, then
               it is defaulted to the value returned by TimeZone.getDefault() which is usually the server JVM timezone.</desc>
      <longDesc>Time zone in which to interpret any time information in the date
               string. If not set here, picks this value from
               trinidad-config.xml configuration file. If not defined there, then
               it is defaulted to the value returned by TimeZone.getDefault() which is usually the server JVM timezone.</longDesc>
    </property>
    <property>
      <name>type</name>
      <jspName>type</jspName>
      <fieldName>_type</fieldName>
      <className>java.lang.String</className>
      <desc>Specifies what contents the string value will be formatted to
               include, or parsed. Valid values are "date", "time", and "both".
               Default value is "date".</desc>
      <longDesc>Specifies what contents the string value will be formatted to
               include, or parsed. Valid values are "date", "time", and "both".
               Default value is "date".</longDesc>
      <defaultValue>date</defaultValue>
    </property>
  </converter>
  <converter>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidadinternal.convert.NumberConverter</className>
    <sourceClassName>org.apache.myfaces.trinidadinternal.convert.NumberConverter</sourceClassName>
    <name>tr:convertNumber</name>
    <converterId>org.apache.myfaces.trinidad.Number</converterId>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.convert.ConvertNumberTag</tagClass>
    <desc>Converts an string to a Number and vice versa based on the 'pattern' or the 'type' set.</desc>
    <longDesc>
<![CDATA[
<html:p>This is an extension of the standard JSF javax.faces.convert.NumberConverter
          The converter provides all the standard functionality of the default NumberConverter
          and is strict while converting to object.</html:p>

          <html:p>JSF javax.faces.convert.NumberConverter will convert values like
          22.22.2 or 22ABC to valid Number 22.22 and 22 respectively. Here it would
          result in a conversion failure and would throw a ConverterException.</html:p>

          <html:p>If <html:code>number grouping separator, decimal separator</html:code>
          is configured in <html:code>trinidad-config.xml</html:code> file,
          it will be used during call to <html:code>getAsObject()</html:code> and
          <html:code>getAsString()</html:code> for parsing and formatting. If it has not been set,
          <html:code>number grouping separator, decimal separator</html:code> is
          defaulted based on the locale.</html:p>

          <html:p>If <html:code>currencyCode</html:code> is set on the converter then it will be used.
          Else uses the <html:code>currencyCode</html:code> set in <html:code>trinidad-config.xml</html:code>
          file. If it is not set in the configuration file then it is defaulted based on the locale.</html:p>


         <html:p>Since Apache MyFaces Trinidad is compatible with JDK 1.4 and higher versions,
         the <html:code>currencyCode</html:code> gets preference over <html:code>currencySymbol.</html:code>
         See JSF's javax.faces.convert.NumberConverter for the way in which
         <html:code>currencyCode</html:code> and <html:code>currencySymbol</html:code> gets preference for
         different version of JDK.</html:p>


         <html:p>This converter is automatically registered under the standard
         converter ID, and therefore will be used when the
         <html:code>&lt;f:convertNumber&gt;</html:code> tag is used.</html:p>

         <html:p>Further more information see javadoc for
         <html:code>org.apache.myfaces.trinidad.converter.NumberConverter</html:code></html:p>
]]>
    </longDesc>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>Whether the converter should be disabled, default to false.</desc>
      <longDesc>Whether the converter should be disabled, default to false.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>currencyCode</name>
      <jspName>currencyCode</jspName>
      <fieldName>_currencyCode</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
The ISO 4217 currency code, applied only when formatting currencies.
           Currency code can also be set for the entire application in trinidad-config.xml file.
           If currency code is not set on the converter, and if set on
           trinidad-config.xml configuration file it will be used by calling
           <code>RequestContext().getCurrenctInstance().getCurrencyCode().</code>
           This currency code will be used during call to getAsString() for formatting,
           provided type is set to 'currency'.
]]>
      </desc>
      <longDesc>
<![CDATA[
The ISO 4217 currency code, applied only when formatting currencies.
           Currency code can also be set for the entire application in trinidad-config.xml file.
           If currency code is not set on the converter, and if set on
           trinidad-config.xml configuration file it will be used by calling
           <code>RequestContext().getCurrenctInstance().getCurrencyCode().</code>
           This currency code will be used during call to getAsString() for formatting,
           provided type is set to 'currency'.
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailConvertCurrency</name>
      <jspName>messageDetailConvertCurrency</jspName>
      <fieldName>_messageDetailConvertCurrency</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html><p>
          Custom error message to be used, for creating detail part of the
          <code>FacesMessage</code>, when
          <code>value</code> cannot be converted to a number, when
          <code>type</code> is set to
          <code>'currency'</code> and <code>pattern</code>
          is null or not set.
         </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
           </ul>
          </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html><p>
          Custom error message to be used, for creating detail part of the
          <code>FacesMessage</code>, when
          <code>value</code> cannot be converted to a number, when
          <code>type</code> is set to
          <code>'currency'</code> and <code>pattern</code>
          is null or not set.
         </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
           </ul>
          </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailConvertNumber</name>
      <jspName>messageDetailConvertNumber</jspName>
      <fieldName>_messageDetailConvertNumber</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html><p>
          Custom error message to be used, for creating detail part of the
          <code>FacesMessage</code>, when
          <code>value</code> cannot be converted to a number, when
          <code>type</code> is set to <code>'number'</code>
          and <code>pattern</code> is null or not set.
         </p>
         <p>
          <strong>
           Parameters:
          </strong>
          <ul>
           <li>
            {0} the label that identifies the component
           </li>
           <li>
            {1} value entered by the user
           </li>
          </ul>
         </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html><p>
          Custom error message to be used, for creating detail part of the
          <code>FacesMessage</code>, when
          <code>value</code> cannot be converted to a number, when
          <code>type</code> is set to <code>'number'</code>
          and <code>pattern</code> is null or not set.
         </p>
         <p>
          <strong>
           Parameters:
          </strong>
          <ul>
           <li>
            {0} the label that identifies the component
           </li>
           <li>
            {1} value entered by the user
           </li>
          </ul>
         </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailConvertPattern</name>
      <jspName>messageDetailConvertPattern</jspName>
      <fieldName>_messageDetailConvertPattern</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html><p>
          Custom error message to be used, for creating detail part of the
          <code>FacesMessage</code> message, when
          <code>value</code> cannot be converted to a number, based
          on the <code>pattern</code> set.
         </p>
         <p>
          <strong>
           Parameters:
          </strong>
          <ul>
           <li>
            {0} the label that identifies the component
           </li>
           <li>
            {1} value entered by the user
           </li>
           <li>
            {2} the specified conversion pattern
           </li>
          </ul>
         </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html><p>
          Custom error message to be used, for creating detail part of the
          <code>FacesMessage</code> message, when
          <code>value</code> cannot be converted to a number, based
          on the <code>pattern</code> set.
         </p>
         <p>
          <strong>
           Parameters:
          </strong>
          <ul>
           <li>
            {0} the label that identifies the component
           </li>
           <li>
            {1} value entered by the user
           </li>
           <li>
            {2} the specified conversion pattern
           </li>
          </ul>
         </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailConvertPercent</name>
      <jspName>messageDetailConvertPercent</jspName>
      <fieldName>_messageDetailConvertPercent</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<html><p>
          Custom error message to be used, for creating detail part of the
          <code>FacesMessage</code>, when
          <code>value</code> cannot be converted to a number, when
          <code>type</code> is set to
          <code>'percent'</code> and <code>pattern</code>
          is null or not set.
         </p>
         <p>
          <strong>
           Parameters:
          </strong>
          <ul>
           <li>
            {0} the label that identifies the component
           </li>
           <li>
            {1} value entered by the user
           </li>
          </ul>
         </p></html>
]]>
      </desc>
      <longDesc>
<![CDATA[
<html><p>
          Custom error message to be used, for creating detail part of the
          <code>FacesMessage</code>, when
          <code>value</code> cannot be converted to a number, when
          <code>type</code> is set to
          <code>'percent'</code> and <code>pattern</code>
          is null or not set.
         </p>
         <p>
          <strong>
           Parameters:
          </strong>
          <ul>
           <li>
            {0} the label that identifies the component
           </li>
           <li>
            {1} value entered by the user
           </li>
          </ul>
         </p></html>
]]>
      </longDesc>
    </property>
    <property>
      <name>currencySymbol</name>
      <jspName>currencySymbol</jspName>
      <fieldName>_currencySymbol</fieldName>
      <className>java.lang.String</className>
      <desc>Currency symbol, is applied only when formatting currencies.
          If currency code is set then symbol will be ignored.</desc>
      <longDesc>Currency symbol, is applied only when formatting currencies.
          If currency code is set then symbol will be ignored.</longDesc>
    </property>
    <property>
      <name>groupingUsed</name>
      <jspName>groupingUsed</jspName>
      <fieldName>_groupingUsed</fieldName>
      <className>boolean</className>
      <desc>Flag specifying whether formatted output will contain grouping separators.
          Default value is true.</desc>
      <longDesc>Flag specifying whether formatted output will contain grouping separators.
          Default value is true.</longDesc>
      <defaultValue>true</defaultValue>
    </property>
    <property>
      <name>integerOnly</name>
      <jspName>integerOnly</jspName>
      <fieldName>_integerOnly</fieldName>
      <className>boolean</className>
      <desc>Flag specifying whether only the integer part of the value will be formatted
           and parsed. Default value is false.</desc>
      <longDesc>Flag specifying whether only the integer part of the value will be formatted
           and parsed. Default value is false.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>locale</name>
      <jspName>locale</jspName>
      <fieldName>_locale</fieldName>
      <className>java.util.Locale</className>
      <desc>Locale whose predefined styles for numbers are used during formatting and parsing.
          If not specified, the Locale returned by FacesContext.getViewRoot().getLocale()
          will be used.</desc>
      <longDesc>Locale whose predefined styles for numbers are used during formatting and parsing.
          If not specified, the Locale returned by FacesContext.getViewRoot().getLocale()
          will be used.</longDesc>
    </property>
    <property>
      <name>maxFractionDigits</name>
      <jspName>maxFractionDigits</jspName>
      <fieldName>_maxFractionDigits</fieldName>
      <className>int</className>
      <desc>Maximum number of digits that will be formatted in the fractional portion of the
          output.</desc>
      <longDesc>Maximum number of digits that will be formatted in the fractional portion of the
          output.</longDesc>
    </property>
    <property>
      <name>maxIntegerDigits</name>
      <jspName>maxIntegerDigits</jspName>
      <fieldName>_maxIntegerDigits</fieldName>
      <className>int</className>
      <desc>Maximum number of digits that will be formatted in the integer portion of the
          output.</desc>
      <longDesc>Maximum number of digits that will be formatted in the integer portion of the
          output.</longDesc>
    </property>
    <property>
      <name>minFractionDigits</name>
      <jspName>minFractionDigits</jspName>
      <fieldName>_minFractionDigits</fieldName>
      <className>int</className>
      <desc>Minimum number of digits that will be formatted in the fractional portion of
           the output.</desc>
      <longDesc>Minimum number of digits that will be formatted in the fractional portion of
           the output.</longDesc>
    </property>
    <property>
      <name>minIntegerDigits</name>
      <jspName>minIntegerDigits</jspName>
      <fieldName>_minIntegerDigits</fieldName>
      <className>int</className>
      <desc>Minimum number of digits that will be formatted in the integer portion of the
          output.</desc>
      <longDesc>Minimum number of digits that will be formatted in the integer portion of the
          output.</longDesc>
    </property>
    <property>
      <name>negativePrefix</name>
      <jspName>negativePrefix</jspName>
      <fieldName>_negativePrefix</fieldName>
      <className>java.lang.String</className>
      <desc>Specifies the negative prefix, to be applied only when formatting negative numbers. 
        Negative prefix specified through this attribute will override any negative prefix implied using the pattern attribute</desc>
      <longDesc>Specifies the negative prefix, to be applied only when formatting negative numbers. 
        Negative prefix specified through this attribute will override any negative prefix implied using the pattern attribute</longDesc>
    </property>
    <property>
      <name>negativeSuffix</name>
      <jspName>negativeSuffix</jspName>
      <fieldName>_negativeSuffix</fieldName>
      <className>java.lang.String</className>
      <desc>Specifies the negative suffix, to be applied only when formatting negative numbers.
        Negative suffix specified through this attribute will override any negative suffix implied using the pattern attribute</desc>
      <longDesc>Specifies the negative suffix, to be applied only when formatting negative numbers.
        Negative suffix specified through this attribute will override any negative suffix implied using the pattern attribute</longDesc>
    </property>
    <property>
      <name>pattern</name>
      <jspName>pattern</jspName>
      <fieldName>_pattern</fieldName>
      <className>java.lang.String</className>
      <desc>Custom formatting pattern which determins how the number string should be
          formatted and parsed.</desc>
      <longDesc>Custom formatting pattern which determins how the number string should be
          formatted and parsed.</longDesc>
    </property>
    <property>
      <name>roundingMode</name>
      <jspName>roundingMode</jspName>
      <fieldName>_roundingMode</fieldName>
      <className>java.math.RoundingMode</className>
      <desc>Sets the default RoundingMode for the converter. If unset, uses JDK default (usually RoundingMode.HALF_EVEN).</desc>
      <longDesc>Sets the default RoundingMode for the converter. If unset, uses JDK default (usually RoundingMode.HALF_EVEN).</longDesc>
    </property>
    <property>
      <name>type</name>
      <jspName>type</jspName>
      <fieldName>_type</fieldName>
      <className>java.lang.String</className>
      <desc>Specifies how the number string will be formatted and parsed.
           Valid values are "number", "currency", and "percent".
           Default value is "number".</desc>
      <longDesc>Specifies how the number string will be formatted and parsed.
           Valid values are "number", "currency", and "percent".
           Default value is "number".</longDesc>
      <defaultValue>number</defaultValue>
    </property>
  </converter>
  <validator>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.validator.BeanValidator</className>
    <sourceClassName>javax.faces.validator.BeanValidator</sourceClassName>
    <name>f:validateBean</name>
    <validatorId>javax.faces.Bean</validatorId>
    <bodyContent>empty</bodyContent>
    <desc>
<![CDATA[
<p>
<strong>BeanValidator</strong> is a {@link javax
]]>
    </desc>
    <longDesc>
<![CDATA[
<p>
<strong>BeanValidator</strong> is a {@link javax.faces.validator.Validator}
that doesn't do any validation itself, but delegates validation logic to
Bean Validation.
</p>
]]>
    </longDesc>
    <property>
      <name>validationGroups</name>
      <className>java.lang.String</className>
      <desc>Get the Bean Validation validation groups</desc>
      <longDesc>Get the Bean Validation validation groups.</longDesc>
    </property>
    <property>
      <name>disabled</name>
      <className>java.lang.Boolean</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>for</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>binding</name>
      <className>javax.faces.validator.BeanValidator</className>
      <desc>A ValueExpression that evaluates to a BeanValidator.</desc>
      <longDesc>A ValueExpression that evaluates to a BeanValidator.</longDesc>
      <generated>false</generated>
    </property>
  </validator>
  <validator>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.validator.DoubleRangeValidator</className>
    <sourceClassName>javax.faces.validator.DoubleRangeValidator</sourceClassName>
    <name>f:validateDoubleRange</name>
    <validatorId>javax.faces.DoubleRange</validatorId>
    <bodyContent>empty</bodyContent>
    <tagClass>org.apache.myfaces.taglib.core.ValidateDoubleRangeTag</tagClass>
    <generatedTagClass>true</generatedTagClass>
    <desc>Creates a validator and associateds it with the nearest parent
UIComponent</desc>
    <longDesc>
<![CDATA[
Creates a validator and associateds it with the nearest parent
UIComponent.  When invoked, the validator ensures that values are
valid doubles that lie within the minimum and maximum values specified.

Commonly associated with a h:inputText entity.

Unless otherwise specified, all attributes accept static values or EL expressions.

see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
]]>
    </longDesc>
    <property>
      <name>maximum</name>
      <className>double</className>
      <desc>The largest value that should be considered valid</desc>
      <longDesc>The largest value that should be considered valid.</longDesc>
      <deferredValueType>java.lang.Double</deferredValueType>
    </property>
    <property>
      <name>minimum</name>
      <className>double</className>
      <desc>The smallest value that should be considered valid</desc>
      <longDesc>The smallest value that should be considered valid.</longDesc>
      <deferredValueType>java.lang.Double</deferredValueType>
    </property>
    <property>
      <name>disabled</name>
      <className>java.lang.Boolean</className>
      <desc>no description</desc>
      <faceletsOnly>true</faceletsOnly>
    </property>
    <property>
      <name>for</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <faceletsOnly>true</faceletsOnly>
    </property>
    <property>
      <name>binding</name>
      <className>javax.faces.validator.DoubleRangeValidator</className>
      <desc>A ValueExpression that evaluates to a DoubleRangeValidator.</desc>
      <longDesc>A ValueExpression that evaluates to a DoubleRangeValidator.</longDesc>
      <generated>false</generated>
    </property>
  </validator>
  <validator>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.validator.LengthValidator</className>
    <sourceClassName>javax.faces.validator.LengthValidator</sourceClassName>
    <name>f:validateLength</name>
    <validatorId>javax.faces.Length</validatorId>
    <bodyContent>empty</bodyContent>
    <tagClass>org.apache.myfaces.taglib.core.ValidateLengthTag</tagClass>
    <generatedTagClass>true</generatedTagClass>
    <desc>Creates a validator and associateds it with the nearest parent
UIComponent</desc>
    <longDesc>
<![CDATA[
Creates a validator and associateds it with the nearest parent
UIComponent.  When invoked, the validator ensures that values are
valid strings with a length that lies within the minimum and maximum
values specified.

Commonly associated with a h:inputText entity.

Unless otherwise specified, all attributes accept static values or EL expressions.

see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
]]>
    </longDesc>
    <property>
      <name>maximum</name>
      <className>int</className>
      <desc>The largest value that should be considered valid</desc>
      <longDesc>The largest value that should be considered valid.</longDesc>
      <deferredValueType>java.lang.Integer</deferredValueType>
    </property>
    <property>
      <name>minimum</name>
      <className>int</className>
      <desc>The smallest value that should be considered valid</desc>
      <longDesc>The smallest value that should be considered valid.</longDesc>
      <deferredValueType>java.lang.Integer</deferredValueType>
    </property>
    <property>
      <name>disabled</name>
      <className>java.lang.Boolean</className>
      <desc>no description</desc>
      <faceletsOnly>true</faceletsOnly>
    </property>
    <property>
      <name>for</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <faceletsOnly>true</faceletsOnly>
    </property>
    <property>
      <name>binding</name>
      <className>javax.faces.validator.LengthValidator</className>
      <desc>A ValueExpression that evaluates to a LengthValidator.</desc>
      <longDesc>A ValueExpression that evaluates to a LengthValidator.</longDesc>
      <generated>false</generated>
    </property>
  </validator>
  <validator>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.validator.LongRangeValidator</className>
    <sourceClassName>javax.faces.validator.LongRangeValidator</sourceClassName>
    <name>f:validateLongRange</name>
    <validatorId>javax.faces.LongRange</validatorId>
    <bodyContent>empty</bodyContent>
    <tagClass>org.apache.myfaces.taglib.core.ValidateLongRangeTag</tagClass>
    <generatedTagClass>true</generatedTagClass>
    <desc>Creates a validator and associateds it with the nearest parent
UIComponent</desc>
    <longDesc>
<![CDATA[
Creates a validator and associateds it with the nearest parent
UIComponent.  When invoked, the validator ensures that values
are valid longs that lie within the minimum and maximum values specified.

Commonly associated with a h:inputText entity.

Unless otherwise specified, all attributes accept static values or EL expressions.

see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
]]>
    </longDesc>
    <property>
      <name>maximum</name>
      <className>long</className>
      <desc>The largest value that should be considered valid</desc>
      <longDesc>The largest value that should be considered valid.</longDesc>
      <deferredValueType>java.lang.Long</deferredValueType>
    </property>
    <property>
      <name>minimum</name>
      <className>long</className>
      <desc>The smallest value that should be considered valid</desc>
      <longDesc>The smallest value that should be considered valid.</longDesc>
      <deferredValueType>java.lang.Long</deferredValueType>
    </property>
    <property>
      <name>disabled</name>
      <className>java.lang.Boolean</className>
      <desc>no description</desc>
      <faceletsOnly>true</faceletsOnly>
    </property>
    <property>
      <name>for</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <faceletsOnly>true</faceletsOnly>
    </property>
    <property>
      <name>binding</name>
      <className>javax.faces.validator.LongRangeValidator</className>
      <desc>A ValueExpression that evaluates to a LongRangeValidator.</desc>
      <longDesc>A ValueExpression that evaluates to a LongRangeValidator.</longDesc>
      <generated>false</generated>
    </property>
  </validator>
  <validator>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.validator.RegexValidator</className>
    <sourceClassName>javax.faces.validator.RegexValidator</sourceClassName>
    <name>f:validateRegex</name>
    <validatorId>javax.faces.RegularExpression</validatorId>
    <bodyContent>empty</bodyContent>
    <tagClass>org.apache.myfaces.taglib.core.ValidateRegexTag</tagClass>
    <generatedTagClass>true</generatedTagClass>
    <desc>
<![CDATA[
<p>
  <strong>RegexValidator</strong> is a {@link javax
]]>
    </desc>
    <longDesc>
<![CDATA[
<p>
  <strong>RegexValidator</strong> is a {@link javax.faces.validator.Validator}
  that checks the value of the corresponding component against specified
  pattern using Java regular expression syntax.

  The regular expression syntax accepted by the RegexValidator class is
  same as mentioned in class {@link java.util.regex.Pattern} in package
  <code>java.util.regex</code>.
</p>

<p>
  The following algorithm is implemented:
</p>

<ul>
  <li>If the passed value is <code>null</code>, exit immediately.</li>
  <li>
    If the passed value is not a String, exit with a {@link #NOT_MATCHED_MESSAGE_ID}
    error message.
  </li>
  <li>
    If no pattern has been set, or pattern resolves to <code>null</code> or an
    empty String, throw a {@link javax.faces.validator.ValidatorException}
    with a {@link #PATTERN_NOT_SET_MESSAGE_ID} message.
  </li>
  <li>
    If pattern is not a valid regular expression, according to the rules as defined
    in class {@link java.util.regex.Pattern}, throw a {@link ValidatorException}
    with a (@link #MATCH_EXCEPTION_MESSAGE_ID} message.
  </li>
  <li>
    If a <code>pattern</code> property has been configured on this
    {@link javax.faces.validator.Validator}, check the passed value against this pattern.
    If value does not match pattern throw a {@link ValidatorException}
    containing a {@link #NOT_MATCHED_MESSAGE_ID} message.
  </li>
</ul>
]]>
    </longDesc>
    <property>
      <name>pattern</name>
      <className>java.lang.String</className>
      <required>true</required>
      <desc>Return the ValueExpression that yields the regular expression pattern when evaluated</desc>
      <longDesc>Return the ValueExpression that yields the regular expression pattern when evaluated.</longDesc>
    </property>
    <property>
      <name>disabled</name>
      <className>java.lang.Boolean</className>
      <desc>no description</desc>
      <faceletsOnly>true</faceletsOnly>
    </property>
    <property>
      <name>for</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <faceletsOnly>true</faceletsOnly>
    </property>
    <property>
      <name>binding</name>
      <className>javax.faces.validator.RegexValidator</className>
      <desc>A ValueExpression that evaluates to a RegexValidator.</desc>
      <longDesc>A ValueExpression that evaluates to a RegexValidator.</longDesc>
      <generated>false</generated>
    </property>
  </validator>
  <validator>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.validator.RequiredValidator</className>
    <sourceClassName>javax.faces.validator.RequiredValidator</sourceClassName>
    <name>f:validateRequired</name>
    <validatorId>javax.faces.Required</validatorId>
    <bodyContent>empty</bodyContent>
    <desc>Check if a value is empty, in the same way as set UIInput required 
property to true (including all rules related to this property)</desc>
    <longDesc>Check if a value is empty, in the same way as set UIInput required 
property to true (including all rules related to this property).</longDesc>
    <property>
      <name>disabled</name>
      <className>java.lang.Boolean</className>
      <desc>no description</desc>
      <faceletsOnly>true</faceletsOnly>
    </property>
    <property>
      <name>for</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <faceletsOnly>true</faceletsOnly>
    </property>
    <property>
      <name>binding</name>
      <className>javax.faces.validator.RequiredValidator</className>
      <desc>A ValueExpression that evaluates to a RequiredValidator.</desc>
      <longDesc>A ValueExpression that evaluates to a RequiredValidator.</longDesc>
      <generated>false</generated>
    </property>
  </validator>
  <validator>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.validator.ByteLengthValidator</className>
    <sourceClassName>org.apache.myfaces.trinidad.validator.ByteLengthValidator</sourceClassName>
    <validatorId>org.apache.myfaces.trinidad.ByteLength</validatorId>
    <configExcluded>true</configExcluded>
    <desc>
<![CDATA[
<p><strong>ByteLengthValidator</strong> is a {@link Validator} that checks
the value of the corresponding component for its byte length for the set
character encoding
]]>
    </desc>
    <longDesc>
<![CDATA[
<p><strong>ByteLengthValidator</strong> is a {@link Validator} that checks
the value of the corresponding component for its byte length for the set
character encoding. The following algorithm is implemented:</p>
<ul>
<li>If the passed value is <code>null</code> or empty string, exit immediately.</li>
<li>If the current component value is not of String type throw
     IllegalArgumentException
<li>If both <code>encoding</code> and <code>maximum</code> property
    has been configured on this {@link Validator}, check the component
    value byte length against the maximum. If the component value byte length
    is greater than this specified maximum, throw a {@link ValidatorException}
    containing a MAXIMUM_MESSAGE_ID message.</li>
<li>If only <code>maximum</code> property has been configured on this
    {@link Validator}, check the component value against
    this limit defaulting the encoding to be <code>iso-8859-1</code>.
    If the component value length is greater than the specified maximum,
    throw a {@link ValidatorException} containing a MAXIMUM_MESSAGE_ID
    message.</li>
<li>If a <code>encoding</code> property has been configured on this
    {@link Validator}, and if it is not a valid Java encoding, then throws a
    {@link java.nio.charset.IllegalCharsetNameException}</li>

<li>If  <code>maximumMessageDetail</code> is set, it is used for constructing
    faces message, when validation fails. The message can contain placeholders
    which will be replaced as specified in {@link #MAXIMUM_MESSAGE_ID}
</li>
</ul>
]]>
    </longDesc>
    <property>
      <name>encoding</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return the character encoding set for this {@link Validator} or
<code>iso-8859-1</code> if it has not been set
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return the character encoding set for this {@link Validator} or
<code>iso-8859-1</code> if it has not been set.</p>
]]>
      </longDesc>
      <defaultValue>iso-8859-1</defaultValue>
    </property>
    <property>
      <name>maximum</name>
      <className>int</className>
      <desc>
<![CDATA[
<p>Return the maximum bytes to be enforced by this {@link
Validator} or <code>zero</code> if it has not been
set
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return the maximum bytes to be enforced by this {@link
Validator} or <code>zero</code> if it has not been
set.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailMaximum</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for values that exceeds the maximum byte length
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for values that exceeds the maximum byte length.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>hintMaximum</name>
      <className>java.lang.String</className>
      <desc><![CDATA[<p>Return custom hint message]]></desc>
      <longDesc><![CDATA[<p>Return custom hint message.</p>]]></longDesc>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>transient</name>
      <className>boolean</className>
      <transient>true</transient>
      <desc>no description</desc>
      <tagExcluded>true</tagExcluded>
    </property>
  </validator>
  <validator>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.validator.DateRestrictionValidator</className>
    <sourceClassName>org.apache.myfaces.trinidad.validator.DateRestrictionValidator</sourceClassName>
    <validatorId>org.apache.myfaces.trinidad.DateRestriction</validatorId>
    <configExcluded>true</configExcluded>
    <desc>no description</desc>
    <property>
      <name>invalidMonths</name>
      <className>java.lang.String[]</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>invalidDaysOfWeek</name>
      <className>java.lang.String[]</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>invalidDays</name>
      <className>org.apache.myfaces.trinidad.model.DateListProvider</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>messageDetailInvalidMonths</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>messageDetailInvalidDaysOfWeek</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>messageDetailInvalidDays</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>hintInvalidDaysOfWeek</name>
      <className>java.lang.String</className>
      <desc><![CDATA[<p>Return custom hint invalidDaysOfWeek message]]></desc>
      <longDesc><![CDATA[<p>Return custom hint invalidDaysOfWeek message.</p>]]></longDesc>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>hintInvalidMonths</name>
      <className>java.lang.String</className>
      <desc><![CDATA[<p>Return custom hint invalidMonths message]]></desc>
      <longDesc><![CDATA[<p>Return custom hint invalidMonths message.</p>]]></longDesc>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>transient</name>
      <className>boolean</className>
      <transient>true</transient>
      <desc>no description</desc>
      <tagExcluded>true</tagExcluded>
    </property>
  </validator>
  <validator>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.validator.DateTimeRangeValidator</className>
    <sourceClassName>org.apache.myfaces.trinidad.validator.DateTimeRangeValidator</sourceClassName>
    <validatorId>org.apache.myfaces.trinidad.DateTimeRange</validatorId>
    <configExcluded>true</configExcluded>
    <desc>
<![CDATA[
<p><strong>DateTimeRangeValidator</strong> is a {@link Validator} that checks
the value of the corresponding component against specified minimum and
maximum dates
]]>
    </desc>
    <longDesc>
<![CDATA[
<p><strong>DateTimeRangeValidator</strong> is a {@link Validator} that checks
the value of the corresponding component against specified minimum and
maximum dates.  The following algorithm is implemented:</p>
<ul>
<li>If the passed value is <code>null</code>, exit immediately.</li>
<li>If both a <code>maximum</code> and <code>minimum</code> property
    has been configured on this {@link Validator}, check the component
    value against both limits.  If the component value is not within
    this specified range, throw a {@link ValidatorException} containing a
    {@link Validator#NOT_IN_RANGE_MESSAGE_ID} message.</li>
<li>If a <code>maximum</code> property has been configured on this
    {@link Validator}, check the component value against
    this limit.  If the component value is greater than the
    specified maximum, throw a {@link ValidatorException} containing a
    MAXIMUM_MESSAGE_ID message.</li>
<li>If a <code>minimum</code> property has been configured on this
    {@link Validator}, check the component value against
    this limit.  If the component value is less than the
    specified minimum, throw a {@link ValidatorException} containing a
    MINIMUM_MESSAGE_ID message.</li>
</ul>
<p>The detail part of faces message which arise during validation can be
customised by overriding the message associated with each message id by calling
appropriate setter methods.</p>
<p>The methods used for customizing the detail message associated with each id
is given below:</p>
<ul>
<li>{@link #MAXIMUM_MESSAGE_ID} - {@link #setMessageDetailMaximum(String)}</li>
<li>{@link #MINIMUM_MESSAGE_ID} - {@link #setMessageDetailMinimum(String)}</li>
<li>{@link #NOT_IN_RANGE_MESSAGE_ID} - {@link #setMessageDetailNotInRange(String)} - </li></ul>
 Then this message will be used to construct faces message
 when validation fails based on the above-mentioned algorithm
]]>
    </longDesc>
    <property>
      <name>maximum</name>
      <className>java.util.Date</className>
      <desc>Return the maximum value to be enforced by this {@link
Validator} or null if it has not been
set</desc>
      <longDesc>Return the maximum value to be enforced by this {@link
Validator} or null if it has not been
set.</longDesc>
    </property>
    <property>
      <name>minimum</name>
      <className>java.util.Date</className>
      <desc>Return the minimum value to be enforced by this {@link
Validator}, or null if it has not been
set</desc>
      <longDesc>Return the minimum value to be enforced by this {@link
Validator}, or null if it has not been
set.</longDesc>
    </property>
    <property>
      <name>messageDetailMaximum</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
 for cases where input value exceeds the <code>maximum</code> value set
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
 for cases where input value exceeds the <code>maximum</code> value set.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailMinimum</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for cases where, input value is less than the <code>minimum</code> value set
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for cases where, input value is less than the <code>minimum</code> value set.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailNotInRange</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for cases where, input value exceeds the <code>maximum</code> value and is
less than the <code>minimum</code> value set
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for cases where, input value exceeds the <code>maximum</code> value and is
less than the <code>minimum</code> value set.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>hintMaximum</name>
      <className>java.lang.String</className>
      <desc><![CDATA[<p>Return custom hint maximum message]]></desc>
      <longDesc><![CDATA[<p>Return custom hint maximum message.</p>]]></longDesc>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>hintMinimum</name>
      <className>java.lang.String</className>
      <desc><![CDATA[<p>Return custom hint minimum message]]></desc>
      <longDesc><![CDATA[<p>Return custom hint minimum message.</p>]]></longDesc>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>hintNotInRange</name>
      <className>java.lang.String</className>
      <desc><![CDATA[<p>Return custom hint notInRange message]]></desc>
      <longDesc><![CDATA[<p>Return custom hint notInRange message.</p>]]></longDesc>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>transient</name>
      <className>boolean</className>
      <transient>true</transient>
      <desc>no description</desc>
      <tagExcluded>true</tagExcluded>
    </property>
  </validator>
  <validator>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.validator.DoubleRangeValidator</className>
    <parentClassName>javax.faces.validator.DoubleRangeValidator</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.validator.DoubleRangeValidator</sourceClassName>
    <sourceClassParentClassName>javax.faces.validator.DoubleRangeValidator</sourceClassParentClassName>
    <validatorId>org.apache.myfaces.trinidad.DoubleRange</validatorId>
    <configExcluded>true</configExcluded>
    <desc><![CDATA[<p>Implementation for <code>java]]></desc>
    <longDesc><![CDATA[<p>Implementation for <code>java.lang.Double</code> values.</p>]]></longDesc>
    <property>
      <name>maximum</name>
      <className>double</className>
      <desc>Return the maximum value to be enforced by this {@link
Validator} or null if it has not been
set</desc>
      <longDesc>Return the maximum value to be enforced by this {@link
Validator} or null if it has not been
set.</longDesc>
    </property>
    <property>
      <name>minimum</name>
      <className>double</className>
      <desc>Return the minimum value to be enforced by this {@link
Validator}, or null if it has not been
set</desc>
      <longDesc>Return the minimum value to be enforced by this {@link
Validator}, or null if it has not been
set.</longDesc>
    </property>
    <property>
      <name>messageDetailMaximum</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
 for cases where input value exceeds the <code>maximum</code> value set
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
 for cases where input value exceeds the <code>maximum</code> value set.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailMinimum</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for cases where, input value is less than the <code>minimum</code> value set
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for cases where, input value is less than the <code>minimum</code> value set.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailNotInRange</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for cases where, input value exceeds the <code>maximum</code> value and is
less than the <code>minimum</code> value set
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for cases where, input value exceeds the <code>maximum</code> value and is
less than the <code>minimum</code> value set.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>hintMaximum</name>
      <className>java.lang.String</className>
      <desc><![CDATA[<p>Return custom hint maximum message]]></desc>
      <longDesc><![CDATA[<p>Return custom hint maximum message.</p>]]></longDesc>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>hintMinimum</name>
      <className>java.lang.String</className>
      <desc><![CDATA[<p>Custom hint minimum message]]></desc>
      <longDesc>
<![CDATA[
<p>Custom hint minimum message.</p>
Overrides default hint message
]]>
      </longDesc>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>hintNotInRange</name>
      <className>java.lang.String</className>
      <desc><![CDATA[<p>Return custom hint notInRange message]]></desc>
      <longDesc><![CDATA[<p>Return custom hint notInRange message.</p>]]></longDesc>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>transient</name>
      <className>boolean</className>
      <transient>true</transient>
      <desc>no description</desc>
      <tagExcluded>true</tagExcluded>
    </property>
  </validator>
  <validator>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.validator.LengthValidator</className>
    <parentClassName>javax.faces.validator.LengthValidator</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.validator.LengthValidator</sourceClassName>
    <sourceClassParentClassName>javax.faces.validator.LengthValidator</sourceClassParentClassName>
    <validatorId>org.apache.myfaces.trinidad.Length</validatorId>
    <configExcluded>true</configExcluded>
    <desc><![CDATA[<p>Implementation for length of <code>java]]></desc>
    <longDesc><![CDATA[<p>Implementation for length of <code>java.lang.String</code> values.</p>]]></longDesc>
    <property>
      <name>maximum</name>
      <className>int</className>
      <desc>Return the maximum length to be enforced by this {@link
Validator} or null if it has not been
set</desc>
      <longDesc>Return the maximum length to be enforced by this {@link
Validator} or null if it has not been
set.</longDesc>
    </property>
    <property>
      <name>minimum</name>
      <className>int</className>
      <desc>Return the minimum length to be enforced by this {@link
Validator}, or null if it has not been
set</desc>
      <longDesc>Return the minimum length to be enforced by this {@link
Validator}, or null if it has not been
set.</longDesc>
    </property>
    <property>
      <name>messageDetailMaximum</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
 for cases where input length exceeds the <code>maximum</code> length set
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
 for cases where input length exceeds the <code>maximum</code> length set.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailMinimum</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for cases where, input length is less than the <code>minimum</code> length set
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for cases where, input length is less than the <code>minimum</code> length set.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailNotInRange</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for cases where, input length exceeds the <code>maximum</code> length and is
less than the <code>minimum</code> length set
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for cases where, input length exceeds the <code>maximum</code> length and is
less than the <code>minimum</code> length set.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailExact</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for cases where the maximum and minimum lengths are the same, and
the input length does not match
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for cases where the maximum and minimum lengths are the same, and
the input length does not match.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>hintMaximum</name>
      <className>java.lang.String</className>
      <desc><![CDATA[<p>Return custom hint maximum message]]></desc>
      <longDesc><![CDATA[<p>Return custom hint maximum message.</p>]]></longDesc>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>hintMinimum</name>
      <className>java.lang.String</className>
      <desc><![CDATA[<p>Return custom hint minimum message]]></desc>
      <longDesc><![CDATA[<p>Return custom hint minimum message.</p>]]></longDesc>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>hintNotInRange</name>
      <className>java.lang.String</className>
      <desc><![CDATA[<p>Return custom hint notInRange message]]></desc>
      <longDesc><![CDATA[<p>Return custom hint notInRange message.</p>]]></longDesc>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>hintExact</name>
      <className>java.lang.String</className>
      <desc><![CDATA[<p>Return custom hint exact message]]></desc>
      <longDesc><![CDATA[<p>Return custom hint exact message.</p>]]></longDesc>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>transient</name>
      <className>boolean</className>
      <transient>true</transient>
      <desc>no description</desc>
      <tagExcluded>true</tagExcluded>
    </property>
  </validator>
  <validator>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.validator.LongRangeValidator</className>
    <parentClassName>javax.faces.validator.LongRangeValidator</parentClassName>
    <sourceClassName>org.apache.myfaces.trinidad.validator.LongRangeValidator</sourceClassName>
    <sourceClassParentClassName>javax.faces.validator.LongRangeValidator</sourceClassParentClassName>
    <validatorId>org.apache.myfaces.trinidad.LongRange</validatorId>
    <configExcluded>true</configExcluded>
    <desc><![CDATA[<p>Implementation for <code>java]]></desc>
    <longDesc><![CDATA[<p>Implementation for <code>java.lang.Long</code> values.</p>]]></longDesc>
    <property>
      <name>maximum</name>
      <className>long</className>
      <desc>Return the maximum value to be enforced by this {@link
Validator} or null if it has not been
set</desc>
      <longDesc>Return the maximum value to be enforced by this {@link
Validator} or null if it has not been
set.</longDesc>
    </property>
    <property>
      <name>minimum</name>
      <className>long</className>
      <desc>Return the minimum value to be enforced by this {@link
Validator}, or null if it has not been
set</desc>
      <longDesc>Return the minimum value to be enforced by this {@link
Validator}, or null if it has not been
set.</longDesc>
    </property>
    <property>
      <name>messageDetailMaximum</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
 for cases where input value exceeds the <code>maximum</code> value set
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
 for cases where input value exceeds the <code>maximum</code> value set.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailMinimum</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for cases where, input value is less than the <code>minimum</code> value set
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for cases where, input value is less than the <code>minimum</code> value set.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailNotInRange</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for cases where, input value exceeds the <code>maximum</code> value and is
less than the <code>minimum</code> value set
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return custom detail error message that was set for creating {@link FacesMessage},
for cases where, input value exceeds the <code>maximum</code> value and is
less than the <code>minimum</code> value set.</p>
]]>
      </longDesc>
    </property>
    <property>
      <name>hintMaximum</name>
      <className>java.lang.String</className>
      <desc><![CDATA[<p>Return custom hint maximum message]]></desc>
      <longDesc><![CDATA[<p>Return custom hint maximum message.</p>]]></longDesc>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>hintMinimum</name>
      <className>java.lang.String</className>
      <desc><![CDATA[<p>Return custom hint minimum message]]></desc>
      <longDesc><![CDATA[<p>Return custom hint minimum message.</p>]]></longDesc>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>transient</name>
      <className>boolean</className>
      <transient>true</transient>
      <desc>no description</desc>
      <tagExcluded>true</tagExcluded>
    </property>
  </validator>
  <validator>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidad.validator.RegExpValidator</className>
    <sourceClassName>org.apache.myfaces.trinidad.validator.RegExpValidator</sourceClassName>
    <validatorId>org.apache.myfaces.trinidad.RegExp</validatorId>
    <configExcluded>true</configExcluded>
    <desc><![CDATA[<p><strong>RegExpValidator</strong> is a {@link javax]]></desc>
    <longDesc>
<![CDATA[
<p><strong>RegExpValidator</strong> is a {@link javax.faces.validator.Validator} that checks
the value of the corresponding component against specified pattern
using Java regular expression syntax.

The regular expression syntax accepted by the RegExpValidator class is
same as mentioned in class {@link java.util.regex.Pattern} in package
<code>java.util.regex</code>. The following algorithm is implemented:</p>

<ul>
<li>If the passed value is <code>null</code> or empty string, exit immediately.</li>

<li>If a <code>pattern</code> property has been configured on this
    {@link javax.faces.validator.Validator}, check the component value against this pattern.
    If value does not match pattern throw a {@link ValidatorException}
    containing a NO_MATCH_MESSAGE_ID message.
    If <code>noMatchMessageDetail</code> is set, it is used for constructing faces
    message. The message can contain placeholders which will be replaced as
    specified in {@link #NO_MATCH_MESSAGE_ID}</li>
</ul>
]]>
    </longDesc>
    <property>
      <name>transient</name>
      <className>boolean</className>
      <transient>true</transient>
      <desc>no description</desc>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>hint</name>
      <className>java.lang.String</className>
      <desc><![CDATA[<p>Return custom hint message]]></desc>
      <longDesc><![CDATA[<p>Return custom hint message.</p>]]></longDesc>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>pattern</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return the pattern value to be enforced by this {@link
Validator}
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return the pattern value to be enforced by this {@link
Validator}
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailNoMatch</name>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>Return custom detail error message that was set for creating faces message,
for values that do not match the specified pattern
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>Return custom detail error message that was set for creating faces message,
for values that do not match the specified pattern.</p>
]]>
      </longDesc>
    </property>
  </validator>
  <validator>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidadinternal.validator.ByteLengthValidator</className>
    <sourceClassName>org.apache.myfaces.trinidadinternal.validator.ByteLengthValidator</sourceClassName>
    <name>tr:validateByteLength</name>
    <validatorId>org.apache.myfaces.trinidad.ByteLength</validatorId>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.validator.ValidateByteLengthTag</tagClass>
    <desc>Validate the byte length of strings when encoded.</desc>
    <longDesc>
<![CDATA[
<html:p>Validates the byte length of strings when encoded.
          The "maximumLength" attribute of inputText is similar,
          but it limits the number of characters that the user can enter. In some
          circumstances, the server must also limit the number of bytes required
          to store the string. This is very undesirable from a user interface
          perspective, since it is difficult for users to understand why they
          might be able to enter only 2 Japanese characters but 6 English characters!
          However, in cases where the backend will report this as an error anyway,
          it is better to report the problem before.</html:p>
          <html:p>The element allows developers to specify the encoding that should be used
          to define the byte length. This must be an encoding supported by the
          Java runtime, if not it will result in an exception and not a validation failure</html:p>

          <html:p>If the encoding is supported by JVM, and is a encoding that is not supported
          in the client side, then client side validation is disabled for this instance,
          while server side validation will continue to take place.</html:p>

          <html:p>The list of encodings that can be supported at the client side is as given below.
          <html:b>Note:</html:b> All the encodings listed might not be supported by JVM,
          and there can be other encodings, which the JVM may support, but might not be supported
          at the client side. </html:p>

          <html:p>Supported encodings are grouped as UTF-8, CJK encodings and Single byte encodings.
          Supported client side CJK encodings and Single byte encodings table:</html:p><html:br/>
          <html:table>
            <html:tr>
            <html:th>Single Byte Encodings</html:th>
            <html:th>CJK Encodings</html:th>
          </html:tr>
          <html:tr>
            <html:td>ascii</html:td>
            <html:td>shift_jis</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso646-us</html:td>
            <html:td>ms_kanji</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso_8859-1:1987</html:td>
            <html:td>csshiftjis</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso-ir-100</html:td>
            <html:td>windows-31j</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso_8859-1</html:td>
            <html:td>cswindows31j</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso-8859-1</html:td>
            <html:td>ks_c_5601-1987</html:td>
          </html:tr>
          <html:tr>
            <html:td>latin1</html:td>
            <html:td>iso-ir-149</html:td>
          </html:tr>
          <html:tr>
            <html:td>l1</html:td>
            <html:td>ks_c_5601-1989</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm819</html:td>
            <html:td>ksc_5601</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp819</html:td>
            <html:td>korean</html:td>
          </html:tr>
          <html:tr>
            <html:td>csisolatin1</html:td>
            <html:td>csksc56011987</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso_8859-2:1987</html:td>
            <html:td>euc-kr</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso-ir-101</html:td>
            <html:td>cseuckr</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso_8859-2</html:td>
            <html:td>windows-949</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso-8859-2</html:td>
            <html:td>gb2312</html:td>
          </html:tr>
          <html:tr>
            <html:td>latin2</html:td>
            <html:td>csgb2312</html:td>
          </html:tr>
          <html:tr>
            <html:td>l2</html:td>
            <html:td>chinese</html:td>
          </html:tr>
          <html:tr>
            <html:td>csisolatin2</html:td>
            <html:td>csiso58gb231280</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso_8859-3:1988</html:td>
            <html:td>hz-gb-2312</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso-ir-109</html:td>
            <html:td>gbk</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso_8859-3</html:td>
            <html:td>cp936</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso-8859-3</html:td>
            <html:td>ms936</html:td>
          </html:tr>
          <html:tr>
            <html:td>latin3</html:td>
            <html:td>windows-936</html:td>
          </html:tr>
          <html:tr>
            <html:td>l3</html:td>
            <html:td>big5</html:td>
          </html:tr>
          <html:tr>
            <html:td>csisolatin3</html:td>
            <html:td>csbig5</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso_8859-4:1988</html:td>
            <html:td>windows-950</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso-ir-110</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso_8859-4</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso-8859-4</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>latin4</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>l4</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>csisolatin4</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso_8859-5:1988</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso-ir-144</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso_8859-5</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso-8859-5</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cyrillic</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>csisolatincyrillic</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso_8859-6:1987</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso-ir-127</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso_8859-6</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso-8859-6</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ecma-114</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>asmo-708</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>arabic</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>csisolatinarabic</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso_8859-7:1987</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso-ir-126</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso_8859-7</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso-8859-7</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>elot_928</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ecma-118</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>greek</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>greek8</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>csisolatingreek</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso_8859-8:1988</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso-ir-138</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso_8859-8</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso-8859-8</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>hebrew</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>csisolatinhebrew</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso-ir-148</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso_8859-9</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso-8859-9</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>latin5</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>l5</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>csisolatin5</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso-8859-13</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso-8859-15</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>iso_8859-15</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm037</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp037</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm273</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp273</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm277</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm278</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp278</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>278</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm280</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp280</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm284</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp284</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm285</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp285</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm297</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp297</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm420</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp420</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>420</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm424</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp424</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm437</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp437</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>437</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cspc8codepage437</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm500</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp500</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm775</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp775</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm850</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp850</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>850</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cspc850multilingual</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm852</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp852</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>852</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cspcp852</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm855</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp855</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>855</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cspcp855</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm857</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp857</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>857</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>csibm857</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm860</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp860</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>860</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>csibm860</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm861</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp861</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp-is</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>861</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>csibm861</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm862</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp862</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>862</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cspc862latinhebrew</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm863</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp863</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>863</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>csibm863</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm864</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp864</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>csibm864</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm865</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp865</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>865</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>csibm865</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm866</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp866</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>866</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>csibm866</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm868</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp868</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm869</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp869</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>869</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp-gr</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>csibm869</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm870</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp870</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm871</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp871</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm918</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp918</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>ibm1026</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cp1026</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>windows-1250</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>windows-1251</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>windows-1252</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>windows-1253</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>windows-1254</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>windows-1255</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>windows-1256</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>windows-1257</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>windows-1258</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>koi8-r</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
          <html:tr>
            <html:td>cskoi8r</html:td>
            <html:td>&#160;</html:td>
          </html:tr>
        </html:table>
]]>
    </longDesc>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>Whether the converter should be disabled, default to false.</desc>
      <longDesc>Whether the converter should be disabled, default to false.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>maximum</name>
      <jspName>maximum</jspName>
      <fieldName>_maximum</fieldName>
      <className>int</className>
      <desc>maximum number of allowable bytes when the string is encoded</desc>
      <longDesc>maximum number of allowable bytes when the string is encoded</longDesc>
    </property>
    <property>
      <name>encoding</name>
      <jspName>encoding</jspName>
      <fieldName>_encoding</fieldName>
      <className>java.lang.String</className>
      <desc>the Java encoding used for the string.</desc>
      <longDesc>the Java encoding used for the string.</longDesc>
      <defaultValue>iso-8859-1</defaultValue>
    </property>
    <property>
      <name>messageDetailMaximum</name>
      <jspName>messageDetailMaximum</jspName>
      <fieldName>_messageDetailMaximum</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>
              Custom error message to be used, for creating detail part of
              faces message, when conversion fails for input that
              exceeds the maximum byte length.
             </p>
             <p>
              <strong>
               Parameters:
              </strong>
              <ul>
               <li>
                {0} the label that identifies the component
               </li>
               <li>
                {1} value entered by the user
               </li>
               <li>
                {2} the maximum length
               </li>
              </ul>
             </p>
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>
              Custom error message to be used, for creating detail part of
              faces message, when conversion fails for input that
              exceeds the maximum byte length.
             </p>
             <p>
              <strong>
               Parameters:
              </strong>
              <ul>
               <li>
                {0} the label that identifies the component
               </li>
               <li>
                {1} value entered by the user
               </li>
               <li>
                {2} the maximum length
               </li>
              </ul>
             </p>
]]>
      </longDesc>
    </property>
  </validator>
  <validator>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidadinternal.validator.DateRestrictionValidator</className>
    <sourceClassName>org.apache.myfaces.trinidadinternal.validator.DateRestrictionValidator</sourceClassName>
    <name>tr:validateDateRestriction</name>
    <validatorId>org.apache.myfaces.trinidad.DateRestriction</validatorId>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.validator.ValidateDateRestrictionTag</tagClass>
    <desc>Validate that the date entered is within a given restriction.</desc>
    <longDesc>
<![CDATA[
<html:p>

        Validate that the date is valid with some given restrictions.
</html:p>
]]>
    </longDesc>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>Whether the converter should be disabled, default to false.</desc>
      <longDesc>Whether the converter should be disabled, default to false.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>invalidMonths</name>
      <jspName>invalidMonths</jspName>
      <fieldName>_invalidMonths</fieldName>
      <className>java.lang.String[]</className>
      <desc>Specify the month which are invalid for your use case.
           The attribute takes a whitespace delimited list of months.
           Possible values are jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec.</desc>
      <longDesc>Specify the month which are invalid for your use case.
           The attribute takes a whitespace delimited list of months.
           Possible values are jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec.</longDesc>
    </property>
    <property>
      <name>invalidDaysOfWeek</name>
      <jspName>invalidDaysOfWeek</jspName>
      <fieldName>_invalidDaysOfWeek</fieldName>
      <className>java.lang.String[]</className>
      <desc>Specify the weekdays which are invalid for your use case.
           The attribute takes whitespace delimited list of weekdays.
           Possible values are sun, mon, tue, wed, thu, fri, sat.</desc>
      <longDesc>Specify the weekdays which are invalid for your use case.
           The attribute takes whitespace delimited list of weekdays.
           Possible values are sun, mon, tue, wed, thu, fri, sat.</longDesc>
    </property>
    <property>
      <name>invalidDays</name>
      <jspName>invalidDays</jspName>
      <fieldName>_invalidDays</fieldName>
      <className>org.apache.myfaces.trinidad.model.DateListProvider</className>
      <desc>To specifiy a concrete List of Dates, use the invalidDays attribute and wire it
           to a DateListProvider implementation. This returns a list of dates, which are invalid.</desc>
      <longDesc>To specifiy a concrete List of Dates, use the invalidDays attribute and wire it
           to a DateListProvider implementation. This returns a list of dates, which are invalid.</longDesc>
    </property>
    <property>
      <name>messageDetailInvalidMonths</name>
      <jspName>messageDetailInvalidMonths</jspName>
      <fieldName>_messageDetailInvalidMonths</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value exceeds the <code>invalidMonths</code> value
           set.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the invalid month
            </li>
           </ul>
          </p>
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value exceeds the <code>invalidMonths</code> value
           set.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the invalid month
            </li>
           </ul>
          </p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailInvalidDaysOfWeek</name>
      <jspName>messageDetailInvalidDaysOfWeek</jspName>
      <fieldName>_messageDetailInvalidDaysOfWeek</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value is less than the set <code>invalidDaysOfWeek</code>
           value.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the invalid weekday
            </li>
           </ul>
          </p>
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value is less than the set <code>invalidDaysOfWeek</code>
           value.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the invalid weekday
            </li>
           </ul>
          </p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailInvalidDays</name>
      <jspName>messageDetailInvalidDays</jspName>
      <fieldName>_messageDetailInvalidDays</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value is less than the set <code>invalidDate</code>
           value.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the invalid date
            </li>
           </ul>
          </p>
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value is less than the set <code>invalidDate</code>
           value.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the invalid date
            </li>
           </ul>
          </p>
]]>
      </longDesc>
    </property>
  </validator>
  <validator>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidadinternal.validator.DateTimeRangeValidator</className>
    <sourceClassName>org.apache.myfaces.trinidadinternal.validator.DateTimeRangeValidator</sourceClassName>
    <name>tr:validateDateTimeRange</name>
    <validatorId>org.apache.myfaces.trinidad.DateTimeRange</validatorId>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.validator.ValidateDateTimeRangeTag</tagClass>
    <desc>Validate that the date entered is within a given range.</desc>
    <longDesc>
<![CDATA[
<html:p>

        Validate that the date entered is within a given range.
</html:p>
]]>
    </longDesc>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>Whether the converter should be disabled, default to false.</desc>
      <longDesc>Whether the converter should be disabled, default to false.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>maximum</name>
      <jspName>maximum</jspName>
      <fieldName>_maximum</fieldName>
      <className>java.util.Date</className>
      <desc>the maximum java.util.Date.
           ISO 8601 date strings, of the form 'yyyy-MM-dd'
           (for example 2004-06-22) is also allowed.
           This will be parsed to date. When binding to Date objects, it is advised to create the Date object with 
maximum value for any date-time components that aren't displayed (usually hours, minutes, seconds, milliseconds) 
to allow the largest range of values to be accepted.</desc>
      <longDesc>the maximum java.util.Date.
           ISO 8601 date strings, of the form 'yyyy-MM-dd'
           (for example 2004-06-22) is also allowed.
           This will be parsed to date. When binding to Date objects, it is advised to create the Date object with 
maximum value for any date-time components that aren't displayed (usually hours, minutes, seconds, milliseconds) 
to allow the largest range of values to be accepted.</longDesc>
    </property>
    <property>
      <name>minimum</name>
      <jspName>minimum</jspName>
      <fieldName>_minimum</fieldName>
      <className>java.util.Date</className>
      <desc>The minimum java.util.Date.
           ISO 8601 date strings, of the form 'yyyy-MM-dd'
           (for example 2004-06-22) are also allowed.
           This will be parsed to date. When binding to Date objects, it is advised to create the Date object with zeroed-out
values for any date-time components that aren't displayed (usually hours, minutes, seconds, milliseconds)
to allow the largest range of values to be accepted.]]</desc>
      <longDesc>The minimum java.util.Date.
           ISO 8601 date strings, of the form 'yyyy-MM-dd'
           (for example 2004-06-22) are also allowed.
           This will be parsed to date. When binding to Date objects, it is advised to create the Date object with zeroed-out
values for any date-time components that aren't displayed (usually hours, minutes, seconds, milliseconds)
to allow the largest range of values to be accepted.]]</longDesc>
    </property>
    <property>
      <name>messageDetailMaximum</name>
      <jspName>messageDetailMaximum</jspName>
      <fieldName>_messageDetailMaximum</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value exceeds the <code>maximum</code> value
           set.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the maximum allowed date
            </li>
           </ul>
          </p>
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value exceeds the <code>maximum</code> value
           set.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the maximum allowed date
            </li>
           </ul>
          </p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailMinimum</name>
      <jspName>messageDetailMinimum</jspName>
      <fieldName>_messageDetailMinimum</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value is less than the set <code>minimum</code>
           value.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the minimum allowed date
            </li>
           </ul>
          </p>
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value is less than the set <code>minimum</code>
           value.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the minimum allowed date
            </li>
           </ul>
          </p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailNotInRange</name>
      <jspName>messageDetailNotInRange</jspName>
      <fieldName>_messageDetailNotInRange</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           if input value is not with in the range, when
           <code>minimum</code> and <code>maximum</code> is
           set.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the minimum allowed date
            </li>
            <li>
             {3} the maximum allowed date
            </li>
           </ul>
          </p>
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           if input value is not with in the range, when
           <code>minimum</code> and <code>maximum</code> is
           set.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the minimum allowed date
            </li>
            <li>
             {3} the maximum allowed date
            </li>
           </ul>
          </p>
]]>
      </longDesc>
    </property>
  </validator>
  <validator>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidadinternal.validator.DoubleRangeValidator</className>
    <sourceClassName>org.apache.myfaces.trinidadinternal.validator.DoubleRangeValidator</sourceClassName>
    <name>tr:validateDoubleRange</name>
    <validatorId>org.apache.myfaces.trinidad.DoubleRange</validatorId>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.validator.ValidateDoubleRangeTag</tagClass>
    <desc>Validate that the date entered is within a given range.</desc>
    <longDesc>
<![CDATA[
<html:p>

        Validate that the value entered is within a given range.
</html:p>
]]>
    </longDesc>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>Whether the converter should be disabled, default to false.</desc>
      <longDesc>Whether the converter should be disabled, default to false.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>maximum</name>
      <jspName>maximum</jspName>
      <fieldName>_maximum</fieldName>
      <className>double</className>
      <desc>The maximum double value of the entered value.</desc>
      <longDesc>The maximum double value of the entered value.</longDesc>
    </property>
    <property>
      <name>minimum</name>
      <jspName>minimum</jspName>
      <fieldName>_minimum</fieldName>
      <className>double</className>
      <desc>The minimum double value of the entered value..</desc>
      <longDesc>The minimum double value of the entered value..</longDesc>
    </property>
    <property>
      <name>messageDetailMaximum</name>
      <jspName>messageDetailMaximum</jspName>
      <fieldName>_messageDetailMaximum</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value exceeds the <code>maximum</code> value
           set.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the maximum allowed value
            </li>
           </ul>
          </p>
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value exceeds the <code>maximum</code> value
           set.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the maximum allowed value
            </li>
           </ul>
          </p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailMinimum</name>
      <jspName>messageDetailMinimum</jspName>
      <fieldName>_messageDetailMinimum</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value is less than the set <code>minimum</code>
           value.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the minimum allowed value
            </li>
           </ul>
          </p>
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value is less than the set <code>minimum</code>
           value.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the minimum allowed value
            </li>
           </ul>
          </p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailNotInRange</name>
      <jspName>messageDetailNotInRange</jspName>
      <fieldName>_messageDetailNotInRange</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           if input value is not with in the range, when
           <code>minimum</code> and <code>maximum</code> is
           set.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the minimum allowed value
            </li>
            <li>
             {3} the maximum allowed value
            </li>
           </ul>
          </p>
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           if input value is not with in the range, when
           <code>minimum</code> and <code>maximum</code> is
           set.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the minimum allowed value
            </li>
            <li>
             {3} the maximum allowed value
            </li>
           </ul>
          </p>
]]>
      </longDesc>
    </property>
  </validator>
  <validator>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidadinternal.validator.LengthValidator</className>
    <sourceClassName>org.apache.myfaces.trinidadinternal.validator.LengthValidator</sourceClassName>
    <name>tr:validateLength</name>
    <validatorId>org.apache.myfaces.trinidad.Length</validatorId>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.validator.ValidateLengthTag</tagClass>
    <desc>Validate that the string entered is of a given length.</desc>
    <longDesc>
<![CDATA[
<html:p>

        Validate that the value entered is within a given length.
</html:p>
]]>
    </longDesc>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>Whether the converter should be disabled, default to false.</desc>
      <longDesc>Whether the converter should be disabled, default to false.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>maximum</name>
      <jspName>maximum</jspName>
      <fieldName>_maximum</fieldName>
      <className>int</className>
      <desc>the maximum length of the entered value.</desc>
      <longDesc>the maximum length of the entered value.</longDesc>
    </property>
    <property>
      <name>minimum</name>
      <jspName>minimum</jspName>
      <fieldName>_minimum</fieldName>
      <className>int</className>
      <desc>the minimum length of the entered value.</desc>
      <longDesc>the minimum length of the entered value.</longDesc>
    </property>
    <property>
      <name>messageDetailMaximum</name>
      <jspName>messageDetailMaximum</jspName>
      <fieldName>_messageDetailMaximum</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value exceeds the <code>maximum</code> length
           set.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the maximum allowed length
            </li>
           </ul>
          </p>
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value exceeds the <code>maximum</code> length
           set.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the maximum allowed length
            </li>
           </ul>
          </p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailMinimum</name>
      <jspName>messageDetailMinimum</jspName>
      <fieldName>_messageDetailMinimum</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value is less than the set <code>minimum</code>
           length.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the minimum allowed length
            </li>
           </ul>
          </p>
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value is less than the set <code>minimum</code>
           length.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the minimum allowed length
            </li>
           </ul>
          </p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailNotInRange</name>
      <jspName>messageDetailNotInRange</jspName>
      <fieldName>_messageDetailNotInRange</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           if input value is not of an acceptable length, when both
           <code>minimum</code> and <code>maximum</code> are
           set.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the minimum allowed length
            </li>
            <li>
             {3} the maximum allowed length
            </li>
           </ul>
          </p>
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           if input value is not of an acceptable length, when both
           <code>minimum</code> and <code>maximum</code> are
           set.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the minimum allowed length
            </li>
            <li>
             {3} the maximum allowed length
            </li>
           </ul>
          </p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailExact</name>
      <jspName>messageDetailExact</jspName>
      <fieldName>_messageDetailExact</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           if input value is not of an acceptable length, when both
           <code>minimum</code> and <code>maximum</code> are
           set to the same value.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the allowed length
            </li>
           </ul>
          </p>
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           if input value is not of an acceptable length, when both
           <code>minimum</code> and <code>maximum</code> are
           set to the same value.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the allowed length
            </li>
           </ul>
          </p>
]]>
      </longDesc>
    </property>
  </validator>
  <validator>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidadinternal.validator.LongRangeValidator</className>
    <sourceClassName>org.apache.myfaces.trinidadinternal.validator.LongRangeValidator</sourceClassName>
    <name>tr:validateLongRange</name>
    <validatorId>org.apache.myfaces.trinidad.LongRange</validatorId>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.validator.ValidateLongRangeTag</tagClass>
    <desc>Validate that the date entered is within a given range.</desc>
    <longDesc>
<![CDATA[
<html:p>

        Validate that the value entered is within a given range.
</html:p>
]]>
    </longDesc>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>Whether the converter should be disabled, default to false.</desc>
      <longDesc>Whether the converter should be disabled, default to false.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>maximum</name>
      <jspName>maximum</jspName>
      <fieldName>_maximum</fieldName>
      <className>long</className>
      <desc>The maximum long value of the entered value.</desc>
      <longDesc>The maximum long value of the entered value.</longDesc>
    </property>
    <property>
      <name>minimum</name>
      <jspName>minimum</jspName>
      <fieldName>_minimum</fieldName>
      <className>long</className>
      <desc>The minimum long value of the entered value..</desc>
      <longDesc>The minimum long value of the entered value..</longDesc>
    </property>
    <property>
      <name>messageDetailMaximum</name>
      <jspName>messageDetailMaximum</jspName>
      <fieldName>_messageDetailMaximum</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value exceeds the <code>maximum</code> value
           set.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the maximum allowed value
            </li>
           </ul>
          </p>
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value exceeds the <code>maximum</code> value
           set.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the maximum allowed value
            </li>
           </ul>
          </p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailMinimum</name>
      <jspName>messageDetailMinimum</jspName>
      <fieldName>_messageDetailMinimum</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value is less than the set <code>minimum</code>
           value.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the minimum allowed value
            </li>
           </ul>
          </p>
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           when input value is less than the set <code>minimum</code>
           value.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the minimum allowed value
            </li>
           </ul>
          </p>
]]>
      </longDesc>
    </property>
    <property>
      <name>messageDetailNotInRange</name>
      <jspName>messageDetailNotInRange</jspName>
      <fieldName>_messageDetailNotInRange</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           if input value is not with in the range, when
           <code>minimum</code> and <code>maximum</code> is
           set.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the minimum allowed value
            </li>
            <li>
             {3} the maximum allowed value
            </li>
           </ul>
          </p>
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>
           The detail error message to be used for constructing faces messages,
           if input value is not with in the range, when
           <code>minimum</code> and <code>maximum</code> is
           set.
          </p>
          <p>
           <strong>
            Parameters:
           </strong>
           <ul>
            <li>
             {0} the label that identifies the component
            </li>
            <li>
             {1} value entered by the user
            </li>
            <li>
             {2} the minimum allowed value
            </li>
            <li>
             {3} the maximum allowed value
            </li>
           </ul>
          </p>
]]>
      </longDesc>
    </property>
  </validator>
  <validator>
    <modelId>trinidad-api</modelId>
    <className>org.apache.myfaces.trinidadinternal.validator.RegExpValidator</className>
    <sourceClassName>org.apache.myfaces.trinidadinternal.validator.RegExpValidator</sourceClassName>
    <name>tr:validateRegExp</name>
    <validatorId>org.apache.myfaces.trinidad.RegExp</validatorId>
    <tagClass>org.apache.myfaces.trinidadinternal.taglib.validator.ValidateRegExpTag</tagClass>
    <desc>Validate expression using Java regular expression syntax.
    If you want to match a metacharacter in a pattern, escape it with \\.
    E.g. to match [ your regular expression pattern would be \\[.</desc>
    <longDesc>Validate expression using java regular expression syntax.</longDesc>
    <property>
      <name>disabled</name>
      <jspName>disabled</jspName>
      <fieldName>_disabled</fieldName>
      <className>boolean</className>
      <desc>Whether the converter should be disabled, default to false.</desc>
      <longDesc>Whether the converter should be disabled, default to false.</longDesc>
      <defaultValue>false</defaultValue>
    </property>
    <property>
      <name>pattern</name>
      <jspName>pattern</jspName>
      <fieldName>_pattern</fieldName>
      <className>java.lang.String</className>
      <desc>pattern to be matched in the input value.</desc>
      <longDesc>pattern to be matched in the input value.</longDesc>
    </property>
    <property>
      <name>messageDetailNoMatch</name>
      <jspName>messageDetailNoMatch</jspName>
      <fieldName>_messageDetailNoMatch</fieldName>
      <className>java.lang.String</className>
      <desc>
<![CDATA[
<p>
              Custom error message to be used, for creating detail part of
              faces message, when users input does not match the specified
              pattern.
             </p>
             <p>
              <strong>
               Parameters:
              </strong>
              <ul>
               <li>
                {0} the label that identifies the component
               </li>
               <li>
                {1} value entered by the user
               </li>
               <li>
                {2} represents the 'pattern' expected in the input
               </li>
              </ul>
             </p>
]]>
      </desc>
      <longDesc>
<![CDATA[
<p>
              Custom error message to be used, for creating detail part of
              faces message, when users input does not match the specified
              pattern.
             </p>
             <p>
              <strong>
               Parameters:
              </strong>
              <ul>
               <li>
                {0} the label that identifies the component
               </li>
               <li>
                {1} value entered by the user
               </li>
               <li>
                {2} represents the 'pattern' expected in the input
               </li>
              </ul>
             </p>
]]>
      </longDesc>
    </property>
  </validator>
  <renderKit>
    <renderKitId>org.apache.myfaces.trinidadinternal.core</renderKitId>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Body</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Body</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.html.CellFormatRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.CellFormat</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.CellFormat</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.desktop.ChartRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Chart</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Chart</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.uinode.UINodeRendererBase</className>
      <componentFamily>org.apache.myfaces.trinidad.Choose</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Color</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.ChooseDateRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Choose</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Date</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.ColumnRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Column</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Column</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.CommandButtonRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Command</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Button</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.CommandLinkRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Command</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Link</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.uix.CommandRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Command</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.NavigationItem</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.DocumentRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Document</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Document</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.FormRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Form</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Form</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.FrameBorderLayoutRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.FrameBorderLayout</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.FrameBorderLayout</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.FrameRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Frame</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Frame</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.GoButtonRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Go</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Button</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.GoLinkRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Go</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Link</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.HeadRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Head</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Head</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.HtmlRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Html</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Html</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.ImportScriptRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.ImportScript</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.ImportScript</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.InputFileRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Input</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.File</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.InputHiddenRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Input</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Hidden</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.InputNumberSpinboxRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Input</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.NumberSpinbox</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.InputTextRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Input</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Text</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.MessageBoxRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Messages</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Messages</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.MessageRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Message</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Message</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.html.MetaRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Meta</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Meta</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.NavigationLevel</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Pane</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BreadCrumbsRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.NavigationPath</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.BreadCrumbs</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.uix.NavigationTreeRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.NavigationTree</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.NavigationTree</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.IconRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Object</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Icon</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.ImageRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Object</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Image</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.uinode.UINodeRendererBase</className>
      <componentFamily>org.apache.myfaces.trinidad.Object</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Legend</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.MediaRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Object</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Media</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SeparatorRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Object</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Separator</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SpacerRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Object</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Spacer</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.StatusIndicatorRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Object</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.StatusIndicator</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.OutputDocumentRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Output</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Document</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.OutputFormattedRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Output</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Formatted</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.OutputLabelRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Output</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Label</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.OutputTextRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Output</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Text</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.uix.PageRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Page</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Page</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelAccordionRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Panel</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Accordion</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelBorderLayoutRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Panel</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.BorderLayout</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelBoxRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Panel</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Box</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelButtonBarRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Panel</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.ButtonBar</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLayoutRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Panel</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.FormLayout</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelGroupLayoutRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Panel</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.GroupLayout</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelHeaderRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Panel</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Header</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelHorizontalLayoutRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Panel</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.HorizontalLayout</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelLabelAndMessageRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Panel</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.LabelAndMessage</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelListRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Panel</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.List</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.uinode.UINodeRendererBase</className>
      <componentFamily>org.apache.myfaces.trinidad.Panel</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Page</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.uinode.UINodeRendererBase</className>
      <componentFamily>org.apache.myfaces.trinidad.Panel</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.PageHeader</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelCaptionGroupRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Panel</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.PanelCaptionGroup</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPopupRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Panel</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Popup</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.uinode.UINodeRendererBase</className>
      <componentFamily>org.apache.myfaces.trinidad.Panel</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.SideBar</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelTipRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Panel</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Tip</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PollRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Poll</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Poll</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.uix.ProcessRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Process</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.ChoiceBar</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.desktop.TrainRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Process</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Train</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.uix.ProgressRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Progress</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Indicator</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.ResetButtonRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.ResetButton</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Button</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.html.RowLayoutRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.RowLayout</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.RowLayout</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.html.ScriptRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Script</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Script</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SelectBooleanCheckboxRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.SelectBoolean</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Checkbox</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SelectBooleanRadioRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.SelectBoolean</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Radio</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.InputColorRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.SelectInput</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Color</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.InputDateRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.SelectInput</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Date</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.InputListOfValuesRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.SelectInput</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Text</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SelectManyCheckboxRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.SelectMany</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Checkbox</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SelectManyListboxRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.SelectMany</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Listbox</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SelectManyShuttleRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.SelectMany</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Shuttle</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SelectOneChoiceRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.SelectOne</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Choice</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SelectOneListboxRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.SelectOne</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Listbox</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SelectOneRadioRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.SelectOne</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Radio</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SelectOrderShuttleRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.SelectOrder</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Shuttle</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SelectRangeChoiceBarRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.SelectRange</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.ChoiceBar</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.ShowDetailHeaderRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.ShowDetail</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Header</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.ShowDetailItemRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.ShowDetail</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Item</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.ShowDetailRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.ShowDetail</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.ShowDetail</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.html.layout.CorePanelChoiceRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.ShowOne</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Choice</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.html.layout.CorePanelRadioRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.ShowOne</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Radio</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.uix.PanelTabbedRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.ShowOne</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Tab</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SingleStepButtonBarRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.SingleStep</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.ButtonBar</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.StyleSheetRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.StyleSheet</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.StyleSheet</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.uix.SubformRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Subform</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Subform</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.html.TableLayoutRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.TableLayout</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.TableLayout</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.desktop.DesktopTableRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Table</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Table</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.desktop.TreeTableRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.TreeTable</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.TreeTable</rendererType>
    </renderer>
    <renderer>
      <modelId>trinidad-api</modelId>
      <className>org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.TreeRenderer</className>
      <componentFamily>org.apache.myfaces.trinidad.Tree</componentFamily>
      <rendererType>org.apache.myfaces.trinidad.Tree</rendererType>
    </renderer>
  </renderKit>
  <tag>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.webapp.FacetTag</className>
    <sourceClassName>javax.faces.webapp.FacetTag</sourceClassName>
    <sourceClassParentClassName>javax.servlet.jsp.tagext.TagSupport</sourceClassParentClassName>
    <name>f:facet</name>
    <bodyContent>JSP</bodyContent>
    <desc>This tag adds its child as a facet of the nearest parent UIComponent</desc>
    <longDesc>
<![CDATA[
This tag adds its child as a facet of the nearest parent UIComponent. A child consisting of multiple elements should
be nested within a container component (i.e., within an h:panelGroup for HTML library components).

Unless otherwise specified, all attributes accept static values or EL expressions.

see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
]]>
    </longDesc>
    <attribute>
      <name>name</name>
      <className>java.lang.String</className>
      <required>true</required>
      <desc>The name of the facet to be created</desc>
      <longDesc>The name of the facet to be created. This must be a static value.</longDesc>
    </attribute>
  </tag>
  <faceletTag>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.view.facelets.FaceletsAttachedObjectHandler</className>
    <sourceClassName>javax.faces.view.facelets.FaceletsAttachedObjectHandler</sourceClassName>
    <sourceClassParentClassName>javax.faces.view.facelets.DelegatingMetaTagHandler</sourceClassParentClassName>
    <bodyContent>JSP</bodyContent>
    <desc>no description</desc>
    <longDesc></longDesc>
    <attribute>
      <name>for</name>
      <className>java.lang.String</className>
      <desc>{@inheritDoc}</desc>
      <longDesc>{@inheritDoc}</longDesc>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.view.facelets.BehaviorHandler</className>
    <parentClassName>javax.faces.view.facelets.FaceletsAttachedObjectHandler</parentClassName>
    <sourceClassName>javax.faces.view.facelets.BehaviorHandler</sourceClassName>
    <sourceClassParentClassName>javax.faces.view.facelets.FaceletsAttachedObjectHandler</sourceClassParentClassName>
    <bodyContent>JSP</bodyContent>
    <desc>no description</desc>
    <longDesc></longDesc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.view.facelets.ConverterHandler</className>
    <parentClassName>javax.faces.view.facelets.FaceletsAttachedObjectHandler</parentClassName>
    <sourceClassName>javax.faces.view.facelets.ConverterHandler</sourceClassName>
    <sourceClassParentClassName>javax.faces.view.facelets.FaceletsAttachedObjectHandler</sourceClassParentClassName>
    <bodyContent>JSP</bodyContent>
    <desc>Handles setting a Converter instance on a ValueHolder</desc>
    <longDesc>
<![CDATA[
Handles setting a Converter instance on a ValueHolder. Will wire all attributes set to the Converter instance
created/fetched. Uses the "binding" attribute for grabbing instances to apply attributes to. <p/> Will only
set/create Converter is the passed UIComponent's parent is null, signifying that it wasn't restored from an existing
tree.
]]>
    </longDesc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-api</modelId>
    <className>javax.faces.view.facelets.ValidatorHandler</className>
    <parentClassName>javax.faces.view.facelets.FaceletsAttachedObjectHandler</parentClassName>
    <sourceClassName>javax.faces.view.facelets.ValidatorHandler</sourceClassName>
    <sourceClassParentClassName>javax.faces.view.facelets.FaceletsAttachedObjectHandler</sourceClassParentClassName>
    <bodyContent>JSP</bodyContent>
    <desc>Handles setting a Validator instance on a EditableValueHolder</desc>
    <longDesc>
<![CDATA[
Handles setting a Validator instance on a EditableValueHolder. Will wire all attributes set to the Validator instance
created/fetched. Uses the "binding" attribute for grabbing instances to apply attributes to. <p/> Will only
set/create Validator is the passed UIComponent's parent is null, signifying that it wasn't restored from an existing
tree.
]]>
    </longDesc>
  </faceletTag>
  <webConfig>
    <modelId>myfaces-api</modelId>
    <webConfigParam>
      <name>javax.faces.RESOURCE_EXCLUDES</name>
      <fieldName>RESOURCE_EXCLUDES_PARAM_NAME</fieldName>
      <desc>no description</desc>
      <defaultValue>.class .jsp .jspx .properties .xhtml</defaultValue>
      <sourceClassName>javax.faces.application.ResourceHandler</sourceClassName>
      <since>2.0</since>
    </webConfigParam>
    <webConfigParam>
      <name>javax.faces.STATE_SAVING_METHOD</name>
      <fieldName>STATE_SAVING_METHOD_PARAM_NAME</fieldName>
      <desc>Define the state method to be used</desc>
      <longDesc>
<![CDATA[
Define the state method to be used. There are two different options defined by the 
specification: "client" and "server" state.
<p>
When "client" state is configured, all state information required to create the tree is embedded within
the data rendered to the client. Note that because data received from a remote client must always be
treated as "tainted", care must be taken when using such data. Some StateManager implementations may
use encryption to ensure that clients cannot modify the data, and that the data received on postback
is therefore trustworthy.
</p>
<p>
When "server" state is configured, the data is saved somewhere "on the back end", and (at most) a
token is embedded in the data rendered to the user.
</p>
]]>
      </longDesc>
      <defaultValue>server</defaultValue>
      <expectedValues>server,client</expectedValues>
      <sourceClassName>javax.faces.application.StateManager</sourceClassName>
      <since>1.1</since>
    </webConfigParam>
    <webConfigParam>
      <name>javax.faces.FULL_STATE_SAVING_VIEW_IDS</name>
      <fieldName>FULL_STATE_SAVING_VIEW_IDS_PARAM_NAME</fieldName>
      <desc>no description</desc>
      <sourceClassName>javax.faces.application.StateManager</sourceClassName>
      <since>2.0</since>
    </webConfigParam>
    <webConfigParam>
      <name>javax.faces.PARTIAL_STATE_SAVING</name>
      <fieldName>PARTIAL_STATE_SAVING_PARAM_NAME</fieldName>
      <desc>no description</desc>
      <expectedValues>true,false</expectedValues>
      <sourceClassName>javax.faces.application.StateManager</sourceClassName>
      <since>2.0</since>
    </webConfigParam>
    <webConfigParam>
      <name>javax.faces.DEFAULT_SUFFIX</name>
      <fieldName>DEFAULT_SUFFIX_PARAM_NAME</fieldName>
      <desc>Indicate the default suffix to derive the file URI if extension mapping is used</desc>
      <longDesc>Indicate the default suffix to derive the file URI if extension mapping is used.</longDesc>
      <defaultValue>.xhtml .jsp</defaultValue>
      <sourceClassName>javax.faces.application.ViewHandler</sourceClassName>
      <since>1.1</since>
    </webConfigParam>
    <webConfigParam>
      <name>javax.faces.FACELETS_SUFFIX</name>
      <fieldName>FACELETS_SUFFIX_PARAM_NAME</fieldName>
      <desc>no description</desc>
      <defaultValue>.xhtml</defaultValue>
      <sourceClassName>javax.faces.application.ViewHandler</sourceClassName>
      <since>2.0</since>
    </webConfigParam>
    <webConfigParam>
      <name>javax.faces.FACELETS_VIEW_MAPPINGS</name>
      <fieldName>FACELETS_VIEW_MAPPINGS_PARAM_NAME</fieldName>
      <desc>no description</desc>
      <sourceClassName>javax.faces.application.ViewHandler</sourceClassName>
      <since>2.0</since>
    </webConfigParam>
    <webConfigParam>
      <name>javax.faces.VALIDATE_EMPTY_FIELDS</name>
      <fieldName>VALIDATE_EMPTY_FIELDS_PARAM_NAME</fieldName>
      <desc>no description</desc>
      <defaultValue>auto</defaultValue>
      <expectedValues>auto, true, false</expectedValues>
      <sourceClassName>javax.faces.component.UIInput</sourceClassName>
      <since>2.0</since>
    </webConfigParam>
    <webConfigParam>
      <name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</name>
      <fieldName>EMPTY_VALUES_AS_NULL_PARAM_NAME</fieldName>
      <desc>-=Leonardo Uribe =- According to http://wiki</desc>
      <longDesc>-=Leonardo Uribe =- According to http://wiki.java.net/bin/view/Projects/Jsf2MR1ChangeLog 
this constant will be made public on 2.1. For now, since this param is handled in
2.0, we should do it as well.</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>javax.faces.component.UIInput</sourceClassName>
      <since>2.0</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.ENUM_CONVERTER_ALLOW_STRING_PASSTROUGH</name>
      <fieldName>ALLOW_STRING_PASSTROUGH</fieldName>
      <desc>If value is a String instance and this param is true, pass it directly without try any change</desc>
      <longDesc>If value is a String instance and this param is true, pass it directly without try any change.

See MYFACES-2739 for details.</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true,false</expectedValues>
      <sourceClassName>javax.faces.convert.EnumConverter</sourceClassName>
      <since>2.0.1</since>
    </webConfigParam>
    <webConfigParam>
      <name>javax.faces.validator.DISABLE_DEFAULT_BEAN_VALIDATOR</name>
      <fieldName>DISABLE_DEFAULT_BEAN_VALIDATOR_PARAM_NAME</fieldName>
      <desc>If this init parameter is present, no Bean Validators should be added to an UIInput by default</desc>
      <longDesc>If this init parameter is present, no Bean Validators should be added to an UIInput by default.
Explicitly adding a BeanValidator to an UIInput is possible though.</longDesc>
      <defaultValue>true</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>javax.faces.validator.BeanValidator</sourceClassName>
      <since>2.0</since>
    </webConfigParam>
    <webConfigParam>
      <name>javax.faces.CONFIG_FILES</name>
      <fieldName>CONFIG_FILES_ATTR</fieldName>
      <desc>Comma separated list of URIs of (additional) faces config files</desc>
      <longDesc>Comma separated list of URIs of (additional) faces config files.
(e.g. /WEB-INF/my-config.xml)See JSF 1.0 PRD2, 10.3.2
Attention: You do not need to put /WEB-INF/faces-config.xml in here.</longDesc>
      <sourceClassName>javax.faces.webapp.FacesServlet</sourceClassName>
      <since>1.1</since>
    </webConfigParam>
    <webConfigParam>
      <name>javax.faces.LIFECYCLE_ID</name>
      <fieldName>LIFECYCLE_ID_ATTR</fieldName>
      <desc>Identify the Lifecycle instance to be used</desc>
      <longDesc>Identify the Lifecycle instance to be used.</longDesc>
      <sourceClassName>javax.faces.webapp.FacesServlet</sourceClassName>
      <since>1.1</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.ERROR_HANDLER</name>
      <fieldName>ERROR_HANDLER_PARAMETER</fieldName>
      <desc>Since JSF 2</desc>
      <longDesc>
<![CDATA[
Since JSF 2.0 there is a standard way to deal with unexpected Exceptions: the ExceptionHandler.
Due to backwards compatibility MyFaces 2.0 also supports the init parameter 
org.apache.myfaces.ERROR_HANDLER, introduced in MyFaces 1.2.4. However, the given error handler
now only needs to include the following method:
<ul>
<li>handleException(FacesContext fc, Exception ex)</li>
</ul>
Furthermore, the init parameter only works when using the PreJsf2ExceptionHandlerFactory.
]]>
      </longDesc>
      <sourceClassName>javax.faces.webapp.PreJsf2ExceptionHandlerFactory$PreJsf2ExceptionHandlerImpl</sourceClassName>
      <since>1.2.4</since>
    </webConfigParam>
  </webConfig>
</model>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy