<?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 xmlns="http://java.sun.com/JSP/TagLibraryDescriptor">

    <tlib-version>0.9.0</tlib-version>
    <jsp-version>1.2</jsp-version>
    <short-name>x</short-name>
    <uri>http://myfaces.apache.org/extensions</uri>
    <description>
        Enhanced standard JSP actions and custom MyFaces actions.
    </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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>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>

    </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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>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>

    </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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>


        <!-- 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 -->
        <!-- 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: true
            </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>
     </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>
                <!-- 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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>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>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>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>

        <!-- HtmlInputText attributes -->
        <attribute>
            <name>escape</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>Indicates whether rendered markup should be escaped.</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>

    </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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>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>

    </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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>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>

        <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>
    </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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>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>

        <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>
    </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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>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>true</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>

    <!-- 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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>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>

    </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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>


        <!-- 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>

    <!-- 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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>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>

        <!-- 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>

    <!-- 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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>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>

        <!-- 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>

    <!-- 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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>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 -->

        <!-- 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>


<!--     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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>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>

        <!-- 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>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>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>
    </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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>

        <!-- 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>

    <!-- 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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>


        <!-- 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>

        <!-- 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>

    <!-- dataTableScroller -->
    <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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>

        <!-- 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>
     </tag>

    <!-- htmlEditor -->
    <tag>
        <name>htmlEditor</name>
        <tag-class>org.apache.myfaces.custom.htmlEditor.HtmlEditorTag</tag-class>
        <body-content>JSP</body-content>
        <attribute>
	        <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
	        <name>value</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>style</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
	        <name>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </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>formularMode</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
       	<attribute>
	        <name>allowEditSource</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
       	</attribute>
       	<attribute>
	        <name>addKupuLogo</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
       	</attribute>
       	<attribute>
	        <name>showPropertiesToolBox</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
       	<attribute>
	        <name>showLinksToolBox</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
       	<attribute>
	        <name>showImagesToolBox</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
       	<attribute>
	        <name>showTablesToolBox</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
       	<attribute>
	        <name>showDebugToolBox</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>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>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>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>
    </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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>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>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>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>

    <!-- 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>
    </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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>

        <!-- 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>

        <!-- 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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>


        <!-- 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>

    <!-- 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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>


        <!-- 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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>


        <!-- 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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>


        <!-- 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>


	<!-- 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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>

		<!-- 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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>style</name>
			<required>false</required>
			<rtexprvalue>false</rtexprvalue>
			<description>
				The style to use for this div. Either style or styleClass must be specified but not both.
			</description>
		</attribute>
		<attribute>
			<name>styleClass</name>
			<required>false</required>
			<rtexprvalue>false</rtexprvalue>
			<description>
				The class to use for this div. Either style or styleClass must be specified but not both.
			</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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>

        <!-- 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>

	<!-- rss ticker component -->
    <tag>
        <name>rssTicker</name>
        <tag-class>org.apache.myfaces.custom.rssticker.HtmlRssTickerTag</tag-class>
        <body-content>JSP</body-content>
        <description>
            Extends standard commandButton by user role support.
        </description>
        <!-- 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>

		<!-- attribute(s) for the rss ticker... -->
		<attribute>
			<name>rssUrl</name>
			<required>true</required>
			<rtexprvalue>false</rtexprvalue>
			<description>
				URL on whichs the rss-information are available.
			</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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>

    </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>

    <!-- 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>styleClass</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                styleClass for popup.
                Attention! do not try to overwrite position:absolute;
                and display:none;
                Provide a padding for Mozilla-based Browsers
            </description>
        </attribute>
        <attribute>
            <name>style</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
            <description>
                style for popup.
                Attention! do not try to overwrite position:absolute;
                and display:none;
                Provide a padding for Mozilla-based Browsers
            </description>
        </attribute>
        <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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>


        <!-- 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>

<!-- UIComponentBase attributes -->
        <!-- todo: transient is no attribute in RI... addition by myfaces?
             if yes, please document -->
        <attribute>
            <name>transient</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>


        <!-- 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>
        <attribute>
            <name>id</name>
            <required>false</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>sourceBean</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
        <attribute>
            <name>alias</name>
            <required>true</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>
        <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>
</taglib>