<?xml version="1.0" encoding="utf-8"?><taglib xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" version="2.1">
  

  <display-name>Apache Trinidad Core</display-name>    
  <tlib-version>1.2.6</tlib-version>
  <short-name>tr</short-name>
  <uri>http://myfaces.apache.org/trinidad</uri>
  <listener>
    <listener-class>org.apache.myfaces.trinidadinternal.webapp.TrinidadListenerImpl</listener-class>
  </listener>

   <tag>
      <description>
The forEach tag is a replacement for the JSTL &amp;lt;c:forEach&amp;gt; tag. 
As of JSF 1.2/JSP 2.1/JSTL 1.2, the regular &amp;lt;c:forEach&amp;gt; tag
does work with JSF components.  However, it does not support varStatus
with JSF!  (Unlike c:forEach, tr:forEach doesn't currently support anything
for "items" other than arrays and lists.)
      </description>
      <name>forEach</name>
      <tag-class>org.apache.myfaces.trinidadinternal.taglib.ForEachTag</tag-class>
      <body-content>JSP</body-content>

      <attribute>
        <description>
          the items over which iteration takes place 
        </description>
        <name>items</name>
        <deferred-value/>
      </attribute>

      <attribute>
        <description>
          the name of the variable to expose
        </description>
        <name>var</name>
        <rtexprvalue>false</rtexprvalue>
      </attribute>

      <attribute>
        <description>
          Name of the exported scoped variable for the
          status of the iteration.
        </description>
        <name>varStatus</name>
        <rtexprvalue>false</rtexprvalue>
      </attribute>

      <attribute>
        <description>
          the beginning index 
        </description>
        <name>begin</name>
        <deferred-value>
          <type>java.lang.Integer</type>
        </deferred-value>
      </attribute>

      <attribute>
        <description>
          the ending index 
        </description>
        <name>end</name>
        <deferred-value>
          <type>java.lang.Integer</type>
        </deferred-value>
      </attribute>

      <attribute>
        <description>
          the number of steps per iteration
        </description>
        <name>step</name>
        <deferred-value>
          <type>java.lang.Integer</type>
        </deferred-value>
      </attribute>

   </tag>

   <tag>
      <description>
        The setActionListener tag provides a declarative syntax for assigning values before an action fires
      </description>

      <name>setActionListener</name>
      <tag-class>org.apache.myfaces.trinidadinternal.taglib.listener.SetActionListenerTag</tag-class>
      <body-content>empty</body-content>
      <attribute>
        <description>
          the target for the value;  must be an EL expression
        </description>
        <name>to</name>
        <required>true</required>
        <deferred-value/>
      </attribute>

      <attribute>
        <description>
          the source of the value;  can be an EL expression or a constant value
        </description>
        <name>from</name>
        <required>true</required>
        <deferred-value/>
      </attribute>
   </tag>

   <tag>
      <name>fileDownloadActionListener</name>
      <tag-class>org.apache.myfaces.trinidadinternal.taglib.listener.FileDownloadActionListenerTag</tag-class>
      <body-content>empty</body-content>
      <description>
        The fileDownloadActionListener tag provides a declarative syntax for downloading files to a user from a command component.
      </description>

      <attribute>
        <description>
          the content or mime type of the file - e.g., text/html or application/pdf
        </description>
        <name>contentType</name>
        <deferred-value/>
      </attribute>

      <attribute>
        <description>
          the desired or proposed filename.  If set, the user will typically be presented with a "Save File" dialog, though this is ultimately at the descretion of the user agent.
        </description>
        <name>filename</name>
        <deferred-value/>
      </attribute>

      <attribute>
        <description>
          an EL binding to the method that will deliver the file contents.  The method must take two parameters, a FacesContext and an OutputStream.
        </description>
        <name>method</name>
        <required>true</required>
        <deferred-method>
          <method-signature>void myMethod(javax.faces.context.FacesContext, java.io.OutputStream)</method-signature>
        </deferred-method>
      </attribute>
   </tag>

   <tag>
      <description>
        The returnActionListener tag is a declarative way to allow an action source to return 
        a value from a dialog or process.
      </description>
      <name>returnActionListener</name>
      <tag-class>org.apache.myfaces.trinidadinternal.taglib.listener.ReturnActionListenerTag</tag-class>
      <body-content>empty</body-content>

      <attribute>
        <description>
          The value to return as the dialog/process result.
          This can be an EL expression or a constant value.
        </description>
        <name>value</name>
        <deferred-value/>
      </attribute>
   </tag>


   <tag>
      <description>
        The resetActionListener tag provides a declarative syntax for resetting values before an action fires
      </description>
      <name>resetActionListener</name>
      <tag-class>org.apache.myfaces.trinidadinternal.taglib.listener.ResetActionListenerTag</tag-class>
      <body-content>empty</body-content>
   </tag>
 
   <tag>
      <description> 

      The componentRef tag adds declarative components onto the current
      component tree. The declarative component is usually defined in a jsp
      file.  It is currently experimental and should not be used by
      developers.

      </description>

      <name>componentRef</name>
      <tag-class>org.apache.myfaces.trinidadinternal.taglib.ComponentRefTag</tag-class>
      <body-content>JSP</body-content>
      <attribute>
        <description>
Identifies which declarative component to use. 
All the available components must be
declared in a region-metadata.xml file.
        </description>
        <name>componentType</name>
        <required>true</required>
        <deferred-value/>
      </attribute>

      <attribute>
        <description>
          This ID must be unique within this page. 
        </description>
        <name>id</name>
        <required>true</required>
      </attribute>

      <attribute>
        <description>
          A value to pass to the component definition.
        </description>
        <name>value</name>
        <required>false</required>
        <deferred-value/>
      </attribute>

      <attribute>
        <description>
          Whether or not this component is rendered.
        </description>
        <name>rendered</name>
        <required>false</required>
        <deferred-value/>
      </attribute>

   </tag>


    <tag>
      <description>
        The componentDef tag is used to define a component. Its primary purpose
is defining a "var" property so that the definition can refer to attributes
on this component's usage.
      </description>
      <name>componentDef</name>   
      <tag-class>org.apache.myfaces.trinidadinternal.taglib.ComponentDefTag</tag-class>
      <body-content>JSP</body-content>
      <attribute>
        <description>
          the variable name to use when referencing attributes, that may be set
          on this new component.
        </description>
        <name>var</name>
        <rtexprvalue>false</rtexprvalue>
      </attribute>
    </tag>        


    <tag>
      <description>
        The facetRef tag is used to copy facets from a component
        and paste them into its
        definition. This tag may only be used within an &lt;tr:componentDef&gt;
        tag.
        Each facet may be used only once within each 
        &lt;tr:componentDef&gt;. In other words, a single facet cannot be
        used more than once.
      </description>
      <name>facetRef</name>   
      <tag-class>org.apache.myfaces.trinidadinternal.taglib.FacetRefTag</tag-class>
      <body-content>JSP</body-content>
      <attribute>
        <description>
          the facet name to copy
        </description>
        <name>facetName</name>
        <rtexprvalue>false</rtexprvalue>
      </attribute>
    </tag>        


  <tag>
    
    <description>A breadCrumbs component is used in hierarchical
          site layouts to indicate the path back to the root page of the
          hierarchy with links.</description><name>breadCrumbs</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreBreadCrumbsTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>Name of the EL variable used to reference each element of this collection.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).</description>
      <name>var</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>the hierarchy of navigation data - must be of type 
            org.apache.myfaces.trinidad.model.MenuModel</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this 
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:&lt;ul&gt;&lt;li&gt;"model" - returns the CollectionModel for this component&lt;/li&gt;&lt;li&gt;"index" - returns the zero based row index&lt;/li&gt;&lt;/ul&gt;&lt;/html&gt;</description>
      <name>varStatus</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether to put links on the same line or indented and
            on new lines.</description>
      <name>orientation</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The Trinidad Chart is used to diplay data in a chart format.</description><name>chart</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.data.CoreChartTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the data model being used by this component.The specific model class must be derived from 
        &lt;code&gt;org.apache.myfaces.trinidad.model.ChartModel&lt;/code&gt;. 
        The derived class must override the abstract methods to provide the required values for chart display.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a method reference to a drill down listener that
         will be called when the user drills down into the chart data.The method must take a parameter of type &lt;code&gt;org.apache.myfaces.trinidad.event.ChartDrillDownEvent&lt;/code&gt;.</description>
      <name>chartDrillDownListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.ChartDrillDownEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The type of chart. Possible Values are: verticalBar horizontalBar stackedVerticalBar stackedHorizontalBar pie area stackedArea line barLine XYLine scatterPlot radar radarArea funnel circularGauge semiCircularGauge.</description>
      <name>type</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Specifies URI for the template document from which the chart elements are cloned.
        If this attribute is null, the chart component uses a default template. The default template is chosen based
        on whether the useGradient attribute is true or false.
        The template document is useful for changing the Look and Feel of the chart. 
        Some examples include:1)A developer may want to skin the chart to match its corporate Look and Feel.
        2)A developer may want to put water marks/background images inside the chart.
        3)A developer may want to change the template for the gauges used in the gauge charts.
        4)A developer may want to turn off gradients and instead use filters to set some interesting effects on the chart elements.</description>
      <name>templateSource</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Specifies if the chart is drawn with a perspective (2.5D). 
      By default the chart is draw with a perspective.</description>
      <name>perspective</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Specified the location of the legend. The legend can be turned off by setting this attribute to none.
      Otherwise it can be drawn at top, start, end or bottom.</description>
      <name>legendPosition</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The duration of the animation for the chart components in milliseconds.
      Animation can be turned off if the animationDuration is set to 0. The default value is 1000ms.</description>
      <name>animationDuration</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>This attribute controls the number of horizontal major grid lines displayed in the chart.
      For horizontal charts(horizontalBar, stackedHorizontalBar) this attribute controls the horizontal major grid lines.
      The default is 3.</description>
      <name>YMajorGridLineCount</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>This attribute controls the number of minor grid lines displayed within a major grid section.
      The default value is -1, which means it varies per chart type. Currently it is used only for gauge charts 
      with a default of 3.</description>
      <name>YMinorGridLineCount</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>This attribute controls the number of vertical major grid lines displayed in the chart.
      The default value is -1, which implies that the vertical major grid lines are controlled by the groupLabels 
      in the chart model. This parameter along with the groupLabels provide flexibility in labeling the
      groups. For e.g. one can display a vertical bar chart with 2 years data. Only quarters may be labeled and XMajorGridLineCount can 
      be 1 for splitting the data into two sections.</description>
      <name>XMajorGridLineCount</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>The maximum precision of the numbers displayed on the yAxis(xAxis for horizontal charts). 
      The default is 0.</description>
      <name>maxPrecision</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Specifies if gradients are used to display chart elements. 
      By default the chart elements use gradients.</description>
      <name>gradientsUsed</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Specifies if tooltips are displayed or not.</description>
      <name>tooltipsVisible</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The chooseColor control creates a palette for picking colors.</description><name>chooseColor</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreChooseColorTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the list of colors for the component</description>
      <name>colorData</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the list of custom colors for the component</description>
      <name>customColorData</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the width of the standard palette in cells</description>
      <name>width</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The chooseDate component is used in conjunction with a 
          selectInputDate to allow the user to quickly select a date value without 
          having to navigate to a secondary window.</description><name>chooseDate</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreChooseDateTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>The minimum value allowed for the Date value.
When set to a fixed value on a tag, this will be parsed as an ISO 8601 date.
ISO 8601 dates are of the form "yyyy-MM-dd"
(for example: 2002-02-15).  All other uses require java.util.Date objects. 
When binding to Date objects, it is advised to create the Date object with zeroed-out
values for any date-time components that aren't displayed (usually hours, minutes, seconds, milliseconds)
to allow the largest range of values to be accepted.</description>
      <name>minValue</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The maximum value allowed for the Date value.
When set to a fixed value on a tag, this will be parsed as an ISO 8601 date.
ISO 8601 dates are of the form "yyyy-MM-dd"
(for example: 2002-02-15).  All other uses require java.util.Date objects.
When binding to Date objects, it is advised to create the Date object with 
maximum value for any date-time components that aren't displayed (usually hours, minutes, seconds, milliseconds) 
to allow the largest range of values to be accepted.</description>
      <name>maxValue</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>Component that is used as a child of the Table component. The Column
component defines the header, footer and data for a single column in the
Table.</description><name>column</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.data.CoreColumnTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>The property that is displayed by this Column. This is the
            property that the framework might use to (for example) sort  
            the Table's data.</description>
      <name>sortProperty</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The alignment for this column. The legal values are "start", "end" and "center", for left-justified, right-justified, and center-justified respectively in LTR display. The default value is "start".</description>
      <name>align</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The default sort order of the column. The legal values are "ascending" or "descending" for ascending sorting or descending sorting on a first click respectively. The default value is "ascending".</description>
      <name>defaultSortOrder</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the preferred width of this column, e.g., "30%", "100px".</description>
      <name>width</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>text to display in the header of the column.  This is a convenience that generates output equivalent to adding a "header" facet containing an outputText.</description>
      <name>headerText</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether or not the column contents should be allowed to wrap</description>
      <name>noWrap</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether or not the column header
should be allowed to wrap</description>
      <name>headerNoWrap</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;whether or not the column is sortable. A sortable column has a clickable header that (when clicked) sorts the table by that column's property. Note that in order for a column to be sortable, this attribute must be set to "true" and the underlying model must support sorting by this column's property. &lt;p&gt; This column's "sortProperty" attribute must be set if sorting is desired.&lt;/p&gt;&lt;/html&gt;</description>
      <name>sortable</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether or not the children of this column should be rendered on separate rows. Setting this attribute to true will cause each child to render in its own row. Setting this to false will cause all the children to be rendered in one cell, which will rowSpan across the rows of the Columns whose children are rendered on separate rows.

    This attribute is not supported on the following agent types:
 phone, voice.</description>
      <name>separateRows</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Whether or not this column is a row header column.</description>
      <name>rowHeader</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The commandButton control creates a button representation of a UIXCommand.</description><name>commandButton</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreCommandButtonTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a reference to an action method sent by the command component,
              or the static outcome of an action</description>
      <name>action</name>
    <deferred-method>
      <method-signature>java.lang.String myMethod()</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to an action listener</description>
      <name>actionListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ActionEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to an return listener</description>
      <name>returnListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.ReturnEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to a launch listener</description>
      <name>launchListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.LaunchEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>whether data validation - client-side or
            server-side -
          will be skipped when
          events are generated by this component.

          When immediate is true, the command's action and
          ActionListeners, including the default ActionListener
          provided by the JavaServer Faces implementation,
          will be executed during Apply Request Values phase
          of the request processing lifecycle, rather than
          waiting until the Invoke Application phase.  Because
          validation runs during Process Validators (after
          Apply Request Values, but before Invoke Application),
          setting immediate to true will skip validation.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the textual label of the button.</description>
      <name>text</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the button should be disabled.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 An attribute that will simultaneously set both the "text"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;amp;') notation.
              &lt;p&gt;
              For example, setting this attribute to "T&amp;amp;amp;ext" will
              set the text to "Text" and the access key to 'e'.
              &lt;/p&gt;&lt;/html&gt;</description>
      <name>textAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to this button.
              For accessibility reasons, this functionality is not supported 
              in screen reader mode.
              &lt;p&gt;
              If the same access key appears in multiple input fields in the 
              same page of output, the rendering user agent will cycle among 
              the elements accessed by the similar keys. Note that user agents 
              are inconsistent about dealing with two links having same access 
              key, and so the cycling behavior is dependent on what the user agent 
              provides.
              &lt;/p&gt;&lt;p&gt;
                This attribute is sometimes referred to as the "mnemonic".
              &lt;/p&gt;&lt;p&gt;
                The character specified by this attribute
                &lt;strong&gt;must&lt;/strong&gt; exist in the
                &lt;code&gt;Text&lt;/code&gt; attribute of this button instance.
                If it does not, the user will receive no visual indication of
                the existence of the accessKey.
                The easiest, and most convenient
                way to specify both the text and the mnemonic together is
                to use textAndAccessKey.
                &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the action should be done through a partial page submit
            or not.
            Default is false: no partial page submit.</description>
      <name>partialSubmit</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>If set to TRUE the component will start blocking user input when the
     action is initiated. The blocking will stop when a response is received
     from the server.</description>
      <name>blocking</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>An URL to an image to use for an icon displayed in the button.</description>
      <name>icon</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Indicates whether processes launched by this command should be launched in a secondary dialog window.</description>
      <name>useWindow</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Height of the window, if this command is used to launch a window.</description>
      <name>windowHeight</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Width of the window, if this command is used to launch a window.</description>
      <name>windowWidth</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The commandLink control creates a link representation of a UIXCommand.</description><name>commandLink</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreCommandLinkTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a reference to an action method sent by the command component,
              or the static outcome of an action</description>
      <name>action</name>
    <deferred-method>
      <method-signature>java.lang.String myMethod()</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to an action listener</description>
      <name>actionListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ActionEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to an return listener</description>
      <name>returnListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.ReturnEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to a launch listener</description>
      <name>launchListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.LaunchEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>whether data validation - client-side or
            server-side -
          will be skipped when
          events are generated by this component.

          When immediate is true, the command's action and
          ActionListeners, including the default ActionListener
          provided by the JavaServer Faces implementation,
          will be executed during Apply Request Values phase
          of the request processing lifecycle, rather than
          waiting until the Invoke Application phase.  Because
          validation runs during Process Validators (after
          Apply Request Values, but before Invoke Application),
          setting immediate to true will skip validation.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the textual label of the link.</description>
      <name>text</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the link should be considered disabled.
              This attribute only has meaning when links are used in certain
              container types, such as global headers and tab bars.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 An attribute that will simultaneously set both the "text"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;amp;') notation.
              &lt;p&gt;
              For example, setting this attribute to "T&amp;amp;amp;ext" will
              set the text to "Text" and the access key to 'e'.
              &lt;/p&gt;&lt;/html&gt;</description>
      <name>textAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to this link.
              For accessibility reasons, this functionality is not 
              supported in screen reader mode.
              &lt;p&gt;
              If the same access key appears in multiple input fields in the 
              same page of output, the rendering user agent will cycle among 
              the elements accessed by the similar keys. Note that user agents 
              are inconsistent about dealing with two links having same access 
              key, and so the cycling behavior is dependent on what the user agent 
              provides.
              &lt;/p&gt;&lt;p&gt;
                This attribute is sometimes referred to as the "mnemonic".
              &lt;/p&gt;&lt;p&gt;
                The character specified by this attribute
                &lt;strong&gt;must&lt;/strong&gt; exist in the
                &lt;code&gt;Text&lt;/code&gt; attribute of this Link instance.
                If it does not, the user will receive no visual indication of
                the existence of the accessKey.
                &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the action should be done through a partial page submit
            or not.
            Default is false: no partial page submit.</description>
      <name>partialSubmit</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>If set to TRUE the component will start blocking user input when the
     action is initiated. The blocking will stop when a response is received
     from the server.</description>
      <name>blocking</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component losing the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onblur</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component gaining the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onfocus</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Indicates whether processes launched by this command should be launched in a secondary dialog window.</description>
      <name>useWindow</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Height of the window, if this command is used to launch a window.</description>
      <name>windowHeight</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Width of the window, if this command is used to launch a window.</description>
      <name>windowWidth</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The commandNavigationItem control creates a navigation item representation of a UIXCommand.</description><name>commandNavigationItem</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreCommandNavigationItemTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a reference to an action method sent by the command component,
              or the static outcome of an action</description>
      <name>action</name>
    <deferred-method>
      <method-signature>java.lang.String myMethod()</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to an action listener</description>
      <name>actionListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ActionEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to an return listener</description>
      <name>returnListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.ReturnEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to a launch listener</description>
      <name>launchListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.LaunchEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>whether data validation - client-side or
            server-side -
          will be skipped when
          events are generated by this component.

          When immediate is true, the command's action and
          ActionListeners, including the default ActionListener
          provided by the JavaServer Faces implementation,
          will be executed during Apply Request Values phase
          of the request processing lifecycle, rather than
          waiting until the Invoke Application phase.  Because
          validation runs during Process Validators (after
          Apply Request Values, but before Invoke Application),
          setting immediate to true will skip validation.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Indicates whether processes launched by this command should be launched in a secondary dialog window.</description>
      <name>useWindow</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Height of the window, if this command is used to launch a window.</description>
      <name>windowHeight</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Width of the window, if this command is used to launch a window.</description>
      <name>windowWidth</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to this item.
              For accessibility reasons, this functionality is not supported 
              in screen reader mode.
              &lt;p&gt;
                If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle among
              the elements accessed by the similar keys.  Note that user agents 
              are inconsistent about dealing with two links having same access 
              key, and so the cycling behavior is dependent on what the user agent 
              provides.
              &lt;/p&gt;&lt;p&gt;
                This attribute is sometimes referred to as the "mnemonic".
              &lt;/p&gt;&lt;p&gt;
                The character specified by this attribute
                &lt;strong&gt;must&lt;/strong&gt; exist in the
                &lt;code&gt;text&lt;/code&gt; attribute of this item instance.
                If it does not, the user will receive no visual indication of
                the existence of the accessKey.
                The easiest, and most convenient
                way to specify both the text and the mnemonic together is
                to use textAndAccessKey.
                &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>The URI this component references when activated.  This is an alternative to using an action.</description>
      <name>destination</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>If value is "true", the component becomes non-interactive.  Otherwise,the default value is "false" and component assumes its expected behavior.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a URI specifying the location of a target image.</description>
      <name>icon</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the action should be done through a partial page submit
            or not.
            Default is false: no partial page submit.</description>
      <name>partialSubmit</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the item is selected.</description>
      <name>selected</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the item is in visited state. Depending on 
      the renderer the item may appear in a visited style, if true. This 
      property is currently used only within the a train component.</description>
      <name>visited</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the target frame for the go component.</description>
      <name>targetFrame</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the text of the item.</description>
      <name>text</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 An attribute that will simultaneously set both the "text"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;amp;') notation.
              &lt;p&gt;
              For example, setting this attribute to "T&amp;amp;amp;ext" will
              set the text to "Text" and the access key to 'e'.
              &lt;/p&gt;&lt;/html&gt;</description>
      <name>textAndAccessKey</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>&lt;html&gt;
          The document tag creates each of the standard root elements of an HTML page:  &amp;lt;html&amp;gt;, &amp;lt;body&amp;gt;, and &amp;lt;head&amp;gt;.&lt;/html&gt;</description><name>document</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.CoreDocumentTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>The title of the document.  (This title doesn't have to match the
            title on any contained panelPage.)</description>
      <name>title</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Set if the page should render in default standards mode, quirks mode, or strict mode.  Behavior of the modes are:&lt;ul&gt;
