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

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

<?xml version='1.0' ?>

<model>
  <modelId>myfaces-impl</modelId>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.UIComponent</className>
    <sourceClassName>jakarta.faces.component.UIComponent</sourceClassName>
    <type>jakarta.faces.Component</type>
    <family>jakarta.faces.Component</family>
    <configExcluded>true</configExcluded>
    <implementedInterfaces>
      <interface name="jakarta.faces.event.ComponentSystemEventListener"/>
      <interface name="jakarta.faces.component.PartialStateHolder"/>
      <interface name="jakarta.faces.event.SystemEventListenerHolder"/>
      <interface name="jakarta.faces.component.TransientStateHolder"/>
    </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>jakarta.faces.component.UIComponentBase</className>
    <parentClassName>jakarta.faces.component.UIComponent</parentClassName>
    <sourceClassName>jakarta.faces.component.UIComponentBase</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponent</sourceClassParentClassName>
    <type>jakarta.faces.ComponentBase</type>
    <family>jakarta.faces.ComponentBase</family>
    <tagClass>jakarta.faces.webapp.UIComponentELTag</tagClass>
    <configExcluded>true</configExcluded>
    <generatedTagClass>true</generatedTagClass>
    <desc>base component when all components must inherit</desc>
    <longDesc>
<![CDATA[
Standard implementation of the UIComponent base class; all standard Faces components extend this class.
<p>
<i>Disclaimer</i>: The official definition for the behaviour of this class is the Faces 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">Faces 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>jakarta.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>jakarta.faces.component.UIColumn</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>jakarta.faces.component.UIColumn</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <type>jakarta.faces.Column</type>
    <family>jakarta.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">Faces 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>jakarta.faces.component.UICommand</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>jakarta.faces.component.UICommand</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <type>jakarta.faces.Command</type>
    <family>jakarta.faces.Command</family>
    <rendererType>jakarta.faces.Button</rendererType>
    <listener>
      <name>actionListeners</name>
      <className>jakarta.faces.event.ActionListener</className>
      <eventClassName>jakarta.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="jakarta.faces.component.ActionSource"/>
    </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>
      <className>jakarta.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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.UIData</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>jakarta.faces.component.UIData</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <type>jakarta.faces.Data</type>
    <family>jakarta.faces.Data</family>
    <rendererType>jakarta.faces.Table</rendererType>
    <facet>
      <name>footer</name>
      <desc>no description</desc>
    </facet>
    <facet>
      <name>header</name>
      <desc>no description</desc>
    </facet>
    <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 occurred 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">Faces 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 or java.sql.ResultSet
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>
    <property>
      <name>rowStatePreserved</name>
      <className>boolean</className>
      <literalOnly>true</literalOnly>
      <desc>Indicates whether the state for a component in each row should not be 
discarded before the datatable is rendered again</desc>
      <longDesc>Indicates whether the state for a component in each row should not be 
discarded before the datatable is rendered again.

This will only work reliable if the datamodel of the 
datatable did not change either by sorting, removing or 
adding rows. Default: false</longDesc>
      <faceletsOnly>true</faceletsOnly>
    </property>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.UIForm</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>jakarta.faces.component.UIForm</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <type>jakarta.faces.Form</type>
    <family>jakarta.faces.Form</family>
    <rendererType>jakarta.faces.Form</rendererType>
    <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">Faces 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>jakarta.faces.component.UIGraphic</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>jakarta.faces.component.UIGraphic</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <type>jakarta.faces.Graphic</type>
    <family>jakarta.faces.Graphic</family>
    <rendererType>jakarta.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">Faces 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>jakarta.faces.component.UIImportConstants</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>jakarta.faces.component.UIImportConstants</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <name>f:importConstants</name>
    <type>jakarta.faces.ImportConstants</type>
    <bodyContent>empty</bodyContent>
    <family>jakarta.faces.ImportConstants</family>
    <desc>no description</desc>
    <property>
      <name>type</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>var</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
    </property>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.UIOutput</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>jakarta.faces.component.UIOutput</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <type>jakarta.faces.Output</type>
    <family>jakarta.faces.Output</family>
    <rendererType>jakarta.faces.Text</rendererType>
    <implementedInterfaces>
      <interface name="jakarta.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>jakarta.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>jakarta.faces.component.UIInput</className>
    <parentClassName>jakarta.faces.component.UIOutput</parentClassName>
    <sourceClassName>jakarta.faces.component.UIInput</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIOutput</sourceClassParentClassName>
    <type>jakarta.faces.Input</type>
    <family>jakarta.faces.Input</family>
    <rendererType>jakarta.faces.Text</rendererType>
    <listener>
      <name>valueChangeListeners</name>
      <className>jakarta.faces.event.ValueChangeListener</className>
      <eventClassName>jakarta.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="jakarta.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>value</name>
      <className>java.lang.Object</className>
      <desc>Return the current value of this component</desc>
      <longDesc>
<![CDATA[
Return the current value of this component.
<p>
If a submitted value has been converted but not yet pushed into the
model, then return that locally-cached value (see isLocalValueSet).
</p>
Otherwise, evaluate an EL expression to fetch a value from the model.
]]>
      </longDesc>
      <clientEvent>valueChange</clientEvent>
    </property>
    <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>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>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>jakarta.faces.component.UINamingContainer</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>jakarta.faces.component.UINamingContainer</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <name>f:subview</name>
    <type>jakarta.faces.NamingContainer</type>
    <family>jakarta.faces.NamingContainer</family>
    <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>jakarta.faces.component.UIOutcomeTarget</className>
    <parentClassName>jakarta.faces.component.UIOutput</parentClassName>
    <sourceClassName>jakarta.faces.component.UIOutcomeTarget</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIOutput</sourceClassParentClassName>
    <type>jakarta.faces.OutcomeTarget</type>
    <family>jakarta.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>
    <property>
      <name>disableClientWindow</name>
      <className>boolean</className>
      <desc>no description</desc>
      <longDesc></longDesc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.UIPanel</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>jakarta.faces.component.UIPanel</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <type>jakarta.faces.Panel</type>
    <family>jakarta.faces.Panel</family>
    <desc>no description</desc>
    <longDesc></longDesc>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.UISelectBoolean</className>
    <parentClassName>jakarta.faces.component.UIInput</parentClassName>
    <sourceClassName>jakarta.faces.component.UISelectBoolean</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIInput</sourceClassParentClassName>
    <type>jakarta.faces.SelectBoolean</type>
    <family>jakarta.faces.SelectBoolean</family>
    <rendererType>jakarta.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">Faces 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>jakarta.faces.component.UISelectMany</className>
    <parentClassName>jakarta.faces.component.UIInput</parentClassName>
    <sourceClassName>jakarta.faces.component.UISelectMany</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIInput</sourceClassParentClassName>
    <type>jakarta.faces.SelectMany</type>
    <family>jakarta.faces.SelectMany</family>
    <rendererType>jakarta.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>jakarta.faces.component.UISelectOne</className>
    <parentClassName>jakarta.faces.component.UIInput</parentClassName>
    <sourceClassName>jakarta.faces.component.UISelectOne</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIInput</sourceClassParentClassName>
    <type>jakarta.faces.SelectOne</type>
    <family>jakarta.faces.SelectOne</family>
    <rendererType>jakarta.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">Faces 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>jakarta.faces.component.UIViewAction</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>jakarta.faces.component.UIViewAction</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <name>f:viewAction</name>
    <type>jakarta.faces.ViewAction</type>
    <family>jakarta.faces.ViewAction</family>
    <listener>
      <name>actionListeners</name>
      <className>jakarta.faces.event.ActionListener</className>
      <eventClassName>jakarta.faces.event.ActionEvent</eventClassName>
      <desc>no description</desc>
      <phases>Invoke Application, Apply Request Values</phases>
    </listener>
    <implementedInterfaces>
      <interface name="jakarta.faces.component.ActionSource"/>
    </implementedInterfaces>
    <desc>no description</desc>
    <longDesc></longDesc>
    <property>
      <name>rendered</name>
      <jspName>if</jspName>
      <className>boolean</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>immediate</name>
      <className>boolean</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>actionExpression</name>
      <className>jakarta.el.MethodExpression</className>
      <stateHolder>true</stateHolder>
      <desc>no description</desc>
      <methodBindingSignature>
        <returnType>java.lang.Object</returnType>
      </methodBindingSignature>
      <clientEvent>action</clientEvent>
    </property>
    <property>
      <name>phase</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>onPostback</name>
      <className>boolean</className>
      <desc>no description</desc>
    </property>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.UIViewParameter</className>
    <parentClassName>jakarta.faces.component.UIInput</parentClassName>
    <sourceClassName>jakarta.faces.component.UIViewParameter</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIInput</sourceClassParentClassName>
    <name>f:viewParam</name>
    <type>jakarta.faces.ViewParameter</type>
    <family>jakarta.faces.ViewParameter</family>
    <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>jakarta.faces.component.UIViewRoot</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>jakarta.faces.component.UIViewRoot</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <name>f:view</name>
    <type>jakarta.faces.ViewRoot</type>
    <family>jakarta.faces.ViewRoot</family>
    <implementedInterfaces>
      <interface name="jakarta.faces.component.UniqueIdVendor"/>
    </implementedInterfaces>
    <desc>Creates a Faces View, which is a container that holds all of the components that are part of the view</desc>
    <longDesc>
<![CDATA[
Creates a Faces 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>
      <className>jakarta.el.MethodExpression</className>
      <stateHolder>true</stateHolder>
      <desc>MethodExpression pointing to a method that takes a jakarta</desc>
      <longDesc>MethodExpression pointing to a method that takes a jakarta.faces.event.PhaseEvent and returns void,
called after every phase except for restore view.</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>jakarta.faces.event.PhaseEvent</parameterType>
      </methodBindingSignature>
    </property>
    <property>
      <name>beforePhaseListener</name>
      <className>jakarta.el.MethodExpression</className>
      <stateHolder>true</stateHolder>
      <desc>MethodExpression pointing to a method that takes a jakarta</desc>
      <longDesc>MethodExpression pointing to a method that takes a jakarta.faces.event.PhaseEvent and returns void,
called before every phase except for restore view.</longDesc>
      <methodBindingSignature>
        <returnType>void</returnType>
        <parameterType>jakarta.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 Faces spec group.
]]>
      </longDesc>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>id</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <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>jakarta.faces.component.UIMessage</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>jakarta.faces.component._UIMessage</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <type>jakarta.faces.Message</type>
    <family>jakarta.faces.Message</family>
    <rendererType>jakarta.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>jakarta.faces.component.UIMessages</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>jakarta.faces.component._UIMessages</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <type>jakarta.faces.Messages</type>
    <family>jakarta.faces.Messages</family>
    <rendererType>jakarta.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>jakarta.faces.component.UIParameter</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>jakarta.faces.component._UIParameter</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <name>f:param</name>
    <type>jakarta.faces.Parameter</type>
    <family>jakarta.faces.Parameter</family>
    <generatedComponentClass>true</generatedComponentClass>
    <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 Faces
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>jakarta.faces.component.UISelectItem</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>jakarta.faces.component._UISelectItem</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <name>f:selectItem</name>
    <type>jakarta.faces.SelectItem</type>
    <bodyContent>empty</bodyContent>
    <family>jakarta.faces.SelectItem</family>
    <generatedComponentClass>true</generatedComponentClass>
    <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 Faces
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>jakarta.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>
      <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>jakarta.faces.component.UISelectItemGroup</className>
    <sourceClassName>jakarta.faces.component._UISelectItemGroup</sourceClassName>
    <sourceClassParentClassName>UISelectItem</sourceClassParentClassName>
    <name>f:selectItemGroup</name>
    <type>jakarta.faces.SelectItemGroup</type>
    <bodyContent>empty</bodyContent>
    <family>jakarta.faces.SelectItem</family>
    <generatedComponentClass>true</generatedComponentClass>
    <template>true</template>
    <desc>no description</desc>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.UISelectItemGroups</className>
    <sourceClassName>jakarta.faces.component._UISelectItemGroups</sourceClassName>
    <sourceClassParentClassName>UISelectItems</sourceClassParentClassName>
    <name>f:selectItemGroups</name>
    <type>jakarta.faces.SelectItemGroups</type>
    <bodyContent>empty</bodyContent>
    <family>jakarta.faces.SelectItems</family>
    <generatedComponentClass>true</generatedComponentClass>
    <template>true</template>
    <desc>no description</desc>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.UISelectItems</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>jakarta.faces.component._UISelectItems</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <name>f:selectItems</name>
    <type>jakarta.faces.SelectItems</type>
    <bodyContent>empty</bodyContent>
    <family>jakarta.faces.SelectItems</family>
    <generatedComponentClass>true</generatedComponentClass>
    <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 Faces 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 Faces HTML escaping or not</desc>
      <longDesc>Determines if the rendered markup for the current item receives
normal Faces HTML escaping or not.</longDesc>
      <defaultValue>true</defaultValue>
      <deferredValueType>java.lang.Boolean</deferredValueType>
    </property>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.UIWebsocket</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>jakarta.faces.component._UIWebsocket</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <name>f:websocket</name>
    <type>jakarta.faces.Websocket</type>
    <bodyContent>empty</bodyContent>
    <family>jakarta.faces.Script</family>
    <rendererType>jakarta.faces.Websocket</rendererType>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.faces.component.behavior.ClientBehaviorHolder"/>
    </implementedInterfaces>
    <desc>no description</desc>
    <property>
      <name>channel</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>scope</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>user</name>
      <className>java.io.Serializable</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>onopen</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>onmessage</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>onclose</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>onerror</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>connected</name>
      <className>boolean</className>
      <desc>no description</desc>
      <defaultValue>true</defaultValue>
      <generated>true</generated>
    </property>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlInputHidden</className>
    <parentClassName>jakarta.faces.component.UIInput</parentClassName>
    <sourceClassName>jakarta.faces.component.html.HtmlInputHidden</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIInput</sourceClassParentClassName>
    <name>h:inputHidden</name>
    <type>jakarta.faces.HtmlInputHidden</type>
    <family>jakarta.faces.Input</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlInputHiddenTag</tagClass>
    <rendererType>jakarta.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>jakarta.faces.component.html.HtmlBody</className>
    <parentClassName>jakarta.faces.component.UIOutput</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlBody</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIOutput</sourceClassParentClassName>
    <name>h:body</name>
    <type>jakarta.faces.OutputBody</type>
    <family>jakarta.faces.Output</family>
    <rendererType>jakarta.faces.Body</rendererType>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.faces.component.behavior.ClientBehaviorHolder"/>
    </implementedInterfaces>
    <desc>no description</desc>
    <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>xmlns</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <longDesc></longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>converter</name>
      <className>jakarta.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>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>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>role</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>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>jakarta.faces.component.html.HtmlColumn</className>
    <parentClassName>jakarta.faces.component.UIColumn</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlColumn</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIColumn</sourceClassParentClassName>
    <name>h:column</name>
    <type>jakarta.faces.HtmlColumn</type>
    <family>jakarta.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>
    <property>
      <name>styleClass</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <longDesc></longDesc>
      <generated>true</generated>
    </property>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlCommandButton</className>
    <parentClassName>jakarta.faces.component.UICommand</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlCommandButton</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UICommand</sourceClassParentClassName>
    <name>h:commandButton</name>
    <type>jakarta.faces.HtmlCommandButton</type>
    <family>jakarta.faces.Command</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlCommandButtonTag</tagClass>
    <rendererType>jakarta.faces.Button</rendererType>
    <defaultEventName>action</defaultEventName>
    <overrideDefaultEventName>true</overrideDefaultEventName>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.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>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>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>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>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>
    <property>
      <name>role</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>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>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>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>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>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>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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlCommandLink</className>
    <parentClassName>jakarta.faces.component.UICommand</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlCommandLink</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UICommand</sourceClassParentClassName>
    <name>h:commandLink</name>
    <type>jakarta.faces.HtmlCommandLink</type>
    <family>jakarta.faces.Command</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlCommandLinkTag</tagClass>
    <rendererType>jakarta.faces.Link</rendererType>
    <defaultEventName>action</defaultEventName>
    <overrideDefaultEventName>true</overrideDefaultEventName>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.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>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>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>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>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>role</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>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>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>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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlCommandScript</className>
    <parentClassName>jakarta.faces.component.UICommand</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlCommandScript</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UICommand</sourceClassParentClassName>
    <name>h:commandScript</name>
    <type>jakarta.faces.HtmlCommandScript</type>
    <family>jakarta.faces.Command</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlCommandScriptTag</tagClass>
    <rendererType>jakarta.faces.Script</rendererType>
    <defaultEventName>action</defaultEventName>
    <overrideDefaultEventName>true</overrideDefaultEventName>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <desc>no description</desc>
    <longDesc></longDesc>
    <property>
      <name>autorun</name>
      <className>boolean</className>
      <desc>no description</desc>
      <defaultValue>false</defaultValue>
      <generated>true</generated>
    </property>
    <property>
      <name>execute</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>name</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>onerror</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>onevent</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>render</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>resetValues</name>
      <className>java.lang.Boolean</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlDataTable</className>
    <parentClassName>jakarta.faces.component.UIData</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlDataTable</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIData</sourceClassParentClassName>
    <name>h:dataTable</name>
    <type>jakarta.faces.HtmlDataTable</type>
    <family>jakarta.faces.Data</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlDataTableTag</tagClass>
    <rendererType>jakarta.faces.Table</rendererType>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <facet>
      <name>caption</name>
      <desc>The facet associated to the Caption</desc>
      <longDesc>The facet associated to the Caption.</longDesc>
    </facet>
    <implementedInterfaces>
      <interface name="jakarta.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>rowClass</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <longDesc></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>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>role</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>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>jakarta.faces.component.html.HtmlDoctype</className>
    <parentClassName>jakarta.faces.component.UIOutput</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlDoctype</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIOutput</sourceClassParentClassName>
    <name>h:doctype</name>
    <type>jakarta.faces.OutputDoctype</type>
    <family>jakarta.faces.Output</family>
    <rendererType>jakarta.faces.Doctype</rendererType>
    <implements>jakarta.faces.component.Doctype</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <template>true</template>
    <implementedInterfaces>
      <interface name="jakarta.faces.component.Doctype"/>
    </implementedInterfaces>
    <desc>no description</desc>
    <longDesc></longDesc>
    <property>
      <name>public</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>rootElement</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>system</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlForm</className>
    <parentClassName>jakarta.faces.component.UIForm</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlForm</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIForm</sourceClassParentClassName>
    <name>h:form</name>
    <type>jakarta.faces.HtmlForm</type>
    <family>jakarta.faces.Form</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlFormTag</tagClass>
    <rendererType>jakarta.faces.Form</rendererType>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.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>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>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>role</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>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>jakarta.faces.component.html.HtmlGraphicImage</className>
    <parentClassName>jakarta.faces.component.UIGraphic</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlGraphicImage</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIGraphic</sourceClassParentClassName>
    <name>h:graphicImage</name>
    <type>jakarta.faces.HtmlGraphicImage</type>
    <family>jakarta.faces.Graphic</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlGraphicImageTag</tagClass>
    <rendererType>jakarta.faces.Image</rendererType>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.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>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>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>role</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>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>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>jakarta.faces.component.html.HtmlHead</className>
    <parentClassName>jakarta.faces.component.UIOutput</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlHead</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIOutput</sourceClassParentClassName>
    <name>h:head</name>
    <type>jakarta.faces.OutputHead</type>
    <family>jakarta.faces.Output</family>
    <rendererType>jakarta.faces.Head</rendererType>
    <generatedComponentClass>true</generatedComponentClass>
    <template>true</template>
    <desc>no description</desc>
    <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>xmlns</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <longDesc></longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>converter</name>
      <className>jakarta.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>jakarta.faces.component.html.HtmlInputFile</className>
    <parentClassName>jakarta.faces.component.UIInput</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlInputFile</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIInput</sourceClassParentClassName>
    <name>h:inputFile</name>
    <type>jakarta.faces.HtmlInputFile</type>
    <family>jakarta.faces.Input</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlInputFileTag</tagClass>
    <rendererType>jakarta.faces.File</rendererType>
    <defaultEventName>valueChange</defaultEventName>
    <overrideDefaultEventName>true</overrideDefaultEventName>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.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>accept</name>
      <className>java.lang.String</className>
      <desc>Comma separated string of mime types of files to filter in client side file browse dialog</desc>
      <longDesc>Comma separated string of mime types of files to filter in client side file browse dialog.
NOTE: this is not validated in server side.</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>multiple</name>
      <className>boolean</className>
      <desc>Flag indicating that this element must allow multiple file selection</desc>
      <longDesc>Flag indicating that this element must allow multiple file selection. A value
of false causes no attribute to be rendered, while a value of true causes the attribute to be rendered as
multiple="multiple".</longDesc>
      <defaultValue>false</defaultValue>
      <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>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>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>
    <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>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>role</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>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>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>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>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>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>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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlInputSecret</className>
    <parentClassName>jakarta.faces.component.UIInput</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlInputSecret</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIInput</sourceClassParentClassName>
    <name>h:inputSecret</name>
    <type>jakarta.faces.HtmlInputSecret</type>
    <family>jakarta.faces.Input</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlInputSecretTag</tagClass>
    <rendererType>jakarta.faces.Secret</rendererType>
    <defaultEventName>valueChange</defaultEventName>
    <overrideDefaultEventName>true</overrideDefaultEventName>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.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 Faces</desc>
      <longDesc>If true, the value will be re-sent (in plaintext) when the form
is rerendered (see Faces.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>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>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>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>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>
    <property>
      <name>role</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>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>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>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>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>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>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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlInputText</className>
    <parentClassName>jakarta.faces.component.UIInput</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlInputText</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIInput</sourceClassParentClassName>
    <name>h:inputText</name>
    <type>jakarta.faces.HtmlInputText</type>
    <family>jakarta.faces.Input</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlInputTextTag</tagClass>
    <rendererType>jakarta.faces.Text</rendererType>
    <defaultEventName>valueChange</defaultEventName>
    <overrideDefaultEventName>true</overrideDefaultEventName>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.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>type</name>
      <className>java.lang.String</className>
      <desc>HTML: How an input works varies considerably depending on the value of its type attribute, 
hence the different types are covered in their own separate reference pages</desc>
      <longDesc>HTML: How an input works varies considerably depending on the value of its type attribute, 
hence the different types are covered in their own separate reference pages. If this attribute 
is not specified, the default type adopted is text.</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>
    <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>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>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>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>role</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>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>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>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>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>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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlInputTextarea</className>
    <parentClassName>jakarta.faces.component.UIInput</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlInputTextarea</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIInput</sourceClassParentClassName>
    <name>h:inputTextarea</name>
    <type>jakarta.faces.HtmlInputTextarea</type>
    <family>jakarta.faces.Input</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlInputTextareaTag</tagClass>
    <rendererType>jakarta.faces.Textarea</rendererType>
    <defaultEventName>valueChange</defaultEventName>
    <overrideDefaultEventName>true</overrideDefaultEventName>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.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>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>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>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>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>
    <property>
      <name>role</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>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>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>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>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>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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlMessage</className>
    <parentClassName>jakarta.faces.component.UIMessage</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlMessage</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIMessage</sourceClassParentClassName>
    <name>h:message</name>
    <type>jakarta.faces.HtmlMessage</type>
    <family>jakarta.faces.Message</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlMessageTag</tagClass>
    <rendererType>jakarta.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>role</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>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>jakarta.faces.component.html.HtmlMessages</className>
    <parentClassName>jakarta.faces.component.UIMessages</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlMessages</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIMessages</sourceClassParentClassName>
    <name>h:messages</name>
    <type>jakarta.faces.HtmlMessages</type>
    <family>jakarta.faces.Messages</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlMessagesTag</tagClass>
    <rendererType>jakarta.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>role</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>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>jakarta.faces.component.html.HtmlOutcomeTargetButton</className>
    <parentClassName>jakarta.faces.component.UIOutcomeTarget</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlOutcomeTargetButton</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIOutcomeTarget</sourceClassParentClassName>
    <name>h:button</name>
    <type>jakarta.faces.HtmlOutcomeTargetButton</type>
    <family>jakarta.faces.OutcomeTarget</family>
    <rendererType>jakarta.faces.Button</rendererType>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.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>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>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>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>role</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>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>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>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>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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlOutcomeTargetLink</className>
    <parentClassName>jakarta.faces.component.UIOutcomeTarget</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlOutcomeTargetLink</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIOutcomeTarget</sourceClassParentClassName>
    <name>h:link</name>
    <type>jakarta.faces.HtmlOutcomeTargetLink</type>
    <family>jakarta.faces.OutcomeTarget</family>
    <rendererType>jakarta.faces.Link</rendererType>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.faces.component.behavior.ClientBehaviorHolder"/>
    </implementedInterfaces>
    <desc>no description</desc>
    <longDesc></longDesc>
    <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>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>
    <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>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>role</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>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>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>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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlOutputFormat</className>
    <parentClassName>jakarta.faces.component.UIOutput</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlOutputFormat</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIOutput</sourceClassParentClassName>
    <name>h:outputFormat</name>
    <type>jakarta.faces.HtmlOutputFormat</type>
    <family>jakarta.faces.Output</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlOutputFormatTag</tagClass>
    <rendererType>jakarta.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>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>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>role</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>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>jakarta.faces.component.html.HtmlOutputLabel</className>
    <parentClassName>jakarta.faces.component.UIOutput</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlOutputLabel</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIOutput</sourceClassParentClassName>
    <name>h:outputLabel</name>
    <type>jakarta.faces.HtmlOutputLabel</type>
    <family>jakarta.faces.Output</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlOutputLabelTag</tagClass>
    <rendererType>jakarta.faces.Label</rendererType>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.faces.component.behavior.ClientBehaviorHolder"/>
    </implementedInterfaces>
    <desc>Renders a HTML label element</desc>
    <longDesc>Renders a HTML label element.

In addition to the Faces 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>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>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>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>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>role</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>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>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>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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlOutputLink</className>
    <parentClassName>jakarta.faces.component.UIOutput</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlOutputLink</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIOutput</sourceClassParentClassName>
    <name>h:outputLink</name>
    <type>jakarta.faces.HtmlOutputLink</type>
    <family>jakarta.faces.Output</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlOutputLinkTag</tagClass>
    <rendererType>jakarta.faces.Link</rendererType>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.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>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>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>
    <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>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>role</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>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>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>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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlOutputText</className>
    <parentClassName>jakarta.faces.component.UIOutput</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlOutputText</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIOutput</sourceClassParentClassName>
    <name>h:outputText</name>
    <type>jakarta.faces.HtmlOutputText</type>
    <family>jakarta.faces.Output</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlOutputTextTag</tagClass>
    <rendererType>jakarta.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>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>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>role</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>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>jakarta.faces.component.html.HtmlPanelGrid</className>
    <parentClassName>jakarta.faces.component.UIPanel</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlPanelGrid</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIPanel</sourceClassParentClassName>
    <name>h:panelGrid</name>
    <type>jakarta.faces.HtmlPanelGrid</type>
    <family>jakarta.faces.Panel</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlPanelGridTag</tagClass>
    <rendererType>jakarta.faces.Grid</rendererType>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.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>rowClass</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <longDesc></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>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>role</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>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>jakarta.faces.component.html.HtmlPanelGroup</className>
    <parentClassName>jakarta.faces.component.UIPanel</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlPanelGroup</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIPanel</sourceClassParentClassName>
    <name>h:panelGroup</name>
    <type>jakarta.faces.HtmlPanelGroup</type>
    <family>jakarta.faces.Panel</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlPanelGroupTag</tagClass>
    <rendererType>jakarta.faces.Group</rendererType>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.faces.component.behavior.ClientBehaviorHolder"/>
    </implementedInterfaces>
    <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>
    <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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlSelectBooleanCheckbox</className>
    <parentClassName>jakarta.faces.component.UISelectBoolean</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlSelectBooleanCheckbox</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UISelectBoolean</sourceClassParentClassName>
    <name>h:selectBooleanCheckbox</name>
    <type>jakarta.faces.HtmlSelectBooleanCheckbox</type>
    <family>jakarta.faces.SelectBoolean</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlSelectBooleanCheckboxTag</tagClass>
    <rendererType>jakarta.faces.Checkbox</rendererType>
    <defaultEventName>valueChange</defaultEventName>
    <overrideDefaultEventName>true</overrideDefaultEventName>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.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>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>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>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>
    <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>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>role</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>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>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>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>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>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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlSelectManyCheckbox</className>
    <parentClassName>jakarta.faces.component.UISelectMany</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlSelectManyCheckbox</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UISelectMany</sourceClassParentClassName>
    <name>h:selectManyCheckbox</name>
    <type>jakarta.faces.HtmlSelectManyCheckbox</type>
    <family>jakarta.faces.SelectMany</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlSelectManyCheckboxTag</tagClass>
    <rendererType>jakarta.faces.Checkbox</rendererType>
    <defaultEventName>valueChange</defaultEventName>
    <overrideDefaultEventName>true</overrideDefaultEventName>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.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), "pageDirection" (horizontal),
and "list" (use LIST element instead of TABLE). Default value is "lineDirection".</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>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>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>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>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>
    <property>
      <name>role</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>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>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>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>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>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>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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlSelectManyListbox</className>
    <parentClassName>jakarta.faces.component.UISelectMany</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlSelectManyListbox</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UISelectMany</sourceClassParentClassName>
    <name>h:selectManyListbox</name>
    <type>jakarta.faces.HtmlSelectManyListbox</type>
    <family>jakarta.faces.SelectMany</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlSelectManyListboxTag</tagClass>
    <rendererType>jakarta.faces.Listbox</rendererType>
    <defaultEventName>valueChange</defaultEventName>
    <overrideDefaultEventName>true</overrideDefaultEventName>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.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 Faces Spec</desc>
      <longDesc>see Faces Spec.</longDesc>
      <defaultValue>Integer.MIN_VALUE</defaultValue>
      <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>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>
    <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>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>role</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>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>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>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>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>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>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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlSelectManyMenu</className>
    <parentClassName>jakarta.faces.component.UISelectMany</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlSelectManyMenu</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UISelectMany</sourceClassParentClassName>
    <name>h:selectManyMenu</name>
    <type>jakarta.faces.HtmlSelectManyMenu</type>
    <family>jakarta.faces.SelectMany</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlSelectManyMenuTag</tagClass>
    <rendererType>jakarta.faces.Menu</rendererType>
    <defaultEventName>valueChange</defaultEventName>
    <overrideDefaultEventName>true</overrideDefaultEventName>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.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>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>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>
    <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>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>role</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>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>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>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>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>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>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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlSelectOneListbox</className>
    <parentClassName>jakarta.faces.component.UISelectOne</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlSelectOneListbox</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UISelectOne</sourceClassParentClassName>
    <name>h:selectOneListbox</name>
    <type>jakarta.faces.HtmlSelectOneListbox</type>
    <family>jakarta.faces.SelectOne</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlSelectOneListboxTag</tagClass>
    <rendererType>jakarta.faces.Listbox</rendererType>
    <defaultEventName>valueChange</defaultEventName>
    <overrideDefaultEventName>true</overrideDefaultEventName>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.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 Faces Spec</desc>
      <longDesc>see Faces Spec.</longDesc>
      <defaultValue>Integer.MIN_VALUE</defaultValue>
      <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>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>
    <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>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>role</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>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>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>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>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>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>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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlSelectOneMenu</className>
    <parentClassName>jakarta.faces.component.UISelectOne</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlSelectOneMenu</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UISelectOne</sourceClassParentClassName>
    <name>h:selectOneMenu</name>
    <type>jakarta.faces.HtmlSelectOneMenu</type>
    <family>jakarta.faces.SelectOne</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlSelectOneMenuTag</tagClass>
    <rendererType>jakarta.faces.Menu</rendererType>
    <defaultEventName>valueChange</defaultEventName>
    <overrideDefaultEventName>true</overrideDefaultEventName>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.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>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>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>
    <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>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>role</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>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>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>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>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>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>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>
  </component>
  <component>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.component.html.HtmlSelectOneRadio</className>
    <parentClassName>jakarta.faces.component.UISelectOne</parentClassName>
    <sourceClassName>jakarta.faces.component.html._HtmlSelectOneRadio</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UISelectOne</sourceClassParentClassName>
    <name>h:selectOneRadio</name>
    <type>jakarta.faces.HtmlSelectOneRadio</type>
    <family>jakarta.faces.SelectOne</family>
    <tagClass>org.apache.myfaces.taglib.html.HtmlSelectOneRadioTag</tagClass>
    <rendererType>jakarta.faces.Radio</rendererType>
    <defaultEventName>valueChange</defaultEventName>
    <overrideDefaultEventName>true</overrideDefaultEventName>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <generatedTagClass>true</generatedTagClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.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>Controls the layout direction of the child elements</desc>
      <longDesc>Controls the layout direction of the child elements.  Values include:
lineDirection" (vertical), "pageDirection" (horizontal),
and "list" (use LIST element instead of TABLE). Default value is "lineDirection".</longDesc>
      <generated>true</generated>
    </property>
    <property>
      <name>group</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <longDesc></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>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>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>
    <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>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>role</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>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>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>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>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>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>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>
  </component>
  <component>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.component.ComponentResourceContainer</className>
    <parentClassName>jakarta.faces.component.UIPanel</parentClassName>
    <sourceClassName>org.apache.myfaces.component.ComponentResourceContainer</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIPanel</sourceClassParentClassName>
    <type>jakarta.faces.ComponentResourceContainer</type>
    <family>jakarta.faces.Panel</family>
    <desc>Dummy class that is used as a container for resources 
(see Faces 2</desc>
    <longDesc>Dummy class that is used as a container for resources 
(see Faces 2.0 rev A UIViewRoot.addComponentResource javadoc)</longDesc>
  </component>
  <component>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.component.validate.ValidateWholeBeanComponent</className>
    <parentClassName>jakarta.faces.component.UIInput</parentClassName>
    <sourceClassName>org.apache.myfaces.component.validate.ValidateWholeBeanComponent</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIInput</sourceClassParentClassName>
    <type>org.apache.myfaces.component.validate.ValidateWholeBean</type>
    <family>jakarta.faces.Input</family>
    <desc>no description</desc>
    <longDesc></longDesc>
    <property>
      <name>validationGroups</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>disabled</name>
      <className>boolean</className>
      <desc>no description</desc>
      <defaultValue>false</defaultValue>
    </property>
  </component>
  <component>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.push.WebsocketComponent</className>
    <parentClassName>jakarta.faces.component.UIOutput</parentClassName>
    <sourceClassName>org.apache.myfaces.push.AbstractWebsocketComponent</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIOutput</sourceClassParentClassName>
    <type>org.apache.myfaces.WebsocketComponent</type>
    <family>jakarta.faces.Output</family>
    <rendererType>org.apache.myfaces.WebsocketComponent</rendererType>
    <generatedComponentClass>true</generatedComponentClass>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <desc>This component hold f:websocket client behavior and other properties</desc>
    <longDesc>This component hold f:websocket client behavior and other properties.</longDesc>
    <property>
      <name>channel</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>scope</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>user</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>onopen</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>onmessage</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>onclose</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>connected</name>
      <className>boolean</className>
      <desc>no description</desc>
      <defaultValue>true</defaultValue>
      <generated>true</generated>
    </property>
  </component>
  <component>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.push.WebsocketInit</className>
    <parentClassName>jakarta.faces.component.UIOutput</parentClassName>
    <sourceClassName>org.apache.myfaces.push._WebsocketInit</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIOutput</sourceClassParentClassName>
    <type>org.apache.myfaces.WebsocketInit</type>
    <family>jakarta.faces.Output</family>
    <rendererType>org.apache.myfaces.WebsocketInit</rendererType>
    <generatedComponentClass>true</generatedComponentClass>
    <template>true</template>
    <desc>This component is the one that render the initialization at the end of body section</desc>
    <longDesc>This component is the one that render the initialization at the end of body section.

The idea is it works like a buffer that collects all markup generated by 
UIWebsocket and then render it at the end of body section. In that way it 
is possible to preserve the context and ensure the script is called when the page
is loaded.</longDesc>
  </component>
  <component>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.component.UIRepeat</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.view.facelets.component.UIRepeat</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <name>ui:repeat</name>
    <type>facelets.ui.Repeat</type>
    <family>facelets</family>
    <rendererType>facelets.ui.Repeat</rendererType>
    <desc>no description</desc>
    <longDesc></longDesc>
    <property>
      <name>offset</name>
      <className>int</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>size</name>
      <className>int</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>step</name>
      <className>int</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>begin</name>
      <className>int</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>end</name>
      <className>int</className>
      <desc>no description</desc>
    </property>
    <property>
      <name>var</name>
      <className>java.lang.String</className>
      <literalOnly>true</literalOnly>
      <desc>no description</desc>
    </property>
    <property>
      <name>varStatus</name>
      <className>java.lang.String</className>
      <literalOnly>true</literalOnly>
      <desc>no description</desc>
    </property>
    <property>
      <name>rowStatePreserved</name>
      <className>boolean</className>
      <literalOnly>true</literalOnly>
      <desc>Indicates whether the state for a component in each row should not be
discarded before the datatable is rendered again</desc>
      <longDesc>Indicates whether the state for a component in each row should not be
discarded before the datatable is rendered again.

This will only work reliable if the datamodel of the
datatable did not change either by sorting, removing or
adding rows. Default: false</longDesc>
      <faceletsOnly>true</faceletsOnly>
    </property>
    <property>
      <name>value</name>
      <className>java.lang.Object</className>
      <desc>no description</desc>
    </property>
  </component>
  <component>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.component.JsfElement</className>
    <parentClassName>jakarta.faces.component.UIPanel</parentClassName>
    <sourceClassName>org.apache.myfaces.view.facelets.component._JsfElement</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIPanel</sourceClassParentClassName>
    <name>jsf:element</name>
    <type>oam.passthrough.Element</type>
    <family>jakarta.faces.Panel</family>
    <rendererType>jakarta.faces.passthrough.Element</rendererType>
    <defaultEventName>click</defaultEventName>
    <overrideDefaultEventName>true</overrideDefaultEventName>
    <implements>jakarta.faces.component.behavior.ClientBehaviorHolder</implements>
    <generatedComponentClass>true</generatedComponentClass>
    <template>true</template>
    <clientBehaviorHolder>true</clientBehaviorHolder>
    <implementedInterfaces>
      <interface name="jakarta.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>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>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>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>
  </component>
  <component>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.html._HtmlOutputScript</className>
    <parentClassName>jakarta.faces.component.UIOutput</parentClassName>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.html._HtmlOutputScript</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIOutput</sourceClassParentClassName>
    <rendererType>jakarta.faces.resource.Script</rendererType>
    <configExcluded>true</configExcluded>
    <desc>
<![CDATA[
<p>
This tag is backed using a jakarta
]]>
    </desc>
    <longDesc>
<![CDATA[
<p>
This tag is backed using a jakarta.faces.component.UIOutput component instance.
In other words, instances of this component class are created when it is resolved
a Resource annotation, so there is no concrete class or specific tag handler for it,
but there exists a concrete renderer for it.
</p>
]]>
    </longDesc>
    <property>
      <name>library</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>name</name>
      <className>java.lang.String</className>
      <required>true</required>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>target</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
  </component>
  <component>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.html._HtmlOutputStylesheet</className>
    <parentClassName>jakarta.faces.component.UIOutput</parentClassName>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.html._HtmlOutputStylesheet</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIOutput</sourceClassParentClassName>
    <rendererType>jakarta.faces.resource.Stylesheet</rendererType>
    <configExcluded>true</configExcluded>
    <desc>
<![CDATA[
<p>
This tag is backed using a jakarta
]]>
    </desc>
    <longDesc>
<![CDATA[
<p>
This tag is backed using a jakarta.faces.component.UIOutput component instance.
In other words, instances of this component class are created when it is resolved
a Resource annotation, so there is no concrete class or specific tag handler for it,
but there exists a concrete renderer for it.
</p>
]]>
    </longDesc>
    <property>
      <name>library</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
    <property>
      <name>name</name>
      <className>java.lang.String</className>
      <required>true</required>
      <desc>no description</desc>
      <generated>true</generated>
    </property>
  </component>
  <component>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.ui.ComponentRef</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.ui.ComponentRef</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <type>facelets.ui.ComponentRef</type>
    <family>facelets</family>
    <desc>no description</desc>
    <property>
      <name>rendered</name>
      <className>boolean</className>
      <desc>no description</desc>
      <tagExcluded>true</tagExcluded>
    </property>
  </component>
  <component>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.ui.UIDebug</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.ui.UIDebug</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <name>ui:debug</name>
    <type>facelets.ui.Debug</type>
    <family>facelets</family>
    <desc>The debug tag will capture the component tree and variables when it is encoded, 
storing the data for retrieval later</desc>
    <longDesc>The debug tag will capture the component tree and variables when it is encoded, 
storing the data for retrieval later. You may launch the debug window at any time 
from your browser by pressing 'CTRL' + 'SHIFT' + 'D' (by default).

The debug tag doesn't need to be used with the facelet.DEVELOPMENT parameter.
The best place to put this tag is in your site's main template where it can be 
enabled/disabled across your whole application. 

If your application uses multiple windows, you might want to assign different 
hot keys to each one.</longDesc>
    <property>
      <name>id</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
      <tagExcluded>true</tagExcluded>
    </property>
    <property>
      <name>hotkey</name>
      <className>java.lang.String</className>
      <desc>The hot key to use in combination with 'CTRL' + 'SHIFT' to launch the debug window</desc>
      <longDesc>The hot key to use in combination with 'CTRL' + 'SHIFT' to launch the debug window. 
By default, when the debug tag is used, you may launch the debug window with 
'CTRL' + 'SHIFT' + 'D'. This value cannot be an EL expression.</longDesc>
    </property>
    <property>
      <name>binding</name>
      <desc>no description</desc>
      <tagExcluded>true</tagExcluded>
      <generated>false</generated>
    </property>
  </component>
  <component>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.ui._Component</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.ui._Component</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <type>facelets.ui.ComponentRef</type>
    <family>facelets</family>
    <rendererType>jakarta.faces.resource.Script</rendererType>
    <configExcluded>true</configExcluded>
    <desc>The component tag and the composition tag behave exactly the same, except the component
tag will insert a new UIComponent instance into the tree as the root of all the child 
components/fragments it has</desc>
    <longDesc>
<![CDATA[
The component tag and the composition tag behave exactly the same, except the component
tag will insert a new UIComponent instance into the tree as the root of all the child 
components/fragments it has.
<p>
The component class used for this tag is 
org.apache.myfaces.view.facelets.tag.ui.ComponentRef and the 
real java class that contains this description is not used on runtime.
</p>
]]>
    </longDesc>
    <property>
      <name>rendered</name>
      <className>boolean</className>
      <desc>no description</desc>
      <tagExcluded>true</tagExcluded>
    </property>
  </component>
  <component>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.ui._Fragment</className>
    <parentClassName>jakarta.faces.component.UIComponentBase</parentClassName>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.ui._Fragment</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.component.UIComponentBase</sourceClassParentClassName>
    <type>facelets.ui.ComponentRef</type>
    <family>facelets</family>
    <rendererType>jakarta.faces.resource.Script</rendererType>
    <configExcluded>true</configExcluded>
    <desc>Just like composition has decorate as a non-trimming version of the same behavior,
component has fragment</desc>
    <longDesc>
<![CDATA[
Just like composition has decorate as a non-trimming version of the same behavior,
component has fragment. This allows you to logically insert a UIComponent into the 
tree and possibly bind this fragment to a JavaBean property or Map for management. 
The fragment tag was also added to Facelets to get around some of the optimizations 
used in handling text within your document. If you are using components such as 
&lt;f:panelGrid/&gt;, which renders its children, you may want more control over the 
building process that Facelets does and using a fragment tag will help guarantee 
parent/child relationships for you.

<p>
The component class used for this tag is 
org.apache.myfaces.view.facelets.tag.ui.ComponentRef and the 
real java class that contains this description is not used on runtime.
</p>
]]>
    </longDesc>
    <property>
      <name>rendered</name>
      <className>boolean</className>
      <desc>no description</desc>
      <tagExcluded>true</tagExcluded>
    </property>
  </component>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.convert.BigDecimalConverter</className>
    <sourceClassName>jakarta.faces.convert.BigDecimalConverter</sourceClassName>
    <converterId>jakarta.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">Faces Specification</a>]]></longDesc>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.convert.BigIntegerConverter</className>
    <sourceClassName>jakarta.faces.convert.BigIntegerConverter</sourceClassName>
    <converterId>jakarta.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">Faces Specification</a>]]></longDesc>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.convert.BooleanConverter</className>
    <sourceClassName>jakarta.faces.convert.BooleanConverter</sourceClassName>
    <converterId>jakarta.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">Faces Specification</a>]]></longDesc>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.convert.ByteConverter</className>
    <sourceClassName>jakarta.faces.convert.ByteConverter</sourceClassName>
    <converterId>jakarta.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">Faces Specification</a>]]></longDesc>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.convert.CharacterConverter</className>
    <sourceClassName>jakarta.faces.convert.CharacterConverter</sourceClassName>
    <converterId>jakarta.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">Faces Specification</a>]]></longDesc>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.convert.DateTimeConverter</className>
    <sourceClassName>jakarta.faces.convert.DateTimeConverter</sourceClassName>
    <name>f:convertDateTime</name>
    <converterId>jakarta.faces.DateTime</converterId>
    <bodyContent>empty</bodyContent>
    <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">Faces 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.
Valid values are: "date", "time", "both", "localDate", "localDateTime", "localTime", "offsetTime",
"offsetDateTime", and "zonedDateTime".
The prefixes "local", "offset", "zoned" are used, when the type of the value is
one of the corresponding Java 8 Date Time API classes.
Default is "date".</longDesc>
    </property>
    <property>
      <name>binding</name>
      <className>jakarta.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>jakarta.faces.convert.DoubleConverter</className>
    <sourceClassName>jakarta.faces.convert.DoubleConverter</sourceClassName>
    <converterId>jakarta.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">Faces Specification</a>]]></longDesc>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.convert.EnumConverter</className>
    <sourceClassName>jakarta.faces.convert.EnumConverter</sourceClassName>
    <converterId>jakarta.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">Faces Specification</a>]]></longDesc>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.convert.FloatConverter</className>
    <sourceClassName>jakarta.faces.convert.FloatConverter</sourceClassName>
    <converterId>jakarta.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">Faces Specification</a>]]></longDesc>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.convert.IntegerConverter</className>
    <sourceClassName>jakarta.faces.convert.IntegerConverter</sourceClassName>
    <converterId>jakarta.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">Faces Specification</a>]]></longDesc>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.convert.LongConverter</className>
    <sourceClassName>jakarta.faces.convert.LongConverter</sourceClassName>
    <converterId>jakarta.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">Faces Specification</a>]]></longDesc>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.convert.NumberConverter</className>
    <sourceClassName>jakarta.faces.convert.NumberConverter</sourceClassName>
    <name>f:convertNumber</name>
    <converterId>jakarta.faces.Number</converterId>
    <bodyContent>empty</bodyContent>
    <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">Faces 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>jakarta.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>jakarta.faces.convert.ShortConverter</className>
    <sourceClassName>jakarta.faces.convert.ShortConverter</sourceClassName>
    <converterId>jakarta.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">Faces Specification</a>]]></longDesc>
  </converter>
  <converter>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.convert.UUIDConverter</className>
    <sourceClassName>jakarta.faces.convert.UUIDConverter</sourceClassName>
    <converterId>jakarta.faces.UUID</converterId>
    <desc>no description</desc>
    <longDesc></longDesc>
  </converter>
  <validator>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.validator.BeanValidator</className>
    <sourceClassName>jakarta.faces.validator.BeanValidator</sourceClassName>
    <name>f:validateBean</name>
    <validatorId>jakarta.faces.Bean</validatorId>
    <bodyContent>empty</bodyContent>
    <desc>
<![CDATA[
<p>
<strong>BeanValidator</strong> is a {@link jakarta
]]>
    </desc>
    <longDesc>
<![CDATA[
<p>
<strong>BeanValidator</strong> is a {@link jakarta.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>jakarta.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>jakarta.faces.validator.DoubleRangeValidator</className>
    <sourceClassName>jakarta.faces.validator.DoubleRangeValidator</sourceClassName>
    <name>f:validateDoubleRange</name>
    <validatorId>jakarta.faces.DoubleRange</validatorId>
    <bodyContent>empty</bodyContent>
    <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">Faces 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>jakarta.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>jakarta.faces.validator.LengthValidator</className>
    <sourceClassName>jakarta.faces.validator.LengthValidator</sourceClassName>
    <name>f:validateLength</name>
    <validatorId>jakarta.faces.Length</validatorId>
    <bodyContent>empty</bodyContent>
    <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">Faces 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>jakarta.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>jakarta.faces.validator.LongRangeValidator</className>
    <sourceClassName>jakarta.faces.validator.LongRangeValidator</sourceClassName>
    <name>f:validateLongRange</name>
    <validatorId>jakarta.faces.LongRange</validatorId>
    <bodyContent>empty</bodyContent>
    <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">Faces 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>jakarta.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>jakarta.faces.validator.RegexValidator</className>
    <sourceClassName>jakarta.faces.validator.RegexValidator</sourceClassName>
    <name>f:validateRegex</name>
    <validatorId>jakarta.faces.RegularExpression</validatorId>
    <bodyContent>empty</bodyContent>
    <desc>
<![CDATA[
<p>
  <strong>RegexValidator</strong> is a {@link jakarta
]]>
    </desc>
    <longDesc>
<![CDATA[
<p>
  <strong>RegexValidator</strong> is a {@link jakarta.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 jakarta.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 jakarta.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>jakarta.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>jakarta.faces.validator.RequiredValidator</className>
    <sourceClassName>jakarta.faces.validator.RequiredValidator</sourceClassName>
    <name>f:validateRequired</name>
    <validatorId>jakarta.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>jakarta.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>
  <renderKit>
    <renderKitId>HTML_BASIC</renderKitId>
    <className>org.apache.myfaces.renderkit.html.HtmlRenderKitImpl</className>
    <renderer>
      <className>org.apache.myfaces.view.facelets.component.RepeatRenderer</className>
      <componentFamily>facelets</componentFamily>
      <rendererType>facelets.ui.Repeat</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlButtonRenderer</className>
      <componentFamily>jakarta.faces.Command</componentFamily>
      <rendererType>jakarta.faces.Button</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlLinkRenderer</className>
      <componentFamily>jakarta.faces.Command</componentFamily>
      <rendererType>jakarta.faces.Link</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlCommandScriptRenderer</className>
      <componentFamily>jakarta.faces.Command</componentFamily>
      <rendererType>jakarta.faces.Script</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlTableRenderer</className>
      <componentFamily>jakarta.faces.Data</componentFamily>
      <rendererType>jakarta.faces.Table</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlFormRenderer</className>
      <componentFamily>jakarta.faces.Form</componentFamily>
      <rendererType>jakarta.faces.Form</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlImageRenderer</className>
      <componentFamily>jakarta.faces.Graphic</componentFamily>
      <rendererType>jakarta.faces.Image</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlInputFileRenderer</className>
      <componentFamily>jakarta.faces.Input</componentFamily>
      <rendererType>jakarta.faces.File</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlHiddenRenderer</className>
      <componentFamily>jakarta.faces.Input</componentFamily>
      <rendererType>jakarta.faces.Hidden</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlSecretRenderer</className>
      <componentFamily>jakarta.faces.Input</componentFamily>
      <rendererType>jakarta.faces.Secret</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlTextRenderer</className>
      <componentFamily>jakarta.faces.Input</componentFamily>
      <rendererType>jakarta.faces.Text</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlTextareaRenderer</className>
      <componentFamily>jakarta.faces.Input</componentFamily>
      <rendererType>jakarta.faces.Textarea</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlMessagesRenderer</className>
      <componentFamily>jakarta.faces.Messages</componentFamily>
      <rendererType>jakarta.faces.Messages</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlMessageRenderer</className>
      <componentFamily>jakarta.faces.Message</componentFamily>
      <rendererType>jakarta.faces.Message</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlCompositeComponentRenderer</className>
      <componentFamily>jakarta.faces.NamingContainer</componentFamily>
      <rendererType>jakarta.faces.Composite</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlOutcomeTargetButtonRenderer</className>
      <componentFamily>jakarta.faces.OutcomeTarget</componentFamily>
      <rendererType>jakarta.faces.Button</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlLinkRenderer</className>
      <componentFamily>jakarta.faces.OutcomeTarget</componentFamily>
      <rendererType>jakarta.faces.Link</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlBodyRenderer</className>
      <componentFamily>jakarta.faces.Output</componentFamily>
      <rendererType>jakarta.faces.Body</rendererType>
      <description>Renderer used by h:body component</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlCompositeFacetRenderer</className>
      <componentFamily>jakarta.faces.Output</componentFamily>
      <rendererType>jakarta.faces.CompositeFacet</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlDoctypeRenderer</className>
      <componentFamily>jakarta.faces.Output</componentFamily>
      <rendererType>jakarta.faces.Doctype</rendererType>
      <description>Rendered used by h:doctype tag</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlFormatRenderer</className>
      <componentFamily>jakarta.faces.Output</componentFamily>
      <rendererType>jakarta.faces.Format</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlHeadRenderer</className>
      <componentFamily>jakarta.faces.Output</componentFamily>
      <rendererType>jakarta.faces.Head</rendererType>
      <description>Renderer used by h:head component</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlLabelRenderer</className>
      <componentFamily>jakarta.faces.Output</componentFamily>
      <rendererType>jakarta.faces.Label</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlLinkRenderer</className>
      <componentFamily>jakarta.faces.Output</componentFamily>
      <rendererType>jakarta.faces.Link</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlTextRenderer</className>
      <componentFamily>jakarta.faces.Output</componentFamily>
      <rendererType>jakarta.faces.Text</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlScriptRenderer</className>
      <componentFamily>jakarta.faces.Output</componentFamily>
      <rendererType>jakarta.faces.resource.Script</rendererType>
      <description>Renderer used by h:outputScript component</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlStylesheetRenderer</className>
      <componentFamily>jakarta.faces.Output</componentFamily>
      <rendererType>jakarta.faces.resource.Stylesheet</rendererType>
      <description>Renderer used by h:outputStylesheet component</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.push.WebsocketInitRenderer</className>
      <componentFamily>jakarta.faces.Output</componentFamily>
      <rendererType>org.apache.myfaces.WebsocketInit</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlGridRenderer</className>
      <componentFamily>jakarta.faces.Panel</componentFamily>
      <rendererType>jakarta.faces.Grid</rendererType>
      <description>X-CHECKED: tlddoc h:panelGrid 1</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlGroupRenderer</className>
      <componentFamily>jakarta.faces.Panel</componentFamily>
      <rendererType>jakarta.faces.Group</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.view.facelets.component.JsfElementRenderer</className>
      <componentFamily>jakarta.faces.Panel</componentFamily>
      <rendererType>jakarta.faces.passthrough.Element</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.push.WebsocketComponentRenderer</className>
      <componentFamily>jakarta.faces.Script</componentFamily>
      <rendererType>jakarta.faces.Websocket</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlCheckboxRenderer</className>
      <componentFamily>jakarta.faces.SelectBoolean</componentFamily>
      <rendererType>jakarta.faces.Checkbox</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlCheckboxRenderer</className>
      <componentFamily>jakarta.faces.SelectMany</componentFamily>
      <rendererType>jakarta.faces.Checkbox</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlListboxRenderer</className>
      <componentFamily>jakarta.faces.SelectMany</componentFamily>
      <rendererType>jakarta.faces.Listbox</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlMenuRenderer</className>
      <componentFamily>jakarta.faces.SelectMany</componentFamily>
      <rendererType>jakarta.faces.Menu</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlListboxRenderer</className>
      <componentFamily>jakarta.faces.SelectOne</componentFamily>
      <rendererType>jakarta.faces.Listbox</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlMenuRenderer</className>
      <componentFamily>jakarta.faces.SelectOne</componentFamily>
      <rendererType>jakarta.faces.Menu</rendererType>
      <description>no description</description>
    </renderer>
    <renderer>
      <className>org.apache.myfaces.renderkit.html.HtmlRadioRenderer</className>
      <componentFamily>jakarta.faces.SelectOne</componentFamily>
      <rendererType>jakarta.faces.Radio</rendererType>
      <description>no description</description>
    </renderer>
  </renderKit>
  <faceletTag>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.view.facelets.FaceletsAttachedObjectHandler</className>
    <sourceClassName>jakarta.faces.view.facelets.FaceletsAttachedObjectHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.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>jakarta.faces.view.facelets.BehaviorHandler</className>
    <parentClassName>jakarta.faces.view.facelets.FaceletsAttachedObjectHandler</parentClassName>
    <sourceClassName>jakarta.faces.view.facelets.BehaviorHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.FaceletsAttachedObjectHandler</sourceClassParentClassName>
    <bodyContent>JSP</bodyContent>
    <desc>no description</desc>
    <longDesc></longDesc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.view.facelets.ConverterHandler</className>
    <parentClassName>jakarta.faces.view.facelets.FaceletsAttachedObjectHandler</parentClassName>
    <sourceClassName>jakarta.faces.view.facelets.ConverterHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.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.</p>
]]>
    </longDesc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-api</modelId>
    <className>jakarta.faces.view.facelets.ValidatorHandler</className>
    <parentClassName>jakarta.faces.view.facelets.FaceletsAttachedObjectHandler</parentClassName>
    <sourceClassName>jakarta.faces.view.facelets.ValidatorHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.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.</p>
]]>
    </longDesc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.composite.AttachedObjectTargetHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.composite.AttachedObjectTargetHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <bodyContent>JSP</bodyContent>
    <desc>composite:actionSource, composite:valueHolder and composite:editableValueHolder
do the same: register an AttachedObjectTarget on the "targetList" mentioned on
ViewDeclarationLanguage</desc>
    <longDesc>composite:actionSource, composite:valueHolder and composite:editableValueHolder
do the same: register an AttachedObjectTarget on the "targetList" mentioned on
ViewDeclarationLanguage.retargetAttachedObjects. AttachedObjectTargetHandler group the
common behavior</longDesc>
    <attribute>
      <name>name</name>
      <className>jakarta.el.ValueExpression</className>
      <required>true</required>
      <desc>Indicate the name of the attribute that the component should expose
to page authors</desc>
      <longDesc>Indicate the name of the attribute that the component should expose
to page authors.</longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>targets</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>no description</desc>
      <longDesc></longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.composite.ActionSourceHandler</className>
    <parentClassName>org.apache.myfaces.view.facelets.tag.composite.AttachedObjectTargetHandler</parentClassName>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.composite.ActionSourceHandler</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.view.facelets.tag.composite.AttachedObjectTargetHandler</sourceClassParentClassName>
    <name>composite:actionSource</name>
    <bodyContent>JSP</bodyContent>
    <desc>no description</desc>
    <longDesc></longDesc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.composite.AttributeHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.composite.AttributeHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>composite:attribute</name>
    <bodyContent>JSP</bodyContent>
    <desc>no description</desc>
    <longDesc></longDesc>
    <attribute>
      <name>name</name>
      <className>jakarta.el.ValueExpression</className>
      <required>true</required>
      <desc>no description</desc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>targets</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>no description</desc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>default</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>If this property is set and the attribute does not have any
value (null), the value set on this property is returned as default
instead null</desc>
      <longDesc>If this property is set and the attribute does not have any
value (null), the value set on this property is returned as default
instead null.</longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>displayName</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Only available if ProjectStage is Development</desc>
      <longDesc>Only available if ProjectStage is Development.</longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>required</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>
<![CDATA[
Indicate if the attribute is required or not
<p>
Myfaces specific feature: this attribute is checked only if project stage is
not ProjectStage
]]>
      </desc>
      <longDesc>
<![CDATA[
Indicate if the attribute is required or not
<p>
Myfaces specific feature: this attribute is checked only if project stage is
not ProjectStage.Production when a composite component is created.</p>
]]>
      </longDesc>
      <deferredValueType>boolean</deferredValueType>
    </attribute>
    <attribute>
      <name>preferred</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Only available if ProjectStage is Development</desc>
      <longDesc>Only available if ProjectStage is Development.</longDesc>
      <deferredValueType>boolean</deferredValueType>
    </attribute>
    <attribute>
      <name>expert</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Only available if ProjectStage is Development</desc>
      <longDesc>Only available if ProjectStage is Development.</longDesc>
      <deferredValueType>boolean</deferredValueType>
    </attribute>
    <attribute>
      <name>shortDescription</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Only available if ProjectStage is Development</desc>
      <longDesc>Only available if ProjectStage is Development.</longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>method-signature</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>no description</desc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>type</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>no description</desc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>hidden</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>The "hidden" flag is used to identify features that are intended only 
for tool use, and which should not be exposed to humans</desc>
      <longDesc>The "hidden" flag is used to identify features that are intended only 
for tool use, and which should not be exposed to humans.
Only available if ProjectStage is Development.</longDesc>
      <deferredValueType>boolean</deferredValueType>
    </attribute>
    <attribute>
      <name>targetAttributeName</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>no description</desc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.composite.ClientBehaviorHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.composite.ClientBehaviorHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>composite:clientBehavior</name>
    <bodyContent>JSP</bodyContent>
    <desc>no description</desc>
    <longDesc></longDesc>
    <attribute>
      <name>event</name>
      <className>jakarta.el.ValueExpression</className>
      <required>true</required>
      <desc>This attribute is used as the target event 
name, so client behaviors pointing to "name" 
will be attached on the related components 
identified by "targets" attribute and on 
the event name this attribute holds</desc>
      <longDesc>This attribute is used as the target event 
name, so client behaviors pointing to "name" 
will be attached on the related components 
identified by "targets" attribute and on 
the event name this attribute holds. In other
words, this is the "real" event name.</longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>name</name>
      <className>jakarta.el.ValueExpression</className>
      <required>true</required>
      <desc>This attribute represents the source event name 
that is used when instances of the composite 
component are used</desc>
      <longDesc>This attribute represents the source event name 
that is used when instances of the composite 
component are used. In other
words, this is the "logical" event name.</longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>default</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Indicate this clientBehavior description is the one
that has to be taken by default</desc>
      <longDesc>Indicate this clientBehavior description is the one
that has to be taken by default. There should be only
one clientBehavior with this property set to true in
a composite component interface description.</longDesc>
      <deferredValueType>boolean</deferredValueType>
    </attribute>
    <attribute>
      <name>targets</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Contains a list of clientIds separated by spaces that 
identify the component(s) that will be used to attach 
client behaviors from the composite component</desc>
      <longDesc>Contains a list of clientIds separated by spaces that 
identify the component(s) that will be used to attach 
client behaviors from the composite component.</longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.composite.EditableValueHolderHandler</className>
    <parentClassName>org.apache.myfaces.view.facelets.tag.composite.AttachedObjectTargetHandler</parentClassName>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.composite.EditableValueHolderHandler</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.view.facelets.tag.composite.AttachedObjectTargetHandler</sourceClassParentClassName>
    <name>composite:editableValueHolder</name>
    <bodyContent>JSP</bodyContent>
    <desc>no description</desc>
    <longDesc></longDesc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.composite.ExtensionHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.composite.ExtensionHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>composite:extension</name>
    <bodyContent>JSP</bodyContent>
    <desc>This tag is deprecated since 4</desc>
    <longDesc>This tag is deprecated since 4.1 with plans to remove it in Faces 5.0</longDesc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.composite.FacetHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.composite.FacetHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>composite:facet</name>
    <bodyContent>JSP</bodyContent>
    <desc>Define the facets used by this composite component</desc>
    <longDesc>
<![CDATA[
Define the facets used by this composite component.
<p>
This tag is used inside composite:interface tag. All facets
should be saved under the key UIComponent.FACETS_KEY on the
bean descriptor map as a Map&lt;String, PropertyDescriptor&gt;
</p>
]]>
    </longDesc>
    <attribute>
      <name>name</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>no description</desc>
      <longDesc></longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>displayName</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Only available if ProjectStage is Development</desc>
      <longDesc>Only available if ProjectStage is Development.</longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>required</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>
<![CDATA[
Indicate if the attribute is required or not
<p>
Myfaces specific feature: this attribute is checked only if project stage is
not ProjectStage
]]>
      </desc>
      <longDesc>
<![CDATA[
Indicate if the attribute is required or not
<p>
Myfaces specific feature: this attribute is checked only if project stage is
not ProjectStage.Production when a composite component is created.
</p>
]]>
      </longDesc>
      <deferredValueType>boolean</deferredValueType>
    </attribute>
    <attribute>
      <name>preferred</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Only available if ProjectStage is Development</desc>
      <longDesc>Only available if ProjectStage is Development.</longDesc>
      <deferredValueType>boolean</deferredValueType>
    </attribute>
    <attribute>
      <name>expert</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Only available if ProjectStage is Development</desc>
      <longDesc>Only available if ProjectStage is Development.</longDesc>
      <deferredValueType>boolean</deferredValueType>
    </attribute>
    <attribute>
      <name>shortDescription</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Only available if ProjectStage is Development</desc>
      <longDesc>Only available if ProjectStage is Development.</longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>hidden</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>The "hidden" flag is used to identify features that are intended only 
for tool use, and which should not be exposed to humans</desc>
      <longDesc>The "hidden" flag is used to identify features that are intended only 
for tool use, and which should not be exposed to humans.
Only available if ProjectStage is Development.</longDesc>
      <deferredValueType>boolean</deferredValueType>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.composite.ImplementationHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.composite.ImplementationHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>composite:implementation</name>
    <bodyContent>JSP</bodyContent>
    <desc>no description</desc>
    <longDesc></longDesc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.composite.InsertChildrenHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.composite.InsertChildrenHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>composite:insertChildren</name>
    <bodyContent>JSP</bodyContent>
    <desc>no description</desc>
    <longDesc></longDesc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.composite.InsertFacetHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.composite.InsertFacetHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>composite:insertFacet</name>
    <bodyContent>JSP</bodyContent>
    <desc>Insert or move the facet from the composite component body to the expected location</desc>
    <longDesc>Insert or move the facet from the composite component body to the expected location.</longDesc>
    <attribute>
      <name>name</name>
      <className>jakarta.el.ValueExpression</className>
      <required>true</required>
      <desc>The name that identify the current facet</desc>
      <longDesc>The name that identify the current facet.</longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>required</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Define if the facet to be inserted is required or not for every instance of
this composite component</desc>
      <longDesc>Define if the facet to be inserted is required or not for every instance of
this composite component.</longDesc>
      <deferredValueType>boolean</deferredValueType>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.composite.InterfaceHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.composite.InterfaceHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>composite:interface</name>
    <bodyContent>JSP</bodyContent>
    <desc>no description</desc>
    <longDesc></longDesc>
    <attribute>
      <name>name</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>no description</desc>
      <longDesc></longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>componentType</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>no description</desc>
      <longDesc></longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>displayName</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Only available if ProjectStage is Development</desc>
      <longDesc>Only available if ProjectStage is Development.</longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>preferred</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Only available if ProjectStage is Development</desc>
      <longDesc>Only available if ProjectStage is Development.</longDesc>
      <deferredValueType>boolean</deferredValueType>
    </attribute>
    <attribute>
      <name>expert</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Only available if ProjectStage is Development</desc>
      <longDesc>Only available if ProjectStage is Development.</longDesc>
      <deferredValueType>boolean</deferredValueType>
    </attribute>
    <attribute>
      <name>shortDescription</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Only available if ProjectStage is Development</desc>
      <longDesc>Only available if ProjectStage is Development.</longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>hidden</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>The "hidden" flag is used to identify features that are intended only 
for tool use, and which should not be exposed to humans</desc>
      <longDesc>The "hidden" flag is used to identify features that are intended only 
for tool use, and which should not be exposed to humans.
Only available if ProjectStage is Development.</longDesc>
      <deferredValueType>boolean</deferredValueType>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.composite.RenderFacetHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.composite.RenderFacetHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.ComponentHandler</sourceClassParentClassName>
    <name>composite:renderFacet</name>
    <bodyContent>JSP</bodyContent>
    <desc>Render the facet defined on the composite component body to the current location</desc>
    <longDesc>Render the facet defined on the composite component body to the current location</longDesc>
    <attribute>
      <name>name</name>
      <className>jakarta.el.ValueExpression</className>
      <required>true</required>
      <desc>The name that identify the current facet</desc>
      <longDesc>The name that identify the current facet.</longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>required</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Define if the facet to be inserted is required or not for every instance of
this composite component</desc>
      <longDesc>Define if the facet to be inserted is required or not for every instance of
this composite component.</longDesc>
      <deferredValueType>boolean</deferredValueType>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.composite.ValueHolderHandler</className>
    <parentClassName>org.apache.myfaces.view.facelets.tag.composite.AttachedObjectTargetHandler</parentClassName>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.composite.ValueHolderHandler</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.view.facelets.tag.composite.AttachedObjectTargetHandler</sourceClassParentClassName>
    <name>composite:valueHolder</name>
    <bodyContent>JSP</bodyContent>
    <desc>no description</desc>
    <longDesc></longDesc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.JsfElementHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.JsfElementHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.ComponentHandler</sourceClassParentClassName>
    <name>jsf:element</name>
    <bodyContent>JSP</bodyContent>
    <desc>no description</desc>
    <longDesc></longDesc>
    <componentClass>org.apache.myfaces.view.facelets.component.JsfElement</componentClass>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.ActionListenerHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.ActionListenerHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>f:actionListener</name>
    <bodyContent>empty</bodyContent>
    <desc>Register an ActionListener instance on the UIComponent associated with the closest parent UIComponent custom action</desc>
    <longDesc>Register an ActionListener instance on the UIComponent associated with the closest parent UIComponent custom action.

See jakarta.faces.event.ActionListener
See jakarta.faces.component.ActionSource</longDesc>
    <attribute>
      <name>for</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.AjaxHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.AjaxHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>f:ajax</name>
    <bodyContent>JSP</bodyContent>
    <desc>This tag creates an instance of AjaxBehavior, and associates it with the nearest 
parent UIComponent that implements ClientBehaviorHolder interface</desc>
    <longDesc>
<![CDATA[
This tag creates an instance of AjaxBehavior, and associates it with the nearest 
parent UIComponent that implements ClientBehaviorHolder interface. This tag can
be used on single or composite components.
<p>
Unless otherwise specified, all attributes accept static values or EL expressions.
</p>
<p>
According to the documentation, the tag handler implementing this tag should meet
the following conditions:  
</p>
<ul>
<li>Since this tag attach objects to UIComponent instances, and those instances 
implements Behavior interface, this component should implement 
BehaviorHolderAttachedObjectHandler interface.</li>
<li>f:ajax does not support binding property. In theory we should do something similar
to f:convertDateTime tag does: extends from ConverterHandler and override setAttributes
method, but in this case BehaviorTagHandlerDelegate has binding property defined, so
if we extend from BehaviorHandler we add binding support to f:ajax.</li>
<li>This tag works as a attached object handler, but note on the api there is no component
to define a target for a behavior. See comment inside apply() method.</li>
</ul>
]]>
    </longDesc>
    <attribute>
      <name>disabled</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>no description</desc>
      <deferredValueType>java.lang.Boolean</deferredValueType>
    </attribute>
    <attribute>
      <name>event</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>no description</desc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>execute</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>no description</desc>
      <deferredValueType>java.lang.Object</deferredValueType>
    </attribute>
    <attribute>
      <name>immediate</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>no description</desc>
      <deferredValueType>java.lang.Boolean</deferredValueType>
    </attribute>
    <attribute>
      <name>listener</name>
      <className>jakarta.el.MethodExpression</className>
      <desc>no description</desc>
      <deferredMethodSignature>public void m(jakarta.faces.event.AjaxBehaviorEvent evt) " + "throws jakarta.faces.event.AbortProcessingException</deferredMethodSignature>
    </attribute>
    <attribute>
      <name>onevent</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>no description</desc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>onerror</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>no description</desc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>render</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>no description</desc>
      <deferredValueType>java.lang.Object</deferredValueType>
    </attribute>
    <attribute>
      <name>delay</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>no description</desc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>resetValues</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>no description</desc>
      <deferredValueType>java.lang.Boolean</deferredValueType>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.AttributeHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.AttributeHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>f:attribute</name>
    <bodyContent>empty</bodyContent>
    <desc>Sets the specified name and attribute on the parent UIComponent</desc>
    <longDesc>Sets the specified name and attribute on the parent UIComponent. If the "value" specified is not a literal, it will
instead set the ValueExpression on the UIComponent. 

See jakarta.faces.component.UIComponent#getAttributes()
See jakarta.faces.component.UIComponent#setValueExpression(java.lang.String, jakarta.el.ValueExpression)</longDesc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.AttributesHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.AttributesHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>f:attributes</name>
    <bodyContent>empty</bodyContent>
    <desc>no description</desc>
    <longDesc></longDesc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.ConvertDateTimeHandler</className>
    <parentClassName>jakarta.faces.view.facelets.ConverterHandler</parentClassName>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.ConvertDateTimeHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.ConverterHandler</sourceClassParentClassName>
    <name>f:convertDateTime</name>
    <bodyContent>empty</bodyContent>
    <desc>Register a DateTimeConverter instance on the UIComponent associated with the closest parent UIComponent custom
action</desc>
    <longDesc>Register a DateTimeConverter instance on the UIComponent associated with the closest parent UIComponent custom
action.</longDesc>
    <converterClass>jakarta.faces.convert.DateTimeConverter</converterClass>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.ConvertDelegateHandler</className>
    <parentClassName>jakarta.faces.view.facelets.ConverterHandler</parentClassName>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.ConvertDelegateHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.ConverterHandler</sourceClassParentClassName>
    <name>f:converter</name>
    <bodyContent>empty</bodyContent>
    <desc>Register a named Converter instance on the UIComponent associated with the closest parent UIComponent custom action</desc>
    <longDesc>Register a named Converter instance on the UIComponent associated with the closest parent UIComponent custom action.</longDesc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.ConvertNumberHandler</className>
    <parentClassName>jakarta.faces.view.facelets.ConverterHandler</parentClassName>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.ConvertNumberHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.ConverterHandler</sourceClassParentClassName>
    <name>f:convertNumber</name>
    <bodyContent>empty</bodyContent>
    <desc>Register a NumberConverter instance on the UIComponent associated with the closest parent UIComponent custom action</desc>
    <longDesc>Register a NumberConverter instance on the UIComponent associated with the closest parent UIComponent custom action.</longDesc>
    <converterClass>jakarta.faces.convert.NumberConverter</converterClass>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.EventHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.EventHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>f:event</name>
    <bodyContent>empty</bodyContent>
    <desc>Registers a listener for a given system event class on the UIComponent associated with this tag</desc>
    <longDesc>Registers a listener for a given system event class on the UIComponent associated with this tag.</longDesc>
    <attribute>
      <name>listener</name>
      <className>jakarta.el.MethodExpression</className>
      <desc>no description</desc>
      <deferredMethodSignature>public void listener(jakarta.faces.event.ComponentSystemEvent evt) " + "throws jakarta.faces.event.AbortProcessingException</deferredMethodSignature>
    </attribute>
    <attribute>
      <name>type</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>no description</desc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.FacetHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.FacetHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>f:facet</name>
    <bodyContent>JSP</bodyContent>
    <desc>Register a named facet on the UIComponent associated with the closest parent UIComponent custom action</desc>
    <longDesc>Register a named facet on the UIComponent associated with the closest parent UIComponent custom action.</longDesc>
    <tagClass>jakarta.faces.webapp.FacetTag</tagClass>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.LoadBundleHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.LoadBundleHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>f:loadBundle</name>
    <bodyContent>empty</bodyContent>
    <desc>Load a resource bundle localized for the Locale of the current view, and expose it (as a Map) in the request
attributes of the current request</desc>
    <longDesc>Load a resource bundle localized for the Locale of the current view, and expose it (as a Map) in the request
attributes of the current request.</longDesc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.PassThroughAttributeHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.PassThroughAttributeHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>f:passThroughAttribute</name>
    <bodyContent>empty</bodyContent>
    <desc>no description</desc>
    <longDesc></longDesc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.PassThroughAttributesHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.PassThroughAttributesHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>f:passThroughAttributes</name>
    <bodyContent>empty</bodyContent>
    <desc>no description</desc>
    <longDesc></longDesc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.PhaseListenerHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.PhaseListenerHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>f:phaseListener</name>
    <bodyContent>empty</bodyContent>
    <desc>no description</desc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.ResetValuesActionListenerHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.ResetValuesActionListenerHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>f:resetValues</name>
    <bodyContent>empty</bodyContent>
    <desc>no description</desc>
    <longDesc></longDesc>
    <attribute>
      <name>for</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
    </attribute>
    <attribute>
      <name>render</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>no description</desc>
      <deferredValueType>java.lang.Object</deferredValueType>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.SelectItemGroupHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.SelectItemGroupHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.ComponentHandler</sourceClassParentClassName>
    <name>f:selectItemGroup</name>
    <bodyContent>empty</bodyContent>
    <desc>no description</desc>
    <componentClass>jakarta.faces.component.UISelectItemGroup</componentClass>
    <attribute>
      <name>noSelectionValue</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Is either an EL expression pointing to the element in the value collection
whose value should be marked as a "no selection" item, or a literal string
that exactly matches the value of the item in the collection that must be 
marked as the "no selection" item</desc>
      <longDesc>Is either an EL expression pointing to the element in the value collection
whose value should be marked as a "no selection" item, or a literal string
that exactly matches the value of the item in the collection that must be 
marked as the "no selection" item. If the user selects such an item and 
the field is marked as required, then it will not pass validation.</longDesc>
      <deferredValueType>java.lang.Boolean</deferredValueType>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.SelectItemGroupsHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.SelectItemGroupsHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.ComponentHandler</sourceClassParentClassName>
    <name>f:selectItemGroups</name>
    <bodyContent>empty</bodyContent>
    <desc>no description</desc>
    <componentClass>jakarta.faces.component.UISelectItemGroups</componentClass>
    <attribute>
      <name>noSelectionValue</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Is either an EL expression pointing to the element in the value collection
whose value should be marked as a "no selection" item, or a literal string
that exactly matches the value of the item in the collection that must be 
marked as the "no selection" item</desc>
      <longDesc>Is either an EL expression pointing to the element in the value collection
whose value should be marked as a "no selection" item, or a literal string
that exactly matches the value of the item in the collection that must be 
marked as the "no selection" item. If the user selects such an item and 
the field is marked as required, then it will not pass validation.</longDesc>
      <deferredValueType>java.lang.Boolean</deferredValueType>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.SelectItemsHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.SelectItemsHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.ComponentHandler</sourceClassParentClassName>
    <name>f:selectItems</name>
    <bodyContent>empty</bodyContent>
    <desc>no description</desc>
    <componentClass>jakarta.faces.component.UISelectItems</componentClass>
    <attribute>
      <name>noSelectionValue</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Is either an EL expression pointing to the element in the value collection
whose value should be marked as a "no selection" item, or a literal string
that exactly matches the value of the item in the collection that must be 
marked as the "no selection" item</desc>
      <longDesc>Is either an EL expression pointing to the element in the value collection
whose value should be marked as a "no selection" item, or a literal string
that exactly matches the value of the item in the collection that must be 
marked as the "no selection" item. If the user selects such an item and 
the field is marked as required, then it will not pass validation.</longDesc>
      <deferredValueType>java.lang.Boolean</deferredValueType>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.SetPropertyActionListenerHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.SetPropertyActionListenerHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>f:setPropertyActionListener</name>
    <bodyContent>empty</bodyContent>
    <desc>no description</desc>
    <attribute>
      <name>for</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.ValidateDelegateHandler</className>
    <parentClassName>jakarta.faces.view.facelets.ValidatorHandler</parentClassName>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.ValidateDelegateHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.ValidatorHandler</sourceClassParentClassName>
    <name>f:validator</name>
    <bodyContent>empty</bodyContent>
    <desc>Register a named Validator instance on the UIComponent associated with the closest parent UIComponent custom
action</desc>
    <longDesc>Register a named Validator instance on the UIComponent associated with the closest parent UIComponent custom
action.</longDesc>
    <attribute>
      <name>disabled</name>
      <desc>no description</desc>
      <longDesc>no description</longDesc>
      <deferredValueType>java.lang.Boolean</deferredValueType>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.ValueChangeListenerHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.ValueChangeListenerHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>f:valueChangeListener</name>
    <bodyContent>empty</bodyContent>
    <desc>Register an ValueChangeListener instance on the UIComponent associated with the closest parent UIComponent custom
action</desc>
    <longDesc>Register an ValueChangeListener instance on the UIComponent associated with the closest parent UIComponent custom
action.</longDesc>
    <attribute>
      <name>for</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.ViewHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.ViewHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>f:view</name>
    <bodyContent>empty</bodyContent>
    <desc>Container for all JavaServer Faces core and custom component actions used on a page</desc>
    <longDesc>Container for all JavaServer Faces core and custom component actions used on a page.</longDesc>
    <componentClass>jakarta.faces.component.UIViewRoot</componentClass>
    <attribute>
      <name>locale</name>
      <desc>no description</desc>
    </attribute>
    <attribute>
      <name>renderKitId</name>
      <desc>no description</desc>
    </attribute>
    <attribute>
      <name>contentType</name>
      <desc>no description</desc>
    </attribute>
    <attribute>
      <name>encoding</name>
      <desc>no description</desc>
    </attribute>
    <attribute>
      <name>beforePhase</name>
      <desc>no description</desc>
    </attribute>
    <attribute>
      <name>afterPhase</name>
      <desc>no description</desc>
    </attribute>
    <attribute>
      <name>transient</name>
      <desc>no description</desc>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.ViewMetadataHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.ViewMetadataHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>f:metadata</name>
    <bodyContent>JSP</bodyContent>
    <desc>Defines the view metadata</desc>
    <longDesc>Defines the view metadata. It is expected that this tag contains only
one or many f:viewParam tags.</longDesc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.core.WebsocketHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.core.WebsocketHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.ComponentHandler</sourceClassParentClassName>
    <name>f:websocket</name>
    <bodyContent>empty</bodyContent>
    <desc>no description</desc>
    <attribute>
      <name>channel</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>no description</desc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.html.HtmlOutputScriptHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.html.HtmlOutputScriptHandler</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.view.facelets.tag.faces.html.HtmlComponentHandler</sourceClassParentClassName>
    <name>h:outputScript</name>
    <bodyContent>JSP</bodyContent>
    <desc>no description</desc>
    <longDesc></longDesc>
    <componentClass>org.apache.myfaces.view.facelets.tag.faces.html._HtmlOutputScript</componentClass>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.faces.html.HtmlOutputStylesheetHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.faces.html.HtmlOutputStylesheetHandler</sourceClassName>
    <sourceClassParentClassName>org.apache.myfaces.view.facelets.tag.faces.html.HtmlComponentHandler</sourceClassParentClassName>
    <name>h:outputStylesheet</name>
    <bodyContent>JSP</bodyContent>
    <desc>no description</desc>
    <longDesc></longDesc>
    <componentClass>org.apache.myfaces.view.facelets.tag.faces.html._HtmlOutputStylesheet</componentClass>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.jstl.core.CatchHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.core.CatchHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>c:catch</name>
    <bodyContent>JSP</bodyContent>
    <desc>Catches any Throwable that occurs in its body and optionally 
exposes it</desc>
    <longDesc>Catches any Throwable that occurs in its body and optionally 
exposes it.</longDesc>
    <attribute>
      <name>var</name>
      <className>java.lang.String</className>
      <desc>Name of the exported scoped variable for the
exception thrown from a nested action</desc>
      <longDesc>Name of the exported scoped variable for the
exception thrown from a nested action. The type of the
scoped variable is the type of the exception thrown.</longDesc>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.jstl.core.ChooseHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.core.ChooseHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>c:choose</name>
    <bodyContent>JSP</bodyContent>
    <desc>
<![CDATA[
Simple conditional tag that establishes a context for
mutually exclusive conditional operations, marked by
&lt;when&gt; and &lt;otherwise&gt;
]]>
    </desc>
    <longDesc>
<![CDATA[
Simple conditional tag that establishes a context for
mutually exclusive conditional operations, marked by
&lt;when&gt; and &lt;otherwise&gt;
]]>
    </longDesc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.jstl.core.ChooseOtherwiseHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.core.ChooseOtherwiseHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>c:otherwise</name>
    <bodyContent>JSP</bodyContent>
    <desc>
<![CDATA[
Subtag of &lt;choose&gt; that follows &lt;when&gt; tags
and runs only if all of the prior conditions evaluated to
'false'
]]>
    </desc>
    <longDesc>
<![CDATA[
Subtag of &lt;choose&gt; that follows &lt;when&gt; tags
and runs only if all of the prior conditions evaluated to
'false'
]]>
    </longDesc>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.jstl.core.ChooseWhenHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.core.ChooseWhenHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>c:when</name>
    <bodyContent>JSP</bodyContent>
    <desc>
<![CDATA[
Subtag of &lt;choose&gt; that includes its body if its
condition evalutes to 'true'
]]>
    </desc>
    <longDesc>
<![CDATA[
Subtag of &lt;choose&gt; that includes its body if its
condition evalutes to 'true'
]]>
    </longDesc>
    <attribute>
      <name>test</name>
      <className>boolean</className>
      <required>true</required>
      <desc>The test condition that determines whether or not the
body content should be processed</desc>
      <longDesc>The test condition that determines whether or not the
body content should be processed.</longDesc>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.jstl.core.ForEachHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.core.ForEachHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>c:forEach</name>
    <bodyContent>JSP</bodyContent>
    <desc>The basic iteration tag, accepting many different
collection types and supporting subsetting and other
functionality</desc>
    <longDesc>The basic iteration tag, accepting many different
collection types and supporting subsetting and other
functionality</longDesc>
    <attribute>
      <name>begin</name>
      <className>int</className>
      <desc>If items specified:
Iteration begins at the item located at the
specified index</desc>
      <longDesc>If items specified:
Iteration begins at the item located at the
specified index. First item of the collection has
index 0.
If items not specified:
Iteration begins with index set at the value
specified.</longDesc>
    </attribute>
    <attribute>
      <name>end</name>
      <className>int</className>
      <desc>If items specified:
Iteration ends at the item located at the
specified index (inclusive)</desc>
      <longDesc>If items specified:
Iteration ends at the item located at the
specified index (inclusive).
If items not specified:
Iteration ends when index reaches the value
specified.</longDesc>
    </attribute>
    <attribute>
      <name>items</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Collection of items to iterate over</desc>
      <longDesc>Collection of items to iterate over.</longDesc>
    </attribute>
    <attribute>
      <name>step</name>
      <className>int</className>
      <desc>Iteration will only process every step items of
the collection, starting with the first one</desc>
      <longDesc>Iteration will only process every step items of
the collection, starting with the first one.</longDesc>
    </attribute>
    <attribute>
      <name>var</name>
      <className>java.lang.String</className>
      <desc>Name of the exported scoped variable for the
current item of the iteration</desc>
      <longDesc>Name of the exported scoped variable for the
current item of the iteration. This scoped
variable has nested visibility. Its type depends
on the object of the underlying collection.</longDesc>
    </attribute>
    <attribute>
      <name>varStatus</name>
      <className>java.lang.String</className>
      <desc>Name of the exported scoped variable for the
status of the iteration</desc>
      <longDesc>Name of the exported scoped variable for the
status of the iteration.</longDesc>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.jstl.core.IfHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.core.IfHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>c:if</name>
    <bodyContent>JSP</bodyContent>
    <desc>Simple conditional tag, which evalutes its body if the
supplied condition is true and optionally exposes a Boolean
scripting variable representing the evaluation of this condition</desc>
    <longDesc>Simple conditional tag, which evalutes its body if the
supplied condition is true and optionally exposes a Boolean
scripting variable representing the evaluation of this condition</longDesc>
    <attribute>
      <name>test</name>
      <className>boolean</className>
      <required>true</required>
      <desc>The test condition that determines whether or
not the body content should be processed</desc>
      <longDesc>The test condition that determines whether or
not the body content should be processed.</longDesc>
    </attribute>
    <attribute>
      <name>var</name>
      <className>java.lang.String</className>
      <desc>Name of the exported scoped variable for the
resulting value of the test condition</desc>
      <longDesc>Name of the exported scoped variable for the
resulting value of the test condition. The type
of the scoped variable is Boolean.</longDesc>
    </attribute>
    <attribute>
      <name>scope</name>
      <className>java.lang.String</className>
      <desc>Scope for var.</desc>
      <longDesc>Scope for var.</longDesc>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.jstl.core.SetHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.core.SetHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>c:set</name>
    <bodyContent>JSP</bodyContent>
    <desc>Simplified implementation of c:set

Sets the result of an expression evaluation in a 'scope'</desc>
    <longDesc>Simplified implementation of c:set

Sets the result of an expression evaluation in a 'scope'</longDesc>
    <attribute>
      <name>var</name>
      <className>java.lang.String</className>
      <desc>Name of the exported scoped variable to hold the value
specified in the action</desc>
      <longDesc>Name of the exported scoped variable to hold the value
specified in the action. The type of the scoped variable is
whatever type the value expression evaluates to.</longDesc>
    </attribute>
    <attribute>
      <name>value</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>Expression to be evaluated</desc>
      <longDesc>Expression to be evaluated.</longDesc>
      <deferredValueType>java.lang.Object</deferredValueType>
    </attribute>
    <attribute>
      <name>scope</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
    </attribute>
    <attribute>
      <name>target</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
    </attribute>
    <attribute>
      <name>property</name>
      <className>java.lang.String</className>
      <desc>no description</desc>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.ui.ComponentRefHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.ui.ComponentRefHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.ComponentHandler</sourceClassParentClassName>
    <name>ui:component</name>
    <bodyContent>JSP</bodyContent>
    <desc>no description</desc>
    <componentClass>org.apache.myfaces.view.facelets.tag.ui._Component</componentClass>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.ui.ComponentRefHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.ui.ComponentRefHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.ComponentHandler</sourceClassParentClassName>
    <name>ui:fragment</name>
    <bodyContent>JSP</bodyContent>
    <desc>no description</desc>
    <componentClass>org.apache.myfaces.view.facelets.tag.ui._Fragment</componentClass>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.ui.CompositionHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.ui.CompositionHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>ui:composition</name>
    <bodyContent>JSP</bodyContent>
    <desc>no description</desc>
    <longDesc></longDesc>
    <attribute>
      <name>template</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>The resolvable URI of the template to use</desc>
      <longDesc>The resolvable URI of the template to use. The content within the composition tag will 
be used in populating the template specified.</longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.ui.DecorateHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.ui.DecorateHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>ui:decorate</name>
    <bodyContent>JSP</bodyContent>
    <desc>The decorate tag acts the same as a composition tag, but it will not trim 
everything outside of it</desc>
    <longDesc>The decorate tag acts the same as a composition tag, but it will not trim 
everything outside of it. This is useful in cases where you have a list of 
items in a document, which you would like to be decorated or framed.
 
The sum of it all is that you can take any element in the document and decorate 
it with some external logic as provided by the template.</longDesc>
    <attribute>
      <name>template</name>
      <className>jakarta.el.ValueExpression</className>
      <desc>The resolvable URI of the template to use</desc>
      <longDesc>The resolvable URI of the template to use. The content within the decorate tag 
will be used in populating the template specified.</longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.ui.DefineHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.ui.DefineHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>ui:define</name>
    <bodyContent>JSP</bodyContent>
    <desc>The define tag can be used within tags that allow templating</desc>
    <longDesc>The define tag can be used within tags that allow templating. 
This includes composition and decorate tags.</longDesc>
    <attribute>
      <name>name</name>
      <className>jakarta.el.ValueExpression</className>
      <required>true</required>
      <desc>The literal name for this definition</desc>
      <longDesc>
<![CDATA[
The literal name for this definition. This name will match up with 
a &lt;ui:insert/&gt; tag in a target template.
]]>
      </longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.ui.IncludeHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.ui.IncludeHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>ui:include</name>
    <bodyContent>JSP</bodyContent>
    <desc>The include tag can point at any Facelet which might use the composition tag,
component tag, or simply be straight XHTML/XML</desc>
    <longDesc>
<![CDATA[
The include tag can point at any Facelet which might use the composition tag,
component tag, or simply be straight XHTML/XML. It should be noted that the 
src path does allow relative path names, but they will always be resolved 
against the original Facelet requested. 

The include tag can be used in conjunction with multiple &lt;ui:param/&gt; 
tags to pass EL expressions/values to the target page.
]]>
    </longDesc>
    <attribute>
      <name>src</name>
      <className>jakarta.el.ValueExpression</className>
      <required>true</required>
      <desc>A literal or EL expression that specifies the target Facelet that you 
would like to include into your document</desc>
      <longDesc>A literal or EL expression that specifies the target Facelet that you 
would like to include into your document.</longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.ui.InsertHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.ui.InsertHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>ui:insert</name>
    <bodyContent>JSP</bodyContent>
    <desc>The insert tag is used within your templates to declare spots of replicable data</desc>
    <longDesc>The insert tag is used within your templates to declare spots of replicable data.</longDesc>
    <attribute>
      <name>name</name>
      <className>jakarta.el.ValueExpression</className>
      <required>true</required>
      <desc>
<![CDATA[
The optional name attribute matches the associated &lt;ui:define/&gt; 
tag in this template's client
]]>
      </desc>
      <longDesc>
<![CDATA[
The optional name attribute matches the associated &lt;ui:define/&gt; 
tag in this template's client. If no name is specified, it's expected 
that the whole template client will be inserted.
]]>
      </longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
  </faceletTag>
  <faceletTag>
    <modelId>myfaces-impl</modelId>
    <className>org.apache.myfaces.view.facelets.tag.ui.ParamHandler</className>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.ui.ParamHandler</sourceClassName>
    <sourceClassParentClassName>jakarta.faces.view.facelets.TagHandler</sourceClassParentClassName>
    <name>ui:param</name>
    <bodyContent>JSP</bodyContent>
    <desc>no description</desc>
    <longDesc></longDesc>
    <attribute>
      <name>name</name>
      <className>jakarta.el.ValueExpression</className>
      <required>true</required>
      <desc>The name of the variable to pass to the included Facelet</desc>
      <longDesc>The name of the variable to pass to the included Facelet.</longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
    <attribute>
      <name>value</name>
      <className>jakarta.el.ValueExpression</className>
      <required>true</required>
      <desc>The literal or EL expression value to assign to the named variable</desc>
      <longDesc>The literal or EL expression value to assign to the named variable.</longDesc>
      <deferredValueType>java.lang.String</deferredValueType>
    </attribute>
  </faceletTag>
  <webConfig>
    <modelId>myfaces-api</modelId>
    <webConfigParam>
      <name>jakarta.faces.PROJECT_STAGE</name>
      <fieldName>PROJECT_STAGE_PARAM_NAME</fieldName>
      <desc>no description</desc>
      <defaultValue>Production</defaultValue>
      <expectedValues>Development, Production, SystemTest, UnitTest</expectedValues>
      <sourceClassName>jakarta.faces.application.ProjectStage</sourceClassName>
      <since>2.0</since>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.RESOURCE_EXCLUDES</name>
      <fieldName>RESOURCE_EXCLUDES_PARAM_NAME</fieldName>
      <desc>Space separated file extensions that will not be served by the default ResourceHandler implementation</desc>
      <longDesc>Space separated file extensions that will not be served by the default ResourceHandler implementation.</longDesc>
      <defaultValue>.class .jsp .jspx .properties .xhtml .groovy</defaultValue>
      <sourceClassName>jakarta.faces.application.ResourceHandler</sourceClassName>
      <since>2.0</since>
      <group>resources</group>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.STATE_SAVING_METHOD</name>
      <fieldName>STATE_SAVING_METHOD_PARAM_NAME</fieldName>
      <desc>Define the state method to be used. There are two different options " + "defined by the specification: 'client' and 'server' state.</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>jakarta.faces.application.StateManager</sourceClassName>
      <since>1.1</since>
      <group>state</group>
      <tags>performance</tags>
      <ignoreUpperLowerCase>true</ignoreUpperLowerCase>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.FULL_STATE_SAVING_VIEW_IDS</name>
      <fieldName>FULL_STATE_SAVING_VIEW_IDS_PARAM_NAME</fieldName>
      <desc>Indicate the viewId(s) separated by commas that should be saved and restored fully,
without use Partial State Saving (PSS)</desc>
      <longDesc>Indicate the viewId(s) separated by commas that should be saved and restored fully,
without use Partial State Saving (PSS).</longDesc>
      <sourceClassName>jakarta.faces.application.StateManager</sourceClassName>
      <since>2.0</since>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.PARTIAL_STATE_SAVING</name>
      <fieldName>PARTIAL_STATE_SAVING_PARAM_NAME</fieldName>
      <desc>Enable or disable partial state saving algorithm</desc>
      <longDesc>
<![CDATA[
Enable or disable partial state saving algorithm.
 
<p>Partial State Saving algorithm allows to reduce the size of the state required to save a view, 
keeping track of the "delta" or differences between the view build by first time and the current 
state of the view.</p>
<p>If the webapp faces-config file version is 2.0 or upper the default value is true, otherwise is false.</p>
]]>
      </longDesc>
      <defaultValue>true (false with 1.2 webapps)</defaultValue>
      <expectedValues>true,false</expectedValues>
      <sourceClassName>jakarta.faces.application.StateManager</sourceClassName>
      <since>2.0</since>
      <group>state</group>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.SERIALIZE_SERVER_STATE</name>
      <fieldName>SERIALIZE_SERVER_STATE_PARAM_NAME</fieldName>
      <desc>Indicate if the state should be serialized before save it on the session</desc>
      <longDesc>
<![CDATA[
Indicate if the state should be serialized before save it on the session.
<p>
Only applicable if state saving method is "server" (= default).
If <code>true</code> (default) the state will be serialized to a byte stream before it is
written to the session.
If <code>false</code> the state will not be serialized to a byte stream.
</p>
]]>
      </longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true,false</expectedValues>
      <sourceClassName>jakarta.faces.application.StateManager</sourceClassName>
      <since>2.2</since>
      <group>state</group>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.DEFAULT_SUFFIX</name>
      <fieldName>DEFAULT_SUFFIX_PARAM_NAME</fieldName>
      <desc>Indicate the default suffixes, separated by spaces to derive the default file URI 
used by Faces to create views and render pages</desc>
      <longDesc>Indicate the default suffixes, separated by spaces to derive the default file URI 
used by Faces to create views and render pages.</longDesc>
      <defaultValue>.xhtml</defaultValue>
      <sourceClassName>jakarta.faces.application.ViewHandler</sourceClassName>
      <since>1.1</since>
      <group>viewhandler</group>
      <deprecated>true</deprecated>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.FACELETS_SUFFIX</name>
      <fieldName>FACELETS_SUFFIX_PARAM_NAME</fieldName>
      <desc>The default extension used to handle facelets pages</desc>
      <longDesc>The default extension used to handle facelets pages.</longDesc>
      <defaultValue>.xhtml</defaultValue>
      <sourceClassName>jakarta.faces.application.ViewHandler</sourceClassName>
      <since>2.0</since>
      <group>viewhandler</group>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.FACELETS_VIEW_MAPPINGS</name>
      <fieldName>FACELETS_VIEW_MAPPINGS_PARAM_NAME</fieldName>
      <desc>Set of extensions handled by facelets, separated by ';'</desc>
      <longDesc>Set of extensions handled by facelets, separated by ';'.</longDesc>
      <sourceClassName>jakarta.faces.application.ViewHandler</sourceClassName>
      <since>2.0</since>
      <group>viewhandler</group>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.FACELETS_BUFFER_SIZE</name>
      <fieldName>FACELETS_BUFFER_SIZE_PARAM_NAME</fieldName>
      <desc>Define the default buffer size value passed to ExternalContext.setResponseBufferResponse() and in " + "a servlet environment to HttpServletResponse.setBufferSize()</desc>
      <longDesc>Define the default buffer size value passed to ExternalContext.setResponseBufferResponse() and in a
servlet environment to HttpServletResponse.setBufferSize().</longDesc>
      <defaultValue>1024</defaultValue>
      <sourceClassName>jakarta.faces.application.ViewHandler</sourceClassName>
      <since>2.0</since>
      <tags>performance</tags>
      <classType>java.lang.Integer</classType>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.FACELETS_DECORATORS</name>
      <fieldName>FACELETS_DECORATORS_PARAM_NAME</fieldName>
      <desc>Set of class names, separated by ';', implementing TagDecorator interface, used to transform
a view definition in a facelet abstract syntax tree, that is used later to generate a component tree</desc>
      <longDesc>Set of class names, separated by ';', implementing TagDecorator interface, used to transform
a view definition in a facelet abstract syntax tree, that is used later to generate a component tree.</longDesc>
      <sourceClassName>jakarta.faces.application.ViewHandler</sourceClassName>
      <since>2.0</since>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.FACELETS_LIBRARIES</name>
      <fieldName>FACELETS_LIBRARIES_PARAM_NAME</fieldName>
      <desc>Set of .taglib.xml files, separated by ';' that should be loaded by facelet engine.</desc>
      <longDesc>Set of .taglib.xml files, separated by ';' that should be loaded by facelet engine.</longDesc>
      <sourceClassName>jakarta.faces.application.ViewHandler</sourceClassName>
      <since>2.0</since>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.FACELETS_REFRESH_PERIOD</name>
      <fieldName>FACELETS_REFRESH_PERIOD_PARAM_NAME</fieldName>
      <desc>Define the period used to refresh the facelet abstract syntax tree from the view definition file</desc>
      <longDesc>Define the period used to refresh the facelet abstract syntax tree from the view definition file.</longDesc>
      <defaultValue>0, -1 in Production</defaultValue>
      <sourceClassName>jakarta.faces.application.ViewHandler</sourceClassName>
      <since>2.0</since>
      <tags>performance</tags>
      <classType>java.lang.Long</classType>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.FACELETS_SKIP_COMMENTS</name>
      <fieldName>FACELETS_SKIP_COMMENTS_PARAM_NAME</fieldName>
      <desc>Skip comments found on a facelet file</desc>
      <longDesc>Skip comments found on a facelet file.</longDesc>
      <sourceClassName>jakarta.faces.application.ViewHandler</sourceClassName>
      <since>2.0</since>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.VALIDATE_EMPTY_FIELDS</name>
      <fieldName>VALIDATE_EMPTY_FIELDS_PARAM_NAME</fieldName>
      <desc>Force validation on empty fields (By default is auto, which means it is only 
enabled when Bean Validation binaries are available on the current classpath)</desc>
      <longDesc>Force validation on empty fields (By default is auto, which means it is only 
enabled when Bean Validation binaries are available on the current classpath).</longDesc>
      <defaultValue>auto</defaultValue>
      <expectedValues>auto, true, false</expectedValues>
      <sourceClassName>jakarta.faces.component.UIInput</sourceClassName>
      <since>2.0</since>
      <group>validation</group>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</name>
      <fieldName>EMPTY_STRING_AS_NULL_PARAM_NAME</fieldName>
      <desc>Submitted values are decoded as null values instead empty strings</desc>
      <longDesc>
<![CDATA[
Submitted values are decoded as null values instead empty strings.

<p>Note this param is ignored for components extending from UISelectOne/UISelectMany.</p>
]]>
      </longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>jakarta.faces.component.UIInput</sourceClassName>
      <since>2.0</since>
      <group>validation</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.CLEAR_INPUT_WHEN_SUBMITTED_VALUE_IS_NULL_OR_EMPTY</name>
      <fieldName>CLEAR_INPUT_WHEN_SUBMITTED_VALUE_IS_NULL_OR_EMPTY_PARAM_NAME</fieldName>
      <desc>When CLEAR_INPUT_WHEN_SUBMITTED_VALUE_IS_NULL_OR_EMPTY is enabled, input fields will be cleared
when null or empty values are submitted</desc>
      <longDesc>When CLEAR_INPUT_WHEN_SUBMITTED_VALUE_IS_NULL_OR_EMPTY is enabled, input fields will be cleared
when null or empty values are submitted. When disabled, and INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL 
is enabled, submitting null or empty values will cause the previous model value to be restored 
to the input field.</longDesc>
      <defaultValue>true</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>jakarta.faces.component.UIInput</sourceClassName>
      <since>2.3.0</since>
      <group>validation</group>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.ALWAYS_PERFORM_VALIDATION_WHEN_REQUIRED_IS_TRUE</name>
      <fieldName>ALWAYS_PERFORM_VALIDATION_WHEN_REQUIRED_IS_TRUE</fieldName>
      <desc>If set to true, validation is always performed when required is true</desc>
      <longDesc>If set to true, validation is always performed when required is true.</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>jakarta.faces.component.UIInput</sourceClassName>
      <since>2.3</since>
      <group>validation</group>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.VIEWROOT_PHASE_LISTENER_QUEUES_EXCEPTIONS</name>
      <fieldName>VIEWROOT_PHASE_LISTENER_QUEUES_EXCEPTIONS_PARAM_NAME</fieldName>
      <desc>no description</desc>
      <longDesc></longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>jakarta.faces.component.UIViewRoot</sourceClassName>
      <since>2.3</since>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</name>
      <fieldName>DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE_PARAM_NAME</fieldName>
      <desc>Set the default timezone as system timezone when a converter extending from DateTimeConverter is created</desc>
      <longDesc>Set the default timezone as system timezone when a converter extending from DateTimeConverter is created.</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>jakarta.faces.convert.Converter</sourceClassName>
      <since>2.0</since>
      <group>validation</group>
    </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>jakarta.faces.convert.EnumConverter</sourceClassName>
      <since>2.0.1</since>
      <group>validation</group>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.CLIENT_WINDOW_MODE</name>
      <fieldName>CLIENT_WINDOW_MODE_PARAM_NAME</fieldName>
      <desc>Defines the ClientWindow mode to use</desc>
      <longDesc>Defines the ClientWindow mode to use.
url = like the defined in the specs
url-redirect = same like 'url' but with a initial redirect, so that the first request already contains
               a valid windowId in the URL. Similar to DeltaSpile LAZY mode.
client = like the DeltaSpike CLIENTWINDOW mode.</longDesc>
      <defaultValue>none</defaultValue>
      <expectedValues>none, url, url-redirect, client</expectedValues>
      <sourceClassName>jakarta.faces.lifecycle.ClientWindow</sourceClassName>
      <since>2.2.0</since>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.NUMBER_OF_CLIENT_WINDOWS</name>
      <fieldName>NUMBER_OF_CLIENT_WINDOWS_PARAM_NAME</fieldName>
      <desc>Indicate the max number of ClientWindows, which is used by {@link ClientWindowScoped}</desc>
      <longDesc>Indicate the max number of ClientWindows, which is used by {@link ClientWindowScoped}.
It is only active when jakarta.faces.CLIENT_WINDOW_MODE is enabled.</longDesc>
      <defaultValue>10</defaultValue>
      <sourceClassName>jakarta.faces.lifecycle.ClientWindow</sourceClassName>
      <since>4.0</since>
      <group>state</group>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.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>jakarta.faces.validator.BeanValidator</sourceClassName>
      <since>2.0</since>
      <group>validation</group>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.validator.ENABLE_VALIDATE_WHOLE_BEAN</name>
      <fieldName>ENABLE_VALIDATE_WHOLE_BEAN_PARAM_NAME</fieldName>
      <desc>Enable f:validateWholeBean use</desc>
      <longDesc>Enable f:validateWholeBean use.</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>jakarta.faces.validator.BeanValidator</sourceClassName>
      <since>2.3</since>
      <group>validation</group>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.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 Faces 1.0 PRD2, 10.3.2
Attention: You do not need to put /WEB-INF/faces-config.xml in here.</longDesc>
      <sourceClassName>jakarta.faces.webapp.FacesServlet</sourceClassName>
      <since>1.1</since>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.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>jakarta.faces.webapp.FacesServlet</sourceClassName>
      <since>1.1</since>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.DISABLE_FACESSERVLET_TO_XHTML</name>
      <fieldName>DISABLE_FACESSERVLET_TO_XHTML_PARAM_NAME</fieldName>
      <desc>Disable automatic FacesServlet xhtml mapping</desc>
      <longDesc>Disable automatic FacesServlet xhtml mapping.</longDesc>
      <sourceClassName>jakarta.faces.webapp.FacesServlet</sourceClassName>
      <since>2.3</since>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.AUTOMATIC_EXTENSIONLESS_MAPPING</name>
      <fieldName>AUTOMATIC_EXTENSIONLESS_MAPPING_PARAM_NAME</fieldName>
      <desc>
<![CDATA[
<p class="changed_added_4_0">
The <code>ServletContext</code> init parameter consulted by the runtime to tell if the automatic mapping of
the {@code FacesServlet} to the extensionless variant (without {@code *
]]>
      </desc>
      <longDesc>
<![CDATA[
<p class="changed_added_4_0">
The <code>ServletContext</code> init parameter consulted by the runtime to tell if the automatic mapping of
the {@code FacesServlet} to the extensionless variant (without {@code *.xhtml}) should be enabled.
The implementation must enable this automatic mapping if and only if the value of this parameter is equal,
ignoring case, to {@code true}.
</p>

<p>
If this parameter is not specified, this automatic mapping is not enabled.
</p>
]]>
      </longDesc>
      <sourceClassName>jakarta.faces.webapp.FacesServlet</sourceClassName>
      <since>4.0</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.USE_LAMBDA_METAFACTORY</name>
      <fieldName>USE_LAMBDA_METAFACTORY</fieldName>
      <desc>Defines if Lambda expressions (via LambdaMetafactory) are used for getter/setter instead of Reflection</desc>
      <longDesc>Defines if Lambda expressions (via LambdaMetafactory) are used for getter/setter instead of Reflection.</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true,false</expectedValues>
      <sourceClassName>org.apache.myfaces.core.api.shared.lang.PropertyDescriptorUtils</sourceClassName>
      <since>2.3-next</since>
      <tags>performance</tags>
    </webConfigParam>
  </webConfig>
  <webConfig>
    <modelId>myfaces-impl</modelId>
    <webConfigParam>
      <name>org.apache.myfaces.USE_ENCRYPTION</name>
      <fieldName>USE_ENCRYPTION</fieldName>
      <desc>Indicate if the view state is encrypted or not</desc>
      <longDesc>Indicate if the view state is encrypted or not. By default, encryption is enabled.</longDesc>
      <defaultValue>true</defaultValue>
      <expectedValues>true,false</expectedValues>
      <sourceClassName>org.apache.myfaces.application.viewstate.StateUtils</sourceClassName>
      <since>1.1</since>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.SECRET</name>
      <fieldName>INIT_SECRET</fieldName>
      <desc>Defines the secret (Base64 encoded) used to initialize the secret key
for encryption algorithm</desc>
      <longDesc>Defines the secret (Base64 encoded) used to initialize the secret key
for encryption algorithm. See MyFaces wiki/web site documentation 
for instructions on how to configure an application for 
different encryption strengths.</longDesc>
      <sourceClassName>org.apache.myfaces.application.viewstate.StateUtils</sourceClassName>
      <since>1.1</since>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.ALGORITHM</name>
      <fieldName>INIT_ALGORITHM</fieldName>
      <desc>Indicate the encryption algorithm used for encrypt the view state</desc>
      <longDesc>Indicate the encryption algorithm used for encrypt the view state.</longDesc>
      <defaultValue>AES</defaultValue>
      <sourceClassName>org.apache.myfaces.application.viewstate.StateUtils</sourceClassName>
      <since>1.1</since>
      <group>state</group>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.SECRET.CACHE</name>
      <fieldName>INIT_SECRET_KEY_CACHE</fieldName>
      <desc>If is set to "false", the secret key used for encryption algorithm is not cached</desc>
      <longDesc>If is set to "false", the secret key used for encryption algorithm is not cached. This is used
when the returned SecretKey for encryption algorithm is not thread safe.</longDesc>
      <sourceClassName>org.apache.myfaces.application.viewstate.StateUtils</sourceClassName>
      <since>1.1</since>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.ALGORITHM.IV</name>
      <fieldName>INIT_ALGORITHM_IV</fieldName>
      <desc>Defines the initialization vector (Base64 encoded) used for the encryption algorithm</desc>
      <longDesc>Defines the initialization vector (Base64 encoded) used for the encryption algorithm</longDesc>
      <sourceClassName>org.apache.myfaces.application.viewstate.StateUtils</sourceClassName>
      <since>1.1</since>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.ALGORITHM.PARAMETERS</name>
      <fieldName>INIT_ALGORITHM_PARAM</fieldName>
      <desc>Defines the default mode and padding used for the encryption algorithm</desc>
      <longDesc>Defines the default mode and padding used for the encryption algorithm</longDesc>
      <defaultValue>ECB/PKCS5Padding</defaultValue>
      <sourceClassName>org.apache.myfaces.application.viewstate.StateUtils</sourceClassName>
      <since>1.1</since>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.SERIAL_FACTORY</name>
      <fieldName>SERIAL_FACTORY</fieldName>
      <desc>Defines the factory class name using for serialize/deserialize the view state returned 
by state manager into a byte array</desc>
      <longDesc>Defines the factory class name using for serialize/deserialize the view state returned 
by state manager into a byte array. The expected class must implement
{@link org.apache.myfaces.spi.SerialFactory} interface.</longDesc>
      <sourceClassName>org.apache.myfaces.application.viewstate.StateUtils</sourceClassName>
      <since>1.1</since>
      <group>state</group>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.COMPRESS_STATE_IN_CLIENT</name>
      <fieldName>COMPRESS_STATE_IN_CLIENT</fieldName>
      <desc>Indicate if the view state should be compressed before encrypted(optional) and encoded</desc>
      <longDesc>Indicate if the view state should be compressed before encrypted(optional) and encoded</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true,false</expectedValues>
      <sourceClassName>org.apache.myfaces.application.viewstate.StateUtils</sourceClassName>
      <since>1.1</since>
      <group>state</group>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.MAC_ALGORITHM</name>
      <fieldName>INIT_MAC_ALGORITHM</fieldName>
      <desc>Indicate the algorithm used to calculate the Message Authentication Code that is
added to the view state</desc>
      <longDesc>Indicate the algorithm used to calculate the Message Authentication Code that is
added to the view state.</longDesc>
      <defaultValue>HmacSHA256</defaultValue>
      <sourceClassName>org.apache.myfaces.application.viewstate.StateUtils</sourceClassName>
      <group>state</group>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.MAC_SECRET</name>
      <fieldName>INIT_MAC_SECRET</fieldName>
      <desc>Define the initialization code that are used to initialize the secret key used
on the Message Authentication Code algorithm</desc>
      <longDesc>Define the initialization code that are used to initialize the secret key used
on the Message Authentication Code algorithm</longDesc>
      <sourceClassName>org.apache.myfaces.application.viewstate.StateUtils</sourceClassName>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.MAC_SECRET.CACHE</name>
      <fieldName>INIT_MAC_SECRET_KEY_CACHE</fieldName>
      <desc>If is set to "false", the secret key used for MAC algorithm is not cached</desc>
      <longDesc>If is set to "false", the secret key used for MAC algorithm is not cached. This is used
when the returned SecretKey for mac algorithm is not thread safe.</longDesc>
      <sourceClassName>org.apache.myfaces.application.viewstate.StateUtils</sourceClassName>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.CONFIG_REFRESH_PERIOD</name>
      <fieldName>CONFIG_REFRESH_PERIOD</fieldName>
      <desc>Set the time in seconds that check for updates of web</desc>
      <longDesc>Set the time in seconds that check for updates of web.xml and faces-config descriptors and 
refresh the configuration.
This param is valid only if project stage is not production. Set this param to 0 disable this feature.</longDesc>
      <defaultValue>2</defaultValue>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>1.1</since>
      <classType>java.lang.Long</classType>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RENDER_VIEWSTATE_ID</name>
      <fieldName>RENDER_VIEWSTATE_ID</fieldName>
      <desc>Define if the input field that should store the state (jakarta</desc>
      <longDesc>
<![CDATA[
Define if the input field that should store the state (jakarta.faces.ViewState) should render 
id="jakarta.faces.ViewState".

Faces API 1.2 defines a "jakarta.faces.ViewState" client parameter, that must be rendered as both the "name"
and the "id" attribute of the hidden input that is rendered for the purpose of state saving
(see ResponseStateManager.VIEW_STATE_PARAM).
Actually this causes duplicate id attributes and thus invalid XHTML pages when multiple forms are rendered on
one page. With the org.apache.myfaces.RENDER_VIEWSTATE_ID context parameter you can tune this behaviour.
<br/>Set it to
<ul><li>true - to render Faces 1.2 compliant id attributes (that might cause invalid XHTML), or</li>
<li>false - to omit rendering of the id attribute (which is only needed for very special 
AJAX/Javascript components)</li></ul>
Default value is: true (for backwards compatibility and Faces 1.2 compliancy)
]]>
      </longDesc>
      <defaultValue>true</defaultValue>
      <expectedValues>true, false, on, off, yes, no</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>1.1</since>
      <group>state</group>
      <ignoreUpperLowerCase>true</ignoreUpperLowerCase>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.STRICT_XHTML_LINKS</name>
      <fieldName>STRICT_XHTML_LINKS</fieldName>
      <desc><![CDATA[Use "&amp;amp;" entity instead a plain "&amp;" character within HTML]]></desc>
      <longDesc>
<![CDATA[
Use "&amp;amp;" entity instead a plain "&amp;" character within HTML.
<p>W3C recommends to use the "&amp;amp;" entity instead of a plain "&amp;" character within HTML.
This also applies to attribute values and thus to the "href" attribute of &lt;a&gt; elements as well.
Even more, when XHTML is used as output the usage of plain "&amp;" characters is forbidden and would lead to
invalid XML code.
Therefore, since version 1.1.6 MyFaces renders the correct "&amp;amp;" entity for links.</p>
<p>The init parameter
org.apache.myfaces.STRICT_XHTML_LINKS makes it possible to restore the old behaviour and to make MyFaces
"bug compatible" to the Sun RI which renders plain "&amp;" chars in links as well.</p>
<p>
See: <a href="http://www.w3.org/TR/html401/charset.html#h-5.3.2">HTML 4.01 Specification</a>
See: <a href="http://issues.apache.org/jira/browse/MYFACES-1774">Jira: MYFACES-1774</a>
</p>
]]>
      </longDesc>
      <defaultValue>true</defaultValue>
      <expectedValues>true, false, on, off, yes, no</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>1.1.6</since>
      <group>render</group>
      <ignoreUpperLowerCase>true</ignoreUpperLowerCase>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RENDER_CLEAR_JAVASCRIPT_FOR_BUTTON</name>
      <fieldName>RENDER_CLEAR_JAVASCRIPT_FOR_BUTTON</fieldName>
      <desc>This param renders the clear javascript on button necessary only for
compatibility with hidden fields feature of myfaces</desc>
      <longDesc>This param renders the clear javascript on button necessary only for
compatibility with hidden fields feature of myfaces. This is done 
because jsf ri does not render javascript on onclick method for button,
so myfaces should do this.</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true, false, on, off, yes, no</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>1.2.3</since>
      <group>render</group>
      <ignoreUpperLowerCase>true</ignoreUpperLowerCase>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.REFRESH_TRANSIENT_BUILD_ON_PSS</name>
      <fieldName>REFRESH_TRANSIENT_BUILD_ON_PSS</fieldName>
      <desc>Indicate if the facelet associated to the view should be reapplied when the view is refreshed</desc>
      <longDesc>
<![CDATA[
Indicate if the facelet associated to the view should be reapplied when the view is refreshed.
 Default mode is "auto".

<p>This param is only valid when partial state saving is on.
If this is set as true, the tag-handlers are always reapplied before render view, like in facelets 1.1.x, 
allowing c:if work correctly to "toggle" components based on a value changed on invoke application phase. 
If the param is set as "auto", the implementation check if c:if, c:forEach, 
c:choose and ui:include with src=ELExpression is used on the page and if that so, mark the view
to be refreshed.</p>
]]>
      </longDesc>
      <defaultValue>auto</defaultValue>
      <expectedValues>true,false,auto</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0</since>
      <group>state</group>
      <tags>performance</tags>
      <ignoreUpperLowerCase>true</ignoreUpperLowerCase>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.REFRESH_TRANSIENT_BUILD_ON_PSS_PRESERVE_STATE</name>
      <fieldName>REFRESH_TRANSIENT_BUILD_ON_PSS_PRESERVE_STATE</fieldName>
      <desc>Enable or disable a special mode that enable full state for parent components containing c:if, c:forEach, 
c:choose and ui:include with src=ELExpression</desc>
      <longDesc>
<![CDATA[
Enable or disable a special mode that enable full state for parent components containing c:if, c:forEach, 
c:choose and ui:include with src=ELExpression. By default is disabled(false).

<p>This param is only valid when partial state saving is on.
If this is set as true, parent components containing  c:if, c:forEach, 
c:choose and ui:include with src=ELExpression are marked to be restored fully, so state
is preserved between request.</p>
]]>
      </longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true, false, on, off, yes, no</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0</since>
      <group>state</group>
      <tags>performance</tags>
      <ignoreUpperLowerCase>true</ignoreUpperLowerCase>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.VALIDATE_XML</name>
      <fieldName>VALIDATE_XML</fieldName>
      <desc>
<![CDATA[
If set to <code>true</code>, tag library XML files and faces config XML files using schema 
will be validated during application start up
]]>
      </desc>
      <longDesc>
<![CDATA[
If set to <code>true</code>, tag library XML files and faces config XML files using schema 
will be validated during application start up
]]>
      </longDesc>
      <expectedValues>true, false, on, off, yes, no</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0</since>
      <ignoreUpperLowerCase>true</ignoreUpperLowerCase>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.WRAP_SCRIPT_CONTENT_WITH_XML_COMMENT_TAG</name>
      <fieldName>WRAP_SCRIPT_CONTENT_WITH_XML_COMMENT_TAG</fieldName>
      <desc>Wrap content inside script with xml comment to prevent old browsers to display it</desc>
      <longDesc>Wrap content inside script with xml comment to prevent old browsers to display it. By default it is true.</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true, false, on, off, yes, no</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0.1</since>
      <group>render</group>
      <ignoreUpperLowerCase>true</ignoreUpperLowerCase>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.DEBUG_PHASE_LISTENER</name>
      <fieldName>DEBUG_PHASE_LISTENER</fieldName>
      <desc>Enable/disable DebugPhaseListener feature, with provide useful information about ValueHolder 
variables (submittedValue, localValue, value)</desc>
      <longDesc>Enable/disable DebugPhaseListener feature, with provide useful information about ValueHolder 
variables (submittedValue, localValue, value).
Note evaluate those getters for each component could cause some unwanted side effects when 
using "access" type scopes like on MyFaces CODI.
This param only has effect when project stage is Development.</longDesc>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0.8</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.STRICT_JSF_2_CC_EL_RESOLVER</name>
      <fieldName>STRICT_JSF_2_CC_EL_RESOLVER</fieldName>
      <desc>Change default getType() behavior for composite component EL resolver, from return null 
(see Faces 2_0 spec section 5_6_2_2) to
use the metadata information added by composite:attribute, ensuring components working with 
chained EL expressions to find the
right type when a getType() is called over the source EL expression</desc>
      <longDesc>Change default getType() behavior for composite component EL resolver, from return null 
(see Faces 2_0 spec section 5_6_2_2) to
use the metadata information added by composite:attribute, ensuring components working with 
chained EL expressions to find the
right type when a getType() is called over the source EL expression.

To ensure strict compatibility with the spec set this param to true (by default is false, 
so the change is enabled by default).</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0.10</since>
      <group>EL</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.DEFAULT_RESPONSE_WRITER_CONTENT_TYPE_MODE</name>
      <fieldName>DEFAULT_RESPONSE_WRITER_CONTENT_TYPE_MODE</fieldName>
      <desc>Define the default content type that the default ResponseWriter generates, when no match can be derived from
HTTP Accept Header</desc>
      <longDesc>Define the default content type that the default ResponseWriter generates, when no match can be derived from
HTTP Accept Header.</longDesc>
      <defaultValue>text/html</defaultValue>
      <expectedValues>text/html, application/xhtml+xml</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0.11,2.1.5</since>
      <group>render</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.VIEW_UNIQUE_IDS_CACHE_ENABLED</name>
      <fieldName>VIEW_UNIQUE_IDS_CACHE_ENABLED</fieldName>
      <desc>Enable or disable a cache used to 'remember' the generated facelets unique ids " + "and reduce the impact over memory usage.</desc>
      <longDesc>Enable or disable a cache used to "remember" the generated facelets unique ids and reduce 
the impact on memory usage, only active if jakarta.faces.FACELETS_REFRESH_PERIOD is -1 (no refresh).</longDesc>
      <defaultValue>true</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0.13, 2.1.7</since>
      <group>viewhandler</group>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.COMPONENT_UNIQUE_IDS_CACHE_SIZE</name>
      <fieldName>COMPONENT_UNIQUE_IDS_CACHE_SIZE</fieldName>
      <desc>Set the size of the cache used to store strings generated using SectionUniqueIdCounter
for component ids</desc>
      <longDesc>Set the size of the cache used to store strings generated using SectionUniqueIdCounter
for component ids. If this is set to 0, no cache is used. By default is set to 200.</longDesc>
      <defaultValue>100</defaultValue>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0.13, 2.1.7</since>
      <group>viewhandler</group>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.STRICT_JSF_2_VIEW_NOT_FOUND</name>
      <fieldName>STRICT_JSF_2_VIEW_NOT_FOUND</fieldName>
      <desc>If this param is set to true, a check will be done in Restore View Phase to check
if the viewId exists or not and if it does not exists, a 404 response will be thrown</desc>
      <longDesc>If this param is set to true, a check will be done in Restore View Phase to check
if the viewId exists or not and if it does not exists, a 404 response will be thrown.

This is applicable in cases where all the views in the application are generated by a 
ViewDeclarationLanguage implementation.</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true,false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.1.13</since>
      <group>viewhandler</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.EARLY_FLUSH_ENABLED</name>
      <fieldName>EARLY_FLUSH_ENABLED</fieldName>
      <desc>Enable or disable an early flush which allows to send e.g. the HTML-Head to the client " + "while the rest gets rendered. It's a well known technique to reduce the time for loading a page.</desc>
      <defaultValue>false</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.2.0</since>
      <group>render</group>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.STRICT_JSF_2_FACELETS_COMPATIBILITY</name>
      <fieldName>STRICT_JSF_2_FACELETS_COMPATIBILITY</fieldName>
      <desc>This param makes components like c:set, ui:param and templating components like ui:decorate,
ui:composition and ui:include to behave like the ones provided originally in facelets 1_1_x</desc>
      <longDesc>This param makes components like c:set, ui:param and templating components like ui:decorate,
ui:composition and ui:include to behave like the ones provided originally in facelets 1_1_x. 
See MYFACES-3810 for details.</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true,false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.2.0</since>
      <group>viewhandler</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RENDER_FORM_VIEW_STATE_AT_BEGIN</name>
      <fieldName>RENDER_FORM_VIEW_STATE_AT_BEGIN</fieldName>
      <desc>This param makes h:form component to render the view state and other hidden fields
at the beginning of the form</desc>
      <longDesc>This param makes h:form component to render the view state and other hidden fields
at the beginning of the form. This also includes component resources with target="form",
but it does not include legacy 1.1 myfaces specific hidden field adition.</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true,false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.2.4</since>
      <group>render</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.FLASH_SCOPE_DISABLED</name>
      <fieldName>FLASH_SCOPE_DISABLED</fieldName>
      <desc>Defines whether flash scope is disabled, preventing add the Flash cookie to the response</desc>
      <longDesc>
<![CDATA[
Defines whether flash scope is disabled, preventing add the Flash cookie to the response. 

<p>This is useful for applications that does not require to use flash scope, and instead uses other scopes.</p>
]]>
      </longDesc>
      <defaultValue>false</defaultValue>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0.5</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION</name>
      <fieldName>NUMBER_OF_VIEWS_IN_SESSION</fieldName>
      <desc>Defines the amount (default = 20) of the latest views are stored in session</desc>
      <longDesc>
<![CDATA[
Defines the amount (default = 20) of the latest views are stored in session.

<p>Only applicable if state saving method is "server" (= default).
</p>
]]>
      </longDesc>
      <defaultValue>20</defaultValue>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>1.1</since>
      <group>state</group>
      <tags>performance</tags>
      <classType>java.lang.Integer</classType>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.NUMBER_OF_SEQUENTIAL_VIEWS_IN_SESSION</name>
      <fieldName>NUMBER_OF_SEQUENTIAL_VIEWS_IN_SESSION</fieldName>
      <desc>Indicates the amount of views (default is not active) that should be stored in session between sequential
POST or POST-REDIRECT-GET if org</desc>
      <longDesc>
<![CDATA[
Indicates the amount of views (default is not active) that should be stored in session between sequential
POST or POST-REDIRECT-GET if org.apache.myfaces.USE_FLASH_SCOPE_PURGE_VIEWS_IN_SESSION is true.

<p>Only applicable if state saving method is "server" (= default). For example, if this param has value = 2 and 
in your custom webapp there is a form that is clicked 3 times, only 2 views
will be stored and the third one (the one stored the first time) will be
removed from session, even if the view can
store more sessions org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION.
This feature becomes useful for multi-window applications.
where without this feature a window can swallow all view slots so
the other ones will throw ViewExpiredException.</p>
]]>
      </longDesc>
      <defaultValue>4</defaultValue>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0.6</since>
      <group>state</group>
      <tags>performance</tags>
      <classType>java.lang.Integer</classType>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.NUMBER_OF_FLASH_TOKENS_IN_SESSION</name>
      <fieldName>NUMBER_OF_FLASH_TOKENS_IN_SESSION</fieldName>
      <desc>Indicate the max number of flash tokens stored into session</desc>
      <longDesc>Indicate the max number of flash tokens stored into session. It is only active when 
jakarta.faces.CLIENT_WINDOW_MODE is enabled and jakarta.faces.STATE_SAVING_METHOD is set
to "server". Each flash token is associated to one client window id at
the same time, so this param is related to the limit of active client windows per session. 
By default is the same number as in 
(org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION / 
org.apache.myfaces.NUMBER_OF_SEQUENTIAL_VIEWS_IN_SESSION) + 1 = 6.</longDesc>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.2.6</since>
      <group>state</group>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.SUPPORT_EL_3_IMPORT_HANDLER</name>
      <fieldName>SUPPORT_EL_3_IMPORT_HANDLER</fieldName>
      <desc>This parameter specifies whether or not the ImportHandler will be supported</desc>
      <longDesc>This parameter specifies whether or not the ImportHandler will be supported</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true,false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.2.9</since>
      <group>EL</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.STRICT_JSF_2_ORIGIN_HEADER_APP_PATH</name>
      <fieldName>STRICT_JSF_2_ORIGIN_HEADER_APP_PATH</fieldName>
      <desc>This parameter specifies whether or not the Origin header app path should be checked</desc>
      <longDesc>This parameter specifies whether or not the Origin header app path should be checked</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true,false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.3</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.STRICT_JSF_2_ALLOW_SLASH_LIBRARY_NAME</name>
      <fieldName>STRICT_JSF_2_ALLOW_SLASH_LIBRARY_NAME</fieldName>
      <desc>Allow slash in the library name of a Resource</desc>
      <longDesc>Allow slash in the library name of a Resource.</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.1.6, 2.0.12</since>
      <group>resources</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RESOURCE_BUFFER_SIZE</name>
      <fieldName>RESOURCE_BUFFER_SIZE</fieldName>
      <desc>Define the default buffer size that is used between Resource</desc>
      <longDesc>Define the default buffer size that is used between Resource.getInputStream() and 
httpServletResponse.getOutputStream() when rendering resources using the default
ResourceHandler.</longDesc>
      <defaultValue>2048</defaultValue>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.1.10, 2.0.16</since>
      <group>resources</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.VALIDATE</name>
      <fieldName>VALIDATE</fieldName>
      <desc>Validate if the managed beans and navigations rules are correct</desc>
      <longDesc>
<![CDATA[
Validate if the managed beans and navigations rules are correct.

<p>For example, it checks if the managed bean classes really exists, or if the 
navigation rules points to existing view files.</p>
]]>
      </longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.annotation.USE_CDI_FOR_ANNOTATION_SCANNING</name>
      <fieldName>USE_CDI_FOR_ANNOTATION_SCANNING</fieldName>
      <desc>Defines if CDI should be used for annotation scanning to improve the startup performance</desc>
      <longDesc>Defines if CDI should be used for annotation scanning to improve the startup performance.</longDesc>
      <defaultValue>false</defaultValue>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.2.9</since>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RESOURCE_HANDLER_CACHE_SIZE</name>
      <fieldName>RESOURCE_HANDLER_CACHE_SIZE</fieldName>
      <desc>Controls the size of the cache used to check if a resource exists or not</desc>
      <longDesc>
<![CDATA[
Controls the size of the cache used to check if a resource exists or not. 

<p>See org.apache.myfaces.RESOURCE_HANDLER_CACHE_ENABLED for details.</p>
]]>
      </longDesc>
      <defaultValue>500</defaultValue>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0.2</since>
      <group>resources</group>
      <tags>performance</tags>
      <classType>java.lang.Integer</classType>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RESOURCE_HANDLER_CACHE_ENABLED</name>
      <fieldName>RESOURCE_HANDLER_CACHE_ENABLED</fieldName>
      <desc>Enable or disable the cache used to "remember" if a resource handled by 
the default ResourceHandler exists or not</desc>
      <longDesc>Enable or disable the cache used to "remember" if a resource handled by 
the default ResourceHandler exists or not.</longDesc>
      <defaultValue>true</defaultValue>
      <expectedValues>true,false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0.2</since>
      <group>resources</group>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.annotation.SCAN_PACKAGES</name>
      <fieldName>SCAN_PACKAGES</fieldName>
      <desc>Servlet context init parameter which defines which packages to scan
for beans, separated by commas</desc>
      <longDesc>Servlet context init parameter which defines which packages to scan
for beans, separated by commas.</longDesc>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0</since>
    </webConfigParam>
    <webConfigParam>
      <name>jakarta.faces.WEBSOCKET_ENDPOINT_PORT</name>
      <fieldName>WEBSOCKET_ENDPOINT_PORT</fieldName>
      <desc>Indicates the port used for websocket connections</desc>
      <longDesc>Indicates the port used for websocket connections.</longDesc>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.3</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.WEBSOCKET_MAX_IDLE_TIMEOUT</name>
      <fieldName>WEBSOCKET_MAX_IDLE_TIMEOUT</fieldName>
      <desc>no description</desc>
      <defaultValue>300000</defaultValue>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RANDOM_KEY_IN_WEBSOCKET_SESSION_TOKEN</name>
      <fieldName>RANDOM_KEY_IN_WEBSOCKET_SESSION_TOKEN</fieldName>
      <desc>Defines how to generate the csrf session token</desc>
      <longDesc>Defines how to generate the csrf session token.</longDesc>
      <defaultValue>secureRandom</defaultValue>
      <expectedValues>secureRandom, random</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.2.0</since>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.CLIENT_VIEW_STATE_TIMEOUT</name>
      <fieldName>CLIENT_VIEW_STATE_TIMEOUT</fieldName>
      <desc>Define the time in minutes where the view state is valid when
client side state saving is used</desc>
      <longDesc>Define the time in minutes where the view state is valid when
client side state saving is used. By default it is set to 0
(infinite).</longDesc>
      <defaultValue>0</defaultValue>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.1.9, 2.0.15</since>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RANDOM_KEY_IN_VIEW_STATE_SESSION_TOKEN</name>
      <fieldName>RANDOM_KEY_IN_VIEW_STATE_SESSION_TOKEN</fieldName>
      <desc>Adds a random key to the generated view state session token</desc>
      <longDesc>Adds a random key to the generated view state session token.</longDesc>
      <defaultValue>secureRandom</defaultValue>
      <expectedValues>secureRandom, random</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.1.9, 2.0.15</since>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RANDOM_KEY_IN_VIEW_STATE_SESSION_TOKEN_LENGTH</name>
      <fieldName>RANDOM_KEY_IN_VIEW_STATE_SESSION_TOKEN_LENGTH</fieldName>
      <desc>Set the default length of the random key added to the view state session token</desc>
      <longDesc>Set the default length of the random key added to the view state session token.
By default is 8.</longDesc>
      <defaultValue>8</defaultValue>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.1.9, 2.0.15</since>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RANDOM_KEY_IN_VIEW_STATE_SESSION_TOKEN_SECURE_RANDOM_CLASS</name>
      <fieldName>RANDOM_KEY_IN_VIEW_STATE_SESSION_TOKEN_SECURE_RANDOM_CLASS</fieldName>
      <desc>Sets the random class to initialize the secure random id generator</desc>
      <longDesc>Sets the random class to initialize the secure random id generator. 
By default it uses java.security.SecureRandom</longDesc>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.1.9, 2.0.15</since>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RANDOM_KEY_IN_VIEW_STATE_SESSION_TOKEN_SECURE_RANDOM_PROVIDER</name>
      <fieldName>RANDOM_KEY_IN_VIEW_STATE_SESSION_TOKEN_SECURE_RANDOM_PROVIDER</fieldName>
      <desc>Sets the random provider to initialize the secure random id generator</desc>
      <longDesc>Sets the random provider to initialize the secure random id generator.</longDesc>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.1.9, 2.0.15</since>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RANDOM_KEY_IN_VIEW_STATE_SESSION_TOKEN_SECURE_RANDOM_ALGORITHM</name>
      <fieldName>RANDOM_KEY_IN_VIEW_STATE_SESSION_TOKEN_SECURE_RANDOM_ALGORITHM</fieldName>
      <desc>Sets the random algorithm to initialize the secure random id generator</desc>
      <longDesc>Sets the random algorithm to initialize the secure random id generator. 
By default is SHA1PRNG</longDesc>
      <defaultValue>SHA1PRNG</defaultValue>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.1.9, 2.0.15</since>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RANDOM_KEY_IN_CSRF_SESSION_TOKEN</name>
      <fieldName>RANDOM_KEY_IN_CSRF_SESSION_TOKEN</fieldName>
      <desc>Defines how to generate the csrf session token</desc>
      <longDesc>Defines how to generate the csrf session token.</longDesc>
      <defaultValue>secureRandom</defaultValue>
      <expectedValues>secureRandom, random</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.2.0</since>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.COMPRESS_STATE_IN_SESSION</name>
      <fieldName>COMPRESS_STATE_IN_SESSION</fieldName>
      <desc>Indicates that the serialized state will be compressed before it is written to the session</desc>
      <longDesc>
<![CDATA[
Indicates that the serialized state will be compressed before it is written to the session. By default true.

Only applicable if state saving method is "server" (= default) and if
<code>jakarta.faces.SERIALIZE_SERVER_STATE</code> is <code>true</code>.
If <code>true</code> (default) the serialized state will be compressed before it is written to the session.
If <code>false</code> the state will not be compressed.
]]>
      </longDesc>
      <defaultValue>true</defaultValue>
      <expectedValues>true,false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>1.1</since>
      <group>state</group>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.USE_FLASH_SCOPE_PURGE_VIEWS_IN_SESSION</name>
      <fieldName>USE_FLASH_SCOPE_PURGE_VIEWS_IN_SESSION</fieldName>
      <desc>Allow use flash scope to keep track of the views used in session and the previous ones,
so server side state saving can delete old views even if POST-REDIRECT-GET pattern is used</desc>
      <longDesc>
<![CDATA[
Allow use flash scope to keep track of the views used in session and the previous ones,
so server side state saving can delete old views even if POST-REDIRECT-GET pattern is used.

<p>
Only applicable if state saving method is "server" (= default).
The default value is false.</p>
]]>
      </longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0.6</since>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.AUTOCOMPLETE_OFF_VIEW_STATE</name>
      <fieldName>AUTOCOMPLETE_OFF_VIEW_STATE</fieldName>
      <desc>Add autocomplete="off" to the view state hidden field</desc>
      <longDesc>Add autocomplete="off" to the view state hidden field. Enabled by default.</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.2.8, 2.1.18, 2.0.24</since>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RESOURCE_MAX_TIME_EXPIRES</name>
      <fieldName>RESOURCE_MAX_TIME_EXPIRES</fieldName>
      <desc>Set the max time in miliseconds set on the "Expires" header for a resource rendered by 
the default ResourceHandler</desc>
      <longDesc>Set the max time in miliseconds set on the "Expires" header for a resource rendered by 
the default ResourceHandler.
(default to one week in miliseconds or 604800000)</longDesc>
      <defaultValue>604800000</defaultValue>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0</since>
      <group>resources</group>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.LAZY_LOAD_CONFIG_OBJECTS</name>
      <fieldName>LAZY_LOAD_CONFIG_OBJECTS</fieldName>
      <desc>Indicate if the classes associated to components, converters, validators or behaviors
should be loaded as soon as they are added to the current application instance or instead
loaded in a lazy way</desc>
      <longDesc>Indicate if the classes associated to components, converters, validators or behaviors
should be loaded as soon as they are added to the current application instance or instead
loaded in a lazy way.</longDesc>
      <defaultValue>true</defaultValue>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0</since>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.EL_RESOLVER_COMPARATOR</name>
      <fieldName>EL_RESOLVER_COMPARATOR</fieldName>
      <desc><![CDATA[The Class of an Comparator&lt;ELResolver&gt; implementation.]]></desc>
      <longDesc>
<![CDATA[
Define a custom comparator class used to sort the ELResolvers.

<p>This is useful when it is necessary to put an ELResolver on top of other resolvers. Note set
this param override the default ordering described by Faces spec section 5. 
</p>
]]>
      </longDesc>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>1.2.10, 2.0.2</since>
      <group>EL</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.EL_RESOLVER_PREDICATE</name>
      <fieldName>EL_RESOLVER_PREDICATE</fieldName>
      <desc><![CDATA[The Class of an java.util.function.Predicate&lt;ELResolver&gt; implementation." + "If used and returns false for a ELResolver instance, such resolver will not be installed in " + "ELResolvers chain. Use with caution - can break functionality defined in Faces specification " + "'ELResolver Instances Provided by Faces']]></desc>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.1.0</since>
      <group>EL</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.VIEWID_CACHE_SIZE</name>
      <fieldName>VIEWID_CACHE_SIZE</fieldName>
      <desc>Controls the size of the viewId related caches: " + "VIEWID_EXISTS_CACHE_ENABLED, VIEWID_PROTECTED_CACHE_ENABLED, VIEWID_DERIVE_CACHE_ENABLED</desc>
      <defaultValue>500</defaultValue>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0.2</since>
      <group>viewhandler</group>
      <tags>performance</tags>
      <classType>java.lang.Integer</classType>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.VIEWID_EXISTS_CACHE_ENABLED</name>
      <fieldName>VIEWID_EXISTS_CACHE_ENABLED</fieldName>
      <desc>Enable or disable the cache used to 'remember' if a view exists or not and reduce the impact " + "of sucesive calls to ExternalContext.getResource().</desc>
      <defaultValue>true</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0.2</since>
      <group>viewhandler</group>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.VIEWID_PROTECTED_CACHE_ENABLED</name>
      <fieldName>VIEWID_PROTECTED_CACHE_ENABLED</fieldName>
      <desc>Enable or disable the cache used to 'remember' if a view is protected or not.</desc>
      <defaultValue>true</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.3-next</since>
      <group>viewhandler</group>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.VIEWID_DERIVE_CACHE_ENABLED</name>
      <fieldName>VIEWID_DERIVE_CACHE_ENABLED</fieldName>
      <desc>Enable or disable the cache used to 'remember' the derived viewId from the rawViewId.</desc>
      <defaultValue>true</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.3-next</since>
      <group>viewhandler</group>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.validator.BEAN_BEFORE_JSF_VALIDATION</name>
      <fieldName>BEAN_BEFORE_JSF_VALIDATION</fieldName>
      <desc>Enforce f:validateBean to be called first before any Faces validator</desc>
      <longDesc>Enforce f:validateBean to be called first before any Faces validator.</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.2.10</since>
      <group>validation</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.FACES_INIT_PLUGINS</name>
      <fieldName>FACES_INIT_PLUGINS</fieldName>
      <desc>comma delimited list of plugin classes which can be hooked into myfaces</desc>
      <longDesc>comma delimited list of plugin classes which can be hooked into myfaces</longDesc>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.INITIALIZE_SKIP_JAR_FACES_CONFIG_SCAN</name>
      <fieldName>INITIALIZE_SKIP_JAR_FACES_CONFIG_SCAN</fieldName>
      <desc>If the flag is true, the algoritm skip jar scanning for faces-config files to check if the current
application requires FacesServlet to be added dynamically (servlet spec 3)</desc>
      <longDesc>If the flag is true, the algoritm skip jar scanning for faces-config files to check if the current
application requires FacesServlet to be added dynamically (servlet spec 3). This param can be set using 
a system property with the same name too.</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.2.10</since>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.INITIALIZE_ALWAYS_STANDALONE</name>
      <fieldName>INITIALIZE_ALWAYS_STANDALONE</fieldName>
      <desc>If this param is set to true, the check for faces servlet mapping is not done</desc>
      <longDesc>If this param is set to true, the check for faces servlet mapping is not done</longDesc>
      <defaultValue>false</defaultValue>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0.3</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.EXPRESSION_FACTORY</name>
      <fieldName>EXPRESSION_FACTORY</fieldName>
      <desc>This parameter specifies the ExpressionFactory implementation to use</desc>
      <longDesc>This parameter specifies the ExpressionFactory implementation to use.</longDesc>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>1.2.7</since>
      <group>EL</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.CHECK_ID_PRODUCTION_MODE</name>
      <fieldName>CHECK_ID_PRODUCTION_MODE</fieldName>
      <desc>Define how duplicate ids are checked when ProjectStage is Production, by default (auto) it only check ids of
components that does not encapsulate markup (like facelets UILeaf)</desc>
      <longDesc>
<![CDATA[
Define how duplicate ids are checked when ProjectStage is Production, by default (auto) it only check ids of
components that does not encapsulate markup (like facelets UILeaf).
 
<ul>
<li>true: check all ids, including ids for components that are transient and encapsulate markup.</li>
<li>auto: (default) check ids of components that does not encapsulate markup (like facelets UILeaf). 
Note ids of UILeaf instances are generated by facelets vdl, start with "j_id", are never rendered 
into the response and UILeaf instances are never used as a target for listeners, so in practice 
there is no need to check such ids. This reduce the overhead associated with generate client ids.</li>
<li>false: do not do any check when ProjectStage is Production</li>
</ul>
<p> According to specification, identifiers must be unique within the scope of the nearest ancestor to 
the component that is a naming container.</p>
]]>
      </longDesc>
      <defaultValue>auto</defaultValue>
      <expectedValues>true, auto, false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0.12, 2.1.6</since>
      <group>state</group>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.MARK_INITIAL_STATE_WHEN_APPLY_BUILD_VIEW</name>
      <fieldName>MARK_INITIAL_STATE_WHEN_APPLY_BUILD_VIEW</fieldName>
      <desc>no description</desc>
      <defaultValue>false</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.1</since>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.CACHE_EL_EXPRESSIONS</name>
      <fieldName>CACHE_EL_EXPRESSIONS</fieldName>
      <desc>Indicates if expressions generated by facelets should be cached or not</desc>
      <longDesc>
<![CDATA[
Indicates if expressions generated by facelets should be cached or not.
Default is noCache. There there are four modes:

<ul>
<li>alwaysRecompile (since 2.1.12): Only does not cache when the expression contains
a variable resolved using VariableMapper</li>
<li>always: Only does not cache when expressions are inside user tags or the
expression contains a variable resolved using VariableMapper</li>
<li>allowCset: Like always, but does not allow cache when ui:param
was used on the current template context</li>
<li>strict: Like allowCset, but does not allow cache when c:set with
var and value properties only is used on the current page context</li>
<li>noCache: All expression are created each time the view is built</li>
</ul>
]]>
      </longDesc>
      <defaultValue>noCache</defaultValue>
      <expectedValues>noCache, strict, allowCset, always, alwaysRecompile</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0.8</since>
      <group>EL</group>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.WRAP_TAG_EXCEPTIONS_AS_CONTEXT_AWARE</name>
      <fieldName>WRAP_TAG_EXCEPTIONS_AS_CONTEXT_AWARE</fieldName>
      <desc>Wrap exception caused by calls to EL expressions, so information like
the location, expression string and tag name can be retrieved by
the ExceptionHandler implementation and used to output meaningful information about itself</desc>
      <longDesc>
<![CDATA[
Wrap exception caused by calls to EL expressions, so information like
the location, expression string and tag name can be retrieved by
the ExceptionHandler implementation and used to output meaningful information about itself.

<p>Note in some cases this will wrap the original jakarta.el.ELException,
so the information will not be on the stack trace unless ExceptionHandler
retrieve checking if the exception implements ContextAware interface and calling getWrapped() method.
</p>
]]>
      </longDesc>
      <defaultValue>true</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0.9, 2.1.3</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RESOURCE_CACHE_LAST_MODIFIED</name>
      <fieldName>RESOURCE_CACHE_LAST_MODIFIED</fieldName>
      <desc>Defines if the last-modified should be cached of the resources when the ProjectStage is Production</desc>
      <longDesc>Defines if the last-modified should be cached of the resources when the ProjectStage is Production.
If the cache is disabled, each last-modified request will read the last-modified from the file.</longDesc>
      <defaultValue>true</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.3-next</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.LOG_WEB_CONTEXT_PARAMS</name>
      <fieldName>LOG_WEB_CONTEXT_PARAMS</fieldName>
      <desc>Indicate if INFO logging of all the web config params should be done before initialize the webapp</desc>
      <longDesc>
<![CDATA[
Indicate if INFO logging of all the web config params should be done before initialize the webapp. 
<p>
If is set to "dev-only" mode, web config params are only logged in "Development" mode. 
If is set to "true", web config params are only logged in "Production" and "Development" mode. 
If is set to "false" mode, info logging does not occur in any mode.
</p>
]]>
      </longDesc>
      <defaultValue>dev-only</defaultValue>
      <expectedValues>true, dev-only, false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.FACES_INITIALIZER</name>
      <fieldName>FACES_INITIALIZER</fieldName>
      <desc>Class name of a custom FacesInitializer implementation.</desc>
      <longDesc>
<![CDATA[
Indicate the class implementing FacesInitializer interface that will
be used to setup MyFaces Core contexts.
<p>This is used when some custom task must be done specifically when
a myfaces web context is initialized or destroyed, or when MyFaces should
be initialized in some custom environment. 
</p>
]]>
      </longDesc>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.0.1</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.spi.InjectionProvider</name>
      <fieldName>INJECTION_PROVIDER</fieldName>
      <desc>Define the class implementing InjectionProvider interface to handle dependendy injection,
PostConstruct and PreDestroy callbacks</desc>
      <longDesc>
<![CDATA[
Define the class implementing InjectionProvider interface to handle dependendy injection,
PostConstruct and PreDestroy callbacks.

<p>This also can be configured using a SPI entry (/META-INF/services/...).</p>
]]>
      </longDesc>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.2</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.WEBSOCKET_MAX_CONNECTIONS</name>
      <fieldName>WEBSOCKET_MAX_CONNECTIONS</fieldName>
      <desc>no description</desc>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.3</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RENDER_CLIENTBEHAVIOR_SCRIPTS_AS_STRING</name>
      <fieldName>RENDER_CLIENTBEHAVIOR_SCRIPTS_AS_STRING</fieldName>
      <desc>Defines if the clientbehavior scripts are passed as string or function to the faces</desc>
      <longDesc>Defines if the clientbehavior scripts are passed as string or function to the faces.util.chain.
"As string" is actually the default behavior of both MyFaces (until 2.3-next) and Mojarra.
"As function" is quite usefull for CSP as no string needs to be evaluated as function.

Our faces.util.chain supports both of course.</longDesc>
      <defaultValue>false</defaultValue>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.3-next</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.ALWAYS_FORCE_SESSION_CREATION</name>
      <fieldName>ALWAYS_FORCE_SESSION_CREATION</fieldName>
      <desc>Defines if a session should be created (if one does not exist) before response rendering</desc>
      <longDesc>Defines if a session should be created (if one does not exist) before response rendering.
When this parameter is set to true, a session will be created even when client side state 
saving or stateless views are used, which can lead to unintended resource consumption.
When this parameter is set to false, a session will only be created before response 
rendering if a view is not transient and server side state saving is in use.</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true,false</expectedValues>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.3.6</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RESOURCE_BUNDLE_CONTROL</name>
      <fieldName>RESOURCE_BUNDLE_CONTROL</fieldName>
      <desc>Defines the {@link java</desc>
      <longDesc>Defines the {@link java.util.ResourceBundle.Control} to use for all
{@link java.util.ResourceBundle#getBundle(java.lang.String)} calls.</longDesc>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>2.3-next</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.EL_RESOLVER_TRACING</name>
      <fieldName>EL_RESOLVER_TRACING</fieldName>
      <desc>Defines if ELResolvers should be traced on each request and logged</desc>
      <longDesc>Defines if ELResolvers should be traced on each request and logged. Only active on Development ProjectStage.</longDesc>
      <defaultValue>false</defaultValue>
      <sourceClassName>org.apache.myfaces.config.webparameters.MyfacesConfig</sourceClassName>
      <since>4.0</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.ERROR_TEMPLATE_RESOURCE</name>
      <fieldName>ERROR_TEMPLATE_RESOURCE</fieldName>
      <desc>Indicate the template name used to render the default error page used by MyFaces specific 
error handler implementation</desc>
      <longDesc>
<![CDATA[
Indicate the template name used to render the default error page used by MyFaces specific 
error handler implementation. 

<p>See org.apache.myfaces.ERROR_HANDLING for details about
how to enable/disable it.</p>
]]>
      </longDesc>
      <defaultValue>META-INF/rsc/myfaces-dev-error.xml</defaultValue>
      <sourceClassName>org.apache.myfaces.renderkit.ErrorPageWriter</sourceClassName>
      <since>1.2.4</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.DEBUG_TEMPLATE_RESOURCE</name>
      <fieldName>DEBUG_TEMPLATE_RESOURCE</fieldName>
      <desc>Indicate the template name used to render the default debug page (see ui:debug tag)</desc>
      <longDesc>Indicate the template name used to render the default debug page (see ui:debug tag).</longDesc>
      <defaultValue>META-INF/rsc/myfaces-dev-debug.xml</defaultValue>
      <sourceClassName>org.apache.myfaces.renderkit.ErrorPageWriter</sourceClassName>
      <since>1.2.4</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.ERROR_HANDLING</name>
      <fieldName>ERROR_HANDLING_PARAMETER</fieldName>
      <desc>Indicate if myfaces is responsible to handle errors</desc>
      <longDesc>Indicate if myfaces is responsible to handle errors. 
See https://cwiki.apache.org/confluence/display/MYFACES/Handling+Server+Errors for details.</longDesc>
      <defaultValue>false, on Development Project stage: true</defaultValue>
      <expectedValues>true,false</expectedValues>
      <sourceClassName>org.apache.myfaces.renderkit.ErrorPageWriter</sourceClassName>
      <since>1.2.4</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.TEMPORAL_RESOURCEHANDLER_CACHE_ENABLED</name>
      <fieldName>INIT_PARAM_TEMPORAL_RESOURCEHANDLER_CACHE_ENABLED</fieldName>
      <desc>If this param is set to true (default false), a temporal directory is created and
all files handled by this ResourceLoader are cached there, avoiding the problem
described on MYFACES-3586</desc>
      <longDesc>If this param is set to true (default false), a temporal directory is created and
all files handled by this ResourceLoader are cached there, avoiding the problem
described on MYFACES-3586. (Performance improvement in Resource loading - 
HIGH CPU inflating bytes in ResourceHandlerImpl.handleResourceRequest).</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>org.apache.myfaces.resource.TempDirFileCacheResourceLoader</sourceClassName>
      <since>2.1.11</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.SERVICE_PROVIDER_FINDER</name>
      <fieldName>SERVICE_PROVIDER_FINDER_PARAM</fieldName>
      <desc>Class name of a custom ServiceProviderFinder implementation.</desc>
      <longDesc>
<![CDATA[
Define the class name of a custom ServiceProviderFinder implementation.

<p>This class is used to override the default SPI scanning algorithm, that relies on the thread
context class loader to locate entries under META-INF/services folder.
</p>
]]>
      </longDesc>
      <sourceClassName>org.apache.myfaces.spi.ServiceProviderFinderFactory</sourceClassName>
      <since>2.0.3</since>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RANDOM_KEY_IN_CSRF_SESSION_TOKEN_LENGTH</name>
      <fieldName>RANDOM_KEY_IN_CSRF_SESSION_TOKEN_LENGTH_PARAM</fieldName>
      <desc>Set the default length of the random key used for the csrf session token</desc>
      <longDesc>Set the default length of the random key used for the csrf session token.
By default is 16.</longDesc>
      <defaultValue>16</defaultValue>
      <sourceClassName>org.apache.myfaces.util.token.CsrfSessionTokenFactory</sourceClassName>
      <since>2.2.0</since>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RANDOM_KEY_IN_CSRF_SESSION_TOKEN_SECURE_RANDOM_CLASS</name>
      <fieldName>RANDOM_KEY_IN_CSRF_SESSION_TOKEN_SECURE_RANDOM_CLASS_PARAM</fieldName>
      <desc>Sets the random class to initialize the secure random id generator</desc>
      <longDesc>Sets the random class to initialize the secure random id generator. 
By default it uses java.security.SecureRandom</longDesc>
      <sourceClassName>org.apache.myfaces.util.token.CsrfSessionTokenFactorySecureRandom</sourceClassName>
      <since>2.2.0</since>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RANDOM_KEY_IN_CSRF_SESSION_TOKEN_SECURE_RANDOM_PROVIDER</name>
      <fieldName>RANDOM_KEY_IN_CSRF_SESSION_TOKEN_SECURE_RANDOM_PROVIDER_PARAM</fieldName>
      <desc>Sets the random provider to initialize the secure random id generator</desc>
      <longDesc>Sets the random provider to initialize the secure random id generator.</longDesc>
      <sourceClassName>org.apache.myfaces.util.token.CsrfSessionTokenFactorySecureRandom</sourceClassName>
      <since>2.2.0</since>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.RANDOM_KEY_IN_CSRF_SESSION_TOKEN_SECURE_RANDOM_ALGORITM</name>
      <fieldName>RANDOM_KEY_IN_CSRF_SESSION_TOKEN_SECURE_RANDOM_ALGORITM_PARAM</fieldName>
      <desc>Sets the random algorithm to initialize the secure random id generator</desc>
      <longDesc>Sets the random algorithm to initialize the secure random id generator. 
By default is SHA1PRNG</longDesc>
      <defaultValue>SHA1PRNG</defaultValue>
      <sourceClassName>org.apache.myfaces.util.token.CsrfSessionTokenFactorySecureRandom</sourceClassName>
      <since>2.2.0</since>
      <group>state</group>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.VIEW_POOL_MAX_POOL_SIZE</name>
      <fieldName>INIT_PARAM_VIEW_POOL_MAX_POOL_SIZE</fieldName>
      <desc>Defines the number of views to be hold per each view metadata definition</desc>
      <longDesc>Defines the number of views to be hold per each view metadata definition.
By default is 5. 

Usually a view is defined by its viewId, locale, renderKitId
and active contracts. If a view shares the same values for these parameters
belongs to the same group that can be pooled.</longDesc>
      <defaultValue>5</defaultValue>
      <sourceClassName>org.apache.myfaces.view.facelets.pool.ViewPool</sourceClassName>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.VIEW_POOL_MAX_DYNAMIC_PARTIAL_LIMIT</name>
      <fieldName>INIT_PARAM_VIEW_POOL_MAX_DYNAMIC_PARTIAL_LIMIT</fieldName>
      <desc>Defines the limit of the views that cannot be reused partially</desc>
      <longDesc>Defines the limit of the views that cannot be reused partially.</longDesc>
      <defaultValue>2</defaultValue>
      <sourceClassName>org.apache.myfaces.view.facelets.pool.ViewPool</sourceClassName>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.VIEW_POOL_ENTRY_MODE</name>
      <fieldName>INIT_PARAM_VIEW_POOL_ENTRY_MODE</fieldName>
      <desc>Defines the type of memory reference that is used to hold the view into memory</desc>
      <longDesc>Defines the type of memory reference that is used to hold the view into memory. By
default a "soft" reference is used.</longDesc>
      <defaultValue>soft</defaultValue>
      <expectedValues>weak,soft</expectedValues>
      <sourceClassName>org.apache.myfaces.view.facelets.pool.ViewPool</sourceClassName>
      <tags>performance</tags>
    </webConfigParam>
    <webConfigParam>
      <name>org.apache.myfaces.VIEW_POOL_DEFERRED_NAVIGATION</name>
      <fieldName>INIT_PARAM_VIEW_POOL_DEFERRED_NAVIGATION</fieldName>
      <desc>Defines if the view pool uses deferred navigation to recycle views when navigation
is performed</desc>
      <longDesc>Defines if the view pool uses deferred navigation to recycle views when navigation
is performed. The difference is a normal navigation is not done when the broadcast is
done but at the end of invoke application phase.</longDesc>
      <defaultValue>false</defaultValue>
      <expectedValues>true, false</expectedValues>
      <sourceClassName>org.apache.myfaces.view.facelets.pool.ViewPool</sourceClassName>
      <tags>performance</tags>
    </webConfigParam>
  </webConfig>
  <faceletFunction>
    <modelId>myfaces-impl</modelId>
    <name>fn:contains</name>
    <desc>no description</desc>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.fn.JstlFunction</sourceClassName>
    <signature>boolean contains( java.lang.String, java.lang.String)</signature>
    <declaredSignature>boolean contains(java.lang.String name, java.lang.String searchString)</declaredSignature>
  </faceletFunction>
  <faceletFunction>
    <modelId>myfaces-impl</modelId>
    <name>fn:containsIgnoreCase</name>
    <desc>no description</desc>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.fn.JstlFunction</sourceClassName>
    <signature>boolean containsIgnoreCase( java.lang.String, java.lang.String)</signature>
    <declaredSignature>boolean containsIgnoreCase(java.lang.String name, java.lang.String searchString)</declaredSignature>
  </faceletFunction>
  <faceletFunction>
    <modelId>myfaces-impl</modelId>
    <name>fn:endsWith</name>
    <desc>no description</desc>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.fn.JstlFunction</sourceClassName>
    <signature>boolean endsWith( java.lang.String, java.lang.String)</signature>
    <declaredSignature>boolean endsWith(java.lang.String name, java.lang.String searchString)</declaredSignature>
  </faceletFunction>
  <faceletFunction>
    <modelId>myfaces-impl</modelId>
    <name>fn:escapeXml</name>
    <desc>no description</desc>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.fn.JstlFunction</sourceClassName>
    <signature>java.lang.String escapeXml( java.lang.String)</signature>
    <declaredSignature>java.lang.String escapeXml(java.lang.String value)</declaredSignature>
  </faceletFunction>
  <faceletFunction>
    <modelId>myfaces-impl</modelId>
    <name>fn:indexOf</name>
    <desc>no description</desc>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.fn.JstlFunction</sourceClassName>
    <signature>int indexOf( java.lang.String, java.lang.String)</signature>
    <declaredSignature>int indexOf(java.lang.String name, java.lang.String searchString)</declaredSignature>
  </faceletFunction>
  <faceletFunction>
    <modelId>myfaces-impl</modelId>
    <name>fn:join</name>
    <desc>no description</desc>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.fn.JstlFunction</sourceClassName>
    <signature>java.lang.String join( java.lang.String, java.lang.String)</signature>
    <declaredSignature>java.lang.String join(java.lang.String[] a, java.lang.String delim)</declaredSignature>
  </faceletFunction>
  <faceletFunction>
    <modelId>myfaces-impl</modelId>
    <name>fn:length</name>
    <desc>no description</desc>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.fn.JstlFunction</sourceClassName>
    <signature>int length( java.lang.Object)</signature>
    <declaredSignature>int length(java.lang.Object obj)</declaredSignature>
  </faceletFunction>
  <faceletFunction>
    <modelId>myfaces-impl</modelId>
    <name>fn:replace</name>
    <desc>no description</desc>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.fn.JstlFunction</sourceClassName>
    <signature>java.lang.String replace( java.lang.String, java.lang.String, java.lang.String)</signature>
    <declaredSignature>java.lang.String replace(java.lang.String value, java.lang.String a, java.lang.String b)</declaredSignature>
  </faceletFunction>
  <faceletFunction>
    <modelId>myfaces-impl</modelId>
    <name>fn:split</name>
    <desc>no description</desc>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.fn.JstlFunction</sourceClassName>
    <signature>java.lang.String split( java.lang.String, java.lang.String)</signature>
    <declaredSignature>java.lang.String[] split(java.lang.String value, java.lang.String d)</declaredSignature>
  </faceletFunction>
  <faceletFunction>
    <modelId>myfaces-impl</modelId>
    <name>fn:startsWith</name>
    <desc>no description</desc>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.fn.JstlFunction</sourceClassName>
    <signature>boolean startsWith( java.lang.String, java.lang.String)</signature>
    <declaredSignature>boolean startsWith(java.lang.String value, java.lang.String p)</declaredSignature>
  </faceletFunction>
  <faceletFunction>
    <modelId>myfaces-impl</modelId>
    <name>fn:substring</name>
    <desc>no description</desc>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.fn.JstlFunction</sourceClassName>
    <signature>java.lang.String substring( java.lang.String, int, int)</signature>
    <declaredSignature>java.lang.String substring(java.lang.String v, int s, int e)</declaredSignature>
  </faceletFunction>
  <faceletFunction>
    <modelId>myfaces-impl</modelId>
    <name>fn:substringAfter</name>
    <desc>no description</desc>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.fn.JstlFunction</sourceClassName>
    <signature>java.lang.String substringAfter( java.lang.String, java.lang.String)</signature>
    <declaredSignature>java.lang.String substringAfter(java.lang.String v, java.lang.String p)</declaredSignature>
  </faceletFunction>
  <faceletFunction>
    <modelId>myfaces-impl</modelId>
    <name>fn:substringBefore</name>
    <desc>no description</desc>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.fn.JstlFunction</sourceClassName>
    <signature>java.lang.String substringBefore( java.lang.String, java.lang.String)</signature>
    <declaredSignature>java.lang.String substringBefore(java.lang.String v, java.lang.String s)</declaredSignature>
  </faceletFunction>
  <faceletFunction>
    <modelId>myfaces-impl</modelId>
    <name>fn:toLowerCase</name>
    <desc>no description</desc>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.fn.JstlFunction</sourceClassName>
    <signature>java.lang.String toLowerCase( java.lang.String)</signature>
    <declaredSignature>java.lang.String toLowerCase(java.lang.String v)</declaredSignature>
  </faceletFunction>
  <faceletFunction>
    <modelId>myfaces-impl</modelId>
    <name>fn:toUpperCase</name>
    <desc>no description</desc>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.fn.JstlFunction</sourceClassName>
    <signature>java.lang.String toUpperCase( java.lang.String)</signature>
    <declaredSignature>java.lang.String toUpperCase(java.lang.String v)</declaredSignature>
  </faceletFunction>
  <faceletFunction>
    <modelId>myfaces-impl</modelId>
    <name>fn:trim</name>
    <desc>no description</desc>
    <sourceClassName>org.apache.myfaces.view.facelets.tag.jstl.fn.JstlFunction</sourceClassName>
    <signature>java.lang.String trim( java.lang.String)</signature>
    <declaredSignature>java.lang.String trim(java.lang.String v)</declaredSignature>
  </faceletFunction>
</model>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy