<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
 * Copyright 2004 The Apache Software Foundation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
--><!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>

    <tlib-version>1.0.10</tlib-version>
    <jsp-version>1.2</jsp-version>
    <short-name>t</short-name>
    <uri>http://myfaces.apache.org/extensions</uri>
    <description>
        MyFaces subproject that contains components and other goodies to be used with any JSF implementation.
    </description>

<!--     Extended standard components     -->

    <!-- commandButton -->
    <tag>
        <name>commandButton</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlCommandButtonTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extends standard commandButton by user role support.
        </description>
                <!-- all standard attributes of the commandButton tag -->
                <!-- UICommand attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>action</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at the application action to be invoked, if this UIComponent is activated by the user, during the Apply Request Values or Invoke Application phase of the request processing lifecycle, depending on the value of the immediate property.</description>
        </attribute>
        <attribute>
            <name>actionListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at method acception an ActionEvent with return type void.</description>
        </attribute>
        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>True means, that the default ActionListener should be executed immediately (i.e. during Apply Request Values phase of the request processing lifecycle), rather than waiting until the Invoke Application phase.</description>
        </attribute>
        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>

        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 button attributes -->
        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>alt</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>size</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>type</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>

        <!-- HtmlCommandButton attributes -->
        <attribute>
            <name>image</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

    </tag>

    <!-- commandLink -->
    <tag>
        <name>commandLink</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlCommandLinkTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extends standard commandLink by user role support and the HTML target attribute.
        </description>
                <!-- all standard attributes of the commandLink tag -->
                <!-- UICommand attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>action</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at the application action to be invoked, if this UIComponent is activated by the user, during the Apply Request Values or Invoke Application phase of the request processing lifecycle, depending on the value of the immediate property.</description>
        </attribute>
        <attribute>
            <name>actionListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at method acception an ActionEvent with return type void.</description>
        </attribute>
        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>True means, that the default ActionListener should be executed immediately (i.e. during Apply Request Values phase of the request processing lifecycle), rather than waiting until the Invoke Application phase.</description>
        </attribute>
        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>

        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 anchor (=a) attributes -->
        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>charset</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>coords</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <!-- "href" is a special LinkRenderer attribute -->
        <attribute><name>hreflang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <!-- "name" cannot be set by user -->
        <attribute><name>rel</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>rev</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>shape</name>       <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>type</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <!--todo: is in JSF API of HtmlCommandLink and HtmlOutputLink, but there is no corresponding tag in HTML 4.0.. What to do?-->
        <attribute>
            <name>onblur</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <!--todo: is in JSF API of HtmlCommandLink and HtmlOutputLink, but there is no corresponding tag in HTML 4.0.. What to do?-->
        <attribute>
            <name>onfocus</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>target</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>


        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

    </tag>

    <!-- dataTable -->
    <tag>
        <name>dataTable</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlDataTableTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extended data_table that adds some additional features to the standard
            data_table action: see attribute descriptions for preserveDataModel,
            sortColumn, sortAscending and preserveSort.
        </description>
                <!-- all standard attributes of the dataTable tag -->
                <!-- UIPanel attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 table attributes -->
        <attribute><name>align</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>border</name>          <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>bgcolor</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>cellpadding</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>cellspacing</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>datafld</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>datasrc</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>dataformatas</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>frame</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>rules</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>summary</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>width</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- UIData attributes -->
        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Supported types see JSF Spec 4.1.3</description>
        </attribute>
        <attribute>
            <name>var</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>rows</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>first</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <!-- TableRenderer attributes -->
        <attribute>
            <name>columnClasses</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>footerClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>headerClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>rowClasses</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>

        <!-- MyFaces extensions -->
                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

        <attribute>
            <name>preserveDataModel</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Indicates whether the state of the whole DataModel should be saved and
                restored.
                Default: false
            </description>
        </attribute>
        <attribute>
            <name>forceIdIndexFormula</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
				A formula that overrides the defaut row index in the construction of table's
				body components.
				Example : #{myRowVar.key}
				Warning, the EL should evaluate to a unique value for each row !
            </description>
        </attribute>
        <attribute>
            <name>sortColumn</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Value reference to a model property that gives the current sort column name.
            </description>
        </attribute>
        <attribute>
            <name>sortAscending</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Value reference to a model property that gives the current sort direction.
            </description>
        </attribute>
        <attribute>
            <name>preserveSort</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Indicates whether the state of the sortColumn and sortAscending attribute
                should be saved and restored and written back to the model during the
                update model phase.
                Default: true
            </description>
        </attribute>
        <attribute>
            <name>renderedIfEmpty</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Indicates whether this table should be rendered if the underlying DataModel is
                empty.
                You could as well use rendered="#{not empty bean.list}", but this one causes
                the getList method of your model bean beeing called up to five times per
                request, which is not optimal when the list is backed by a DB table.
                Using renderedIfEmpty="false" solves this problem, because the MyFaces
                extended HtmlDataTable automatically caches the DataModel and calles the
                model getter only once per request.
                Default: true
            </description>
        </attribute>
        <attribute>
            <name>rowIndexVar</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                A parameter name, under which the current rowIndex is set in request scope
                similar to the var parameter.
            </description>
        </attribute>
        <attribute>
            <name>rowCountVar</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                A parameter name, under which the rowCount is set in request scope
                similar to the var parameter.
            </description>
        </attribute>
        <attribute>
            <name>previousRowDataVar</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                A parameter name, under which the previous RowData Object is set in request scope
                similar to the rowIndexVar and rowCountVar parameters.
                Mind that the value of this request scope attribute is null in the first row
                or when isRowAvailable returns false for the previous row.
            </description>
        </attribute>
        <attribute>
            <name>rowOnClick</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Defines a JavaScript onclick event handler for each table row
            </description>
        </attribute>
        <attribute>
            <name>rowOnDblClick</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Defines a JavaScript ondblclick event handler for each table row
            </description>
        </attribute>
        <attribute>
            <name>rowOnMouseDown</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Defines a JavaScript onmpusedown event handler for each table row
            </description>
        </attribute>
        <attribute>
            <name>rowOnMouseUp</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Defines a JavaScript onmouseup event handler for each table row
            </description>
        </attribute>
        <attribute>
            <name>rowOnMouseOver</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Defines a JavaScript onmouseover event handler for each table row
            </description>
        </attribute>
        <attribute>
            <name>rowOnMouseMove</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Defines a JavaScript onmousemove event handler for each table row
            </description>
        </attribute>
        <attribute>
            <name>rowOnMouseOut</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Defines a JavaScript onmouseout event handler for each table row
            </description>
        </attribute>
        <attribute>
            <name>rowOnKeyPress</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Defines a JavaScript onkeypress event handler for each table row
            </description>
        </attribute>
        <attribute>
            <name>rowOnKeyDown</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Defines a JavaScript onkeydown event handler for each table row
            </description>
        </attribute>
        <attribute>
            <name>rowOnKeyUp</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Defines a JavaScript onkeyup event handler for each table row
            </description>
        </attribute>
        <attribute>
            <name>rowId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The id to use for &lt;tr&gt; elements that are generated by the table.
            </description>
        </attribute>        
        <attribute>
            <name>rowStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute for the row tr tag.</description>
        </attribute>
        <attribute>
            <name>rowStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML style attribute for the row tr tag.</description>
        </attribute>
     </tag>

    <!-- inputHidden -->
    <tag>
        <name>inputHidden</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlInputHiddenTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extends standard inputHidden by providing additional MyFaces goodies.
        </description>
                <!-- UIInput attributes -->
                <!-- UIOutput attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Id of Converter to be used or reference to a Converter.</description>
        </attribute>

        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
        </attribute>
        <attribute>
            <name>required</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will be checked for non-empty input.</description>
        </attribute>
        <attribute>
            <name>validator</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
        </attribute>
        <attribute>
            <name>valueChangeListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Listener for value changes.</description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

    </tag>

    <!-- inputSecret -->
    <tag>
        <name>inputSecret</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlInputSecretTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extends standard inputSecret.
        </description>
         <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
                <!-- UIInput attributes -->
                <!-- UIOutput attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Id of Converter to be used or reference to a Converter.</description>
        </attribute>

        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
        </attribute>
        <attribute>
            <name>required</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will be checked for non-empty input.</description>
        </attribute>
        <attribute>
            <name>validator</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
        </attribute>
        <attribute>
            <name>valueChangeListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Listener for value changes.</description>
        </attribute>

        <!-- HTML 4.0 input attributes -->
        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>align</name>       <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>alt</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>maxlength</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>readonly</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>size</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>displayValueOnly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If true, renders only the value of the component, but no input widget.
                Default is false.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style used when displayValueOnly is true.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class used when displayValueOnly is true.
            </description>
        </attribute>        
        <!-- SecretRenderer attributes -->
        <attribute>
            <name>redisplay</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If true, the value will be re-sent (in plaintext) when the form
                is rerendered (see JSF.7.4.4). Default is false.
            </description>
        </attribute>
    </tag>

    <!-- inputText -->
    <tag>
        <name>inputText</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlInputTextTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extends standard inputText by user role support.
        </description>
        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
                <!-- all standard attributes of the inputText tag -->
                <!-- UIInput attributes -->
                <!-- UIOutput attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Id of Converter to be used or reference to a Converter.</description>
        </attribute>

        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
        </attribute>
        <attribute>
            <name>required</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will be checked for non-empty input.</description>
        </attribute>
        <attribute>
            <name>validator</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
        </attribute>
        <attribute>
            <name>valueChangeListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Listener for value changes.</description>
        </attribute>

        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 input attributes -->
        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>align</name>       <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>alt</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>maxlength</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>readonly</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>size</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>displayValueOnly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If true, renders only the value of the component, but no input widget.
                Default is false.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style used when displayValueOnly is true.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class used when displayValueOnly is true.
            </description>
        </attribute>        
    </tag>

    <!-- inputTextHelp -->
    <tag>
        <name>inputTextHelp</name>
        <tag-class>org.apache.myfaces.custom.inputTextHelp.HtmlInputTextHelpTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extends standard inputText by helptext support.
        </description>
                <!-- all standard attributes of the inputText tag -->
                <!-- UIInput attributes -->
                <!-- UIOutput attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Id of Converter to be used or reference to a Converter.</description>
        </attribute>

        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
        </attribute>
        <attribute>
            <name>required</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will be checked for non-empty input.</description>
        </attribute>
        <attribute>
            <name>validator</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
        </attribute>
        <attribute>
            <name>valueChangeListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Listener for value changes.</description>
        </attribute>

        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 input attributes -->
        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>align</name>       <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>alt</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>maxlength</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>readonly</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>size</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>displayValueOnly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If true, renders only the value of the component, but no input widget.
                Default is false.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style used when displayValueOnly is true.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class used when displayValueOnly is true.
            </description>
        </attribute>        
        <!-- Attributes for HtmlInputText with Helptext -->
        <attribute>
            <name>helpText</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>selectText</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
    </tag>

    <!-- inputTextarea -->
    <tag>
        <name>inputTextarea</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlInputTextareaTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extends standard inputTextarea by user role support.
        </description>
                <!-- all standard attributes of the inputTextarea tag -->
                <!-- UIInput attributes -->
                <!-- UIOutput attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Id of Converter to be used or reference to a Converter.</description>
        </attribute>

        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
        </attribute>
        <attribute>
            <name>required</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will be checked for non-empty input.</description>
        </attribute>
        <attribute>
            <name>validator</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
        </attribute>
        <attribute>
            <name>valueChangeListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Listener for value changes.</description>
        </attribute>

        <!-- HTML 4.0 textarea attributes -->
        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>cols</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>readonly</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>rows</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>

        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>


        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>displayValueOnly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If true, renders only the value of the component, but no input widget.
                Default is false.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style used when displayValueOnly is true.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class used when displayValueOnly is true.
            </description>
        </attribute>        
    </tag>

     <!-- graphicImage -->
    <tag>
        <name>graphicImage</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlGraphicImageTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extends standard graphicImage.
        </description>
                <!-- UIGraphic attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>url</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>URL of the image (see JSF.4.1.5).</description>
        </attribute>
        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>URL of the image (see JSF.4.1.5).</description>
        </attribute>

        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 img attributes that are not part of the JSF 1.1 specification -->
        <attribute>
            <name>align</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>border</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>hspace</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>vspace</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>

        <!-- The subset of HTML 4.0 img attributes that are supported by the JSF 1.1 specification -->
        <attribute>
            <name>alt</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>height</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>ismap</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>longdesc</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <!-- "name" attribute cannot be set directly by user -->
        <!-- "src" attribute cannot be set directly, use "url" instead! -->
        <attribute>
            <name>usemap</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>width</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

    </tag>

    <!-- message -->
    <tag>
        <name>message</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlMessageTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            MyFaces extension to the standard messages tag: see summaryDetailSeparator attribute
        </description>
                <!-- all standard attributes of the message tag -->
                <!-- UIMessage attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>for</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>The client identifier of the component for which this component represents associated message(s).</description>
        </attribute>
        <attribute>
            <name>showSummary</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Indicates whether the summary of the associated message(s) should be displayed.
                         Default is: true</description>
        </attribute>
        <attribute>
            <name>showDetail</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Indicates whether the detail of the associated message(s) should be displayed.
                         Default is: false</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HtmlMessage attributes -->
        <attribute>
            <name>infoClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS class to be used for messages with severity "INFO".</description>
        </attribute>
        <attribute>
            <name>infoStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS style to be used for messages with severity "INFO".</description>
        </attribute>
        <attribute>
            <name>warnClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS class to be used for messages with severity "WARN".</description>
        </attribute>
        <attribute>
            <name>warnStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS style to be used for messages with severity "WARN".</description>
        </attribute>
        <attribute>
            <name>errorClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS class to be used for messages with severity "ERROR".</description>
        </attribute>
        <attribute>
            <name>errorStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS style to be used for messages with severity "ERROR".</description>
        </attribute>
        <attribute>
            <name>fatalClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS class to be used for messages with severity "FATAL".</description>
        </attribute>
        <attribute>
            <name>fatalStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS style to be used for messages with severity "FATAL".</description>
        </attribute>
        <attribute>
            <name>tooltip</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If true, the message summary will be rendered as a tooltip (i.e. HTML title attribute).
            </description>
        </attribute>

        <!-- MyFaces extensions -->
        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <attribute>
            <name>summaryFormat</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If present, instead of rendering the message summary, a MessageFormat with this
                attribute as pattern is created. The format method of this MessageFormat is
                called with the message summary as the first argument and the label of the
                associated component (if any) as the second argument.
                Example: "{0}:"
            </description>
        </attribute>
        <attribute>
            <name>detailFormat</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If present, instead of rendering the message detail, a MessageFormat with this
                attribute as pattern is created. The format method of this MessageFormat is
                called with the message detail as the first argument and the label of the
                associated component (if any) as the second argument.
                Example: "The input in field {1} is wrong: {0}"
            </description>
        </attribute>
        <attribute>
            <name>replaceIdWithLabel</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If present, all occurrences of the id of the component for which the message
                is rendered will be replaced by the label. Standard is true for the extended
                message renderer.
            </description>
        </attribute>
    </tag>

    <!-- messages -->
    <tag>
        <name>messages</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlMessagesTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            MyFaces extension to the standard messages tag: see showInputLabel attribute
        </description>
                <!-- all standard attributes of the messages tag -->
                <!-- UIMessages attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>showSummary</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Indicates whether the summary of the message(s) should be displayed.
                         Default is: true</description>
        </attribute>
        <attribute>
            <name>showDetail</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Indicates whether the detail of the message(s) should be displayed.
                         Default is: false</description>
        </attribute>
        <attribute>
            <name>globalOnly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Indicates whether only global messages (that is, messages with no associated client identifier) should be rendered.
                         Default is: false</description>
        </attribute>

        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HtmlMessages attributes -->
        <attribute>
            <name>infoClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS class to be used for messages with severity "INFO".</description>
        </attribute>
        <attribute>
            <name>infoStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS style to be used for messages with severity "INFO".</description>
        </attribute>
        <attribute>
            <name>warnClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS class to be used for messages with severity "WARN".</description>
        </attribute>
        <attribute>
            <name>warnStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS style to be used for messages with severity "WARN".</description>
        </attribute>
        <attribute>
            <name>errorClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS class to be used for messages with severity "ERROR".</description>
        </attribute>
        <attribute>
            <name>errorStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS style to be used for messages with severity "ERROR".</description>
        </attribute>
        <attribute>
            <name>fatalClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS class to be used for messages with severity "FATAL".</description>
        </attribute>
        <attribute>
            <name>fatalStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS style to be used for messages with severity "FATAL".</description>
        </attribute>
        <attribute>
            <name>layout</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>The layout: "table" or "list". Default: list</description>
        </attribute>
        <attribute>
            <name>tooltip</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If true, the message summary will be rendered as a tooltip (i.e. HTML title attribute).
            </description>
        </attribute>

        <!-- MyFaces extensions -->
        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <attribute>
            <name>summaryFormat</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If present, instead of rendering the message summary, a MessageFormat with this
                attribute as pattern is created. The format method of this MessageFormat is
                called with the message summary as the first argument and the label of the
                associated component (if any) as the second argument.
                Example: "{0}:" or "{0} in field {1}"
            </description>
        </attribute>
        <attribute>
            <name>globalSummaryFormat</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Like summaryFormat, but applies to global messages (i.e. messages not associated
                with a component). If no globalSummaryFormat is given, the summaryFormat is used for
                global messages.
                Example: "{0}:"
            </description>
        </attribute>
        <attribute>
            <name>detailFormat</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If present, instead of rendering the message detail, a MessageFormat with this
                attribute as pattern is created. The format method of this MessageFormat is
                called with the message detail as the first argument and the label of the
                associated component (if any) as the second argument.
                Example: "The input in field {1} is wrong: {0}"
            </description>
        </attribute>
        <attribute>
            <name>replaceIdWithLabel</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If present, all occurrences of the id of the component for which the message
                is rendered will be replaced by the label.
            </description>
        </attribute>
    </tag>

    <!-- outputLabel -->
    <tag>
        <name>outputLabel</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlOutputLabelTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extends standard outputLabel by user role support.
        </description>
                <!-- all standard attributes of the outputLabel tag -->
                <!-- UIOutput attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Id of Converter to be used or reference to a Converter.</description>
        </attribute>

        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 label attributes -->
        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <!-- "for" is a specific LabelRenderer attribute -->
        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- LabelRenderer attributes -->
        <attribute>
          <name>for</name>
          <required>false</required>
          <rtexprvalue>false</rtexprvalue>
        </attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

    </tag>

    <!-- outputText -->
    <tag>
        <name>outputText</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlOutputTextTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extends standard outputText by user role support.
        </description>
                <!-- all standard attributes of the outputText tag -->
                <!-- UIOutput attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Id of Converter to be used or reference to a Converter.</description>
        </attribute>

        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HtmlOutputText attributes -->
        <attribute>
            <name>escape</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Indicates whether rendered markup should be escaped.
                Default: true
            </description>
        </attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

    </tag>

    <!-- panelGrid -->
    <tag>
        <name>panelGrid</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlPanelGridTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extends standard panelGrid by user role support.
        </description>
                        <!-- UIPanel attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 table attributes -->
        <attribute><name>align</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>border</name>          <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>bgcolor</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>cellpadding</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>cellspacing</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>datafld</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>datasrc</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>dataformatas</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>frame</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>rules</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>summary</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>width</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- GridRenderer attributes -->
        <attribute>
            <name>columnClasses</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>columns</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>footerClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>headerClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>rowClasses</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>displayValueOnly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If true, renders only the value of the component, but no input widget.
                Default is false.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style used when displayValueOnly is true.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class used when displayValueOnly is true.
            </description>
        </attribute>        
    </tag>

    <!-- panelGroup -->
    <tag>
        <name>panelGroup</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlPanelGroupTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extends standard panelGroup by user role support.
        </description>
                <!-- all standard attributes of the panelGroup tag -->
                <!-- UIPanel attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>


        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>displayValueOnly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If true, renders only the value of the component, but no input widget.
                Default is false.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style used when displayValueOnly is true.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class used when displayValueOnly is true.
            </description>
        </attribute>        
    </tag>

    <!-- selectOneMenu -->
    <tag>
        <name>selectOneMenu</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlSelectOneMenuTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extends standard selectOneMenu by user role support.
        </description>
                <!-- all standard attributes of the selectOneMenu tag -->
                <!-- UISelectOne attributes -->
                <!-- UIInput attributes -->
                <!-- UIOutput attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Id of Converter to be used or reference to a Converter.</description>
        </attribute>

        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
        </attribute>
        <attribute>
            <name>required</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will be checked for non-empty input.</description>
        </attribute>
        <attribute>
            <name>validator</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
        </attribute>
        <attribute>
            <name>valueChangeListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Listener for value changes.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 select attributes -->
        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <!-- "multiple" cannot be set manually -->
        <!-- "name" cannot be set manually -->
        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <!-- "size" cannot be set directly for it is a MenuRenderer specific attribute -->
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>readonly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Flag indicating that this component will prohibit
          changes by the user.  The element may receive focus
          unless it has also been disabled.</description>
        </attribute>
        <attribute><name>enabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
         <attribute><name>disabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>displayValueOnly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If true, renders only the value of the component, but no input widget.
                Default is false.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style used when displayValueOnly is true.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class used when displayValueOnly is true.
            </description>
        </attribute>        
    </tag>

    <!-- selectManyMenu -->
    <tag>
        <name>selectManyMenu</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlSelectManyMenuTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extends standard selectManyMenu by user role support.
        </description>
                        <!-- UISelectMany attributes -->
                <!-- UIInput attributes -->
                <!-- UIOutput attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Id of Converter to be used or reference to a Converter.</description>
        </attribute>

        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
        </attribute>
        <attribute>
            <name>required</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will be checked for non-empty input.</description>
        </attribute>
        <attribute>
            <name>validator</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
        </attribute>
        <attribute>
            <name>valueChangeListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Listener for value changes.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 select attributes -->
        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <!-- "multiple" cannot be set manually -->
        <!-- "name" cannot be set manually -->
        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <!-- "size" cannot be set directly for it is a MenuRenderer specific attribute -->
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>readonly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Flag indicating that this component will prohibit
          changes by the user.  The element may receive focus
          unless it has also been disabled.</description>
        </attribute>
        <attribute><name>enabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
         <attribute><name>disabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        
        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>displayValueOnly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If true, renders only the value of the component, but no input widget.
                Default is false.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style used when displayValueOnly is true.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class used when displayValueOnly is true.
            </description>
        </attribute>        
    </tag>

    <!-- selectOneRadio -->
    <tag>
        <name>selectOneRadio</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlSelectOneRadioTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extends standard selectOneRadio by user role support.
            Additionally this extended selectOneRadio accepts a layout attribute
            of value "spread" (see custom radio tag).
        </description>
                <!-- all standard attributes of the selectOneRadio tag -->
                <!-- UISelectOne attributes -->
                <!-- UIInput attributes -->
                <!-- UIOutput attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Id of Converter to be used or reference to a Converter.</description>
        </attribute>

        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
        </attribute>
        <attribute>
            <name>required</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will be checked for non-empty input.</description>
        </attribute>
        <attribute>
            <name>validator</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
        </attribute>
        <attribute>
            <name>valueChangeListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Listener for value changes.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 input attributes for type "radio" -->
        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>alt</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>readonly</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>

        <!-- RadioRenderer attributes -->
        <attribute>
            <name>layout</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>see JSF Spec. 8.5.10</description>
        </attribute>
        <attribute>
            <name>border</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>see JSF Spec. 8.5.10</description>
        </attribute>
        <attribute><name>enabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
         <attribute><name>disabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>displayValueOnly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If true, renders only the value of the component, but no input widget.
                Default is false.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style used when displayValueOnly is true.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class used when displayValueOnly is true.
            </description>
        </attribute>        
    </tag>

    <!-- selectBooleanCheckbox -->
    <tag>
        <name>selectBooleanCheckbox</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlSelectBooleanCheckboxTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extends standard selectBooleanCheckbox by user role support.
        </description>
                        <!-- UISelectBoolean attributes -->
        <!-- "selected" attribute is covered by HTML "checked" attribute -->
                <!-- UIInput attributes -->
                <!-- UIOutput attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Id of Converter to be used or reference to a Converter.</description>
        </attribute>

        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
        </attribute>
        <attribute>
            <name>required</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will be checked for non-empty input.</description>
        </attribute>
        <attribute>
            <name>validator</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
        </attribute>
        <attribute>
            <name>valueChangeListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Listener for value changes.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 input attributes for type "checkbox" -->
        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>alt</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>readonly</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>displayValueOnly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If true, renders only the value of the component, but no input widget.
                Default is false.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style used when displayValueOnly is true.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class used when displayValueOnly is true.
            </description>
        </attribute>        
    </tag>

    <!-- selectManyCheckbox -->
    <tag>
        <name>selectManyCheckbox</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlSelectManyCheckboxTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extends standard selectManyCheckbox by user role support.
            Additionally this extended selectManyCheckbox accepts a layout attribute
            of value "spread" (see custom checkbox tag).
        </description>
                <!-- all standard attributes of the selectManyCheckbox tag -->
                <!-- UISelectMany attributes -->
                <!-- UIInput attributes -->
                <!-- UIOutput attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Id of Converter to be used or reference to a Converter.</description>
        </attribute>

        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
        </attribute>
        <attribute>
            <name>required</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will be checked for non-empty input.</description>
        </attribute>
        <attribute>
            <name>validator</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
        </attribute>
        <attribute>
            <name>valueChangeListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Listener for value changes.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 input attributes for type "checkbox" -->
        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>alt</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>readonly</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>

        <!-- CheckboxListRenderer attributes -->
        <attribute>
            <name>layout</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>see JSF Spec. 8.5.9</description>
        </attribute>
        <!--TODO: disabledClass, enabledClass -->
        <attribute><name>enabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
         <attribute><name>disabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <attribute>
            <name>layoutWidth</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                A number representing the amount of checkbox rows if
                the layout is lineDirection and checkbox columns if
                the layout is pageDirection.
            </description>
        </attribute>
        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>displayValueOnly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If true, renders only the value of the component, but no input widget.
                Default is false.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style used when displayValueOnly is true.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class used when displayValueOnly is true.
            </description>
        </attribute>        
    </tag>

    <!-- selectOneListbox -->
    <tag>
        <name>selectOneListbox</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlSelectOneListboxTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extends standard selectOneListbox by user role support.
        </description>
                        <!-- UISelectOne attributes -->
                <!-- UIInput attributes -->
                <!-- UIOutput attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Id of Converter to be used or reference to a Converter.</description>
        </attribute>

        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
        </attribute>
        <attribute>
            <name>required</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will be checked for non-empty input.</description>
        </attribute>
        <attribute>
            <name>validator</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
        </attribute>
        <attribute>
            <name>valueChangeListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Listener for value changes.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 select attributes -->
        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <!-- "multiple" cannot be set manually -->
        <!-- "name" cannot be set manually -->
        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <!-- "size" cannot be set directly for it is a MenuRenderer specific attribute -->
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>readonly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Flag indicating that this component will prohibit
          changes by the user.  The element may receive focus
          unless it has also been disabled.</description>
        </attribute>
        <!-- ListboxRenderer attributes -->
        <attribute>
            <name>size</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>see JSF Spec.</description>
        </attribute>
        <attribute><name>enabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
         <attribute><name>disabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>displayValueOnly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If true, renders only the value of the component, but no input widget.
                Default is false.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style used when displayValueOnly is true.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class used when displayValueOnly is true.
            </description>
        </attribute>        
    </tag>

    <!-- selectManyListbox -->
    <tag>
        <name>selectManyListbox</name>
        <tag-class>org.apache.myfaces.taglib.html.ext.HtmlSelectManyListboxTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extends standard selectManyListbox by user role support.
        </description>
                        <!-- UISelectMany attributes -->
                <!-- UIInput attributes -->
                <!-- UIOutput attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Id of Converter to be used or reference to a Converter.</description>
        </attribute>

        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
        </attribute>
        <attribute>
            <name>required</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will be checked for non-empty input.</description>
        </attribute>
        <attribute>
            <name>validator</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
        </attribute>
        <attribute>
            <name>valueChangeListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Listener for value changes.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 select attributes -->
        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <!-- "multiple" cannot be set manually -->
        <!-- "name" cannot be set manually -->
        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <!-- "size" cannot be set directly for it is a MenuRenderer specific attribute -->
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>readonly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Flag indicating that this component will prohibit
          changes by the user.  The element may receive focus
          unless it has also been disabled.</description>
        </attribute>
        <!-- ListboxRenderer attributes -->
        <attribute>
            <name>size</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>see JSF Spec.</description>
        </attribute>
        <attribute><name>enabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
         <attribute><name>disabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>displayValueOnly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If true, renders only the value of the component, but no input widget.
                Default is false.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style used when displayValueOnly is true.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class used when displayValueOnly is true.
            </description>
        </attribute>        
    </tag>

<!--     Custom components     -->

    <!-- calendar -->
    <tag>
        <name>inputCalendar</name>
        <tag-class>org.apache.myfaces.custom.calendar.HtmlInputCalendarTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Provides a calendar.
        </description>
                <!-- UIInput attributes -->
                <!-- UIOutput attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Id of Converter to be used or reference to a Converter.</description>
        </attribute>

        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
        </attribute>
        <attribute>
            <name>required</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will be checked for non-empty input.</description>
        </attribute>
        <attribute>
            <name>validator</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
        </attribute>
        <attribute>
            <name>valueChangeListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Listener for value changes.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 input attributes -->
        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>align</name>       <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>alt</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>maxlength</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>readonly</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>size</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <attribute>
            <name>monthYearRowClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS class to be used for the header-row showing month and year.</description>
        </attribute>
        <attribute>
            <name>weekRowClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS class to be used for the header-row showing the week-days.</description>
        </attribute>
        <attribute>
            <name>dayCellClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS class to be used for the cells showing days.</description>
        </attribute>
        <attribute>
            <name>currentDayCellClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS class to be used for the cell of the currently selected date.</description>
        </attribute>
        <attribute>
            <name>renderAsPopup</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Render the input-calendar as a java-script popup on client.</description>
        </attribute>
        <attribute>
            <name>addResources</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Automatically add the input-calendar scripts and css files to the header - set that to false to provide the scripts yourself.</description>
        </attribute>
        <attribute>
            <name>popupDateFormat</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Defines the date format used by the java-script popup on client.</description>
        </attribute>
        <attribute>
            <name>popupButtonString</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Defines the string displayed on the button which leads to the calendar-popup-window (... by default).</description>
        </attribute>
        <attribute>
            <name>popupGotoString</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Set the string for "Go To Current Month"</description>
        </attribute>
        <attribute>
            <name>popupTodayString</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Set the string for "Today is"</description>
        </attribute>
        <attribute>
            <name>popupWeekString</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Set the string for "Wk"</description>
        </attribute>
        <attribute>
            <name>popupScrollLeftMessage</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Set the string for scrolling to the left.</description>
        </attribute>
        <attribute>
            <name>popupScrollRightMessage</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Set the string for scrolling to the right.</description>
        </attribute>
        <attribute>
            <name>popupSelectMonthMessage</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Set the string for "Click to select a month".</description>
        </attribute>
        <attribute>
            <name>popupSelectYearMessage</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Set the string for "Click to select a year".</description>
        </attribute>
        <attribute>
            <name>popupSelectDateMessage</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Set the string for "Select [date] as date" (do not replace [date], it will be replaced by the current date).</description>
		</attribute>
        <attribute>
            <name>renderPopupButtonAsImage</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>If true, renders a calendar icon instead of the button to pop up the calendar.</description>
        </attribute>
    </tag>

    <!-- jsValueChangeListener -->
    <tag>
        <name>jsValueChangeListener</name>
        <tag-class>org.apache.myfaces.custom.jslistener.JsValueChangeListenerTag</tag-class>
        <body-content>empty</body-content>
        <description>Value change listener on client side.</description>
        <attribute>
          <name>for</name>
          <required>false</required>
          <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
          <name>property</name>
          <required>false</required>
          <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
          <name>expressionValue</name>
          <required>true</required>
          <rtexprvalue>false</rtexprvalue>
        </attribute>
    </tag>

    <!-- jsValueSet -->
    <tag>
        <name>jsValueSet</name>
        <tag-class>org.apache.myfaces.custom.jsvalueset.HtmlJsValueSetTag</tag-class>
        <body-content>empty</body-content>
        <description>Setting a value from the model in java-script so that it can be used (e.g. by the value change listener) afterwards.</description>
        <attribute>
          <name>name</name>
          <required>true</required>
          <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
          <name>value</name>
          <required>true</required>
          <rtexprvalue>false</rtexprvalue>
        </attribute>
    </tag>

    <!-- checkbox -->
    <tag>
        <name>checkbox</name>
        <tag-class>org.apache.myfaces.custom.checkbox.HtmlCheckboxTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Renders a HTML input of type "checkbox". The associated SelectItem comes from
            an extended selectManyCheckbox component with layout "spread". The selectManyCheckbox
            is referenced by the "for" attribute.
            All HTML pass-through attributes for this input are taken from the associated
            selectManyCheckbox.
        </description>
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

        <!-- HtmlCheckbox attributes -->
        <attribute>
            <name>for</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                id of the referenced extended selectManyCheckbox component
            </description>
        </attribute>
        <attribute>
            <name>index</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                n-th SelectItem of referenced UISelectMany starting with 0.
            </description>
        </attribute>
    </tag>

    <!-- commandNavigation2 -->
    <tag>
        <name>commandNavigation2</name>
        <tag-class>org.apache.myfaces.custom.navmenu.htmlnavmenu.HtmlCommandNavigationItemTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Must be nested inside a panel_navigation action and renders a
            clickable navigation item.
            This action is derived from the standard command_link action and
            has equal attributes.
            (Replaces former "navigation_item" tag.)
        </description>
        <!--TODO: make id attribute mandatory -->
                <!-- UICommand attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>action</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at the application action to be invoked, if this UIComponent is activated by the user, during the Apply Request Values or Invoke Application phase of the request processing lifecycle, depending on the value of the immediate property.</description>
        </attribute>
        <attribute>
            <name>actionListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at method acception an ActionEvent with return type void.</description>
        </attribute>
        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>True means, that the default ActionListener should be executed immediately (i.e. during Apply Request Values phase of the request processing lifecycle), rather than waiting until the Invoke Application phase.</description>
        </attribute>
        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>

        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 anchor (=a) attributes -->
        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>charset</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>coords</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <!-- "href" is a special LinkRenderer attribute -->
        <attribute><name>hreflang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <!-- "name" cannot be set by user -->
        <attribute><name>rel</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>rev</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>shape</name>       <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>type</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <!--todo: is in JSF API of HtmlCommandLink and HtmlOutputLink, but there is no corresponding tag in HTML 4.0.. What to do?-->
        <attribute>
            <name>onblur</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <!--todo: is in JSF API of HtmlCommandLink and HtmlOutputLink, but there is no corresponding tag in HTML 4.0.. What to do?-->
        <attribute>
            <name>onfocus</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>target</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

        <!-- HtmlCommandLink attributes -->
        <!--TODO: is in JSF API, but there is no corresponding tag in HTML 4.0.. What to do?-->
        <attribute>
            <name>onblur</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <!--TODO: is in JSF API, but there is no corresponding tag in HTML 4.0.. What to do?-->
        <attribute>
            <name>onfocus</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <!-- TODO attributes image, label - old todo.. still necessary?-->
    </tag>

    <!-- commandNavigation -->
    <tag>
        <name>commandNavigation</name>
        <tag-class>org.apache.myfaces.custom.navigation.HtmlCommandNavigationTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Must be nested inside a panel_navigation action and renders a
            clickable navigation item.
            This action is derived from the standard command_link action and
            has equal attributes.
            (Replaces former "navigation_item" tag.)
        </description>
        <!--TODO: make id attribute mandatory -->
                <!-- UICommand attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>action</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at the application action to be invoked, if this UIComponent is activated by the user, during the Apply Request Values or Invoke Application phase of the request processing lifecycle, depending on the value of the immediate property.</description>
        </attribute>
        <attribute>
            <name>actionListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at method acception an ActionEvent with return type void.</description>
        </attribute>
        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>True means, that the default ActionListener should be executed immediately (i.e. during Apply Request Values phase of the request processing lifecycle), rather than waiting until the Invoke Application phase.</description>
        </attribute>
        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>

        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 anchor (=a) attributes -->
        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>charset</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>coords</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <!-- "href" is a special LinkRenderer attribute -->
        <attribute><name>hreflang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <!-- "name" cannot be set by user -->
        <attribute><name>rel</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>rev</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>shape</name>       <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>type</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <!--todo: is in JSF API of HtmlCommandLink and HtmlOutputLink, but there is no corresponding tag in HTML 4.0.. What to do?-->
        <attribute>
            <name>onblur</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <!--todo: is in JSF API of HtmlCommandLink and HtmlOutputLink, but there is no corresponding tag in HTML 4.0.. What to do?-->
        <attribute>
            <name>onfocus</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>target</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

        <!-- HtmlCommandLink attributes -->
        <!--TODO: is in JSF API, but there is no corresponding tag in HTML 4.0.. What to do?-->
        <attribute>
            <name>onblur</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <!--TODO: is in JSF API, but there is no corresponding tag in HTML 4.0.. What to do?-->
        <attribute>
            <name>onfocus</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <!-- TODO attributes image, label - old todo.. still necessary?-->
    </tag>

    <!-- commandSortHeader -->
    <tag>
        <name>commandSortHeader</name>
        <tag-class>org.apache.myfaces.custom.sortheader.HtmlCommandSortHeaderTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Clickable sort column header.
            Must be nested inside an extended data_table tag.
            This tag is derived from the standard command_link tag and
            has the additional attributes columnName and arrow.
            Note: In contrary to normal command links the default for the "immediate"
            attribute is "true".
        </description>
                <!-- UICommand attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>action</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at the application action to be invoked, if this UIComponent is activated by the user, during the Apply Request Values or Invoke Application phase of the request processing lifecycle, depending on the value of the immediate property.</description>
        </attribute>
        <attribute>
            <name>actionListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at method acception an ActionEvent with return type void.</description>
        </attribute>
        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>True means, that the default ActionListener should be executed immediately (i.e. during Apply Request Values phase of the request processing lifecycle), rather than waiting until the Invoke Application phase.</description>
        </attribute>
        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>

        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 anchor (=a) attributes -->
        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>charset</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>coords</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <!-- "href" is a special LinkRenderer attribute -->
        <attribute><name>hreflang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <!-- "name" cannot be set by user -->
        <attribute><name>rel</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>rev</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>shape</name>       <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>type</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <!--todo: is in JSF API of HtmlCommandLink and HtmlOutputLink, but there is no corresponding tag in HTML 4.0.. What to do?-->
        <attribute>
            <name>onblur</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <!--todo: is in JSF API of HtmlCommandLink and HtmlOutputLink, but there is no corresponding tag in HTML 4.0.. What to do?-->
        <attribute>
            <name>onfocus</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>target</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

        <!-- HtmlCommandSortHeader attributes -->
        <attribute>
            <name>columnName</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The name of this column.
                This name must uniquely identify this column among all other (sortable) columns
                in the same data_table.
                The sortColumn attribute of the embedding data_table reflects the current
                sort column (see extended data_table).
            </description>
        </attribute>
        <attribute>
            <name>arrow</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Indicates whether an arrow, that shows the sort direction should be rendered.
                Default: false
            </description>
        </attribute>
    </tag>

    <!-- dataList -->
    <tag>
        <name>dataList</name>
        <tag-class>org.apache.myfaces.custom.datalist.HtmlDataListTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Similar to dataTable, but does not render a table. Instead the layout
            attribute controls how each dataRow is rendered.
        </description>
                <!-- UIPanel attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <!-- UIData attributes -->
        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Supported types see JSF Spec 4.1.3</description>
        </attribute>
        <attribute>
            <name>var</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>rows</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>first</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

        <attribute>
            <name>layout</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                simple|unorderedList|orderedList
                simple = for each dataRow all children are simply rendered
                unorderedList = the list is rendered as HTML unordered list (= bullet list)
                orderedList = the list is rendered as HTML ordered list
                Default: simple
            </description>
        </attribute>
        <attribute>
            <name>rowIndexVar</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                A parameter name, under which the current rowIndex is set in request scope
                similar to the var parameter.
            </description>
        </attribute>
        <attribute>
            <name>rowCountVar</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                A parameter name, under which the rowCount is set in request scope
                similar to the var parameter.
            </description>
        </attribute>
     </tag>

    <!-- dataScroller -->
    <tag>
        <name>dataScroller</name>
        <tag-class>org.apache.myfaces.custom.datascroller.HtmlDataScrollerTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Scroller for UIData components eg. dataTable
            Must be nested inside footer facet of dataTable OR for attribute must be given
            so that corresponding uiData can be found
        </description>
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

        <attribute>
            <name>for</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>fastStep</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>step (pages) used for fastforward and fastrewind</description>
        </attribute>
        <attribute>
            <name>pageIndexVar</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                A parameter name, under which the actual page index is set in request scope
                similar to the var parameter.
            </description>
        </attribute>
        <attribute>
            <name>pageCountVar</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                A parameter name, under which the actual page count is set in request scope
                similar to the var parameter.
            </description>
        </attribute>
        <attribute>
            <name>rowsCountVar</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                A parameter name, under which the actual rows count is set in request scope
                similar to the var parameter.
            </description>
        </attribute>
        <attribute>
            <name>displayedRowsCountVar</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                A parameter name, under which the actual displayed rows count is set in request scope
                similar to the var parameter.
            </description>
        </attribute>
        <attribute>
            <name>firstRowIndexVar</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                A parameter name, under which the actual first displayed row index is set in request scope
                similar to the var parameter.
            </description>
        </attribute>
        <attribute>
            <name>lastRowIndexVar</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                A parameter name, under which the actual last displayed row index is set in request scope
                similar to the var parameter.
            </description>
        </attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                styleClass for scroller table
            </description>
        </attribute>
        <attribute>
            <name>style</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                style for scroller table
            </description>
        </attribute>
        <attribute>
            <name>paginator</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If set true, then the paginator gets rendered
            </description>
        </attribute>
        <attribute>
            <name>paginatorMaxPages</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The maximum amount of pages to be displayed in the paginator.
            </description>
        </attribute>
        <attribute>
            <name>paginatorTableClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                styleclass for pagingator
            </description>
        </attribute>
        <attribute>
            <name>paginatorTableStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                style for pagingator
            </description>
        </attribute>
        <attribute>
            <name>paginatorColumnClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                styleClass for paginator's column
            </description>
        </attribute>
        <attribute>
            <name>paginatorColumnStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                style for paginator's column
            </description>
        </attribute>
        <attribute>
            <name>paginatorActiveColumnClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                styleClass for paginator's column with pageIndex = currentPageIndex
            </description>
        </attribute>
        <attribute>
            <name>paginatorActiveColumnStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                style for paginator's column with pageIndex = currentPageIndex
            </description>
        </attribute>
        <attribute>
            <name>renderFacetsIfSinglePage</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If set to false, the facets aren't renderd if all the lines are contained on a single page.
                Default is true.
            </description>
        </attribute>
        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>True means, that the default ActionListener should be executed immediately (i.e. during Apply Request Values phase of the request processing lifecycle), rather than waiting until the Invoke Application phase.</description>
        </attribute>
        <attribute>
            <name>actionListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at method acception an ActionEvent with return type void.</description>
        </attribute>
     </tag>

    <!-- inputDate -->
    <tag>
        <name>inputDate</name>
        <tag-class>org.apache.myfaces.custom.date.HtmlInputDateTag</tag-class>
        <body-content>JSP</body-content>
                <!-- UIInput attributes -->
                <!-- UIOutput attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Id of Converter to be used or reference to a Converter.</description>
        </attribute>

        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
        </attribute>
        <attribute>
            <name>required</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will be checked for non-empty input.</description>
        </attribute>
        <attribute>
            <name>validator</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
        </attribute>
        <attribute>
            <name>valueChangeListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Listener for value changes.</description>
        </attribute>

        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 input attributes -->
        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>align</name>       <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>alt</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>maxlength</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>readonly</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>size</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
		<!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

		<!-- type == date | time | both -->
        <attribute>
	        <name>type</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
	        <name>popupCalendar</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>timeZone</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
    </tag>

    <!-- inputFileUpload -->
    <tag>
        <name>inputFileUpload</name>
        <tag-class>org.apache.myfaces.custom.fileupload.HtmlInputFileUploadTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            You must enable the MultiPart Filter to make this component
            work (see web.xml). Also, don't forget to set the form's attribute
            "enctype" to "multipart/form-data".
            See "examples/web/fileupload.jsp" for an example!
        </description>
                <!-- UIInput attributes -->
                <!-- UIOutput attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Id of Converter to be used or reference to a Converter.</description>
        </attribute>

        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
        </attribute>
        <attribute>
            <name>required</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will be checked for non-empty input.</description>
        </attribute>
        <attribute>
            <name>validator</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
        </attribute>
        <attribute>
            <name>valueChangeListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Listener for value changes.</description>
        </attribute>

        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 input attributes -->
        <attribute><name>accesskey</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>align</name>       <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>alt</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>maxlength</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>onselect</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>readonly</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>size</name>        <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue><type>java.lang.String</type></attribute>
        <!-- HTML 4.0 input type="file" attributes -->
        <attribute>
            <name>accept</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
	        <name>storage</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
    </tag>

    <!-- inputHtml -->
    <tag>
        <name>inputHtml</name>
        <tag-class>org.apache.myfaces.custom.inputHtml.InputHtmlTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            An inline HTML based word processor based on the Kupu library. See http://kupu.oscom.org
            Right now, the support is limited to one editor per page
            (but you can use tabs to have multiple editors, but only one rendered at a time).
        </description>
                <!-- UIInput attributes -->
                <!-- UIOutput attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Id of Converter to be used or reference to a Converter.</description>
        </attribute>

        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
        </attribute>
        <attribute>
            <name>required</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will be checked for non-empty input.</description>
        </attribute>
        <attribute>
            <name>validator</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
        </attribute>
        <attribute>
            <name>valueChangeListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Listener for value changes.</description>
        </attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>displayValueOnly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If true, renders only the value of the component, but no input widget.
                Default is false.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style used when displayValueOnly is true.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class used when displayValueOnly is true.
            </description>
        </attribute>        
        <attribute>
	        <name>style</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
	        <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
	        <name>fallback</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
            	Use a text area instead of the javascript HTML editor.
            	Default is false.
            	Use with caution.
            </description>
        </attribute>
        <attribute>
	        <name>type</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
            	The type of the value. It can be either fragment for an HTML fragment (default)
            	or document for a full HTML document, with head, title, body, ... tags.
            </description>
        </attribute>
       	<attribute>
	        <name>allowEditSource</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
            	Allows the user to edit the HTML source code.
            	Default is true.
            </description>
       	</attribute>
		<attribute>
	        <name>allowExternalLinks</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
            	Allows the user to insert external links.
            	Default is true.
            </description>
       	</attribute>
       	<attribute>
	        <name>addKupuLogo</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
            	Show the Kupu Logo in the buttons bar.
            	Default is true.
            </description>
       	</attribute>
       	<attribute>
	        <name>showAllToolBoxes</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
			<description>
            	Shortcut to avoid setting all the showXXToolBox to true.
            	Default is false.
            </description>
        </attribute>
       	<attribute>
	        <name>showPropertiesToolBox</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
			<description>
            	Show the Properties tool box next to the text.
            	Default is false.
            </description>
        </attribute>
       	<attribute>
	        <name>showLinksToolBox</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
			<description>
            	Show the Links tool box next to the text.
            	Default is false.
            </description>
        </attribute>
       	<attribute>
	        <name>showImagesToolBox</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
			<description>
            	Show the Images tool box next to the text.
            	Default is false.
            </description>
        </attribute>
       	<attribute>
	        <name>showTablesToolBox</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
			<description>
            	Show the Tables tool box next to the text.
            	Default is false.
            </description>
        </attribute>
		<attribute>
	        <name>showCleanupExpressionsToolBox</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
			<description>
            	Show the Cleanup Expressions tool box next to the text.
            	Default is false.
            </description>
        </attribute>
       	<attribute>
	        <name>showDebugToolBox</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
			<description>
            	Show the Debug tool box next to the text.
            	Default is false.
            </description>
        </attribute>
    </tag>

    <!-- navigationMenu, jscookMenu -->
    <tag>
        <name>navigationMenuItem</name>
        <tag-class>org.apache.myfaces.custom.navmenu.HtmlNavigationMenuItemTag</tag-class>
        <body-content>JSP</body-content>
        <!-- UISelectItem attributes -->
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>
        <attribute>
            <name>itemDisabled</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will not be saved during state saving.</description>
        </attribute>
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>itemDescription</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>itemLabel</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>itemValue</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Value reference pointing at a javax.faces.model.SelectItem instance.</description>
        </attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

        <!-- navigationMenuItem attributes -->
        <attribute>
            <name>icon</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>split</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>action</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
    </tag>
    <tag>
        <name>navigationMenuItems</name>
        <tag-class>org.apache.myfaces.custom.navmenu.HtmlNavigationMenuItemsTag</tag-class>
        <body-content>empty</body-content>
        <!-- UISelectItems attributes -->
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Value reference pointing at a List or Array of javax.faces.model.SelectItem instances.</description>
        </attribute>

    </tag>
    <tag>
        <name>jscookMenu</name>
        <tag-class>org.apache.myfaces.custom.navmenu.jscookmenu.HtmlJSCookMenuTag</tag-class>
        <body-content>JSP</body-content>
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <attribute>
            <name>javascriptLocation</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                An alternate location to find javascript resources.  If no values is specified, javascript will
                be loaded from the resources directory using AddResource and ExtensionsFilter.
            </description>
        </attribute>

        <attribute>
            <name>imageLocation</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                An alternate location to find image resources.  If no values is specified, images will
                be loaded from the resources directory using AddResource and ExtensionsFilter.
            </description>
        </attribute>

        <attribute>
            <name>styleLocation</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                An alternate location to find stylesheet resources.  If no values is specified, stylesheets will
                be loaded from the resources directory using AddResource and ExtensionsFilter.
            </description>
        </attribute>

        <!-- jscookMenu attributes -->
        <attribute>
            <name>layout</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>theme</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
    </tag>

    <!-- panelLayout -->
    <tag>
        <name>panelLayout</name>
        <tag-class>org.apache.myfaces.custom.layout.HtmlPanelLayoutTag</tag-class>
        <body-content>JSP</body-content>
                <!-- UIPanel attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 table attributes -->
        <attribute><name>align</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>border</name>          <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>bgcolor</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>cellpadding</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>cellspacing</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>datafld</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>datasrc</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>dataformatas</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>frame</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>rules</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>summary</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>width</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <attribute>
            <name>layout</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                layout           | header | navigation | body  | footer
                =================|========|============|=======|========
                classic (Default)| top    | left       | right | bottom
                navigationRight  | top    | right      | left  | bottom
                upsideDown       | bottom | left       | right | top
            </description>
        </attribute>
        <attribute>
            <name>headerClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS class to be used for the table cell.</description>
        </attribute>
        <attribute>
            <name>navigationClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS class to be used for the table cell.</description>
        </attribute>
        <attribute>
            <name>bodyClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS class to be used for the table cell.</description>
        </attribute>
        <attribute>
            <name>footerClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS class to be used for the table cell.</description>
        </attribute>
        <attribute>
            <name>headerStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS style to be used for the table cell.</description>
        </attribute>
        <attribute>
            <name>navigationStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS style to be used for the table cell.</description>
        </attribute>
        <attribute>
            <name>bodyStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS style to be used for the table cell.</description>
        </attribute>
        <attribute>
            <name>footerStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>CSS style to be used for the table cell.</description>
        </attribute>
    </tag>

    <!-- panelNavigation2 -->
    <tag>
        <name>panelNavigation2</name>
        <tag-class>org.apache.myfaces.custom.navmenu.htmlnavmenu.HtmlPanelNavigationMenuTag</tag-class>
        <body-content>JSP</body-content>
                <!-- UIPanel attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 table attributes -->
        <attribute><name>align</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>border</name>          <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>bgcolor</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>cellpadding</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>cellspacing</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>datafld</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>datasrc</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>dataformatas</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>frame</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>rules</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>summary</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>width</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <attribute>
            <name>itemClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The CSS class of closed navigation items.
            </description>
        </attribute>
        <attribute>
            <name>openItemClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The CSS class of open navigation items.
            </description>
        </attribute>
        <attribute>
            <name>activeItemClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The CSS class of the active navigation item.
            </description>
        </attribute>
        <attribute>
            <name>separatorClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The CSS class for the td element of a separator.
            </description>
        </attribute>
        <attribute>
            <name>itemStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The CSS Style of closed navigation items.
            </description>
        </attribute>
        <attribute>
            <name>openItemStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The CSS Style of open navigation items.
            </description>
        </attribute>
        <attribute>
            <name>activeItemStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The CSS Style of the active navigation item.
            </description>
        </attribute>
        <attribute>
            <name>separatorStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The CSS Style for the td element of a separator.
            </description>
        </attribute>
        <attribute>
            <name>layout</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Table or List Layout (default is Table) 
            </description>
        </attribute>
    </tag>

    <!-- panelNavigation -->
    <tag>
        <name>panelNavigation</name>
        <tag-class>org.apache.myfaces.custom.navigation.HtmlPanelNavigationTag</tag-class>
        <body-content>JSP</body-content>
                <!-- UIPanel attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 table attributes -->
        <attribute><name>align</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>border</name>          <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>bgcolor</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>cellpadding</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>cellspacing</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>datafld</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>datasrc</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>dataformatas</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>frame</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>rules</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>summary</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>width</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <attribute>
            <name>itemClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The CSS class of closed navigation items.
            </description>
        </attribute>
        <attribute>
            <name>openItemClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The CSS class of open navigation items.
            </description>
        </attribute>
        <attribute>
            <name>activeItemClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The CSS class of the active navigation item.
            </description>
        </attribute>
        <attribute>
            <name>separatorClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The CSS class for the td element of a separator.
            </description>
        </attribute>
        <attribute>
            <name>itemStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The CSS Style of closed navigation items.
            </description>
        </attribute>
        <attribute>
            <name>openItemStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The CSS Style of open navigation items.
            </description>
        </attribute>
        <attribute>
            <name>activeItemStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The CSS Style of the active navigation item.
            </description>
        </attribute>
        <attribute>
            <name>separatorStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The CSS Style for the td element of a separator.
            </description>
        </attribute>
    </tag>

    <!-- panelTab -->
    <tag>
        <name>panelTab</name>
        <tag-class>org.apache.myfaces.custom.tabbedpane.HtmlPanelTabTag</tag-class>
        <body-content>JSP</body-content>
                <!-- UIPanel attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

        <attribute>
            <name>label</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Label of this tab.
            </description>
        </attribute>
    </tag>

    <!-- panelTabbedPane -->
    <tag>
        <name>panelTabbedPane</name>
        <tag-class>org.apache.myfaces.custom.tabbedpane.HtmlPanelTabbedPaneTag</tag-class>
        <body-content>JSP</body-content>
                <!-- UIPanel attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 table attributes -->
        <attribute><name>align</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>border</name>          <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>bgcolor</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>cellpadding</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>cellspacing</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>datafld</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>datasrc</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>dataformatas</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>frame</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>rules</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>summary</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>width</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

        <attribute>
            <name>selectedIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Index of tab that is selected by default.
            </description>
        </attribute>
        <attribute>
            <name>activeTabStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class of the active tab cell.
            </description>
        </attribute>
        <attribute>
            <name>inactiveTabStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class of the inactive tab cells.
            </description>
        </attribute>
        <attribute>
            <name>disabledTabStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class of the disabled tab cells.
            </description>
        </attribute>
        <attribute>
            <name>activeSubStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class of the active tab sub cell.
            </description>
        </attribute>
        <attribute>
            <name>inactiveSubStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class of the inactive tab sub cells.
            </description>
        </attribute>
        <attribute>
            <name>tabContentStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class of the active tab content cell.
            </description>
        </attribute>
    </tag>

    <!-- tab change listener -->
    <tag>
        <name>tabChangeListener</name>
        <tag-class>org.apache.myfaces.custom.tabbedpane.TabChangeListenerTag</tag-class>
        <body-content>empty</body-content>
        <attribute>
            <name>type</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
    </tag>


    <!-- collapsiblePanel -->
    <tag>
        <name>collapsiblePanel</name>
        <tag-class>org.apache.myfaces.custom.collapsiblepanel.HtmlCollapsiblePanelTag</tag-class>
        <body-content>JSP</body-content>
                <!-- UIPanel attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

        <attribute>
            <name>collapsed</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
               Boolean value indicating whether the panel should be collapsed by default.
            </description>
        </attribute>
        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Label for collapsible panel.
            </description>
        </attribute>
    </tag>

	<!-- selectOneCountry -->
    <tag>
        <name>selectOneCountry</name>
        <tag-class>org.apache.myfaces.custom.selectOneCountry.SelectOneCountryTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            A localized list of countries choose box.
            The value binds to the country ISO 3166 code.
            This is the same code as for java.util.Locale.getCountry().
			The official codes list is available here :
			http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html
        </description>
        <attribute>
            <name>maxLength</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
               Integer equals to the maximum number of characters in the country name.
            </description>
        </attribute>
                <!-- all standard attributes of the selectOneMenu tag -->
                <!-- UISelectOne attributes -->
                <!-- UIInput attributes -->
                <!-- UIOutput attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Id of Converter to be used or reference to a Converter.</description>
        </attribute>

        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
        </attribute>
        <attribute>
            <name>required</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will be checked for non-empty input.</description>
        </attribute>
        <attribute>
            <name>validator</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
        </attribute>
        <attribute>
            <name>valueChangeListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Listener for value changes.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 select attributes -->
        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <!-- "multiple" cannot be set manually -->
        <!-- "name" cannot be set manually -->
        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <!-- "size" cannot be set directly for it is a MenuRenderer specific attribute -->
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>readonly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Flag indicating that this component will prohibit
          changes by the user.  The element may receive focus
          unless it has also been disabled.</description>
        </attribute>
        <attribute><name>enabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
         <attribute><name>disabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>displayValueOnly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If true, renders only the value of the component, but no input widget.
                Default is false.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style used when displayValueOnly is true.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class used when displayValueOnly is true.
            </description>
        </attribute>        
    </tag>

    <!-- selectOneLanguage -->
    <tag>
        <name>selectOneLanguage</name>
        <tag-class>org.apache.myfaces.custom.selectOneLanguage.SelectOneLanguageTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            A localized list of languages choose box.
            The value binds to the language ISO 639 code (lowercase).
            This is the same code as for java.util.Locale.getLanguage().
			The official codes list is available here :
			http://www.loc.gov/standards/iso639-2/englangn.html
        </description>
        <attribute>
            <name>maxLength</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
               Integer equals to the maximum number of characters in the language name.
            </description>
        </attribute>
                <!-- all standard attributes of the selectOneMenu tag -->
                <!-- UISelectOne attributes -->
                <!-- UIInput attributes -->
                <!-- UIOutput attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Initial value to set when rendered for the first time.</description>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Id of Converter to be used or reference to a Converter.</description>
        </attribute>

        <attribute>
            <name>immediate</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description> Flag indicating that this component's value must be converted and validated immediately (that is, during Apply Request Values phase), rather than waiting until Process Validations phase.</description>
        </attribute>
        <attribute>
            <name>required</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will be checked for non-empty input.</description>
        </attribute>
        <attribute>
            <name>validator</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>MethodBinding pointing at a method that will be called during Process Validations phase of the request processing lifecycle, to validate the current value of this component.</description>
        </attribute>
        <attribute>
            <name>valueChangeListener</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Listener for value changes.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 select attributes -->
        <attribute><name>datafld</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>datasrc</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>dataformatas</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>disabled</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <!-- "multiple" cannot be set manually -->
        <!-- "name" cannot be set manually -->
        <attribute><name>onblur</name>      <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onchange</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onfocus</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <!-- "size" cannot be set directly for it is a MenuRenderer specific attribute -->
        <attribute><name>tabindex</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>readonly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Flag indicating that this component will prohibit
          changes by the user.  The element may receive focus
          unless it has also been disabled.</description>
        </attribute>
        <attribute><name>enabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
         <attribute><name>disabledClass</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>displayValueOnly</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If true, renders only the value of the component, but no input widget.
                Default is false.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style used when displayValueOnly is true.
            </description>
        </attribute>
        <attribute>
            <name>displayValueOnlyStyleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Style class used when displayValueOnly is true.
            </description>
        </attribute>        
    </tag>

	<!-- stylesheet -->

	<tag>
		<name>stylesheet</name>
		<tag-class>org.apache.myfaces.custom.stylesheet.StylesheetTag</tag-class>
		<body-content>JSP</body-content>
		<description>a component, which renders the path to a common CSS-file</description>
		<!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

		<!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

		<attribute>
			<name>path</name>
			<required>true</required>
			<rtexprvalue>false</rtexprvalue>
			<description>
				URL for CSS-file.
			</description>
		</attribute>
	</tag>

	<!-- div -->

	<tag>
		<name>div</name>
		<tag-class>org.apache.myfaces.custom.div.DivTag</tag-class>
		<body-content>JSP</body-content>
		<description>Places a div around its children</description>
		<!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

		<attribute>
			<name>style</name>
			<required>false</required>
			<rtexprvalue>false</rtexprvalue>
			<description>
				The style to use for this div.
			</description>
		</attribute>
		<attribute>
			<name>styleClass</name>
			<required>false</required>
			<rtexprvalue>false</rtexprvalue>
			<description>
				The class to use for this div.
			</description>
		</attribute>
	</tag>

	<!-- htmlTag -->

	<tag>
		<name>htmlTag</name>
		<tag-class>org.apache.myfaces.custom.htmlTag.HtmlTagTag</tag-class>
		<body-content>JSP</body-content>
		<description>Places the given HTML tag div around its children</description>
		<!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

                <!-- 
        This attribute indicates that the component should be forced to use the specified id instead of 
        using the one that faces generates.  Components contained within a "list" will include a '[n]'  
        suffix where 'n' is the row index (unless the forceIdIndex attribute is set to false).
        -->
        <attribute>
            <name>forceId</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will force the use of the specified id when rendering.</description>
        </attribute>        

        <!-- 
        If the component is contained within an "list" (such as dataTable), this attribute indicates whether or not a 
        '[n]' suffix should be added where 'n' is the row index.  Default is true.  The attribute is ignored if forceId 
        is false (or not specified)
        -->
        <attribute>
            <name>forceIdIndex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                If false, this component will not append a '[n]' suffix (where 'n' is the row index) to components 
                that are contained within a "list."  This value will be true by default and the value will be ignored if 
                the value of forceId is false (or not specified.)
            </description>
        </attribute>        

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

        <attribute>
            <name>value</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
				The name of the tag. For example, use h1 to generate an h1 tag.
			</description>
        </attribute>
		<attribute>
			<name>style</name>
			<required>false</required>
			<rtexprvalue>false</rtexprvalue>
			<description>
				The style to use for this tag.
			</description>
		</attribute>
		<attribute>
			<name>styleClass</name>
			<required>false</required>
			<rtexprvalue>false</rtexprvalue>
			<description>
				The class to use for this tag.
			</description>
		</attribute>
	</tag>


    <!-- radio -->
    <tag>
        <name>radio</name>
        <tag-class>org.apache.myfaces.custom.radio.HtmlRadioTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Renders a HTML input of type "radio". The associated SelectItem comes from
            an extended selectOneRadio component with layout "spread". The selectOneRadio
            is referenced by the "for" attribute.
            All HTML pass-through attributes for this input are taken from the associated
            selectOneRadio.
        </description>
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

        <!-- HtmlRadio attributes -->
        <attribute>
            <name>for</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                 id of the referenced extended selectOneRadio component
            </description>
        </attribute>
        <attribute>
            <name>index</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                n-th SelectItem of referenced UISelectOne starting with 0.
            </description>
        </attribute>
    </tag>

   <!-- tree -->
    <tag>
        <name>tree</name>
        <tag-class>org.apache.myfaces.custom.tree.taglib.TreeTag</tag-class>
        <body-content>JSP</body-content>
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>value</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>var</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>nodeClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>selectedNodeClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>headerClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>footerClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>rowClasses</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>columnClasses</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>iconClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>iconLine</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>iconNoline</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>iconChildFirst</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>iconChildMiddle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>iconChildLast</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>iconNodeOpen</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>iconNodeOpenFirst</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>iconNodeOpenMiddle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>iconNodeOpenLast</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>iconNodeClose</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>iconNodeCloseFirst</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>iconNodeCloseMiddle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>iconNodeCloseLast</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>expandRoot</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>expireListeners</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Time interval the tree will remain registered as a TreeModelListener without being accessed</description>
        </attribute>
    </tag>

    <tag>
        <name>treeSelectionListener</name>
        <tag-class>org.apache.myfaces.custom.tree.taglib.TreeSelectionListenerTag</tag-class>
        <body-content>empty</body-content>
        <attribute>
            <name>type</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
    </tag>

    <tag>
        <name>iconProvider</name>
        <tag-class>org.apache.myfaces.custom.tree.taglib.IconProviderTag</tag-class>
        <body-content>empty</body-content>
        <attribute>
            <name>type</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
    </tag>

    <!-- tree column -->
    <tag>
        <name>treeColumn</name>
        <tag-class>org.apache.myfaces.custom.tree.taglib.TreeColumnTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Renders a HTML input of type "treeColumn". This tag outlines the column where
            the tree structure will be render as part of the tree table.
        </description>
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

    </tag>

    <!-- tree checkbox -->
    <tag>
        <name>treeCheckbox</name>
        <tag-class>org.apache.myfaces.custom.tree.taglib.TreeCheckboxTag</tag-class>
        <body-content>empty</body-content>
        <description>
            Renders a HTML input of type "treeCheckbox". The associated comes from
            the treeCheckbox itemLabel and itemValue.  The selected items come from an extended
            selectManyCheckbox component with layout "spread". The selectManyCheckbox
            is referenced by the "for" attribute.
            All HTML pass-through attributes for this input are taken from the associated
            selectManyCheckbox.
        </description>
        <!-- UISelectItem attributes -->
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>
        <attribute>
            <name>itemDisabled</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If true, this component will not be saved during state saving.</description>
        </attribute>
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>itemDescription</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>itemLabel</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>itemValue</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Value reference pointing at a javax.faces.model.SelectItem instance.</description>
        </attribute>

        <!-- HtmlTreeCheckbox attributes -->
        <attribute>
            <name>for</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                id of the referenced extended selectManyCheckbox component
            </description>
        </attribute>
    </tag>

   <!-- tree2 -->
    <tag>
        <name>tree2</name>
        <tag-class>org.apache.myfaces.custom.tree2.TreeTag</tag-class>
        <body-content>JSP</body-content>
        <attribute>
            <name>value</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>var</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>varNodeToggler</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>showNav</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Show the "plus" and "minus" navigation icons (default is true.) Value is ignored if
                clientSideToggle is true.
            </description>
        </attribute>
        <attribute>
            <name>showLines</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Show the connecting lines (default is true.)</description>
        </attribute>
        <attribute>
            <name>clientSideToggle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Perform client-side toggling of expand/collapse state via javascript (default is true.)</description>
        </attribute>
        <attribute>
            <name>showRootNode</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Include the root node when rendering the tree (default is true.)</description>
        </attribute>
        <attribute>
            <name>preserveToggle</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Preserve changes in client-side toggle information between requests (default is true.)</description>
        </attribute>
                <attribute>
            <name>javascriptLocation</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                An alternate location to find javascript resources.  If no values is specified, javascript will
                be loaded from the resources directory using AddResource and ExtensionsFilter.
            </description>
        </attribute>

        <attribute>
            <name>imageLocation</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                An alternate location to find image resources.  If no values is specified, images will
                be loaded from the resources directory using AddResource and ExtensionsFilter.
            </description>
        </attribute>

        <attribute>
            <name>styleLocation</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>
                An alternate location to find stylesheet resources.  If no values is specified, stylesheets will
                be loaded from the resources directory using AddResource and ExtensionsFilter.
            </description>
        </attribute>

        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

    </tag>

    <!-- panelStack -->
    <tag>
        <name>panelStack</name>
        <tag-class>org.apache.myfaces.custom.panelstack.PanelStackTag</tag-class>
        <body-content>JSP</body-content>
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>selectedPanel</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Id of the child to be rendered.</description>
        </attribute>
    </tag>

    <!-- popup -->
    <tag>
        <name>popup</name>
        <tag-class>org.apache.myfaces.custom.popup.HtmlPopupTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Renders a popup which displays on a mouse event.
        </description>
        <attribute>
            <name>displayAtDistanceX</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Pop the panel up in horizontal distance of x pixels from
                event.
            </description>
        </attribute>
        <attribute>
            <name>displayAtDistanceY</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Pop the panel up in vertical distance of y pixels from
                event.
            </description>
        </attribute>
        <attribute>
            <name>closePopupOnExitingElement</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Close the popup when the triggering element is left.
            </description>
        </attribute>
        <attribute>
            <name>closePopupOnExitingPopup</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                Close the popup when the popup itself is left.
            </description>
        </attribute>
                <!-- UIPanel attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- MyFaces extension: user role attributes -->
        <attribute>
            <name>enabledOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, no hyperlink is rendered but all nested
                tags (=body) are rendered.
            </description>
        </attribute>
        <attribute>
            <name>visibleOnUserRole</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                If user is in given role, this component will be rendered
                normally. If not, nothing is rendered and the body of this tag
                will be skipped.
            </description>
        </attribute>

     </tag>


    <!-- newspaperTable -->
    <tag>
        <name>newspaperTable</name>
        <tag-class>org.apache.myfaces.custom.newspaper.HtmlNewspaperTableTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            A data table for rendering long skinny tables as short wide table by
            wrapping the table over a specified number of columns.
        </description>
                <!-- all standard attributes of the dataTable tag -->
                <!-- UIPanel attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>


        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- HTML 4.0 table attributes -->
        <attribute><name>align</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>border</name>          <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>bgcolor</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>cellpadding</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>cellspacing</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>datafld</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>datasrc</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>dataformatas</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>frame</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>rules</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>summary</name>         <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>width</name>           <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- UIData attributes -->
        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Supported types see JSF Spec 4.1.3</description>
        </attribute>
        <attribute>
            <name>var</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>rows</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>first</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <!-- TableRenderer attributes -->
        <attribute>
            <name>columnClasses</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>footerClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>headerClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>rowClasses</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>

        <attribute>
            <name>newspaperColumns</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The number of columns to wrap the table over.
                Default: 1
            </description>
        </attribute>
     </tag>



<!--     Custom non-component tags     -->

	<!-- aliasBean -->
    <tag>
        <name>aliasBean</name>
        <tag-class>org.apache.myfaces.custom.aliasbean.AliasBeanTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            A tag that defines a new bean (alias) with a given value.
            This allows you to design a subform with a generic (fictive) beans and to include it in all the pages where you use it.
			You just need to make an alias to the real bean named after the generic bean before including the subform.

			When used within an aliasBeansScope tag, this tag adds the alias to the aliasBeansScope.
			This makes configuration with multiple aliasBeans easier to write.
        </description>
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>alias</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The bean that will be set to the given value.
                Example : #{holder}
            </description>
        </attribute>
        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                The value that the alias can be set to.
				This can be a string (like "toto") or a reference to an existing bean (like "#{myBean.member1}").
            </description>
        </attribute>
    </tag>
    <tag>
        <name>aliasBeansScope</name>
        <tag-class>org.apache.myfaces.custom.aliasbean.AliasBeansScopeTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            This is like an aliasBean tag, but instead of the alias/value attributes, you configure the aliases
            by adding aliasBean tags in the body.

            The aliasBeans should be declared right after this tag.
        </description>
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
    </tag>

    <!-- bufferBean -->
    <tag>
        <name>buffer</name>
        <tag-class>org.apache.myfaces.custom.buffer.BufferTag</tag-class>
        <body-content>JSP</body-content>
        <attribute>
            <name>into</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
    </tag>

    <!-- saveState -->
    <tag>
        <name>saveState</name>
        <tag-class>org.apache.myfaces.custom.savestate.SaveStateTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            saveState enables you to persist beans and values longer than
            request scope, but shorter than session scope. It is ideal for
            persisting backing beans and values with the same scope as your view
            components. It does this by saving the target state with the
            component tree.
        </description>
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>value</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
    </tag>

    <!-- updateActionListener -->
    <tag>
        <name>updateActionListener</name>
        <tag-class>org.apache.myfaces.custom.updateactionlistener.UpdateActionListenerTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Registers a org.apache.myfaces.custom.updateactionlistener.UpdateActionListener at the
            parent component.
        </description>
        <attribute>
            <name>property</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>value</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>converter</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
    </tag>


<!-- validators -->


        <!-- creditCard -->
    <tag>
        <name>validateCreditCard</name>
        <tag-class>org.apache.myfaces.custom.creditcardvalidator.ValidateCreditCardTag</tag-class>
        <body-content>JSP</body-content>
        <description>
			A custom validator for creditCards, based upons Jakarta Commons.
        </description>

        <attribute>
            <name>none</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
				none of the given cardtypes is allowed.
            </description>
        </attribute>
        <attribute>
            <name>amex</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
				american express cards
            </description>
        </attribute>
        <attribute>
            <name>visa</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
				validation for visa
            </description>
        </attribute>
        <attribute>
            <name>mastercard</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
				validation for mastercard
            </description>
        </attribute>
        <attribute>
            <name>discover</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
				validation for discover
            </description>
        </attribute>
    </tag>

    <!-- Validator for Email -->
     <tag>
        <name>validateEmail</name>
        <tag-class>org.apache.myfaces.custom.emailvalidator.ValidateEmailTag</tag-class>
        <body-content>JSP</body-content>
        <description>
			A custom validator for email address format, based upons Jakarta Commons.
        </description>
	</tag>

    <!-- Validator for ISBN -->
     <!--tag>
        <name>validateISBN</name>
        <tag-class>org.apache.myfaces.custom.isbnvalidator.ValidateISBNTag</tag-class>
        <body-content>JSP</body-content>
        <description>
			A custom validator for isbn codes, based upons Jakarta Commons.
        </description>
	</tag -->

    <!-- Validator for Regular Expressions -->
    <tag>
        <name>validateRegExpr</name>
        <tag-class>org.apache.myfaces.custom.regexprvalidator.ValidateRegExprTag</tag-class>
        <body-content>JSP</body-content>
        <description>
			A custom validator for reg. expr., based upons Jakarta Commons.
        </description>

        <attribute>
            <name>pattern</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
				the pattern, which is the base of the validation
            </description>
        </attribute>
	</tag>

    <!-- Validator for Equal -->
     <tag>
        <name>validateEqual</name>
        <tag-class>org.apache.myfaces.custom.equalvalidator.ValidateEqualTag</tag-class>
        <body-content>JSP</body-content>
        <description>
			A custom validator for validations against foreign component values.
        </description>

        <attribute>
            <name>for</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
				the id of the foreign component, which is needed for the validation
            </description>
        </attribute>
	</tag>

    <!-- swap_image -->
    <tag>
        <name>swapImage</name>
        <tag-class>org.apache.myfaces.custom.swapimage.HtmlSwapImageTag</tag-class>
        <body-content>JSP</body-content>
        <attribute>
            <name>swapImageUrl</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
				the url of the image displayed onmouseover
            </description>
        </attribute>
        <attribute>
            <name>activeImageUrl</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
				activeImage will be rendered if: swapImage is a direct child of commandNavigation
                and the commandNavigation.isActive
            </description>
        </attribute>
                <!-- UIGraphic attributes -->
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <attribute>
            <name>url</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>URL of the image (see JSF.4.1.5).</description>
        </attribute>
        <attribute>
            <name>value</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>URL of the image (see JSF.4.1.5).</description>
        </attribute>

        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 img attributes that are not part of the JSF 1.1 specification -->
        <attribute>
            <name>align</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>border</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>hspace</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>vspace</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>

        <!-- The subset of HTML 4.0 img attributes that are supported by the JSF 1.1 specification -->
        <attribute>
            <name>alt</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>height</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>ismap</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>longdesc</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <!-- "name" attribute cannot be set directly by user -->
        <!-- "src" attribute cannot be set directly, use "url" instead! -->
        <attribute>
            <name>usemap</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>
        <attribute>
            <name>width</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
        </attribute>

        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
    </tag>

	<!-- columns -->
    <tag>
        <name>columns</name>
        <tag-class>org.apache.myfaces.custom.crosstable.HtmlColumnsTag</tag-class>
        <body-content>JSP</body-content>
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <!-- UIColumn attributes -->
        <attribute>
            <name>value</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Supported types see JSF Spec 4.1.3</description>
        </attribute>
        <attribute>
            <name>var</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        
        <!-- header attributes -->
        <attribute><name>headerdir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headerlang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headerstyle</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headertitle</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headerstyleClass</name><required>false</required><rtexprvalue>false</rtexprvalue><description>Corresponds to the HTML class attribute.</description></attribute>
        <attribute><name>headeronclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headerondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headeronmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headeronmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headeronmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headeronmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headeronmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headeronkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headeronkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headeronkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- footer attributes -->
        <attribute><name>footerdir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footerlang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footerstyle</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footertitle</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footerstyleClass</name><required>false</required><rtexprvalue>false</rtexprvalue><description>Corresponds to the HTML class attribute.</description></attribute>
        <attribute><name>footeronclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footerondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footeronmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footeronmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footeronmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footeronmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footeronmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footeronkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footeronkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footeronkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <attribute>
            <name>width</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>This attribute can be used to set the width of the &lt;TD&gt; elements</description>
        </attribute>        
     </tag>


  <!-- column -->
    <tag>
        <name>column</name>
        <tag-class>org.apache.myfaces.custom.column.HtmlColumnTag</tag-class>
        <body-content>JSP</body-content>
        <!-- UIComponent attributes -->
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Every component may have an unique id. Automatically created if omitted.</description>
        </attribute>
        <attribute>
            <name>rendered</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>If false, this component will not be rendered.</description>
        </attribute>
        <attribute>
            <name>binding</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <type>java.lang.String</type>
            <description>Component binding.</description>
        </attribute>

        <!-- UIColumn attributes -->
        <!-- HTML 4.0 universal attributes -->
        <attribute><name>dir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>lang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>style</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>title</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute>
            <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Corresponds to the HTML class attribute.</description>
        </attribute>

        <!-- HTML 4.0 event-handler attributes -->
        <attribute><name>onclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>ondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>onkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        
        <!-- header attributes -->
        <attribute><name>headerdir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headerlang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headerstyle</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headertitle</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headerstyleClass</name><required>false</required><rtexprvalue>false</rtexprvalue><description>Corresponds to the HTML class attribute.</description></attribute>
        <attribute><name>headeronclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headerondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headeronmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headeronmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headeronmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headeronmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headeronmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headeronkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headeronkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>headeronkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <!-- footer attributes -->
        <attribute><name>footerdir</name>     <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footerlang</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footerstyle</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footertitle</name>   <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footerstyleClass</name><required>false</required><rtexprvalue>false</rtexprvalue><description>Corresponds to the HTML class attribute.</description></attribute>
        <attribute><name>footeronclick</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footerondblclick</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footeronmousedown</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footeronmouseup</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footeronmouseover</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footeronmousemove</name><required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footeronmouseout</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footeronkeypress</name> <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footeronkeydown</name>  <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>
        <attribute><name>footeronkeyup</name>    <required>false</required>  <rtexprvalue>false</rtexprvalue></attribute>

        <attribute>
            <name>width</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>This attribute can be used to set the width of the &lt;TD&gt; elements</description>
        </attribute>        
     </tag>

</taglib>