&lt;li&gt;"default": renders as transitional doctypes for both XHTML and HTML,
with &lt;a href="http://developer.mozilla.org/en/docs/Gecko's_%22Almost_Standards%22_Mode"&gt;"almost standards"&lt;/a&gt; rendering mode&lt;/li&gt;
&lt;li&gt;"strict": renders as a strict doctype for both XHTML and HTML, also
in standards rendering mode&lt;/li&gt;
&lt;li&gt;"quirks": renders HTML pages in quirks mode, and XHTML with
a transitional doctype, but standards mode  (there is no quirks mode for
XHTML).&lt;/li&gt;&lt;/ul&gt;</description>
      <name>mode</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onload Javascript handler.</description>
      <name>onload</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onunload Javascript handler.</description>
      <name>onunload</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the id of the component to which you want the
        focus to be when the full page renders. The accessibility-mode
        must be set to "inaccessible" for this feature to be on.

    This attribute is not supported on the following agent types:
 phone, voice.</description>
      <name>initialFocusId</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>&lt;html&gt;
          The form tag creates an HTML &amp;lt;form&amp;gt; element.&lt;/html&gt;</description><name>form</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.CoreFormTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the target frame for the form</description>
      <name>targetFrame</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the form supports file upload.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>usesUpload</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>The id attribute of the command button whose action would be invoked by default for form submit on hitting enter on any of the input fields of the form.</description>
      <name>defaultCommand</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Javascript code to be called when the form is submitted.</description>
      <name>onsubmit</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The goButton creates a push button that navigates directly
to another location instead of delivering an action.</description><name>goButton</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreGoButtonTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the URI this go component references</description>
      <name>destination</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the textual label of the go component.   Go components will
             also render children elements (including text nodes), though not
             all subclasses of the go component will necessarily support
             children.</description>
      <name>text</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the go component should be considered disabled.
              This attribute only has meaning when go components are used in certain
              container types, such as global headers and tab bars.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 An attribute that will simultaneously set both the "text"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;amp;') notation.
              &lt;p&gt;
              For example, setting this attribute to "T&amp;amp;amp;ext" will
              set the text to "Text" and the access key to 'e'.
              &lt;/p&gt;&lt;/html&gt;</description>
      <name>textAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to this component.
              For accessibility reasons, this functionality is not supported 
              in screen reader mode.
              &lt;p&gt;
              If the same access key appears in multiple input fields in the 
              same page of output, the rendering user agent will cycle among 
              the elements accessed by the similar keys. Note that user agents 
              are inconsistent about dealing with two links having same access 
              key, and so the cycling behavior is dependent on what the user agent 
              provides.
              &lt;/p&gt;&lt;p&gt;
                This attribute is sometimes referred to as the "mnemonic".
              &lt;/p&gt;&lt;p&gt;
                The character specified by this attribute
                &lt;strong&gt;must&lt;/strong&gt; exist in the
                &lt;code&gt;Text&lt;/code&gt; attribute of this go component instance.
                If it does not, the user will receive no visual indication of
                the existence of the accessKey.
                &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the target frame for the go component.</description>
      <name>targetFrame</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>An URL to an image to use for an icon displayed in the button.</description>
      <name>icon</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component losing the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onblur</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component gaining the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onfocus</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The goLink tag is an HTML link.</description><name>goLink</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreGoLinkTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the URI this go component references</description>
      <name>destination</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the textual label of the go component.   Go components will
             also render children elements (including text nodes), though not
             all subclasses of the go component will necessarily support
             children.</description>
      <name>text</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the go component should be considered disabled.
              This attribute only has meaning when go components are used in certain
              container types, such as global headers and tab bars.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 An attribute that will simultaneously set both the "text"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;amp;') notation.
              &lt;p&gt;
              For example, setting this attribute to "T&amp;amp;amp;ext" will
              set the text to "Text" and the access key to 'e'.
              &lt;/p&gt;&lt;/html&gt;</description>
      <name>textAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to this component.
              For accessibility reasons, this functionality is not supported 
              in screen reader mode.
              &lt;p&gt;
              If the same access key appears in multiple input fields in the 
              same page of output, the rendering user agent will cycle among 
              the elements accessed by the similar keys. Note that user agents 
              are inconsistent about dealing with two links having same access 
              key, and so the cycling behavior is dependent on what the user agent 
              provides.
              &lt;/p&gt;&lt;p&gt;
                This attribute is sometimes referred to as the "mnemonic".
              &lt;/p&gt;&lt;p&gt;
                The character specified by this attribute
                &lt;strong&gt;must&lt;/strong&gt; exist in the
                &lt;code&gt;Text&lt;/code&gt; attribute of this go component instance.
                If it does not, the user will receive no visual indication of
                the existence of the accessKey.
                &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the target frame for the go component.</description>
      <name>targetFrame</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component losing the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onblur</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component gaining the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onfocus</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The icon component renders a skin specific icon.</description><name>icon</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreIconTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a  name identifying which icon should be rendered.
              Valid values depend on the skin-family. Shortcut names
              exist for ".AFRequiredIcon", ".AFWarningIcon",
              ".AFInfoIcon", and ".AFErrorIcon". They are "required",
              "warning", "info", and "error" respectively.
              See the Apache Trinidad skins documentation for a list of icon names.</description>
      <name>name</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The image control creates an image tag.</description><name>image</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreImageTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the URI specifying the location of the image resource.</description>
      <name>source</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an URL that specifies a link to a long description of the image.
This description should supplement the short description.</description>
      <name>longDescURL</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>If a server-side image map is desired, specify "server" and place
              inside a CoreGoLink component.  The acceptable values
              are "server" or "none"; defaults to "none".</description>
      <name>imageMapType</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The importScript tag supports importing the built-in scripts
         provided by Apache Trinidad.</description><name>importScript</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.CoreImportScriptTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a series of function names</description>
      <name>names</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The inputColor control creates a text field for entering colors and
          a button for picking colors from a palette.</description><name>inputColor</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreInputColorTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a converter object</description>
      <name>converter</name>
      <deferred-value>
        <type>javax.faces.convert.Converter</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the value is converted and validated immediately in the Apply Request Values phase, or is handled in the Process Validators phase, the default.  By default, values are converted and validated together in the Process Validators phase.  However, if you need access to the value of a component during Apply Request Values - for example, if you need to get the value from an actionListener on an immediate commandButton - then setting this to "immediate" makes that possible.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether a non-null, non-empty value must be entered.  If false, validators will not be executed when the value is null or empty.</description>
      <name>required</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a validator method</description>
      <name>validator</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to a value change listener</description>
      <name>valueChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ValueChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>&lt;html&gt; the message to be displayed, if 'required' validation fails.
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;&lt;/html&gt;</description>
      <name>requiredMessageDetail</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a reference to an action method sent by the commandButton, or the static outcome of an action</description>
      <name>action</name>
    <deferred-method>
      <method-signature>java.lang.String myMethod()</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to an action listener</description>
      <name>actionListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ActionEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to an return listener</description>
      <name>returnListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.ReturnEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</description>
      <name>contentStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>If true, attempt to use less screen real-estate to display the 
          inputColor.  For example, this
          might cause the text area not to be rendered, and the color 
          swatch conveys the currently selected color.</description>
      <name>compact</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>The id of the inline chooseColor component which can be used to
          update the Color value for this inputColor.</description>
      <name>chooseId</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the element is read-only.</description>
      <name>readOnly</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is disabled.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the label of the bean.</description>
      <name>label</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired, 
tip), and may use simpler layout primitives</description>
      <name>simple</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the number of columns to display in the text
          control. If no value is specified, a default
          value will be derived from the current converter, if one
   is attached.</description>
      <name>columns</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>event handler for when the value is changed.</description>
      <name>onchange</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component losing the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onblur</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component gaining the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onfocus</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the 
          "showRequired" attribute must be false for the visual indication not to be displayed.</description>
      <name>showRequired</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to
               the form element specified by the
         &lt;code&gt;for&lt;/code&gt;, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported 
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              &lt;p&gt;
                This attribute is sometimes referred to as the "mnemonic".
                &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;amp;') notation.
              &lt;p&gt;
              For example, setting this attribute to "L&amp;amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              &lt;/p&gt;&lt;/html&gt;</description>
      <name>labelAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</description>
      <name>autoSubmit</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The inputDate component creates a text field for entering dates and
          a button for picking dates from a calendar.</description><name>inputDate</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreInputDateTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a converter object</description>
      <name>converter</name>
      <deferred-value>
        <type>javax.faces.convert.Converter</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the value is converted and validated immediately in the Apply Request Values phase, or is handled in the Process Validators phase, the default.  By default, values are converted and validated together in the Process Validators phase.  However, if you need access to the value of a component during Apply Request Values - for example, if you need to get the value from an actionListener on an immediate commandButton - then setting this to "immediate" makes that possible.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether a non-null, non-empty value must be entered.  If false, validators will not be executed when the value is null or empty.</description>
      <name>required</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a validator method</description>
      <name>validator</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to a value change listener</description>
      <name>valueChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ValueChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>&lt;html&gt; the message to be displayed, if 'required' validation fails.
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;&lt;/html&gt;</description>
      <name>requiredMessageDetail</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a reference to an action method sent by the commandButton, or the static outcome of an action</description>
      <name>action</name>
    <deferred-method>
      <method-signature>java.lang.String myMethod()</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to an action listener</description>
      <name>actionListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ActionEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to an return listener</description>
      <name>returnListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.ReturnEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</description>
      <name>contentStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The id of the chooseDate component which can be used to
              pick the Date value for this inputDate.</description>
      <name>chooseId</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the element is read-only.</description>
      <name>readOnly</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is disabled.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the label of the bean.</description>
      <name>label</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired,
tip), and may use simpler layout primitives</description>
      <name>simple</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the number of columns to display in the text
          control. If no value is specified, a default
          value will be derived from the current converter, if one
   is attached.</description>
      <name>columns</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the maximum number of characters that
          can be entered into the text control. Note that
          this value is independent of the "columns" displayed.</description>
      <name>maximumLength</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>event handler for when the value is changed.</description>
      <name>onchange</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component losing the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onblur</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component gaining the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onfocus</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
          "showRequired" attribute must be false for the visual indication not to be displayed.</description>
      <name>showRequired</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to
               the form element specified by the
         &lt;code&gt;for&lt;/code&gt;, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              &lt;p&gt;
                This attribute is sometimes referred to as the "mnemonic".
                &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;amp;') notation.
              &lt;p&gt;
              For example, setting this attribute to "L&amp;amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              &lt;/p&gt;&lt;/html&gt;</description>
      <name>labelAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</description>
      <name>autoSubmit</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The inputFile component is a component that can
          be used to upload a file.  It supports displaying a label,
          text, and messages.</description><name>inputFile</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreInputFileTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a converter object</description>
      <name>converter</name>
      <deferred-value>
        <type>javax.faces.convert.Converter</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the value is converted and validated immediately in the Apply Request Values phase, or is handled in the Process Validators phase, the default.  By default, values are converted and validated together in the Process Validators phase.  However, if you need access to the value of a component during Apply Request Values - for example, if you need to get the value from an actionListener on an immediate commandButton - then setting this to "immediate" makes that possible.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether a non-null, non-empty value must be entered.  If false, validators will not be executed when the value is null or empty.</description>
      <name>required</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a validator method</description>
      <name>validator</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to a value change listener</description>
      <name>valueChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ValueChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>&lt;html&gt; the message to be displayed, if 'required' validation fails.
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;&lt;/html&gt;</description>
      <name>requiredMessageDetail</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</description>
      <name>contentStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component losing the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onblur</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component gaining the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onfocus</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>event handler for when the value is changed.</description>
      <name>onchange</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>event handler for when text becomes selected.</description>
      <name>onselect</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The size of the text control specified by the number of characters shown.The default value depends on the browser.</description>
      <name>columns</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;An attribute that will simultaneously set both the "label"and "accessKey" attributes from a single value, usingconventional ampersand notation. For example, setting this attribute to "T&amp;amp;ext" willset the label to "Text" and the access key to 'e'.&lt;/html&gt;</description>
      <name>labelAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the 
          "showRequired" attribute must be false for the visual indication not to be displayed.</description>
      <name>showRequired</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt; For accessibility reasons, this functionality is not supported in screen reader mode. If the same access key appears in multiple locations in the same page of output, the rendering user agent will cycle among the elements accessed by the similar keys. &lt;p&gt; This attribute is sometimes referred to as the "mnemonic". &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the component is disabled.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the label of the bean.</description>
      <name>label</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired, 
tip), and may use simpler layout primitives</description>
      <name>simple</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The inputHidden tag adds a value that
          will be submitted with a page, but not displayed
          to the user.</description><name>inputHidden</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreInputHiddenTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a converter object</description>
      <name>converter</name>
      <deferred-value>
        <type>javax.faces.convert.Converter</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the value is converted and validated immediately in the Apply Request Values phase, or is handled in the Process Validators phase, the default.  By default, values are converted and validated together in the Process Validators phase.  However, if you need access to the value of a component during Apply Request Values - for example, if you need to get the value from an actionListener on an immediate commandButton - then setting this to "immediate" makes that possible.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether a non-null, non-empty value must be entered.  If false, validators will not be executed when the value is null or empty.</description>
      <name>required</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a validator method</description>
      <name>validator</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to a value change listener</description>
      <name>valueChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ValueChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>&lt;html&gt; the message to be displayed, if 'required' validation fails.
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;&lt;/html&gt;</description>
      <name>requiredMessageDetail</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The inputListOfValues is a text field that also supports
launching a dialog to assist users in entering a value.</description><name>inputListOfValues</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreInputListOfValuesTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a converter object</description>
      <name>converter</name>
      <deferred-value>
        <type>javax.faces.convert.Converter</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the value is converted and validated immediately in the Apply Request Values phase, or is handled in the Process Validators phase, the default.  By default, values are converted and validated together in the Process Validators phase.  However, if you need access to the value of a component during Apply Request Values - for example, if you need to get the value from an actionListener on an immediate commandButton - then setting this to "immediate" makes that possible.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether a non-null, non-empty value must be entered.  If false, validators will not be executed when the value is null or empty.</description>
      <name>required</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a validator method</description>
      <name>validator</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to a value change listener</description>
      <name>valueChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ValueChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>&lt;html&gt; the message to be displayed, if 'required' validation fails.
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;&lt;/html&gt;</description>
      <name>requiredMessageDetail</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a reference to an action method sent by the commandButton, or the static outcome of an action</description>
      <name>action</name>
    <deferred-method>
      <method-signature>java.lang.String myMethod()</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to an action listener</description>
      <name>actionListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ActionEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to an return listener</description>
      <name>returnListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.ReturnEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</description>
      <name>contentStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the search description for the button that launches the dialog.
           This text is commonly used by user agents to display tooltip
           help text.</description>
      <name>searchDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the URI for an alternative image on the button to launch the dialog</description>
      <name>icon</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the element is read-only.</description>
      <name>readOnly</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is disabled.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the label of the bean.</description>
      <name>label</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired, 
tip), and may use simpler layout primitives</description>
      <name>simple</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>event handler for when the value is changed.</description>
      <name>onchange</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component losing the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onblur</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component gaining the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onfocus</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the 
          "showRequired" attribute must be false for the visual indication not to be displayed.</description>
      <name>showRequired</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to
               the form element specified by the
         &lt;code&gt;for&lt;/code&gt;, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported 
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              &lt;p&gt;
                This attribute is sometimes referred to as the "mnemonic".
                &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;amp;') notation.
              &lt;p&gt;
              For example, setting this attribute to "L&amp;amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              &lt;/p&gt;&lt;/html&gt;</description>
      <name>labelAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>event handler for when text becomes selected.</description>
      <name>onselect</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the number of columns to display in the text
          control. If no value is specified, a default
          of 30 columns is used. One column is approximately one character
          in the browser's current display font.</description>
      <name>columns</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the maximum number of characters that
          can be entered into the text control. Note that
          this value is independent of the "cols" displayed.</description>
      <name>maximumLength</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</description>
      <name>autoSubmit</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>width of the window, if this command is
used to launch a window.</description>
      <name>windowWidth</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>height of the window, if this command is
used to launch a window.</description>
      <name>windowHeight</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The inputNumberSpinbox tag creates a browser input widget;
it is used to enter numbers and it has a spinbox to quickly increment or decrement the number.</description><name>inputNumberSpinbox</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreInputNumberSpinboxTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a converter object</description>
      <name>converter</name>
      <deferred-value>
        <type>javax.faces.convert.Converter</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the value is converted and validated immediately in the Apply Request Values phase, or is handled in the Process Validators phase, the default.  By default, values are converted and validated together in the Process Validators phase.  However, if you need access to the value of a component during Apply Request Values - for example, if you need to get the value from an actionListener on an immediate commandButton - then setting this to "immediate" makes that possible.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether a non-null, non-empty value must be entered.  If false, validators will not be executed when the value is null or empty.</description>
      <name>required</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a validator method</description>
      <name>validator</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to a value change listener</description>
      <name>valueChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ValueChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>&lt;html&gt; the message to be displayed, if 'required' validation fails.
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;&lt;/html&gt;</description>
      <name>requiredMessageDetail</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</description>
      <name>contentStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the element is read-only.</description>
      <name>readOnly</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is disabled.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the label of the bean.</description>
      <name>label</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired, 
tip), and may use simpler layout primitives</description>
      <name>simple</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>event handler for when the value is changed.</description>
      <name>onchange</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component losing the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onblur</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component gaining the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onfocus</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;a CSS style class to use for this component. 
      The styleClass attribute value is rendered on the root dom element.
      We provide some public style classes you can use that will affect only the 'content' piece of the component: 
      AFFieldTextMarker, AFFieldTextLTRMarker, AFFieldNumberMarker.
      &lt;/html&gt;</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the inline CSS style for this element</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the 
          "showRequired" attribute must be false for the visual indication not to be displayed.</description>
      <name>showRequired</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the number of columns to display in the text
          control. If no value is specified, a default
          of 1 columns is used. One column is approximately one character
          in the browser's current display font.</description>
      <name>columns</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>The maximum number allowed in the input field.</description>
      <name>maximum</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>The minimum number allowed in the input field.</description>
      <name>minimum</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>The step size by which the spinbox will increase or decrease the number in the input.</description>
      <name>stepSize</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>event handler for when text becomes selected.</description>
      <name>onselect</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to
               the form element specified by the
         &lt;code&gt;for&lt;/code&gt;, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported 
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              &lt;p&gt;
                This attribute is sometimes referred to as the "mnemonic".
                &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;amp;') notation.
              &lt;p&gt;
              For example, setting this attribute to "L&amp;amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              &lt;/p&gt;&lt;/html&gt;</description>
      <name>labelAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</description>
      <name>autoSubmit</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The inputText tag creates a browser input text widget;
it may be single-line, multi-line, or a "secret" password field.
It supports displaying a label, text, and messages.</description><name>inputText</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreInputTextTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a converter object</description>
      <name>converter</name>
      <deferred-value>
        <type>javax.faces.convert.Converter</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the value is converted and validated immediately in the Apply Request Values phase, or is handled in the Process Validators phase, the default.  By default, values are converted and validated together in the Process Validators phase.  However, if you need access to the value of a component during Apply Request Values - for example, if you need to get the value from an actionListener on an immediate commandButton - then setting this to "immediate" makes that possible.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether a non-null, non-empty value must be entered.  If false, validators will not be executed when the value is null or empty.</description>
      <name>required</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a validator method</description>
      <name>validator</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to a value change listener</description>
      <name>valueChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ValueChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>&lt;html&gt; the message to be displayed, if 'required' validation fails.
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;&lt;/html&gt;</description>
      <name>requiredMessageDetail</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</description>
      <name>contentStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the number of rows to display in the text control.
              The default is one. Setting to more than one row
              precludes the use of some attributes, such as
              "secret".</description>
      <name>rows</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the type of text wrapping to be used in a multi-row
              text control. This attribute is ignored for single
              row inputText. By default (or "soft"), multirow text
        wraps visually, but does not include carriage returns in the
              submitted value.  Setting this to "off" will disable wrapping;
              the multirow text will scroll horizontally.  Setting it to "hard"
              specifies that the value of the text should include any
              carriage returns needed to wrap the lines.</description>
      <name>wrap</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a boolean value that only applies to single line text
              controls. When set to "true", it hides the actual
              value of the text from the user, and will
              prevent the actual "value" from being shown to the user.</description>
      <name>secret</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is read-only.</description>
      <name>readOnly</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is disabled.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the label of the bean.</description>
      <name>label</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired, 
tip), and may use simpler layout primitives</description>
      <name>simple</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>event handler for when the value is changed.</description>
      <name>onchange</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component losing the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onblur</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component gaining the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onfocus</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;a CSS style class to use for this component. 
      The styleClass attribute value is rendered on the root dom element.
      We provide some public style classes you can use that will affect only the 'content' piece of the component: 
      AFFieldTextMarker, AFFieldTextLTRMarker, AFPhoneFieldTextMarker, AFPostalCodeFieldTextMarker, 
      AFAddressFieldTextMarker, AFFieldNumberMarker.
      You can still modify the public style definitions for these marker style classes
      and it will be picked up by using these "Marker" style class 
      because in our base skin implementation we map to the public style by doing this:
      af|inputText.AFFieldNumberMarker af|inputText::content {-tr-rule-ref:selector(".AFFieldNumber")}. 
      We recommend that you do not add style properties to the "Marker" style classes. 
      They are used solely in the css descendant selector to point to the content pseudo-element.&lt;/html&gt;</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the inline CSS style for this element</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the 
          "showRequired" attribute must be false for the visual indication not to be displayed.</description>
      <name>showRequired</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the number of columns to display in the text
          control. If no value is specified, a default
          of 30 columns is used. One column is approximately one character
          in the browser's current display font.</description>
      <name>columns</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the maximum number of characters that
          can be entered into the text control. Note that
          this value is independent of the "cols" displayed.
          If set to 0 or less, the maximumLength is ignored.</description>
      <name>maximumLength</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>event handler for when text becomes selected.</description>
      <name>onselect</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to
               the form element specified by the
         &lt;code&gt;for&lt;/code&gt;, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported 
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              &lt;p&gt;
                This attribute is sometimes referred to as the "mnemonic".
                &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;amp;') notation.
              &lt;p&gt;
              For example, setting this attribute to "L&amp;amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              &lt;/p&gt;&lt;/html&gt;</description>
      <name>labelAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</description>
      <name>autoSubmit</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The legend adds a legend describing the meaning of an icon.</description><name>legend</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreObjectTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>A string identifying which icon should
be described.  Only one value is currently supported: "required".</description>
      <name>name</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The media component displays media content, such as audio, video,
          or image in a player embedded in the user agent.</description><name>media</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreMediaTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>&lt;html&gt; width in pixels to reserve for the media player plus its content.
            As the extra width needed for the media player controls can vary
            from media player to media player and depend on the controls
            displayed in the media player, it is recommended that the
            "innerWidth" attribute be used in preference to this attribute.
            &lt;p&gt;
            If both the "width" and "innerWidth" attributes are specified,
            the "width" attribute will be used.
            &lt;/p&gt;
            &lt;p&gt;
            If no width is specified, the width of the media control is
            determined by calculating the "innerWidth" and adding any extra
            width necessary to display the media player controls.
            &lt;/p&gt;&lt;/html&gt;</description>
      <name>width</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt; height in pixels to reserve for the media player plus its content.
            As the extra height needed for the media player controls can vary
            from media player to media player and depend on the controls
            displayed in the media player, it is recommended that the
            "innerHeight" attribute be used in preference to this attribute.
            &lt;p&gt;
            If both the "height" and "innerHeight" attributes are specified,
            the "height" attribute will be used.
            &lt;/p&gt;            
            &lt;p&gt;
            If no height is specified, the height of the media control is
            determined by calculating the "innerHeight" and adding any extra
            height necessary to display the media player controls.
            &lt;/p&gt;&lt;/html&gt;</description>
      <name>height</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt; width in pixels to reserve for the media player content.  This
            will typically be set to the pixel width of the media resource
            to display.
            &lt;p&gt;
            If no "innerWidth" is specified, the "innerWidth" will be defaulted
            based on the content type of the media resource to play.
            &lt;/p&gt;            
            &lt;p&gt;
            If both the "width" and "innerWidth" attributes are specified,
            the "width" attribute will be used.
            &lt;/p&gt;&lt;/html&gt;</description>
      <name>innerWidth</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt; height in pixels to reserve for the media player content.  This
            will typically be set to the pixel height of the media resource
            to display.
            &lt;p&gt;
            If no "innerHeight" is specified, the "innerHeight" will be defaulted
            based on the content type of the media resource to play.
            &lt;/p&gt;            
            &lt;p&gt;
            If both the "height" and "innerHeight" attributes are specified,
            the "height" attribute will be used.
            &lt;/p&gt;&lt;/html&gt;</description>
      <name>innerHeight</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the URI specifying the location of the media resource.  If no
            contentType is specified, the contentType will be inferred from
            the extension of the source attribute.</description>
      <name>source</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a boolean value that controls whether the media resource loads
            and plays automatically without user initiation.  When set to "true",
            the media resource will load and play as soon as possible.</description>
      <name>autostart</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the number of times the media resource will play.  If set to "0",
            the resource will loop until the user stops the playing.</description>
      <name>playCount</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the MIME type of the media content returned by the "source" URI.
            This attribute is used as a hint when determining which player to
            pick, how the controls of the player are to be configured, and
            the default size of the media player.  If it isn't specified, an
            attempt will be made to derive this information from the extension
            of the source URI.</description>
      <name>contentType</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Message to display in the media player while the media resource
              is loading.</description>
      <name>standbyText</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt; which media player to use to play the media resource. If possible,
              the media control will accomodate this request.  However, if
              the requested player is not available on the user agent, or does
              not support playing the media resource, an alternate player
              will be used instead.  In all cases, the "link" player is used
              as a fallback if no other player is available, or the requested
              player fails for some reason.
              &lt;ul&gt;
                &lt;li&gt;
                  &lt;code&gt;"none"&lt;/code&gt;
                  &lt;p&gt;
                   use a link in the user agent page to launch the playing of the
                   media resource.
                  &lt;/p&gt;
                  &lt;p&gt;
                   This player setting uses the least amount of space on the page
                   and uses the user agent's built in content type mapping
                   to determine how to display the media resource.
                  &lt;/p&gt;
                &lt;/li&gt;
                &lt;li&gt;
                  &lt;code&gt;"quicktime"&lt;/code&gt;
                  &lt;p&gt;
                   use the Apple QuickTime player.
                  &lt;/p&gt;
                &lt;/li&gt;
                &lt;li&gt;
                  &lt;code&gt;"windows"&lt;/code&gt;
                  &lt;p&gt;
                   use the Windows Media Player.
                  &lt;/p&gt;
                &lt;/li&gt;
                &lt;li&gt;
                  &lt;code&gt;"real"&lt;/code&gt;
                  &lt;p&gt;
                   use the Real Player.
                  &lt;/p&gt;
                &lt;/li&gt;
              &lt;/ul&gt;&lt;/html&gt;</description>
      <name>player</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt; the set of controls made available to the user for controlling
              the media playback.  The actual set of controls displayed for the
              same value may differ between players.  Likewise, the amount of
              space occupied by the controls will differ from media player to
              media player.  This can cause problems if the size of the
              media control has been specified by the "width" and "height"
              attributes rather than "innerWidth" and "innerHeight".
              &lt;ul&gt;
                &lt;li&gt;
                  &lt;code&gt;"none"&lt;/code&gt;
                  &lt;p&gt;
                   don't show any controls for the media player and don't allow
                   control access through alternate means, such as context menus.
                  &lt;/p&gt;
                  &lt;p&gt;
                   This value is typically only used in kiosk-type applications
                   where no user control over the playing of the media is allowed.
                   It is typically used in conjunction with setting the
                   "autostart" attribute to "true", and the "playCount" attribute
                   to "0" to cause the media play immediately and then loop.
                  &lt;/p&gt;
                &lt;/li&gt;
                &lt;li&gt;
                  &lt;code&gt;"noneVisible"&lt;/code&gt;
                  &lt;p&gt;
                   don't show any controls for the media player but allow control
                   access through alternate means, such as context menus.
                  &lt;/p&gt;
                  &lt;p&gt;
                   This value is typically only used in applications where user
                   control over the playing of the media is allowed, but
                   not encouraged.  It is typically used in conjunction with
                   setting the "autostart" attribute to "true", and the
                   "playCount" attribute to "0" to cause the media to play
                   immediately and then loop.
                  &lt;/p&gt;
                &lt;/li&gt;
                &lt;li&gt;
                  &lt;code&gt;"minimal"&lt;/code&gt;
                  &lt;p&gt;
                    show a minimal set of controls for playing media on the media
                    player. 
                  &lt;/p&gt;
                  &lt;p&gt;
                   This value gives users control over the most
                   important media playing controls, while occupying the least
                   amount of additional space on the user agent.
                  &lt;/p&gt;
                &lt;/li&gt;
                &lt;li&gt;
                  &lt;code&gt;"typical"&lt;/code&gt;
                  &lt;p&gt;
                   show the typical set of controls for playing media on the
                   media player.
                  &lt;/p&gt;
                  &lt;p&gt;
                   This value, the default, gives users control over the most
                   common media playing controls, without occupying an inordinate
                   amount of extra space on the user agent.
                  &lt;/p&gt;
                &lt;/li&gt;
                &lt;li&gt;
                  &lt;code&gt;"all"&lt;/code&gt;
                  &lt;p&gt;
                   Show all available controls for playing media on the media player
                  &lt;/p&gt;
                  &lt;p&gt;
                   Using this setting can cause large amount of additional space
                   to be required, depending on the media player used.
                  &lt;/p&gt;
                &lt;/li&gt;
              &lt;/ul&gt;
              &lt;p&gt;
                The default of this attribute is &lt;code&gt;"typical"&lt;/code&gt;.
              &lt;/p&gt;&lt;/html&gt;</description>
      <name>controls</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>Component that displays a message on behalf of a component.
Trinidad input components typically support automatically showing
their own messages, so this tag should be used only when
setting the "simple" attribute to true.</description><name>message</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreMessageTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the relative ID from this component to the component whose messages will be displayed</description>
      <name>for</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the error, warning, or informational text.</description>
      <name>message</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the type of the message; acceptable values
          are "error", "warning", "info", and "none".  Defaults to "none".</description>
      <name>messageType</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The messages bean is used at the top of an application page to give
        the user important messaging information.</description><name>messages</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreMessagesTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the main text message for the box.</description>
      <name>message</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the overridden title text.</description>
      <name>text</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether to render all messages or just global messages. Normally
global messages are rendered followed by messages for individual
components. If this attribute is set to true, only the global
messages will be rendered.</description>
      <name>globalOnly</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The navigationPane component creates a series of navigation items representing one level in a navigation hierarchy.</description><name>navigationPane</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreNavigationPaneTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>Name of the EL variable used to reference each element of this collection.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).</description>
      <name>var</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>the hierarchy of navigation data - must be of type 
            org.apache.myfaces.trinidad.model.MenuModel</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the level, based on a 0 based index, in the menuModel to render based on the focusPath of the menuModel.</description>
      <name>level</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this 
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:&lt;ul&gt;&lt;li&gt;"model" - returns the CollectionModel for this component&lt;/li&gt;&lt;li&gt;"index" - returns the zero based row index&lt;/li&gt;&lt;/ul&gt;&lt;/html&gt;</description>
      <name>varStatus</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Whether the component is disabled.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;How the navigational items are displayed.  Options are:
              &lt;ul&gt;&lt;li&gt;bar
                &lt;/li&gt;&lt;li&gt;buttons
                &lt;/li&gt;&lt;li&gt;choice
                &lt;/li&gt;&lt;li&gt;list
                &lt;/li&gt;&lt;li&gt;tabs
                &lt;/li&gt;&lt;/ul&gt;
               &lt;/html&gt;</description>
      <name>hint</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Text that describes the items.  (This attribute is only applicable if the rendering hint supports it, e.g. "choice".)</description>
      <name>title</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The Trinidad NavigationTree is used to display data that is structured in a hierarchical format.</description><name>navigationTree</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreNavigationTreeTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>Name of the EL variable used to reference each element of this collection.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).</description>
      <name>var</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>a method reference to an ExpansionListener</description>
      <name>rowDisclosureListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.RowDisclosureEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the set of disclosed rows for this component.
Each entry in the set is a rowKey.</description>
      <name>disclosedRowKeys</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the hierarchy of tree data - must be of type 
            org.apache.myfaces.trinidad.model.MenuModel</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the starting level, based on a 0 based index, in the menuModel to render based on the focusPath of the menuModel.</description>
      <name>startLevel</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this 
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:&lt;ul&gt;&lt;li&gt;"model" - returns the CollectionModel for this component&lt;/li&gt;&lt;li&gt;"index" - returns the zero based row index&lt;/li&gt;&lt;/ul&gt;&lt;/html&gt;</description>
      <name>varStatus</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether data validation 
          should be skipped when row disclosure
          events are generated by this component.

          When immediate is false (the default), events will
          be delivered during the Invoke Application phase, which
          will trigger validation.  When set to true,  events
          will be executed during the Apply Request Values phase.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The outputDocument component supports styled text with line breaks.</description><name>outputDocument</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreOutputDocumentTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a converter object</description>
      <name>converter</name>
      <deferred-value>
        <type>javax.faces.convert.Converter</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the style class of the title. This property will be 
         considered only if a title facet is used.</description>
      <name>titleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the style class of the separator. This property will be 
         considered only if a separator facet is used.</description>
      <name>separatorClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The outputFormatted bean accepts a string in its "value" attribute
        containing a very limited set of HTML markup and outputs formatted
        results.</description><name>outputFormatted</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreOutputFormattedTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a converter object</description>
      <name>converter</name>
      <deferred-value>
        <type>javax.faces.convert.Converter</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the style usage, intended to make it easier to
              put the correct style on the text.
              Set this attribute when the outputFormatted
              is for instruction text, page stamp text, or inContextBranding
              text.
              The valid values are "instruction" ,
              "pageStamp", and "inContextBranding".
              If styleUsage and styleClass attributes are both set,
              the styleClass attribute takes precedence.</description>
      <name>styleUsage</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>Component that displays a label for a form component.</description><name>outputLabel</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreOutputLabelTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a converter object</description>
      <name>converter</name>
      <deferred-value>
        <type>javax.faces.convert.Converter</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to
               the form element specified by the
         &lt;code&gt;for&lt;/code&gt;, if set.
              For accessibility reasons, this functionality is not supported in 
              screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              &lt;p&gt;
                This attribute is sometimes referred to as the "mnemonic".
                &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the 
          "showRequired" attribute must be false for the visual indication not to be displayed.</description>
      <name>showRequired</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt; An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;amp;') notation.
              &lt;p&gt;
              For example, setting this attribute to "L&amp;amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              &lt;/p&gt;&lt;/html&gt;</description>
      <name>valueAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the ID of the component that this component
refers to</description>
      <name>for</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The outputText component supports styled text.</description><name>outputText</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreOutputTextTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a converter object</description>
      <name>converter</name>
      <deferred-value>
        <type>javax.faces.convert.Converter</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the length at which the text should automatically begin
              truncating.  When set to zero (the default), the string
              will never truncate.  Values from one to thirteen will
              be treated as thirteen - the outputText component will not
              truncate strings shorter than thirteen characters.</description>
      <name>truncateAt</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an additional description to be attached
to the text, for use in improving accessibility.  The description will
be available to screen readers and other accessibility agents, but will
not be otherwise visible.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>description</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt; an attribute controlling whether output will
be escaped for the current markup language or not.  This attribute
defaults to true, and should only be set to false if absolutely necessary.
When set to false, you may exposed to cross-site scripting attacks if
the value of this component is any way derived from values supplied
by a user;  see &lt;code&gt;outputFormatted&lt;/code&gt; for a safe
alternative.  In addition, nearly all attributes are ignored when "escape"
is set to false (e.g., "styleClass" is not output).&lt;/html&gt;</description>
      <name>escape</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The Page component is similar to the PanelPage component, except that instead of having navigation1, navigation2, navigation3, and navigationGlobal facets for adding navigation item information, the user binds a model object and a stamp to render these areas.</description><name>page</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.nav.CorePageTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>Name of the EL variable used to reference each element of this collection.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).</description>
      <name>var</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>a method reference to an ExpansionListener</description>
      <name>rowDisclosureListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.RowDisclosureEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the set of disclosed rows for this component.
Each entry in the set is a rowKey.</description>
      <name>disclosedRowKeys</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the hierarchy of menu data - must be of type 
            org.apache.myfaces.trinidad.model.MenuModel</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this 
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:&lt;ul&gt;&lt;li&gt;"model" - returns the CollectionModel for this component&lt;/li&gt;&lt;li&gt;"index" - returns the zero based row index&lt;/li&gt;&lt;/ul&gt;&lt;/html&gt;</description>
      <name>varStatus</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether data validation 
          should be skipped when row disclosure
          events are generated by this component.

          When immediate is false (the default), events will
          be delivered during the Invoke Application phase, which
          will trigger validation.  When set to true,  events
          will be executed during the Apply Request Values phase.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>what the chromeType is for the page: compact or expanded. If
              compact, the productBranding will be shown alongside the 
              corporate branding instead of below the corporate branding.</description>
      <name>chromeType</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The panelAccordion control creates, contains and shows a series of items defined by showDetailItem nodes.</description><name>panelAccordion</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelAccordionTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Indicates whether a minimum of one detail item must be
disclosed at a time.  Use "false" (the default) to keep a minimum of one
detail item disclosed at all times.  Use "true" to make it possible for
all items to be collapsed.</description>
      <name>discloseNone</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Indicates whether more than one detail item may be
disclosed at a time.  Use "false" (the default) to keep a maximum of
one detail item disclosed at all times.  Use "true" to make it
possible for multiple detail items to be disclosed.</description>
      <name>discloseMany</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The panelBorderLayout component is a layout element which lays out all of its
          children consecutively in its middle, and supports the following
          facets: top, bottom, left, right, start, end, innerTop, innerBottom, innerLeft, innerRight, innerStart, and innerEnd</description><name>panelBorderLayout</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelBorderLayoutTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The panelBox is used to place ancillary information on a page,
offset by a certain color.</description><name>panelBox</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelBoxTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The header of the content container.</description>
      <name>text</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the appearance type of the content container. It should be one of "light", 
"medium", "dark", or "transparent"</description>
      <name>background</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>An URL to an image to use for the icon of
the content container.</description>
      <name>icon</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The inline style of the content region.</description>
      <name>contentStyle</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The panelButtonBar lays out a set of buttons.</description><name>panelButtonBar</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelButtonBarTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the horizontal alignment to one of start, end, left,
right, or center.</description>
      <name>halign</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The panelCaptionGroup is used to render a set of components,
      into a related and more managable grouping.  The group is surrounded by a border 
      containing the group caption.</description><name>panelCaptionGroup</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelCaptionGroupTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The text to be rendered as the caption for the group content.</description>
      <name>captionText</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The panelChoice control creates, contains and shows a series of items defined by showDetailItem nodes.</description><name>panelChoice</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelChoiceTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the user-visible text of the item</description>
      <name>label</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to
               the form element specified by the
         &lt;code&gt;for&lt;/code&gt;, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported 
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              &lt;p&gt;
                This attribute is sometimes referred to as the "mnemonic".
                &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;amp;') notation.
              &lt;p&gt;
              For example, setting this attribute to "L&amp;amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              &lt;/p&gt;&lt;/html&gt;</description>
      <name>labelAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>position of the control elements. Defaults to
         "start", if not specified. Other value supported is"top".</description>
      <name>position</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>alignment of the elements. Defaults to
         "center", if not specified. Other values are "start",
         "end", "top", and "bottom".</description>
      <name>alignment</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The panelFormLayout lays out input form controls, such that their labels and fields line up vertically.  The children of this component are input controls, they are inputText, inputHidden, inputFile, inputColor, inputListOfValues, inputDate, selectBooleanCheckBox, selectBooleanRadio, selectOneChoice, selectOneListBox, selectOneRadio, selectManyListBox and panelLabelAndMessage.  These components must have their "simple" attribute set to false (the default).  For cases where other controls are required inside panelFormLayout, wrap them in a panelLabelAndMessage.

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

The panelFormLayout is an example of one of the components that has support for grouping its children components.
If you place panelFormLayout child items inside of a group, separators will be drawn around the group of form items if adjacent to other form items (separators won't be drawn at the top if the group is the first item in the column or, similarly, at the bottom if the group is the last item in the column).
Grouped panelFormLayout items are kept in the same column of the panelFormLayout even when the assigned rows attribute is set to a value smaller than the number of items in the group.
The panelFormLayout component also supports the group component in its footer facet so you can place more than one item in the footer.  You can even group footer items one additional time to get separators to appear.</description><name>panelFormLayout</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelFormLayoutTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The preferred width of the field.  Usually a percentage, but may be specified as either a percentage or an absolute number of pixels.  If the width is not specified, it will default appropriately.  If specified as a percentage the labelWidth plus the fieldWidth should add up to 100%, regardless of the number of columns.  If the fieldWidth is specified and is a percentage the labelWidth will be derived appropriately if not specified.

    This attribute is not supported on the following agent types:
 phone, voice.</description>
      <name>fieldWidth</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The preferred width of the label.  Usually a percentage, but may be specified as either a percentage or an absolute number of pixels.  If the width is not specified, it will default appropriately.  If specified as a percentage the labelWidth plus the fieldWidth should add up to 100%, regardless of the number of columns.  If the labelWidth is specified and is a percentage the fieldWidth will be derived appropriately if not specified.

    This attribute is not supported on the following agent types:
 phone, voice.</description>
      <name>labelWidth</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Sets the maximum number of columns to show.  This attribute defaults to 3 and 2 on PDAs.  If this panelFormLayout is inside of another panelFormLayout, this will always be 1.

    This attribute is not supported on the following agent types:
 phone, voice.</description>
      <name>maxColumns</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Sets the number of rows after which to start a new column.  This attribute defaults to Integer.MAX_VALUE.  The number of rows actually rendered depends also on the "maxColumns" property.  If the children will not fit in the given number of rows and columns, the number of rows will increase to accomodate the children.

    This attribute is not supported on the following agent types:
 phone, voice.</description>
      <name>rows</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>A panel component that displays its children in a group.</description><name>panelGroupLayout</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelGroupLayoutTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Type of layout, either "vertical", "horizontal" (no wrapping) or"default" (horizontal with wrapping).</description>
      <name>layout</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The panelHeader control places a label and optional icon at the top of a section.</description><name>panelHeader</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelHeaderTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the label of the header.</description>
      <name>text</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the URI for the icon of the header.</description>
      <name>icon</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Set if an error, info, confirmation, or warning header is needed.</description>
      <name>messageType</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Size of this panelHeader. The largest is 0 and corresponds to an H1 header
        the smallest is 5 and corresponds to an H6 Header.  Note that this version of the tag will 
        display all sizes above 2 the same as size 2. Setting the size to a negative number will
        allow the header to be calculated according to its parent header.  The default value for 
        this property is -1.</description>
      <name>size</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The panelHorizontalLayout control is a layout element that
arranges its children horizontally. The vertical and horizontal alignment
can be specified.</description><name>panelHorizontalLayout</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelHorizontalLayoutTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the vertical alignment to one of top, bottom, middle, or baseline.</description>
      <name>valign</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the horizontal alignment to one of start, end, left,
right, or center.</description>
      <name>halign</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>This component lays out a label and children.  Typically, the only child of this component will be an input element of some sort, but as many children as necessary can be added.  When using panelLabelAndMessage with Trinidad input components, you should always set simple="true" on the input components.  Non-simple Trinidad input components already effectively have all the functionality of panelLabelAndMessage.
      To lay out multiple panelLabelAndMessage components - or multiple non-simple Trinidad input components - you can use the panelForm component.  When panelLabelAndMessage components are placed inside a panelForm the labels will line up.</description><name>panelLabelAndMessage</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelLabelAndMessageTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the panel should show an indicator that its contents are required.</description>
      <name>showRequired</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the label of the bean.</description>
      <name>label</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Specifies inline styles for the label portion of the component, e.g. "vertical-align: bottom;" to align the label to the bottom of the container.</description>
      <name>labelStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to
               the form element specified by the
         &lt;code&gt;for&lt;/code&gt;, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported 
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              &lt;p&gt;
                This attribute is sometimes referred to as the "mnemonic".
                &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>An attribute that will simultaneously set both the "label" and "accessKey" attributes from a single value, using conventional ampersand notation.  For example, setting this attribute to "T&amp;amp;ext" will set the label to "Text" and the access key to 'e'.</description>
      <name>labelAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The ID of the component that this component's label refers to.</description>
      <name>for</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The panelList control outputs each visible child
          in a list with a bullet next to it.</description><name>panelList</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelListTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>Styles the list. For example, you can style the list to be squares like this:
      listStyle='list-style-type:square'</description>
      <name>listStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Sets
                  the number of rows after which to start a new column. 
                  This attribute defaults to Integer.MAX_VALUE.
                  The number of rows actually rendered depends also on the
                  "maxColumns" attribute. 
                  If the children will not fit in the given number 
                  of rows and columns, the number of rows will 
                  increase to accomodate the children.

    This attribute is not supported on the following agent types:
 phone, voice.</description>
      <name>rows</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Sets
                  the maximum number of columns to show. 
                  This attribute defaults to 3 and defaults to 2 for PDA's

    This attribute is not supported on the following agent types:
 phone, voice.</description>
      <name>maxColumns</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>PanelPage lays out an entire page.</description><name>panelPage</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelPageTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Specifies the number of pixels that the auxiliary1 content should consume (this is a width if the orientationis "start" or "end" or a height if the orientation is "bottom").</description>
      <name>auxiliary1Size</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Specifies the number of pixels that the auxiliary2 content should consume (this is a width if the orientationis "start" or "end" or a height if the orientation is "bottom").</description>
      <name>auxiliary2Size</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Specifies the number of pixels that the auxiliaryGlobal content should consume (this is a width if the orientationis "start" or "end" or a height if the orientation is "bottom").</description>
      <name>auxiliaryGlobalSize</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>PanelPageHeader lays out the top portion of a page.</description><name>panelPageHeader</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelPageHeaderTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>what the chromeType is for the page: compact or expanded. If
              compact, the productBranding will be shown alongside the 
              corporate branding instead of below the corporate branding.</description>
      <name>chromeType</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The panelPopup is used to place ancillary information on a page,
made visible via a clickable link.</description><name>panelPopup</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelPopupTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Defines the launch behaviour of the popup.  If set to 'click' the popup will
        appear when the trigger is clicked, and disappear when you click off the popup.  The 'hover' value
        will cause the popup to appear while the mouse is over the trigger, and disappear when the mouse 
        leaves either the trigger or the popup panel.</description>
      <name>triggerType</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The icon to render as a link to launch the popup panel.  If the 'trigger'
        facet is defined, then this attribute is ignored.  If the 'text' attribute is also specified, 
        then the icon and text will both be rendered.</description>
      <name>icon</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The text to render as a link to launch the popup panel.  If the 'trigger'
        facet is defined, then this attribute is ignored.</description>
      <name>text</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The title of the panel when visible.  The titlebar is not rendered if this attribute
        is not specified.</description>
      <name>title</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The display mode of the panel.  Defaults to "false" (non-modal). 
        Non-Modal panels will close when the user clicks off the panel. Modal popups are 
        rendered with a titlebar and close icon.  Clicking the close icon will close the 
        modal popup.</description>
      <name>modal</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>The position of the content container when visible. Defaults to
         "relative" if not specified. Other values are "centered" (centered on screen).</description>
      <name>position</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The popup's horizontal offset in pixels from the current mouse position.  
        This property only applies to popups using relative positioning.</description>
      <name>xoffset</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>The popup's vertical offset in pixels from the current mouse position.  
        This property only applies to popups using relative positioning.</description>
      <name>yoffset</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>The inline style of the content region.</description>
      <name>contentStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Set the width of the popup.  If not present the width defaults to the width of the content.</description>
      <name>width</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Set the height of the popup.  If not present the width defaults to the height of the content.</description>
      <name>height</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The panelRadio control creates, contains and shows a series of items defined by showDetailItem nodes.</description><name>panelRadio</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelRadioTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the user-visible text of the item</description>
      <name>label</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>position of the control elements. Defaults to
         "start", if not specified. Other value supported is"top".</description>
      <name>position</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>alignment of the elements. Defaults to
         "center", if not specified. Other values are "start",
         "end", "top", and "bottom".</description>
      <name>alignment</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The panelSideBar control renders a side navigation bar.</description><name>panelSideBar</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelSideBarTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the width of the panelSideBar in pixels or as a percentage.</description>
      <name>width</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The panelTabbed control creates, contains and shows a series of items defined by showDetailItem nodes.</description><name>panelTabbed</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelTabbedTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the position of the tab bar. Defaults to
             "both", if not specified. Other values are "above" and "below".</description>
      <name>position</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The panelTip tag provides a container for page or section level hints
to the user.</description><name>panelTip</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CorePanelTipTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>This components polls the server periodically so that any dependent
          components get a chance to update themselves.</description><name>poll</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.CorePollTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>whether data validation 
          should be skipped when poll
          events are generated by this component.

          When immediate is false (the default), events will
          be delivered during the Invoke Application phase, which
          will trigger validation.  When set to true,  events
          will be executed during the Apply Request Values phase.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a poll listener</description>
      <name>pollListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.PollEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the time between poll events, in milliseconds. 
            The default is 5000. If in screen-reader mode, 
            make sure the interval is long enough for the
            screen reader to read through the re-render before a 
            new poll occurs.</description>
      <name>interval</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>ProcessChoiceBar is a UIXProcess component that renders a previous
          button, a choice bar, and a next button.</description><name>processChoiceBar</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreProcessChoiceBarTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>Name of the EL variable used to reference each element of this collection.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).</description>
      <name>var</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>the hierarchy of data - must be of type 
            org.apache.myfaces.trinidad.model.MenuModel</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this 
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:&lt;ul&gt;&lt;li&gt;"model" - returns the CollectionModel for this component&lt;/li&gt;&lt;li&gt;"index" - returns the zero based row index&lt;/li&gt;&lt;/ul&gt;&lt;/html&gt;</description>
      <name>varStatus</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The progressIndicator component can be used to give users 
          an understanding that there is a back end task in progress.</description><name>progressIndicator</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreProgressIndicatorTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>The data model being used by this progress component.
              The model should be of type 
              org.apache.myfaces.trinidad.model.BoundedRangeModel.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>A reference to an action method sent by the progress component, 
              or the static outcome of an action. This is invoked when the task
              under progress is complete.</description>
      <name>action</name>
    <deferred-method>
      <method-signature>java.lang.String myMethod()</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>A method reference to an action listener.
            This is invoked after the task in progress is complete.</description>
      <name>actionListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ActionEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>whether data validation - client-side or
            server-side -
          will be skipped when
          events are generated by this component.

          When immediate is true, the command's action and
          ActionListeners, including the default ActionListener
          provided by the JavaServer Faces implementation,
          will be executed during Apply Request Values phase
          of the request processing lifecycle, rather than
          waiting until the Invoke Application phase.  Because
          validation runs during Process Validators (after
          Apply Request Values, but before Invoke Application),
          setting immediate to true will skip validation.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The reset button control creates a push button which will
          reset the content of a form.</description><name>resetButton</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreResetButtonTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the textual label of the button.</description>
      <name>text</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the reset button should be disabled.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 An attribute that will simultaneously set both the "text"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;amp;') notation.
              &lt;p&gt;
              For example, setting this attribute to "T&amp;amp;amp;ext" will
              set the text to "Text" and the access key to 'e'.
              &lt;/p&gt;&lt;/html&gt;</description>
      <name>textAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to this button.
              For accessibility reasons, this functionality is not supported 
              in screen reader mode.
              &lt;p&gt;
                If the same access key appears in multiple locations in the
                same page of output, the rendering user agent will cycle
                among the elements accessed by the similar keys.
              &lt;/p&gt;&lt;p&gt;
                This attribute is sometimes referred to as the "mnemonic".
              &lt;/p&gt;&lt;p&gt;
                The character specified by this attribute
                &lt;strong&gt;must&lt;/strong&gt; exist in the
                &lt;code&gt;Text&lt;/code&gt; attribute of this button instance.
                If it does not, the user will receive no visual indication of
                the existence of the accessKey.
                The easiest, and most convenient
                way to specify both the text and the mnemonic together is
                to use textAndAccessKey.
                &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The selectBooleanCheckbox control is a standard browser input
          checkbox.  It supports displaying a prompt, text, and messages.</description><name>selectBooleanCheckbox</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreSelectBooleanCheckboxTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a converter object</description>
      <name>converter</name>
      <deferred-value>
        <type>javax.faces.convert.Converter</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the value is converted and validated immediately in the Apply Request Values phase, or is handled in the Process Validators phase, the default.  By default, values are converted and validated together in the Process Validators phase.  However, if you need access to the value of a component during Apply Request Values - for example, if you need to get the value from an actionListener on an immediate commandButton - then setting this to "immediate" makes that possible.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether a non-null, non-empty value must be entered.  If false, validators will not be executed when the value is null or empty.</description>
      <name>required</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a validator method</description>
      <name>validator</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to a value change listener</description>
      <name>valueChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ValueChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>&lt;html&gt; the message to be displayed, if 'required' validation fails.
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;&lt;/html&gt;</description>
      <name>requiredMessageDetail</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether or not the component is
              currently selected.  This is a typesafe alias for the "value"
              attribute.</description>
      <name>selected</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</description>
      <name>contentStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</description>
      <name>autoSubmit</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is read-only.</description>
      <name>readOnly</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is disabled.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the label of the bean.</description>
      <name>label</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired, 
tip), and may use simpler layout primitives</description>
      <name>simple</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the text value of the checkbox.</description>
      <name>text</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to this checkbox.
          For accessibility reasons, this functionality is not supported in 
          screen reader mode.
          &lt;p&gt;
            If the same access key appears in multiple locations in the
            same page of output, the rendering user agent will cycle
            among the elements accessed by the similar keys.
          &lt;/p&gt;&lt;p&gt;
            This attribute is sometimes referred to as the "mnemonic".
          &lt;/p&gt;&lt;p&gt;
            The character specified by this attribute
            &lt;strong&gt;must&lt;/strong&gt;exist in the
            &lt;code&gt;text&lt;/code&gt;attribute of this selectBooleanCheckbox instance.
            If it does not, the user will receive no visual indication of
            the existence of the accessKey.
            &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 An attribute that will simultaneously set both the "text"
          and "accessKey" attributes from a single value, using
          conventional ampersand ('&amp;amp;') notation.
          &lt;p&gt;
          For example, setting this attribute to "T&amp;amp;amp;ext" will
          set the text to "Text" and the access key to 'e'.
          &lt;/p&gt;&lt;/html&gt;</description>
      <name>textAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>event handler for when the value is changed.</description>
      <name>onchange</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component losing the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onblur</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component gaining the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onfocus</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the 
          "showRequired" attribute must be false for the visual indication not to be displayed.</description>
      <name>showRequired</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The selectBooleanRadio control maps to a single browser input
          radio, grouped with all other selectBooleanRadio controls
          in the same form which share the same "group" attribute.
          It supports displaying a prompt, text, and messages.</description><name>selectBooleanRadio</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreSelectBooleanRadioTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a converter object</description>
      <name>converter</name>
      <deferred-value>
        <type>javax.faces.convert.Converter</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the value is converted and validated immediately in the Apply Request Values phase, or is handled in the Process Validators phase, the default.  By default, values are converted and validated together in the Process Validators phase.  However, if you need access to the value of a component during Apply Request Values - for example, if you need to get the value from an actionListener on an immediate commandButton - then setting this to "immediate" makes that possible.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether a non-null, non-empty value must be entered.  If false, validators will not be executed when the value is null or empty.</description>
      <name>required</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a validator method</description>
      <name>validator</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to a value change listener</description>
      <name>valueChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ValueChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>&lt;html&gt; the message to be displayed, if 'required' validation fails.
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;&lt;/html&gt;</description>
      <name>requiredMessageDetail</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether or not the component is
              currently selected.  This is a typesafe alias for the "value"
              attribute.</description>
      <name>selected</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</description>
      <name>contentStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</description>
      <name>autoSubmit</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is read-only.</description>
      <name>readOnly</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is disabled.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the label of the bean.</description>
      <name>label</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired, 
tip), and may use simpler layout primitives</description>
      <name>simple</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the text of the radio button.</description>
      <name>text</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to this radio button.
          For accessibility reasons, this functionality is not supported in 
          screen reader mode.
          &lt;p&gt;
            If the same access key appears in multiple locations in the
            same page of output, the rendering user agent will cycle
            among the elements accessed by the similar keys.
          &lt;/p&gt;&lt;p&gt;
            This attribute is sometimes referred to as the "mnemonic".
          &lt;/p&gt;&lt;p&gt;
            The character specified by this attribute
            &lt;strong&gt;must&lt;/strong&gt;exist in the
            &lt;code&gt;text&lt;/code&gt;attribute of this CheckBox instance.
            If it does not, the user will receive no visual indication of
            the existence of the accessKey.
            &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 An attribute that will simultaneously set both the "text"
          and "accessKey" attributes from a single value, using
          conventional ampersand ('&amp;amp;') notation.
          &lt;p&gt;
          For example, setting this attribute to "T&amp;amp;amp;ext" will
          set the text to "Text" and the access key to 'e'.
          &lt;/p&gt;&lt;/html&gt;</description>
      <name>textAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <name>group</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>event handler for when the value is changed.</description>
      <name>onchange</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component losing the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onblur</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component gaining the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onfocus</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the 
          "showRequired" attribute must be false for the visual indication not to be displayed.</description>
      <name>showRequired</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The selectItem tag represents a single item that the user
may select from a list, choice, radio, or shuttle Trinidad control.</description><name>selectItem</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreSelectItemTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value used to identify this item when the
              parent control is submitted to the server.  If no value is specified
              for a particular item, the item's contents will be used as its
              value.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the user-visible text of the item</description>
      <name>label</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the item is disabled.  By default, no
          items are disabled.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the description associated with this option. 
        This is used in selectManyShuttle and selectOrderShuttle, and ignored otherwise.</description>
      <name>longDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the bean.  This text
         is commonly used by user agents to display advisory information about the option.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The selectManyCheckbox component creates a component which allows
          the user to select many values from a series of checkboxes.</description><name>selectManyCheckbox</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreSelectManyCheckboxTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a converter object</description>
      <name>converter</name>
      <deferred-value>
        <type>javax.faces.convert.Converter</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the value is converted and validated immediately in the Apply Request Values phase, or is handled in the Process Validators phase, the default.  By default, values are converted and validated together in the Process Validators phase.  However, if you need access to the value of a component during Apply Request Values - for example, if you need to get the value from an actionListener on an immediate commandButton - then setting this to "immediate" makes that possible.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether a non-null, non-empty value must be entered.  If false, validators will not be executed when the value is null or empty.</description>
      <name>required</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a validator method</description>
      <name>validator</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to a value change listener</description>
      <name>valueChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ValueChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>&lt;html&gt; the message to be displayed, if 'required' validation fails.
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;&lt;/html&gt;</description>
      <name>requiredMessageDetail</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</description>
      <name>contentStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the control displays the buttons 
              horizontally or vertically.The valid values are "horizontal" and 
              "vertical",the default being "vertical".</description>
      <name>layout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client. 
        Therefore, when valuePassThru is false, 
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set 
        valuePassThru to true. This will pass the values through to the client, 
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</description>
      <name>valuePassThru</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is read-only.</description>
      <name>readOnly</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is disabled.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the label of the bean.</description>
      <name>label</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired, 
tip), and may use simpler layout primitives</description>
      <name>simple</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>event handler for when the value is changed.</description>
      <name>onchange</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component losing the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onblur</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component gaining the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onfocus</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the 
          "showRequired" attribute must be false for the visual indication not to be displayed.</description>
      <name>showRequired</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to
               the form element specified by the
         &lt;code&gt;for&lt;/code&gt;, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported 
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              &lt;p&gt;
                This attribute is sometimes referred to as the "mnemonic".
                &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;amp;') notation.
              &lt;p&gt;
              For example, setting this attribute to "L&amp;amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              &lt;/p&gt;&lt;/html&gt;</description>
      <name>labelAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</description>
      <name>autoSubmit</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The selectManyListbox component creates a component which allows
          the user to select many values from a list of items.</description><name>selectManyListbox</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreSelectManyListboxTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a converter object</description>
      <name>converter</name>
      <deferred-value>
        <type>javax.faces.convert.Converter</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the value is converted and validated immediately in the Apply Request Values phase, or is handled in the Process Validators phase, the default.  By default, values are converted and validated together in the Process Validators phase.  However, if you need access to the value of a component during Apply Request Values - for example, if you need to get the value from an actionListener on an immediate commandButton - then setting this to "immediate" makes that possible.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether a non-null, non-empty value must be entered.  If false, validators will not be executed when the value is null or empty.</description>
      <name>required</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a validator method</description>
      <name>validator</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to a value change listener</description>
      <name>valueChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ValueChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>&lt;html&gt; the message to be displayed, if 'required' validation fails.
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;&lt;/html&gt;</description>
      <name>requiredMessageDetail</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</description>
      <name>contentStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>how many items should be visible.  Small values may be overridden if the platform cannot render a list of that size correctly.</description>
      <name>size</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client. 
        Therefore, when valuePassThru is false, 
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set 
        valuePassThru to true. This will pass the values through to the client, 
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</description>
      <name>valuePassThru</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is read-only.</description>
      <name>readOnly</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is disabled.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the label of the bean.</description>
      <name>label</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired, 
tip), and may use simpler layout primitives</description>
      <name>simple</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>event handler for when the value is changed.</description>
      <name>onchange</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component losing the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onblur</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component gaining the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onfocus</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the 
          "showRequired" attribute must be false for the visual indication not to be displayed.</description>
      <name>showRequired</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to
               the form element specified by the
         &lt;code&gt;for&lt;/code&gt;, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported 
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              &lt;p&gt;
                This attribute is sometimes referred to as the "mnemonic".
                &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;amp;') notation.
              &lt;p&gt;
              For example, setting this attribute to "L&amp;amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              &lt;/p&gt;&lt;/html&gt;</description>
      <name>labelAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</description>
      <name>autoSubmit</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The selectManyShuttle component provides a mechanism for selecting
   multiple values from a list of values by allowing the user to move
   items between two lists.</description><name>selectManyShuttle</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreSelectManyShuttleTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a converter object</description>
      <name>converter</name>
      <deferred-value>
        <type>javax.faces.convert.Converter</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the value is converted and validated immediately in the Apply Request Values phase, or is handled in the Process Validators phase, the default.  By default, values are converted and validated together in the Process Validators phase.  However, if you need access to the value of a component during Apply Request Values - for example, if you need to get the value from an actionListener on an immediate commandButton - then setting this to "immediate" makes that possible.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether a non-null, non-empty value must be entered.  If false, validators will not be executed when the value is null or empty.</description>
      <name>required</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a validator method</description>
      <name>validator</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to a value change listener</description>
      <name>valueChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ValueChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>&lt;html&gt; the message to be displayed, if 'required' validation fails.
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;&lt;/html&gt;</description>
      <name>requiredMessageDetail</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client. 
        Therefore, when valuePassThru is false, 
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set 
        valuePassThru to true. This will pass the values through to the client, 
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</description>
      <name>valuePassThru</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is read-only.</description>
      <name>readOnly</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is disabled.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>event handler for when the value is changed.</description>
      <name>onchange</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component losing the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onblur</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component gaining the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onfocus</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the display size(number of items) of the lists. The size 
              specified must be between 10 and 20 items. If the attribute is not 
              set or has a value less than 10, the size would have a default or 
              minimum value of 10. If the attribute value specified is more than 
              20 items, the size would have the maximum value of 20.</description>
      <name>size</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the header of the leading list of the shuttle.</description>
      <name>leadingHeader</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the header of the trailing list of the shuttle.</description>
      <name>trailingHeader</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether or not the leading list has an area to display descriptions.</description>
      <name>leadingDescShown</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether or not the trailing list has an area to display descriptions.</description>
      <name>trailingDescShown</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the label for the shuttle that is used to identify the component only when displaying error messages. The label specified does not otherwise appear on the page.</description>
      <name>label</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The selectOneChoice component creates a menu-style component, which allows the user to select a single value from a list of items.</description><name>selectOneChoice</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreSelectOneChoiceTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a converter object</description>
      <name>converter</name>
      <deferred-value>
        <type>javax.faces.convert.Converter</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the value is converted and validated immediately in the Apply Request Values phase, or is handled in the Process Validators phase, the default.  By default, values are converted and validated together in the Process Validators phase.  However, if you need access to the value of a component during Apply Request Values - for example, if you need to get the value from an actionListener on an immediate commandButton - then setting this to "immediate" makes that possible.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether a non-null, non-empty value must be entered.  If false, validators will not be executed when the value is null or empty.</description>
      <name>required</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a validator method</description>
      <name>validator</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to a value change listener</description>
      <name>valueChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ValueChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>&lt;html&gt; the message to be displayed, if 'required' validation fails.
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;&lt;/html&gt;</description>
      <name>requiredMessageDetail</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</description>
      <name>contentStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The label for the option that represents a value of null, meaning nothing is selected. If unselectedLabel is not set and if the component does not have a selected value, then an option with an empty string as the label and value is rendered as the first option in the choice box (if there isn't an empty option already defined). Once an option has been successfully selected, and if unselectedLabel is not set, then the empty option will not be rendered.</description>
      <name>unselectedLabel</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;amp;') notation.
              &lt;p&gt;
              For example, setting this attribute to "L&amp;amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              &lt;/p&gt;&lt;/html&gt;</description>
      <name>labelAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client. 
        Therefore, when valuePassThru is false, 
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set 
        valuePassThru to true. This will pass the values through to the client, 
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</description>
      <name>valuePassThru</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is read-only.</description>
      <name>readOnly</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is disabled.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the label of the bean.</description>
      <name>label</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired, 
tip), and may use simpler layout primitives</description>
      <name>simple</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>event handler for when the value is changed.</description>
      <name>onchange</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component losing the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onblur</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component gaining the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onfocus</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the 
          "showRequired" attribute must be false for the visual indication not to be displayed.</description>
      <name>showRequired</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to
               the form element specified by the
         &lt;code&gt;for&lt;/code&gt;, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported 
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              &lt;p&gt;
                This attribute is sometimes referred to as the "mnemonic".
                &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</description>
      <name>autoSubmit</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The selectOneListbox  component creates a component which allows
          the user to select a single value from a list of items.</description><name>selectOneListbox</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreSelectOneListboxTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a converter object</description>
      <name>converter</name>
      <deferred-value>
        <type>javax.faces.convert.Converter</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the value is converted and validated immediately in the Apply Request Values phase, or is handled in the Process Validators phase, the default.  By default, values are converted and validated together in the Process Validators phase.  However, if you need access to the value of a component during Apply Request Values - for example, if you need to get the value from an actionListener on an immediate commandButton - then setting this to "immediate" makes that possible.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether a non-null, non-empty value must be entered.  If false, validators will not be executed when the value is null or empty.</description>
      <name>required</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a validator method</description>
      <name>validator</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to a value change listener</description>
      <name>valueChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ValueChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>&lt;html&gt; the message to be displayed, if 'required' validation fails.
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;&lt;/html&gt;</description>
      <name>requiredMessageDetail</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</description>
      <name>contentStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The number of items that should be visible in the list. The renderer may constrain the maximum and minimum number of items shown.</description>
      <name>size</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client. 
        Therefore, when valuePassThru is false, 
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set 
        valuePassThru to true. This will pass the values through to the client, 
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</description>
      <name>valuePassThru</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the label for an additional item that indicates no selection has
   been made.  When the user selects this item, "required" validation will
   not pass, or a null value will be set if the component is not "required".</description>
      <name>unselectedLabel</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the element is read-only.</description>
      <name>readOnly</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is disabled.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the label of the bean.</description>
      <name>label</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey, showRequired, 
tip), and may use simpler layout primitives</description>
      <name>simple</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>event handler for when the value is changed.</description>
      <name>onchange</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component losing the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onblur</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component gaining the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onfocus</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the 
          "showRequired" attribute must be false for the visual indication not to be displayed.</description>
      <name>showRequired</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to
               the form element specified by the
         &lt;code&gt;for&lt;/code&gt;, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported 
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              &lt;p&gt;
                This attribute is sometimes referred to as the "mnemonic".
                &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;amp;') notation.
              &lt;p&gt;
              For example, setting this attribute to "L&amp;amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              &lt;/p&gt;&lt;/html&gt;</description>
      <name>labelAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</description>
      <name>autoSubmit</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The selectOneRadio component creates a component
          which allows the user to select a single value from a set of items
          displayed as a series of radio buttons.</description><name>selectOneRadio</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreSelectOneRadioTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a converter object</description>
      <name>converter</name>
      <deferred-value>
        <type>javax.faces.convert.Converter</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the value is converted and validated immediately in the Apply Request Values phase, or is handled in the Process Validators phase, the default.  By default, values are converted and validated together in the Process Validators phase.  However, if you need access to the value of a component during Apply Request Values - for example, if you need to get the value from an actionListener on an immediate commandButton - then setting this to "immediate" makes that possible.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether a non-null, non-empty value must be entered.  If false, validators will not be executed when the value is null or empty.</description>
      <name>required</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a validator method</description>
      <name>validator</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to a value change listener</description>
      <name>valueChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ValueChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>&lt;html&gt; the message to be displayed, if 'required' validation fails.
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;&lt;/html&gt;</description>
      <name>requiredMessageDetail</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to attach to the content of the component.  For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".</description>
      <name>contentStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the label for an additional item that indicates no selection has
been made.  When the user selects this item, "required" validation will
not pass, or a null value will be set if the component is not "required".</description>
      <name>unselectedLabel</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the control displays the buttons 
              horizontally or vertically.The valid values are "horizontal" and 
              "vertical", the default being "vertical".</description>
      <name>layout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client. 
        Therefore, when valuePassThru is false, 
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set 
        valuePassThru to true. This will pass the values through to the client, 
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</description>
      <name>valuePassThru</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is read-only.</description>
      <name>readOnly</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is disabled.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the label of the bean.</description>
      <name>label</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a boolean value that controls whether the component
provides label and message support;  when set to "true", the component will
not display messaging support or the label (these attributes may be ignored: label,
labelAndAccessKey, accessKey,  showRequired, 
tip), and may use simpler layout primitives</description>
      <name>simple</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>event handler for when the value is changed.</description>
      <name>onchange</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component losing the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onblur</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component gaining the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onfocus</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the 
          "showRequired" attribute must be false for the visual indication not to be displayed.</description>
      <name>showRequired</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Character used to gain quick access to
               the form element specified by the
         &lt;code&gt;for&lt;/code&gt;, if set (or this component itself,
              if it is a "non-simple" form element).
              For accessibility reasons, this functionality is not supported 
              in screen reader mode.
              If the same access key appears in multiple locations in the
              same page of output, the rendering user agent will cycle
              among the elements accessed by the similar keys.
              &lt;p&gt;
                This attribute is sometimes referred to as the "mnemonic".
                &lt;/p&gt;&lt;/html&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 An attribute that will simultaneously set both the "value"
              and "accessKey" attributes from a single value, using
              conventional ampersand ('&amp;amp;') notation.
              &lt;p&gt;
              For example, setting this attribute to "L&amp;amp;amp;abel" will
              set the label to "Label" and the access key to 'a'.
              &lt;/p&gt;&lt;/html&gt;</description>
      <name>labelAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).</description>
      <name>autoSubmit</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The selectOrderShuttle component provides a mechanism for selecting
   multiple values from a list of values by allowing the user to move
   items between two lists, and reordering that list of values.</description><name>selectOrderShuttle</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.input.CoreSelectOrderShuttleTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the value of the component.  If the EL binding
for the "value" points to a bean property with a getter but no setter, and
this is an editable component, the component will be rendered 
in read-only mode.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a converter object</description>
      <name>converter</name>
      <deferred-value>
        <type>javax.faces.convert.Converter</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the value is converted and validated immediately in the Apply Request Values phase, or is handled in the Process Validators phase, the default.  By default, values are converted and validated together in the Process Validators phase.  However, if you need access to the value of a component during Apply Request Values - for example, if you need to get the value from an actionListener on an immediate commandButton - then setting this to "immediate" makes that possible.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether a non-null, non-empty value must be entered.  If false, validators will not be executed when the value is null or empty.</description>
      <name>required</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a validator method</description>
      <name>validator</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to a value change listener</description>
      <name>valueChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ValueChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>&lt;html&gt; the message to be displayed, if 'required' validation fails.
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;&lt;/html&gt;</description>
      <name>requiredMessageDetail</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether the shuttle is in "reorder only" mode, where the user can reorder the list of values, but cannot add or remove them.</description>
      <name>reorderOnly</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether or not the values are passed through to
        the client. When valuePassThru is false
        the value and the options' values
        are converted to indexes before being sent to the client. 
        Therefore, when valuePassThru is false, 
        there is no need to write your own converter when you are using custom Objects
        as your values and/or options.
        If you need to know the actual values on the client-side, then you can set 
        valuePassThru to true. This will pass the values through to the client, 
        using your custom converter if it is available; a custom converter is
        needed if you are using custom objects. The default is false.</description>
      <name>valuePassThru</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is read-only.</description>
      <name>readOnly</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether the element is disabled.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>event handler for when the value is changed.</description>
      <name>onchange</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component losing the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onblur</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the event handler for the component gaining the focus.

    This attribute is not supported on the following agent types:
 pda, phone, voice.</description>
      <name>onfocus</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the display size(number of items) of the lists. The size 
              specified must be between 10 and 20 items. If the attribute is not 
              set or has a value less than 10, the size would have a default or 
              minimum value of 10. If the attribute value specified is more than 
              20 items, the size would have the maximum value of 20.</description>
      <name>size</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the header of the leading list of the shuttle.</description>
      <name>leadingHeader</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the header of the trailing list of the shuttle.</description>
      <name>trailingHeader</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether or not the leading list has an area to display descriptions.</description>
      <name>leadingDescShown</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether or not the trailing list has an area to display descriptions.</description>
      <name>trailingDescShown</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the label for the shuttle that is used to identify the component only when displaying error messages. The label specified does not otherwise appear on the page.</description>
      <name>label</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>SelectRangeChoiceBar is used to allow the user to select a range of
          records to display among a larger set of records. 
          It allows the user to move back and forth through these records 
          through a choice and buttons.</description><name>selectRangeChoiceBar</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.data.CoreSelectRangeChoiceBarTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the name of the EL variable that provides access to the "start"
              and "end" variables that point to the start and end row in
              the each range from the data model. This can be used to customize
              the range text.</description>
      <name>var</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether data validation 
          should be skipped when range change
          events are generated by this component.

          When immediate is false (the default), events will
          be delivered during the Invoke Application phase, which
          will trigger validation.  When set to true,  events
          will be executed during the Apply Request Values phase.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a rangeChange listener that
         will be called when a new range is selected.</description>
      <name>rangeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.RangeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>&lt;html&gt; the data model being used by this component.
The specific model class is
        &lt;code&gt;org.apache.myfaces.trinidad.model.CollectionModel&lt;/code&gt;.

        You may also use other model instances, e.g.,  
        &lt;code&gt;java.util.List&lt;/code&gt;  ,
        array, and  &lt;code&gt;javax.faces.model.DataModel&lt;/code&gt;.
        This component will automatically convert the instance
        into a &lt;code&gt;CollectionModel&lt;/code&gt;.&lt;/html&gt;</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the maximum number of rows to display in a single range of rows.
Some ranges might have fewer
than the number of rows specified by this attribute (eg: the last range
might have an insufficient number of rows).
To display all rows at once, set this attribute to 0.</description>
      <name>rows</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the index of the first row in the currently range of rows.
This index is zero-based. This attribute is used to control
which range of rows to display to the user.</description>
      <name>first</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The separator is used anywhere to create a horizontal separator 
between items.</description><name>separator</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreSeparatorTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The showDetail provides a means of toggling a group of components between being 
hidden or shown.  If the "prompt" facet is present, the component in the facet 
will be put next to the disclosure icon.  If the prompt facet is not present
but either the disclosedText or the undisclosedText attributes are set, then
the text in that attribute will be displayed next to the disclosure icon.
If the prompt facet is not set but both the disclosedText and undisclosedText 
attributes are set then the disclosedText will be displayed when disclosed="true" 
and undisclosedText will be displayed when disclosed="false".  If the prompt 
facet is not set and neither the disclosedText or undisclosedText attributes are
set, then the label will default to "Hide" for the disclosed text and "Show" for
the undisclosed text.  For the purposes of EL, setting disclosedText or 
undisclosedText to null is the same as not setting the value.</description><name>showDetail</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CoreShowDetailTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>whether or not to disclose the children

    This attribute is not supported on the following agent types:
 phone, voice.</description>
      <name>disclosed</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>stops the local value of disclosed from being set
        by renderers. This allows the value to always be taken from the value of the disclosed
        value expression. Disclosed values must be updated in other ways (i.e. from a
        disclosure listener)

    This attribute is not supported on the following agent types:
 phone, voice.</description>
      <name>disclosedTransient</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether data validation - client-side or
            server-side - should be skipped when
          events are generated by this component.

          When immediate is false (the default), the disclosure event will
          be delivered during the Invoke Application phase, which
          will trigger validation.  When set to true, the disclosure
          event will be executed during the Apply Request Values phase.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a disclosure listener</description>
      <name>disclosureListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.DisclosureEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the text to display when the children are disclosed.  If this attribute is set
and the undisclosedText attribute is not set, this text will be displayed for
both the disclosed state AND the undisclosed state.

    This attribute is not supported on the following agent types:
 phone, voice.</description>
      <name>disclosedText</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the text to display when the children are undisclosed.  If this attribute is set
and the disclosedText attribute is not set, this text will be displayed for
both the disclosed state AND the undisclosed state.

    This attribute is not supported on the following agent types:
 phone, voice.</description>
      <name>undisclosedText</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The showDetailHeader provides a means of toggling the contents under a header 
between being disclosed(shown) or undisclosed(hidden).</description><name>showDetailHeader</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CoreShowDetailHeaderTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>whether or not to disclose the children

    This attribute is not supported on the following agent types:
 phone, voice.</description>
      <name>disclosed</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>stops the local value of disclosed from being set
        by renderers. This allows the value to always be taken from the value of the disclosed
        value expression. Disclosed values must be updated in other ways (i.e. from a
        disclosure listener)

    This attribute is not supported on the following agent types:
 phone, voice.</description>
      <name>disclosedTransient</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether data validation - client-side or
            server-side - should be skipped when
          events are generated by this component.

          When immediate is false (the default), the disclosure event will
          be delivered during the Invoke Application phase, which
          will trigger validation.  When set to true, the disclosure
          event will be executed during the Apply Request Values phase.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a disclosure listener</description>
      <name>disclosureListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.DisclosureEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the label of the header.</description>
      <name>text</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the URI for the icon of the header.</description>
      <name>icon</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Set if an error, info, confirmation, or warning header is needed.</description>
      <name>messageType</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Size of this panelHeader. The largest is 0 and corresponds to an H1 header
        the smallest is 5 and corresponds to an H6 Header.  Note that this version of the tag will 
        display all sizes above 2 the same as size 2. Setting the size to a negative number will
        allow the header to be calculated according to its parent header.  The default value for 
        this property is -1.</description>
      <name>size</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The showDetailItem represents a single item with specific
contents that can be selected by users to be shown in a showOne component.</description><name>showDetailItem</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.layout.CoreShowDetailItemTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>whether or not to disclose the children

    This attribute is not supported on the following agent types:
 phone, voice.</description>
      <name>disclosed</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>stops the local value of disclosed from being set
        by renderers. This allows the value to always be taken from the value of the disclosed
        value expression. Disclosed values must be updated in other ways (i.e. from a
        disclosure listener)

    This attribute is not supported on the following agent types:
 phone, voice.</description>
      <name>disclosedTransient</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether data validation - client-side or
            server-side - should be skipped when
          events are generated by this component.

          When immediate is false (the default), the disclosure event will
          be delivered during the Invoke Application phase, which
          will trigger validation.  When set to true, the disclosure
          event will be executed during the Apply Request Values phase.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a disclosure listener</description>
      <name>disclosureListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.DisclosureEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>If value is "true", the component becomes non-interactive.  
Otherwise,the default value is "false" and component assumes 
its expected behavior.</description>
      <name>disabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the textual label of the showDetailItem.</description>
      <name>text</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>An attribute that will simultaneously set both the "text"
and "accessKey" attributes from a single value, using
conventional ampersand ('&amp;amp;') notation.
&lt;p&gt;
  For example, setting this attribute to "T&amp;amp;amp;ext" will
  set the text to "Text" and the access key to 'e'.
&lt;/p&gt;</description>
      <name>textAndAccessKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Character used to gain quick access to this showDetailItem.
For accessibility reasons, this functionality is not supported 
in screen reader mode.
&lt;p&gt;
  If the same access key appears in multiple locations in the
  same page of output, the rendering user agent will cycle
  among the elements accessed by the similar keys.
&lt;/p&gt;
&lt;p&gt;
  This attribute is sometimes referred to as the "mnemonic".
&lt;/p&gt;</description>
      <name>accessKey</name>
      <deferred-value>
        <type>char</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>A non-negative integer that indicates the flexibility of this 
component in its container.  If the container supports it, flex 
is used to determine how space is distributed among its children.  
Components with larger flex values will be made larger than 
components with lower flex values.  This is done so at the ratio 
determined by the flex of each of the two components.  The actual 
value is only relevant if there are other flexible components 
(components with flex values larger than zero) within the same 
container.</description>
      <name>flex</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>SingleStepButtonBar renders a Previous button,
         text describing the current step and the maximum steps, and a Next button.</description><name>singleStepButtonBar</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreSingleStepButtonBarTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the current step. The valid range is 1 to maxStep.
              It defaults to 1.</description>
      <name>selectedStep</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the last possible step. If this value is not known, 
              it should be set to
              MAX_VALUE_UNKNOWN (-1),
              which is also the default value. If maxStep is
              MAX_VALUE_UNKNOWN, then no text is rendered between the Back/Next
              buttons. When maxStep is 2 and selectedStep
              is 1, then only a Continue button is rendered.</description>
      <name>maxStep</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an action listener 
             that will be called when the singleStep component navigates
             to the previous step.</description>
      <name>previousActionListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ActionEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to an action listener  
             that will be called when the singleStep component navigates
             to the next step.</description>
      <name>nextActionListener</name>
    <deferred-method>
      <method-signature>void myMethod(javax.faces.event.ActionEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a reference to an action method  
             that will be called when the singleStep component navigates
             to the next step, or the static outcome of the action.</description>
      <name>nextAction</name>
    <deferred-method>
      <method-signature>java.lang.String myMethod()</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a reference to an action method  
             that will be called when the singleStep component navigates
             to the previous step, or the static outcome of the action.</description>
      <name>previousAction</name>
    <deferred-method>
      <method-signature>java.lang.String myMethod()</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the text description of items being navigated.
            The default is "Step".</description>
      <name>text</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>spacers occupy a fixed amount of
          space in a layout.</description><name>spacer</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreSpacerTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the width of the spacer item.</description>
      <name>width</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the height of the spacer item.</description>
      <name>height</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the short description of the bean.  This text
         is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the IDs of the components that should trigger a partial update.
         This component will listen on the trigger components. If one of the
         trigger components receives an event that will cause it to update
         in some way, this component will request to be updated too.</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The statusIndicator component shows whether the page 
               is busy processing or is ready. By default, the component 
               shows predefined icons for both readyand busy state. However, 
               if a facet is specified, be it rendered or not, none of the 
               default icon is going to be rendered. That behavior enable an 
               easy emulation of GMail behavior specifying only a busy 
               facet.</description><name>statusIndicator</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.output.CoreStatusIndicatorTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The subform tag represents an independently submittable
region of a page.  The contents of a subform will only be validated
(or otherwise processed) if a component inside of the subform is
responsible for submitting the page.</description><name>subform</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.CoreSubformTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>whether the subform should assume it
has been submitted.  When set to "default", "submitted" will be
considered true if no other subform has been submitted.</description>
      <name>default</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
  </tag>
  <tag>
    
    <description>The Trinidad Table is used to display tabular data. It also supports selection (both single and multiple), sorting, record navigation and detail-disclosure.</description><name>table</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.data.CoreTableTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>Name of the EL variable used to reference each element of this collection.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).</description>
      <name>var</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this 
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:&lt;ul&gt;&lt;li&gt;"model" - returns the CollectionModel for this component&lt;/li&gt;&lt;li&gt;"index" - returns the zero based row index&lt;/li&gt;&lt;/ul&gt;&lt;/html&gt;</description>
      <name>varStatus</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>the data model being used by this component.
The specific model class is
        &lt;code&gt;org.apache.myfaces.trinidad.model.CollectionModel&lt;/code&gt;.

        You may also use other model instances, e.g.,  
        &lt;code&gt;java.util.List&lt;/code&gt;  ,
        array, and  &lt;code&gt;javax.faces.model.DataModel&lt;/code&gt;.
        This component will automatically convert the instance
        into a &lt;code&gt;CollectionModel&lt;/code&gt;.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the maximum number of rows to display in a single range of rows.
Some ranges might have fewer
than the number of rows specified by this attribute (eg: the last range
might have an insufficient number of rows).
To display all rows at once, set this attribute to 0.</description>
      <name>rows</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the index of the first row in the currently range of rows.
This index is zero-based. This attribute is used to control
which range of rows to display to the user.</description>
      <name>first</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an ExpansionListener</description>
      <name>rowDisclosureListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.RowDisclosureEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the set of disclosed rows for this component.
Each entry in the set is a rowKey.</description>
      <name>disclosedRowKeys</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a method reference to a selection listener</description>
      <name>selectionListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.SelectionEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the selection state for this component.</description>
      <name>selectedRowKeys</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether or not data validation - client-side or
            server-side -
          should take place when
          events are generated by this component.

          When immediate is true, the default ActionListener
          provided by the JavaServer Faces implementation
          should be executed during Apply Request Values phase
          of the request processing lifecycle, rather than
          waiting until the Invoke Application phase.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to a sort listener</description>
      <name>sortListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.SortEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>a method reference to a rangeChange listener that
         will be called when a new range is selected.</description>
      <name>rangeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.RangeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>if the horizontal grid lines will be drawn.</description>
      <name>horizontalGridVisible</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>if the vertical grid lines will be drawn.</description>
      <name>verticalGridVisible</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>text displayed when a table is empty.</description>
      <name>emptyText</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the interval between which the column banding alternates.  For example, a columnBandingInterval of 1 would display alternately banded columns.</description>
      <name>columnBandingInterval</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the interval between which the row banding alternates.  For example, rowBandingInterval=1 would displayalternately banded rows in the Grid.</description>
      <name>rowBandingInterval</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether rows in this table selectable. Valid values are "none", "single", "multiple"</description>
      <name>rowSelection</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).  This only takes effect if rowSelection attribute enabled.</description>
      <name>autoSubmit</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the width of the table.  The value must either be a number of pixels or a percentage - it is not a CSS width.</description>
      <name>width</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the summary of this table's purpose and structure
         for user agents rendering to non-visual media.</description>
      <name>summary</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether or not to enable the show/hide all
              links above the table,
              which allow the user to show/hide all the detail rows.
              To enable the detail rows, a "detailStamp" facet must be set on
              this Table.

    This attribute is not supported on the following agent types:
 phone, voice.</description>
      <name>allDetailsEnabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>Train is a UIXProcess component that renders a train.
          A train is a horizontal series of train stations connected by
          a horizontal line. Each train station
          is an image and text describing the page in the multi-page process.</description><name>train</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.nav.CoreTrainTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>Name of the EL variable used to reference each element of this collection.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).</description>
      <name>var</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>the hierarchy of data - must be of type 
            org.apache.myfaces.trinidad.model.MenuModel</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this 
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:&lt;ul&gt;&lt;li&gt;"model" - returns the CollectionModel for this component&lt;/li&gt;&lt;li&gt;"index" - returns the zero based row index&lt;/li&gt;&lt;/ul&gt;&lt;/html&gt;</description>
      <name>varStatus</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>Represents an interactive tree component.</description><name>tree</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.data.CoreTreeTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>Name of the EL variable used to reference each element of this collection.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).</description>
      <name>var</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>the selection state for this component.</description>
      <name>selectedRowKeys</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether or not data validation - client-side or
            server-side -
          should take place when
          events are generated by this component.

          When immediate is true, the default ActionListener
          provided by the JavaServer Faces implementation
          should be executed during Apply Request Values phase
          of the request processing lifecycle, rather than
          waiting until the Invoke Application phase.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an ExpansionListener</description>
      <name>rowDisclosureListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.RowDisclosureEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the set of disclosed rows for this component.
Each entry in the set is a rowKey.</description>
      <name>disclosedRowKeys</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a method reference to a selection listener</description>
      <name>selectionListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.SelectionEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
          Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this 
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:&lt;ul&gt;&lt;li&gt;"model" - returns the CollectionModel for this component&lt;/li&gt;&lt;li&gt;"index" - returns the zero based row index&lt;/li&gt;&lt;/ul&gt;&lt;/html&gt;</description>
      <name>varStatus</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>the hierarchy of tree data - must be of type 
        org.apache.myfaces.trinidad.model.TreeModel</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the rowKey of the currently focused row.
        The rowKeys of the ancestor rows of the focus row are added
        to the expandedRowKeys RowKeySet by default.</description>
      <name>focusRowKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a method reference to a focus listener</description>
      <name>focusListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.FocusEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>If upon initial rendering, the current subtree under the focused row path
        should be expanded. A RowDisclosureEvent is broadcast from the encode begin of the 
        component so that listeners are properly notified of the disclosure.</description>
      <name>initiallyExpanded</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>The Trinidad TreeTable is used to display data that is structured in a hierarchical format.</description><name>treeTable</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.core.data.CoreTreeTableTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>Name of the EL variable used to reference each element of this collection.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).</description>
      <name>var</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>the selection state for this component.</description>
      <name>selectedRowKeys</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>whether or not data validation - client-side or
            server-side -
          should take place when
          events are generated by this component.

          When immediate is true, the default ActionListener
          provided by the JavaServer Faces implementation
          should be executed during Apply Request Values phase
          of the request processing lifecycle, rather than
          waiting until the Invoke Application phase.</description>
      <name>immediate</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an ExpansionListener</description>
      <name>rowDisclosureListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.RowDisclosureEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the set of disclosed rows for this component.
Each entry in the set is a rowKey.</description>
      <name>disclosedRowKeys</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a method reference to a selection listener</description>
      <name>selectionListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.SelectionEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
          Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this 
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:&lt;ul&gt;&lt;li&gt;"model" - returns the CollectionModel for this component&lt;/li&gt;&lt;li&gt;"index" - returns the zero based row index&lt;/li&gt;&lt;/ul&gt;&lt;/html&gt;</description>
      <name>varStatus</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>the hierarchy of tree data - must be of type 
        org.apache.myfaces.trinidad.model.TreeModel</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the rowKey of the currently focused row.
        The rowKeys of the ancestor rows of the focus row are added
        to the expandedRowKeys RowKeySet by default.</description>
      <name>focusRowKey</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a method reference to a focus listener</description>
      <name>focusListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.FocusEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>If upon initial rendering, the current subtree under the focused row path
        should be expanded. A RowDisclosureEvent is broadcast from the encode begin of the 
        component so that listeners are properly notified of the disclosure.</description>
      <name>initiallyExpanded</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>If the root node should be rendered or not. Defaults to true.</description>
      <name>rootNodeRendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the maximum number of records that can be displayed at
              one time (range size).
              Each level of depth in the tree can have a different range size.
              The first number in the array sets the range size for the root
              collection. Each subsequent number sets the range size for the
              corresponding depth. The last number becomes the default for
              each subsequent level of depth.

              If a node has more children than
              the range size, navigation rows will be rendered above and
              below the child nodes.</description>
      <name>rowsByDepth</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a method reference to a rangeChange listener that
         will be called when a new range is selected.</description>
      <name>rangeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.RangeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>if the horizontal grid lines will be drawn.</description>
      <name>horizontalGridVisible</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>if the vertical grid lines will be drawn.</description>
      <name>verticalGridVisible</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>text displayed when a table is empty.</description>
      <name>emptyText</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the interval between which the column banding alternates.  For example, a columnBandingInterval of 1 would display alternately banded columns.</description>
      <name>columnBandingInterval</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the interval between which the row banding alternates.  For example, rowBandingInterval=1 would displayalternately banded rows in the Grid.</description>
      <name>rowBandingInterval</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>whether rows in this table selectable. Valid values are "none", "single", "multiple"</description>
      <name>rowSelection</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>If set to TRUE on a form element, the component will automatically submit
     the enclosing form when an appropriate action takes place (a click, text
     change, etc.).  This only takes effect if rowSelection attribute enabled.</description>
      <name>autoSubmit</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the width of the table.  The value must either be a number of pixels or a percentage - it is not a CSS width.</description>
      <name>width</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the summary of this table's purpose and structure
         for user agents rendering to non-visual media.</description>
      <name>summary</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the CSS styles to use for this component.</description>
      <name>inlineStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>a CSS style class to use for this component.</description>
      <name>styleClass</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The short description of the component. This text is commonly used by user agents to display tooltip help text.</description>
      <name>shortDesc</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;the IDs of the components that should trigger a partial update.
        This component will listen on the trigger components. If one of the
        trigger components receives an event that will cause it to update
        in some way, this component will request to be updated too.&lt;/p&gt;
        &lt;p&gt;
        Separate multiple triggers with a space.
        Trigger identifiers are relative to the source component for non-NamingContainer components and relative to the parent component for NamingContainer components. 
        Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
        or use multiple colons to move up through the NamingContainer. For example,
        for a non-NamingContainer component, "::" will
        search from the parent naming container, ":::" will search
        from the grandparent naming container, etc. For a NamingContainer component,
        "::" will search from the parent component's parent naming container. ":::" will
        search from the parent component's grandparent naming container.&lt;/p&gt;</description>
      <name>partialTriggers</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onclick Javascript handler.</description>
      <name>onclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an ondblclick Javascript handler.</description>
      <name>ondblclick</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousedown Javascript handler.</description>
      <name>onmousedown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseup Javascript handler.</description>
      <name>onmouseup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseover Javascript handler.</description>
      <name>onmouseover</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmousemove Javascript handler.</description>
      <name>onmousemove</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onmouseout Javascript handler.</description>
      <name>onmouseout</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeypress Javascript handler.</description>
      <name>onkeypress</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeydown Javascript handler.</description>
      <name>onkeydown</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>an onkeyup Javascript handler.</description>
      <name>onkeyup</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Whether the Expand All, Collapse All links should be rendered.</description>
      <name>expandAllEnabled</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The group component is an invisible control that aggregates semantically-related children; the group itself has no associated client representation (visual or API).
Some parent components may have special representation for groups like adding separators around the group but this is a special case and is not always rendered this way.
In most cases, only the children of the group will be rendered directly to the page.
There will be no layout applied to the children so the natural layout behavior of the underlying HTML elements will apply.
If you require a more predictable layout, you should use a layout component such as panelGroupLayout.</description><name>group</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.UIXGroupTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
  </tag>
  <tag>
    
    <description>UIXIterator is a component that performs iteration
over its child components.  It is like a UIXTable without any chrome.
While functionally similar to a forEach tag, an iterator is a component
that does its processing during rendering, while forEach runs during
the assembly of the component tree, and doesn't leave behind a component in the
heirarchy.</description><name>iterator</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.UIXIteratorTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>Name of the EL variable used to reference each element of this collection.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).</description>
      <name>var</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>&lt;html&gt;
 Name of the EL variable used to reference the varStatus information.
          Once this component has completed rendering, this variable is
          removed (or reverted back to its previous value).
          The VarStatus provides contextual information about the state of the
          component to EL expressions. For components that iterate, varStatus
          also provides loop counter information.  Please see the this 
          component's documentation for the specific properties on the varStatus.
          The common properties on varStatus include:&lt;ul&gt;&lt;li&gt;"model" - returns the CollectionModel for this component&lt;/li&gt;&lt;li&gt;"index" - returns the zero based row index&lt;/li&gt;&lt;/ul&gt;&lt;/html&gt;</description>
      <name>varStatus</name>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <description>the data model being used by this component.
The specific model class is
        &lt;code&gt;org.apache.myfaces.trinidad.model.CollectionModel&lt;/code&gt;.

        You may also use other model instances, e.g.,  
        &lt;code&gt;java.util.List&lt;/code&gt;  ,
        array, and  &lt;code&gt;javax.faces.model.DataModel&lt;/code&gt;.
        This component will automatically convert the instance
        into a &lt;code&gt;CollectionModel&lt;/code&gt;.</description>
      <name>value</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the maximum number of rows to display in a single range of rows.
Some ranges might have fewer
than the number of rows specified by this attribute (eg: the last range
might have an insufficient number of rows).
To display all rows at once, set this attribute to 0.</description>
      <name>rows</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the index of the first row in the currently range of rows.
This index is zero-based. This attribute is used to control
which range of rows to display to the user.</description>
      <name>first</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
  </tag>
  <tag>
    
    <description>The switcher component dynamically decides which facet component
should be rendered.</description><name>switcher</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.UIXSwitcherTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
      <description>&lt;html&gt;the identifier for the component.  The identifier
must follow a subset of the syntax allowed in HTML:
&lt;ul&gt;
&lt;li&gt;Must not be a zero-length String.&lt;/li&gt;
&lt;li&gt;First character must be an ASCII letter (A-Za-z) or an underscore ('_').&lt;/li&gt;
&lt;li&gt;Subsequent characters must be an ASCII letter or digit (A-Za-z0-9), an underscore ('_'), or a dash ('-').&lt;/li&gt;
&lt;/ul&gt;&lt;/html&gt;</description>
      <name>id</name>
      <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
      <description>whether the component is rendered. When set to false, no output
                   will be delivered for this component.</description>
      <name>rendered</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>an EL reference that will store the component instance on a
bean.  This can be used to give programmatic access to a component
from a backing bean, or to move creation of the component to a backing bean.</description>
      <name>binding</name>
      <deferred-value>
        <type>javax.faces.component.UIComponent</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>a method reference to an attribute change listener.  Attribute change events are not delivered for any programmatic change to a property.  They are only delivered when a renderer changes a property without the application's specific request.  An example of an attribute change events might include the width of a column that supported client-side resizing.</description>
      <name>attributeChangeListener</name>
    <deferred-method>
      <method-signature>void myMethod(org.apache.myfaces.trinidad.event.AttributeChangeEvent)</method-signature></deferred-method>
    </attribute>
    <attribute>
      <description>the name of the facet to render and process.</description>
      <name>facetName</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>the name of the facet to render and process if "facetName"
              is null or otherwise does not refer to an existing facet.</description>
      <name>defaultFacet</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>Converts an string, to and from java.awt.Color objects.</description><name>convertColor</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.convert.ConvertColorTag</tag-class>
    <body-content>empty</body-content>
    <attribute>
      <description>the identifier for the converter</description>
      <name>id</name>
    </attribute>
    <attribute>
      <description>The set of acceptable patterns, as a whitespace sepa
rated list.
              The first pattern in the list will be used for formatting
              java.awt.Color values.  All patterns will be tried in
              order to convert Strings back into java.awt.Colors.
              If no patterns are set, the default is "#RRGGBB r,g,b".</description>
      <name>patterns</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Whether the converter should allow generation of a "
transparent"
color (a black color with an alpha of zero). The converter uses
a String version of "transparent" that is translated for the
user's locale.</description>
      <name>transparentAllowed</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;html&gt;&lt;p&gt;
              Custom error message to be used, for creating detail part of
              faces message, when users input does not match the specified
              pattern.
             &lt;/p&gt;
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
               &lt;li&gt;
                {1} value entered by the user
               &lt;/li&gt;
               &lt;li&gt;
                {2} the pattern the converter is expecting
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;&lt;/html&gt;</description>
      <name>messageDetailConvert</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>Converts string into java.util.Date and vice versa based on the pattern
          and style set.</description><name>convertDateTime</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.convert.ConvertDateTimeTag</tag-class>
    <body-content>empty</body-content>
    <attribute>
      <description>the identifier for the converter</description>
      <name>id</name>
    </attribute>
    <attribute>
      <description>&lt;html&gt;&lt;p&gt;
              Custom error message to be used, for creating detail part of
              faces message, for values that cannot be converted to date when
              the pattern / secondary pattern is set or when
              &lt;code&gt;type&lt;/code&gt; is set to
              &lt;code&gt;'date'&lt;/code&gt; and &lt;code&gt;pattern&lt;/code&gt;
              is not set or is null.
             &lt;/p&gt;
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
               &lt;li&gt;
                {1} value entered by the user
               &lt;/li&gt;
               &lt;li&gt;
                {2} an example of the format the converter is expecting
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;&lt;/html&gt;</description>
      <name>messageDetailConvertDate</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;&lt;p&gt;
              Custom error message to be used, for creating detail part of
              faces message, for time based value that cannot be converted
              to date when &lt;code&gt;type&lt;/code&gt; is set to
              &lt;code&gt;'time'&lt;/code&gt;, &lt;code&gt;pattern&lt;/code&gt; is
              not set or is null
             &lt;/p&gt;
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
               &lt;li&gt;
                {1} value entered by the user
               &lt;/li&gt;
               &lt;li&gt;
                {2} an example of the format the converter is expecting
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;&lt;/html&gt;</description>
      <name>messageDetailConvertTime</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;&lt;p&gt;
              Custom error message to be used, for creating detail part of
              faces message, for date-time based value that cannot be converted
              to date when &lt;code&gt;type&lt;/code&gt; is set to
              &lt;code&gt;'both'&lt;/code&gt; and &lt;code&gt;pattern&lt;/code&gt;
              is not set or is null.
             &lt;/p&gt;
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
               &lt;li&gt;
                {1} value entered by the user
               &lt;/li&gt;
               &lt;li&gt;
                {2} an example of the format the converter is expecting
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;&lt;/html&gt;</description>
      <name>messageDetailConvertBoth</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Predefined formatting style which determines how the date component
               of a date string is to be formatted and parsed. Applied only if type
               is "date" or "both". Valid values are "shortish", "short", "default",
               "medium", "long", and "full". Default value is "shortish".</description>
      <name>dateStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Locale whose predefined styles for dates and times are used during
               formatting or parsing. If not specified or if null, the Locale returned by
               FacesContext.getViewRoot().getLocale() will be used.</description>
      <name>locale</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Custom formatting pattern which determines how the date/time string
              should be formatted and parsed.</description>
      <name>pattern</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Second pattern, which will be used as a second attempt to parse a
               string if the primary pattern or styles fail, but is never used for
               formatting strings.</description>
      <name>secondaryPattern</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Predefined formatting style which determines how the time component of
               a date string is to be formatted and parsed. Applied only if type is
               "time" or "both". Valid values are "default", "short", "medium",
               "long", and "full". Default value is "short".</description>
      <name>timeStyle</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Time zone in which to interpret any time information in the date
               string. If not set here, picks this value from
               trinidad-config.xml configuration file. If not defined there, then
               it is defaulted to GMT.</description>
      <name>timeZone</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Specifies what contents the string value will be formatted to
               include, or parsed. Valid values are "date", "time", and "both".
               Default value is "date".</description>
      <name>type</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    
    <description>Converts an string to a Number and vice versa based on the 'pattern' or the 'type' set.</description><name>convertNumber</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.convert.ConvertNumberTag</tag-class>
    <body-content>empty</body-content>
    <attribute>
      <description>the identifier for the converter</description>
      <name>id</name>
    </attribute>
    <attribute>
      <description>The ISO 4217 currency code, applied only when formatting currencies.
           Currency code can also be set for the entire application in trinidad-config.xml file.
           If currency code is not set on the converter, and if set on
           trinidad-config.xml configuration file it will be used by calling
           &lt;code&gt;RequestContext().getCurrenctInstance().getCurrencyCode().&lt;/code&gt;
           This currency code will be used during call to getAsString() for formatting,
           provided type is set to 'currency'.</description>
      <name>currencyCode</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;&lt;p&gt;
          Custom error message to be used, for creating detail part of the
          &lt;code&gt;FacesMessage&lt;/code&gt;, when
          &lt;code&gt;value&lt;/code&gt; cannot be converted to a number, when
          &lt;code&gt;type&lt;/code&gt; is set to
          &lt;code&gt;'currency'&lt;/code&gt; and &lt;code&gt;pattern&lt;/code&gt;
          is null or not set.
         &lt;/p&gt;
          &lt;p&gt;
           &lt;strong&gt;
            Parameters:
           &lt;/strong&gt;
           &lt;ul&gt;
            &lt;li&gt;
             {0} the label that identifies the component
            &lt;/li&gt;
            &lt;li&gt;
             {1} value entered by the user
            &lt;/li&gt;
           &lt;/ul&gt;
          &lt;/p&gt;&lt;/html&gt;</description>
      <name>messageDetailConvertCurrency</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;&lt;p&gt;
          Custom error message to be used, for creating detail part of the
          &lt;code&gt;FacesMessage&lt;/code&gt;, when
          &lt;code&gt;value&lt;/code&gt; cannot be converted to a number, when
          &lt;code&gt;type&lt;/code&gt; is set to &lt;code&gt;'number'&lt;/code&gt;
          and &lt;code&gt;pattern&lt;/code&gt; is null or not set.
         &lt;/p&gt;
         &lt;p&gt;
          &lt;strong&gt;
           Parameters:
          &lt;/strong&gt;
          &lt;ul&gt;
           &lt;li&gt;
            {0} the label that identifies the component
           &lt;/li&gt;
           &lt;li&gt;
            {1} value entered by the user
           &lt;/li&gt;
          &lt;/ul&gt;
         &lt;/p&gt;&lt;/html&gt;</description>
      <name>messageDetailConvertNumber</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;&lt;p&gt;
          Custom error message to be used, for creating detail part of the
          &lt;code&gt;FacesMessage&lt;/code&gt; message, when
          &lt;code&gt;value&lt;/code&gt; cannot be converted to a number, based
          on the &lt;code&gt;pattern&lt;/code&gt; set.
         &lt;/p&gt;
         &lt;p&gt;
          &lt;strong&gt;
           Parameters:
          &lt;/strong&gt;
          &lt;ul&gt;
           &lt;li&gt;
            {0} the label that identifies the component
           &lt;/li&gt;
           &lt;li&gt;
            {1} value entered by the user
           &lt;/li&gt;
           &lt;li&gt;
            {2} the specified conversion pattern
           &lt;/li&gt;
          &lt;/ul&gt;
         &lt;/p&gt;&lt;/html&gt;</description>
      <name>messageDetailConvertPattern</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;html&gt;&lt;p&gt;
          Custom error message to be used, for creating detail part of the
          &lt;code&gt;FacesMessage&lt;/code&gt;, when
          &lt;code&gt;value&lt;/code&gt; cannot be converted to a number, when
          &lt;code&gt;type&lt;/code&gt; is set to
          &lt;code&gt;'percent'&lt;/code&gt; and &lt;code&gt;pattern&lt;/code&gt;
          is null or not set.
         &lt;/p&gt;
         &lt;p&gt;
          &lt;strong&gt;
           Parameters:
          &lt;/strong&gt;
          &lt;ul&gt;
           &lt;li&gt;
            {0} the label that identifies the component
           &lt;/li&gt;
           &lt;li&gt;
            {1} value entered by the user
           &lt;/li&gt;
          &lt;/ul&gt;
         &lt;/p&gt;&lt;/html&gt;</description>
      <name>messageDetailConvertPercent</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Currency symbol, is applied only when formatting currencies.
          If currency code is set then symbol will be ignored.</description>
      <name>currencySymbol</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Flag specifying whether formatted output will contain grouping separators.
          Default value is true.</description>
      <name>groupingUsed</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Flag specifying whether only the integer part of the value will be formatted
           and parsed. Default value is false.</description>
      <name>integerOnly</name>
      <deferred-value>
        <type>boolean</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Locale whose predefined styles for numbers are used during formatting and parsing.
          If not specified, the Locale returned by FacesContext.getViewRoot().getLocale()
          will be used.</description>
      <name>locale</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Maximum number of digits that will be formatted in the fractional portion of the
          output.</description>
      <name>maxFractionDigits</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Maximum number of digits that will be formatted in the integer portion of the
          output.</description>
      <name>maxIntegerDigits</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Minimum number of digits that will be formatted in the fractional portion of
           the output.</description>
      <name>minFractionDigits</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Minimum number of digits that will be formatted in the integer portion of the
          output.</description>
      <name>minIntegerDigits</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>Custom formatting pattern which determins how the number string should be
          formatted and parsed.</description>
      <name>pattern</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Specifies how the number string will be formatted and parsed.
           Valid values are "number", "currency", and "percent".
           Default value is "number".</description>
      <name>type</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    <description>Validate the byte length of strings when encoded.</description>
    <name>validateByteLength</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.validator.ValidateByteLengthTag</tag-class>
    <body-content>empty</body-content>
    <attribute>
      <description>the identifier for the validator</description>
      <name>id</name>
    </attribute>
    <attribute>
      <description>maximum number of allowable bytes when the string is encoded</description>
      <name>maximum</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the Java encoding used for the string.</description>
      <name>encoding</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;
              Custom error message to be used, for creating detail part of
              faces message, when conversion fails for input that
              exceeds the maximum byte length.
             &lt;/p&gt;
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
               &lt;li&gt;
                {1} value entered by the user
               &lt;/li&gt;
               &lt;li&gt;
                {2} the maximum length
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;</description>
      <name>messageDetailMaximum</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    <description>Validate that the date entered is within a given restriction.</description>
    <name>validateDateRestriction</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.validator.ValidateDateRestrictionTag</tag-class>
    <body-content>empty</body-content>
    <attribute>
      <description>the identifier for the validator</description>
      <name>id</name>
    </attribute>
    <attribute>
      <description>Specify the month which are invalid for your use case.
           The attribute takes a whitespace delimited list of months.
           Possible values are jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec.</description>
      <name>invalidMonths</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>Specify the weekdays which are invalid for your use case.
           The attribute takes whitespace delimited list of weekdays.
           Possible values are sun, mon, tue, wed, thu, fri, sat.</description>
      <name>invalidDaysOfWeek</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>To specifiy a concrete List of Dates, use the invalidDays attribute and wire it
           to a DateListProvider implementation. This returns a list of dates, which are invalid.</description>
      <name>invalidDays</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;
           The detail error message to be used for constructing faces messages,
           when input value exceeds the &lt;code&gt;invalidMonths&lt;/code&gt; value
           set.
          &lt;/p&gt;
          &lt;p&gt;
           &lt;strong&gt;
            Parameters:
           &lt;/strong&gt;
           &lt;ul&gt;
            &lt;li&gt;
             {0} the label that identifies the component
            &lt;/li&gt;
            &lt;li&gt;
             {1} value entered by the user
            &lt;/li&gt;
            &lt;li&gt;
             {2} the invalid month
            &lt;/li&gt;
           &lt;/ul&gt;
          &lt;/p&gt;</description>
      <name>messageDetailInvalidMonths</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;
           The detail error message to be used for constructing faces messages,
           when input value is less than the set &lt;code&gt;invalidDaysOfWeek&lt;/code&gt;
           value.
          &lt;/p&gt;
          &lt;p&gt;
           &lt;strong&gt;
            Parameters:
           &lt;/strong&gt;
           &lt;ul&gt;
            &lt;li&gt;
             {0} the label that identifies the component
            &lt;/li&gt;
            &lt;li&gt;
             {1} value entered by the user
            &lt;/li&gt;
            &lt;li&gt;
             {2} the invalid weekday
            &lt;/li&gt;
           &lt;/ul&gt;
          &lt;/p&gt;</description>
      <name>messageDetailInvalidDaysOfWeek</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;
           The detail error message to be used for constructing faces messages,
           when input value is less than the set &lt;code&gt;invalidDate&lt;/code&gt;
           value.
          &lt;/p&gt;
          &lt;p&gt;
           &lt;strong&gt;
            Parameters:
           &lt;/strong&gt;
           &lt;ul&gt;
            &lt;li&gt;
             {0} the label that identifies the component
            &lt;/li&gt;
            &lt;li&gt;
             {1} value entered by the user
            &lt;/li&gt;
            &lt;li&gt;
             {2} the invalid date
            &lt;/li&gt;
           &lt;/ul&gt;
          &lt;/p&gt;</description>
      <name>messageDetailInvalidDays</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    <description>Validate that the date entered is within a given range.</description>
    <name>validateDateTimeRange</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.validator.ValidateDateTimeRangeTag</tag-class>
    <body-content>empty</body-content>
    <attribute>
      <description>the identifier for the validator</description>
      <name>id</name>
    </attribute>
    <attribute>
      <description>the maximum java.util.Date.
           ISO 8601 date strings, of the form 'yyyy-MM-dd'
           (for example 2004-06-22) is also allowed.
           This will be parsed to date. When binding to Date objects, it is advised to create the Date object with 
maximum value for any date-time components that aren't displayed (usually hours, minutes, seconds, milliseconds) 
to allow the largest range of values to be accepted.</description>
      <name>maximum</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>The minimum java.util.Date.
           ISO 8601 date strings, of the form 'yyyy-MM-dd'
           (for example 2004-06-22) are also allowed.
           This will be parsed to date. When binding to Date objects, it is advised to create the Date object with zeroed-out
values for any date-time components that aren't displayed (usually hours, minutes, seconds, milliseconds)
to allow the largest range of values to be accepted.]]</description>
      <name>minimum</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;
           The detail error message to be used for constructing faces messages,
           when input value exceeds the &lt;code&gt;maximum&lt;/code&gt; value
           set.
          &lt;/p&gt;
          &lt;p&gt;
           &lt;strong&gt;
            Parameters:
           &lt;/strong&gt;
           &lt;ul&gt;
            &lt;li&gt;
             {0} the label that identifies the component
            &lt;/li&gt;
            &lt;li&gt;
             {1} value entered by the user
            &lt;/li&gt;
            &lt;li&gt;
             {2} the maximum allowed date
            &lt;/li&gt;
           &lt;/ul&gt;
          &lt;/p&gt;</description>
      <name>messageDetailMaximum</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;
           The detail error message to be used for constructing faces messages,
           when input value is less than the set &lt;code&gt;minimum&lt;/code&gt;
           value.
          &lt;/p&gt;
          &lt;p&gt;
           &lt;strong&gt;
            Parameters:
           &lt;/strong&gt;
           &lt;ul&gt;
            &lt;li&gt;
             {0} the label that identifies the component
            &lt;/li&gt;
            &lt;li&gt;
             {1} value entered by the user
            &lt;/li&gt;
            &lt;li&gt;
             {2} the minimum allowed date
            &lt;/li&gt;
           &lt;/ul&gt;
          &lt;/p&gt;</description>
      <name>messageDetailMinimum</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;
           The detail error message to be used for constructing faces messages,
           if input value is not with in the range, when
           &lt;code&gt;minimum&lt;/code&gt; and &lt;code&gt;maximum&lt;/code&gt; is
           set.
          &lt;/p&gt;
          &lt;p&gt;
           &lt;strong&gt;
            Parameters:
           &lt;/strong&gt;
           &lt;ul&gt;
            &lt;li&gt;
             {0} the label that identifies the component
            &lt;/li&gt;
            &lt;li&gt;
             {1} value entered by the user
            &lt;/li&gt;
            &lt;li&gt;
             {2} the minimum allowed date
            &lt;/li&gt;
            &lt;li&gt;
             {3} the maximum allowed date
            &lt;/li&gt;
           &lt;/ul&gt;
          &lt;/p&gt;</description>
      <name>messageDetailNotInRange</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    <description>Validate that the date entered is within a given range.</description>
    <name>validateDoubleRange</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.validator.ValidateDoubleRangeTag</tag-class>
    <body-content>empty</body-content>
    <attribute>
      <description>the identifier for the validator</description>
      <name>id</name>
    </attribute>
    <attribute>
      <description>The maximum double value of the entered value.</description>
      <name>maximum</name>
      <deferred-value>
        <type>double</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>The minimum double value of the entered value..</description>
      <name>minimum</name>
      <deferred-value>
        <type>double</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;p&gt;
           The detail error message to be used for constructing faces messages,
           when input value exceeds the &lt;code&gt;maximum&lt;/code&gt; value
           set.
          &lt;/p&gt;
          &lt;p&gt;
           &lt;strong&gt;
            Parameters:
           &lt;/strong&gt;
           &lt;ul&gt;
            &lt;li&gt;
             {0} the label that identifies the component
            &lt;/li&gt;
            &lt;li&gt;
             {1} value entered by the user
            &lt;/li&gt;
            &lt;li&gt;
             {2} the maximum allowed value
            &lt;/li&gt;
           &lt;/ul&gt;
          &lt;/p&gt;</description>
      <name>messageDetailMaximum</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;
           The detail error message to be used for constructing faces messages,
           when input value is less than the set &lt;code&gt;minimum&lt;/code&gt;
           value.
          &lt;/p&gt;
          &lt;p&gt;
           &lt;strong&gt;
            Parameters:
           &lt;/strong&gt;
           &lt;ul&gt;
            &lt;li&gt;
             {0} the label that identifies the component
            &lt;/li&gt;
            &lt;li&gt;
             {1} value entered by the user
            &lt;/li&gt;
            &lt;li&gt;
             {2} the minimum allowed value
            &lt;/li&gt;
           &lt;/ul&gt;
          &lt;/p&gt;</description>
      <name>messageDetailMinimum</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;
           The detail error message to be used for constructing faces messages,
           if input value is not with in the range, when
           &lt;code&gt;minimum&lt;/code&gt; and &lt;code&gt;maximum&lt;/code&gt; is
           set.
          &lt;/p&gt;
          &lt;p&gt;
           &lt;strong&gt;
            Parameters:
           &lt;/strong&gt;
           &lt;ul&gt;
            &lt;li&gt;
             {0} the label that identifies the component
            &lt;/li&gt;
            &lt;li&gt;
             {1} value entered by the user
            &lt;/li&gt;
            &lt;li&gt;
             {2} the minimum allowed value
            &lt;/li&gt;
            &lt;li&gt;
             {3} the maximum allowed value
            &lt;/li&gt;
           &lt;/ul&gt;
          &lt;/p&gt;</description>
      <name>messageDetailNotInRange</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    <description>Validate that the string entered is of a given length.</description>
    <name>validateLength</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.validator.ValidateLengthTag</tag-class>
    <body-content>empty</body-content>
    <attribute>
      <description>the identifier for the validator</description>
      <name>id</name>
    </attribute>
    <attribute>
      <description>the maximum length of the entered value.</description>
      <name>maximum</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>the minimum length of the entered value.</description>
      <name>minimum</name>
      <deferred-value>
        <type>int</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;p&gt;
           The detail error message to be used for constructing faces messages,
           when input value exceeds the &lt;code&gt;maximum&lt;/code&gt; length
           set.
          &lt;/p&gt;
          &lt;p&gt;
           &lt;strong&gt;
            Parameters:
           &lt;/strong&gt;
           &lt;ul&gt;
            &lt;li&gt;
             {0} the label that identifies the component
            &lt;/li&gt;
            &lt;li&gt;
             {1} value entered by the user
            &lt;/li&gt;
            &lt;li&gt;
             {2} the maximum allowed length
            &lt;/li&gt;
           &lt;/ul&gt;
          &lt;/p&gt;</description>
      <name>messageDetailMaximum</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;
           The detail error message to be used for constructing faces messages,
           when input value is less than the set &lt;code&gt;minimum&lt;/code&gt;
           length.
          &lt;/p&gt;
          &lt;p&gt;
           &lt;strong&gt;
            Parameters:
           &lt;/strong&gt;
           &lt;ul&gt;
            &lt;li&gt;
             {0} the label that identifies the component
            &lt;/li&gt;
            &lt;li&gt;
             {1} value entered by the user
            &lt;/li&gt;
            &lt;li&gt;
             {2} the minimum allowed length
            &lt;/li&gt;
           &lt;/ul&gt;
          &lt;/p&gt;</description>
      <name>messageDetailMinimum</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;
           The detail error message to be used for constructing faces messages,
           if input value is not of an acceptable length, when both
           &lt;code&gt;minimum&lt;/code&gt; and &lt;code&gt;maximum&lt;/code&gt; are
           set.
          &lt;/p&gt;
          &lt;p&gt;
           &lt;strong&gt;
            Parameters:
           &lt;/strong&gt;
           &lt;ul&gt;
            &lt;li&gt;
             {0} the label that identifies the component
            &lt;/li&gt;
            &lt;li&gt;
             {1} value entered by the user
            &lt;/li&gt;
            &lt;li&gt;
             {2} the minimum allowed length
            &lt;/li&gt;
            &lt;li&gt;
             {3} the maximum allowed length
            &lt;/li&gt;
           &lt;/ul&gt;
          &lt;/p&gt;</description>
      <name>messageDetailNotInRange</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;
           The detail error message to be used for constructing faces messages,
           if input value is not of an acceptable length, when both
           &lt;code&gt;minimum&lt;/code&gt; and &lt;code&gt;maximum&lt;/code&gt; are
           set to the same value.
          &lt;/p&gt;
          &lt;p&gt;
           &lt;strong&gt;
            Parameters:
           &lt;/strong&gt;
           &lt;ul&gt;
            &lt;li&gt;
             {0} the label that identifies the component
            &lt;/li&gt;
            &lt;li&gt;
             {1} value entered by the user
            &lt;/li&gt;
            &lt;li&gt;
             {2} the allowed length
            &lt;/li&gt;
           &lt;/ul&gt;
          &lt;/p&gt;</description>
      <name>messageDetailExact</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    <description>Validate that the date entered is within a given range.</description>
    <name>validateLongRange</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.validator.ValidateLongRangeTag</tag-class>
    <body-content>empty</body-content>
    <attribute>
      <description>the identifier for the validator</description>
      <name>id</name>
    </attribute>
    <attribute>
      <description>The maximum long value of the entered value.</description>
      <name>maximum</name>
      <deferred-value>
        <type>long</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>The minimum long value of the entered value..</description>
      <name>minimum</name>
      <deferred-value>
        <type>long</type>
      </deferred-value>
    </attribute>
    <attribute>
      <description>&lt;p&gt;
           The detail error message to be used for constructing faces messages,
           when input value exceeds the &lt;code&gt;maximum&lt;/code&gt; value
           set.
          &lt;/p&gt;
          &lt;p&gt;
           &lt;strong&gt;
            Parameters:
           &lt;/strong&gt;
           &lt;ul&gt;
            &lt;li&gt;
             {0} the label that identifies the component
            &lt;/li&gt;
            &lt;li&gt;
             {1} value entered by the user
            &lt;/li&gt;
            &lt;li&gt;
             {2} the maximum allowed value
            &lt;/li&gt;
           &lt;/ul&gt;
          &lt;/p&gt;</description>
      <name>messageDetailMaximum</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;
           The detail error message to be used for constructing faces messages,
           when input value is less than the set &lt;code&gt;minimum&lt;/code&gt;
           value.
          &lt;/p&gt;
          &lt;p&gt;
           &lt;strong&gt;
            Parameters:
           &lt;/strong&gt;
           &lt;ul&gt;
            &lt;li&gt;
             {0} the label that identifies the component
            &lt;/li&gt;
            &lt;li&gt;
             {1} value entered by the user
            &lt;/li&gt;
            &lt;li&gt;
             {2} the minimum allowed value
            &lt;/li&gt;
           &lt;/ul&gt;
          &lt;/p&gt;</description>
      <name>messageDetailMinimum</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;
           The detail error message to be used for constructing faces messages,
           if input value is not with in the range, when
           &lt;code&gt;minimum&lt;/code&gt; and &lt;code&gt;maximum&lt;/code&gt; is
           set.
          &lt;/p&gt;
          &lt;p&gt;
           &lt;strong&gt;
            Parameters:
           &lt;/strong&gt;
           &lt;ul&gt;
            &lt;li&gt;
             {0} the label that identifies the component
            &lt;/li&gt;
            &lt;li&gt;
             {1} value entered by the user
            &lt;/li&gt;
            &lt;li&gt;
             {2} the minimum allowed value
            &lt;/li&gt;
            &lt;li&gt;
             {3} the maximum allowed value
            &lt;/li&gt;
           &lt;/ul&gt;
          &lt;/p&gt;</description>
      <name>messageDetailNotInRange</name>
      <deferred-value/>
    </attribute>
  </tag>
  <tag>
    <description>Validate expression using Java regular expression syntax.</description>
    <name>validateRegExp</name>
    <tag-class>org.apache.myfaces.trinidadinternal.taglib.validator.ValidateRegExpTag</tag-class>
    <body-content>empty</body-content>
    <attribute>
      <description>the identifier for the validator</description>
      <name>id</name>
    </attribute>
    <attribute>
      <description>pattern to be matched in the input value.</description>
      <name>pattern</name>
      <deferred-value/>
    </attribute>
    <attribute>
      <description>&lt;p&gt;
              Custom error message to be used, for creating detail part of
              faces message, when users input does not match the specified
              pattern.
             &lt;/p&gt;
             &lt;p&gt;
              &lt;strong&gt;
               Parameters:
              &lt;/strong&gt;
              &lt;ul&gt;
               &lt;li&gt;
                {0} the label that identifies the component
               &lt;/li&gt;
               &lt;li&gt;
                {1} value entered by the user
               &lt;/li&gt;
               &lt;li&gt;
                {2} represents the 'pattern' expected in the input
               &lt;/li&gt;
              &lt;/ul&gt;
             &lt;/p&gt;</description>
      <name>messageDetailNoMatch</name>
      <deferred-value/>
    </attribute>
  </tag>
</taglib>