General test coverage improvement for frameworks and API.
diff --git a/jsf/tests/org.eclipse.jst.jsf.core.tests/testfiles/TestEnum1.java.data b/jsf/tests/org.eclipse.jst.jsf.core.tests/testfiles/TestEnum1.java.data
new file mode 100644
index 0000000..203499c
--- /dev/null
+++ b/jsf/tests/org.eclipse.jst.jsf.core.tests/testfiles/TestEnum1.java.data
@@ -0,0 +1,6 @@
+package org.eclipse.jst.jsf.core.tests.util;
+
+public enum TestEnum1 
+{
+	red, blue, green, yellow, orange, purple
+}
diff --git a/jsf/tests/org.eclipse.jst.jsf.core.tests/testfiles/myfaces_core.tld.data b/jsf/tests/org.eclipse.jst.jsf.core.tests/testfiles/myfaces_core.tld.data
new file mode 100644
index 0000000..9e547d2
--- /dev/null
+++ b/jsf/tests/org.eclipse.jst.jsf.core.tests/testfiles/myfaces_core.tld.data
@@ -0,0 +1,781 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Copyright 2004,2005,2006 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>1.0</tlib-version>
+   <jsp-version>1.2</jsp-version>
+   <short-name>f</short-name>
+   <uri>http://java.sun.com/jsf/core</uri>
+   <display-name>JSF core tag library.</display-name>
+   <description>
+        This tag library implements the standard JSF core tags.
+    </description>
+   <!--
+======================================================
+ Listener, that does all the startup work (configuration, init).
+======================================================
+-->
+   <listener>
+      <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
+   </listener>
+   <!--
+======================================================
+ actionListener
+======================================================
+-->
+   <tag>
+      <name>actionListener</name>
+      <tag-class>org.apache.myfaces.taglib.core.ActionListenerTag</tag-class>
+      <body-content>empty</body-content>
+      <description>
+            This tag creates an instance of the specified ActionListener, and
+            associates it with the nearest parent UIComponent.
+
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+        </description>
+      <attribute>
+         <name>type</name>
+         <required>true</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The fully qualified class name of the ActionListener class.</description>
+      </attribute>
+   </tag>
+   <!--
+======================================================
+ attribute
+======================================================
+-->
+   <tag>
+      <name>attribute</name>
+      <tag-class>javax.faces.webapp.AttributeTag</tag-class>
+      <body-content>empty</body-content>
+      <description>
+            This tag associates an attribute with the nearest parent
+            UIComponent. 
+            &lt;p&gt;
+            When the value is not an EL expression, this tag has the same effect
+            as calling component.getAttributes.put(name, value). When the attribute
+            name specified matches a standard property of the component, that
+            property is set. However it is also valid to assign attributes
+            to components using any arbitrary name; the component itself won't
+            make any use of these but other objects such as custom renderers,
+            validators or action listeners can later retrieve the attribute
+            from the component by name.
+            &lt;p&gt;
+            When the value is an EL expression, this tag has the same effect
+            as calling component.setValueBinding. A call to method
+            component.getAttributes().get(name) will then cause that
+            expression to be evaluated and the result of the expression is
+            returned, not the original EL expression string.
+            &lt;p&gt;
+            See the javadoc for UIComponent.getAttributes for more details.
+            &lt;p&gt;
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+            
+        </description>
+      <attribute>
+         <name>name</name>
+         <required>true</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The name of the attribute.</description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>true</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The attribute's value.</description>
+      </attribute>
+   </tag>
+   <!--
+======================================================
+ converter
+======================================================
+-->
+   <tag>
+      <name>convertDateTime</name>
+      <tag-class>org.apache.myfaces.taglib.core.ConvertDateTimeTag</tag-class>
+      <body-content>empty</body-content>
+      <description>
+            This tag associates a date time converter with the nearest parent UIComponent.
+        
+            Unless otherwise specified, all attributes accept static values or EL expressions.
+        </description>
+      <attribute>
+         <name>dateStyle</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The style of the date.  Values include: default, short, medium, long, and full.</description>
+      </attribute>
+      <attribute>
+         <name>locale</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The name of the locale to be used, instead of the default.</description>
+      </attribute>
+      <attribute>
+         <name>pattern</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>A custom Date formatting pattern, in the format used by java.text.SimpleDateFormat.</description>
+      </attribute>
+      <attribute>
+         <name>timeStyle</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The style of the time.  Values include:  default, short, medium, long, and full.</description>
+      </attribute>
+      <attribute>
+         <name>timeZone</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+                The time zone to use instead of GMT (the default timezone). When
+                this value is a value-binding to a TimeZone instance, that
+                timezone is used. Otherwise this value is treated as a String
+                containing a timezone id, ie as the ID parameter of method
+                java.util.TimeZone.getTimeZone(String).
+            </description>
+      </attribute>
+      <attribute>
+         <name>type</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+                Specifies whether the date, time, or both should be 
+                parsed/formatted.  Values include:  date, time, and both.
+                Default based on setting of timeStyle and dateStyle.
+            </description>
+      </attribute>
+   </tag>
+   <tag>
+      <name>converter</name>
+      <tag-class>javax.faces.webapp.ConverterTag</tag-class>
+      <body-content>empty</body-content>
+      <description>
+            This tag creates an instance of the specified Converter, and
+            associates it with the nearest parent UIComponent.
+        </description>
+      <attribute>
+         <name>converterId</name>
+         <required>true</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The converter's registered ID.</description>
+      </attribute>
+   </tag>
+   <tag>
+      <name>convertNumber</name>
+      <tag-class>org.apache.myfaces.taglib.core.ConvertNumberTag</tag-class>
+      <body-content>empty</body-content>
+      <description>
+            This tag creates a number formatting converter and associates it
+            with the nearest parent UIComponent.
+ 
+            Unless otherwise specified, all attributes accept static values or EL expressions.
+        </description>
+      <attribute>
+         <name>currencyCode</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>ISO 4217 currency code</description>
+      </attribute>
+      <attribute>
+         <name>currencySymbol</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+                The currency symbol used to format a currency value.  Defaults
+                to the currency symbol for locale.
+            </description>
+      </attribute>
+      <attribute>
+         <name>groupingUsed</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Specifies whether output will contain grouping separators.  Default: true.</description>
+      </attribute>
+      <attribute>
+         <name>integerOnly</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Specifies whether only the integer part of the input will be parsed.  Default: false.</description>
+      </attribute>
+      <attribute>
+         <name>locale</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+                The name of the locale to be used, instead of the default as
+                specified in the faces configuration file.
+            </description>
+      </attribute>
+      <attribute>
+         <name>maxFractionDigits</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The maximum number of digits in the fractional portion of the number.</description>
+      </attribute>
+      <attribute>
+         <name>maxIntegerDigits</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The maximum number of digits in the integer portion of the number.</description>
+      </attribute>
+      <attribute>
+         <name>minFractionDigits</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The minimum number of digits in the fractional portion of the number.</description>
+      </attribute>
+      <attribute>
+         <name>minIntegerDigits</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The minimum number of digits in the integer portion of the number.</description>
+      </attribute>
+      <attribute>
+         <name>pattern</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>A custom Date formatting pattern, in the format used by java.text.SimpleDateFormat.</description>
+      </attribute>
+      <attribute>
+         <name>type</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+                The type of formatting/parsing to be performed.  Values include:
+                number, currency, and percent.  Default: number.
+            </description>
+      </attribute>
+   </tag>
+   <!--
+======================================================
+ facet
+======================================================
+-->
+   <tag>
+      <name>facet</name>
+      <tag-class>javax.faces.webapp.FacetTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            This tag adds its child as a facet of the nearest parent UIComponent.
+            A child consisting of multiple elements should be nested within a
+            container component (i.e., within an h:panelGroup for HTML library
+            components).
+
+            Unless otherwise specified, all attributes accept static values or EL expressions.
+        </description>
+      <attribute>
+         <name>name</name>
+         <required>true</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The name of the facet to be created.  This must be a static value.</description>
+      </attribute>
+   </tag>
+   <!--
+======================================================
+ loadBundle
+======================================================
+-->
+   <tag>
+      <name>loadBundle</name>
+      <tag-class>org.apache.myfaces.taglib.core.LoadBundleTag</tag-class>
+      <body-content>empty</body-content>
+      <description>
+            Loads a resource bundle and saves it as a variable in the request scope.
+
+            Unless otherwise specified, all attributes accept static values or EL expressions.
+        </description>
+      <attribute>
+         <name>basename</name>
+         <required>true</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The base name of the resource bundle.</description>
+      </attribute>
+      <attribute>
+         <name>var</name>
+         <required>true</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+                The name of the variable in request scope that the resources
+                are saved to.  This must be a static value.
+            </description>
+      </attribute>
+   </tag>
+   <!--
+======================================================
+ param
+======================================================
+-->
+   <tag>
+      <name>param</name>
+      <tag-class>org.apache.myfaces.taglib.core.ParamTag</tag-class>
+      <body-content>empty</body-content>
+      <description>
+            This tag associates a parameter name-value pair with the nearest
+            parent UIComponent. A UIComponent is created to represent this
+            name-value pair, and stored as a child of the parent component; what
+            effect this has depends upon the renderer of that parent component.
+            &lt;p&gt;
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+            
+        </description>
+      <!-- UIParameter attributes -->
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>id</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>name</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>A String containing the name of the parameter.</description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>true</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The value of this parameter.</description>
+      </attribute>
+   </tag>
+   <!--
+======================================================
+ selectitem
+======================================================
+-->
+   <tag>
+      <name>selectItem</name>
+      <tag-class>org.apache.myfaces.taglib.core.SelectItemTag</tag-class>
+      <body-content>empty</body-content>
+      <description>
+            This tag associates a single SelectItem with the nearest
+            parent UIComponent. The item represents a single option
+            for a component such as an h:selectBooleanCheckbox or h:selectOneMenu.
+            See also component selectItems.
+            &lt;p&gt;
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+            
+        </description>
+      <!-- UISelectItem attributes -->
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>id</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </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>itemDescription</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>An optional description for this item.</description>
+      </attribute>
+      <attribute>
+         <name>itemLabel</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        The locale-specific label that will be displayed to the user for this item.
+    </description>
+      </attribute>
+      <attribute>
+         <name>itemValue</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        The value of this item, of the same type as the parent component's value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An EL expression that refers to a javax.faces.model.SelectItem instance.
+    </description>
+      </attribute>
+   </tag>
+   <!--
+======================================================
+ selectitems
+======================================================
+-->
+   <tag>
+      <name>selectItems</name>
+      <tag-class>org.apache.myfaces.taglib.core.SelectItemsTag</tag-class>
+      <body-content>empty</body-content>
+      <description>
+            This tag associates a set of selection list items with the nearest
+            parent UIComponent. The set of SelectItem objects is retrieved via
+            a value-binding.
+            &lt;p&gt;
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+            
+        </description>
+      <!-- UISelectItems attributes -->
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>id</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An EL expression that specifies the contents of the selection list.
+        The expression can refer to one of the following:
+        &lt;ol&gt;
+            &lt;li&gt;A single SelectItem&lt;/li&gt;
+            &lt;li&gt;An array or Collection of SelectItem instances&lt;/li&gt;
+            &lt;li&gt;A Map. The contents of the Map are used to create SelectItem
+                instances, where the SelectItem's label is the map's key value, 
+                and the SelectItem's value is the map's value. When using a
+                map, it is recommended that an ordered implementation such as
+                java.util.TreeMap is used.&lt;/li&gt;
+        &lt;/ol&gt;
+        The value properties of each of the SelectItems must be of the same
+        basic type as the parent component's value.
+        
+    </description>
+      </attribute>
+   </tag>
+   <!--
+======================================================
+ subview
+======================================================
+-->
+   <tag>
+      <name>subview</name>
+      <tag-class>org.apache.myfaces.taglib.core.SubviewTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            This tag associates a set of UIComponents with the nearest parent
+            UIComponent.  It acts as a naming container to make the IDs of its
+            component elements unique.
+        
+            Unless otherwise specified, all attributes accept static values or EL expressions.
+        </description>
+      <attribute>
+         <name>id</name>
+         <required>true</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+   </tag>
+   <!--
+======================================================
+ validators
+======================================================
+-->
+   <tag>
+      <name>validateDoubleRange</name>
+      <tag-class>org.apache.myfaces.taglib.core.ValidateDoubleRangeTag</tag-class>
+      <body-content>empty</body-content>
+      <description>
+            Creates a validator and associateds it with the nearest parent
+            UIComponent.  When invoked, the validator ensures that values are
+            valid doubles that lie within the minimum and maximum values specified.
+        
+            Commonly associated with a h:inputText entity.
+        
+            Unless otherwise specified, all attributes accept static values or EL expressions.
+        </description>
+      <!-- validator min/max attributes -->
+      <attribute>
+         <name>minimum</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The smallest value that should be considered valid.</description>
+      </attribute>
+      <attribute>
+         <name>maximum</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The largest value that should be considered valid.</description>
+      </attribute>
+   </tag>
+   <tag>
+      <name>validateLength</name>
+      <tag-class>org.apache.myfaces.taglib.core.ValidateLengthTag</tag-class>
+      <body-content>empty</body-content>
+      <description>
+          Creates a validator and associateds it with the nearest parent
+          UIComponent.  When invoked, the validator ensures that values are
+          valid strings with a length that lies within the minimum and maximum
+          values specified.
+        
+          Commonly associated with a h:inputText entity.
+        
+          Unless otherwise specified, all attributes accept static values or EL expressions.
+      </description>
+      <!-- validator min/max attributes -->
+      <attribute>
+         <name>minimum</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The smallest value that should be considered valid.</description>
+      </attribute>
+      <attribute>
+         <name>maximum</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The largest value that should be considered valid.</description>
+      </attribute>
+   </tag>
+   <tag>
+      <name>validateLongRange</name>
+      <tag-class>org.apache.myfaces.taglib.core.ValidateLongRangeTag</tag-class>
+      <body-content>empty</body-content>
+      <description>
+        Creates a validator and associateds it with the nearest parent
+        UIComponent.  When invoked, the validator ensures that values
+        are valid longs that lie within the minimum and maximum values specified.
+        
+        Commonly associated with a h:inputText entity.
+        
+        Unless otherwise specified, all attributes accept static values or EL expressions.
+      </description>
+      <!-- validator min/max attributes -->
+      <attribute>
+         <name>minimum</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The smallest value that should be considered valid.</description>
+      </attribute>
+      <attribute>
+         <name>maximum</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The largest value that should be considered valid.</description>
+      </attribute>
+   </tag>
+   <tag>
+      <name>validator</name>
+      <tag-class>javax.faces.webapp.ValidatorTag</tag-class>
+      <body-content>empty</body-content>
+      <description>
+        Creates a validator and associates it with the nearest parent
+        UIComponent.  During the validation phase (or the apply-request-values
+        phase for immediate components), if the associated component has any
+        submitted value and the conversion of that value to the required
+        type has succeeded then the specified validator type is
+        invoked to test the validity of the converted value.
+        &lt;p&gt;
+        Commonly associated with an h:inputText entity, but may be applied to
+        any input component.
+        &lt;p&gt;
+        Some validators may allow the component to use attributes to define
+        component-specific validation constraints; see the f:attribute tag.
+        See also the "validator" attribute of all input components, which
+        allows a component to specify an arbitrary validation &lt;i&gt;method&lt;/i&gt;
+        (rather than a registered validation type, as this tag does).
+        &lt;p&gt;
+        Unless otherwise specified, all attributes accept static values
+        or EL expressions.
+        
+      </description>
+      <attribute>
+         <name>validatorId</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The registered ID of the desired Validator.</description>
+      </attribute>
+   </tag>
+   <!--
+======================================================
+ valueChangeListener
+======================================================
+-->
+   <tag>
+      <name>valueChangeListener</name>
+      <tag-class>org.apache.myfaces.taglib.core.ValueChangeListenerTag</tag-class>
+      <body-content>empty</body-content>
+      <description>
+            Adds the specified ValueChangeListener to the nearest parent
+            UIComponent (which is expected to be a UIInput component).
+            Whenever the form containing the parent UIComponent is submitted,
+            an instance of the specified type is created. If the submitted
+            value from the component is different from the component's current
+            value then a ValueChangeEvent is queued. When the ValueChangeEvent
+            is processed (at end of the validate phase for non-immediate components,
+            or at end of the apply-request-values phase for immediate components)
+            the object's processValueChange method is invoked.
+            &lt;p&gt;
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+            
+        </description>
+      <attribute>
+         <name>type</name>
+         <required>true</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The name of a Java class that implements ValueChangeListener.</description>
+      </attribute>
+   </tag>
+   <!--
+======================================================
+ verbatim
+======================================================
+-->
+   <tag>
+      <name>verbatim</name>
+      <tag-class>org.apache.myfaces.taglib.core.VerbatimTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            Outputs its body as verbatim text. No JSP tags within the verbatim
+            tag (including JSF tags) are evaluated; the content is treated
+            simply as literal text to be copied to the response.
+            &lt;p&gt;
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+            
+        </description>
+      <attribute>
+         <name>escape</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>If true, generated markup is escaped.  Default:  false.</description>
+      </attribute>
+   </tag>
+   <!--
+======================================================
+ view
+======================================================
+-->
+   <tag>
+      <name>view</name>
+      <tag-class>org.apache.myfaces.taglib.core.ViewTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            Creates a JSF View, which is a container that holds all of the
+            components that are part of the view.
+
+            Unless otherwise specified, all attributes accept static values or EL expressions.
+        </description>
+      <attribute>
+         <name>locale</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The locale of this view.  Default:  the default locale from the configuration file.</description>
+      </attribute>
+   </tag>
+</taglib>
diff --git a/jsf/tests/org.eclipse.jst.jsf.core.tests/testfiles/myfaces_html.tld.data b/jsf/tests/org.eclipse.jst.jsf.core.tests/testfiles/myfaces_html.tld.data
new file mode 100644
index 0000000..386e895
--- /dev/null
+++ b/jsf/tests/org.eclipse.jst.jsf.core.tests/testfiles/myfaces_html.tld.data
@@ -0,0 +1,6200 @@
+<?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>1.0</tlib-version>
+   <jsp-version>1.2</jsp-version>
+   <short-name>h</short-name>
+   <uri>http://java.sun.com/jsf/html</uri>
+   <display-name>JSF HTML tag library.</display-name>
+   <description>
+        This tag library implements the standard JSF HTML tags.
+    </description>
+   <!--
+*************************************************************************************
+Start of revised 1.0 conforming tags (in alphabetical order)
+*************************************************************************************
+-->
+   <!-- column -->
+   <tag>
+      <name>column</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlColumnTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            This tag is commonly used as a child of the dataTable tag, to
+            represent a column of data. It can be decorated with "header" and
+            "footer" facets to drive the output of header and footer rows.
+            Row values are specified via its children.
+
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+        </description>
+      <!-- UIComponent attributes -->
+      <attribute>
+         <name>id</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+   </tag>
+   <!-- commandButton -->
+   <tag>
+      <name>commandButton</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlCommandButtonTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            This tag renders as an HTML input element.
+
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+        </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>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>action</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+    	Specifies the action to take when this command is invoked.
+    	
+        If the value is an expression, it is expected to be a method 
+        binding EL expression that identifies an action method. An action method
+        accepts no parameters and has a String return value, called the action
+        outcome, that identifies the next view displayed. The phase that this
+        event is fired in can be controlled via the immediate attribute.
+
+    	If the value is a string literal, it is treated as a navigation outcome
+    	for the current view.  This is functionally equivalent to a reference to
+    	an action method that returns the string literal.
+    </description>
+      </attribute>
+      <attribute>
+         <name>actionListener</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression that identifies an action listener method
+        to be invoked if this component is activated by the user. An action
+        listener method accepts a parameter of type javax.faces.event.ActionEvent
+        and returns void. The phase that this event is fired in can be controlled
+        via the immediate attribute.
+    </description>
+      </attribute>
+      <attribute>
+         <name>immediate</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that identifies the phase during which action events
+        should fire. During normal event processing, action methods and
+        action listener methods are fired during the "invoke application"
+        phase of request processing. If this attribute is set to "true",
+        these methods are fired instead at the end of the "apply request
+        values" phase.
+    </description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The initial value of this component.</description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+      <!-- HTML 4.0 button attributes -->
+      <attribute>
+         <name>accesskey</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Sets the access key for this element.</description>
+      </attribute>
+      <attribute>
+         <name>alt</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies alternative text that can be used by a browser that can't show this element.</description>
+      </attribute>
+      <attribute>
+         <name>disabled</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: When true, this element cannot receive focus.</description>
+      </attribute>
+      <attribute>
+         <name>onblur</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element loses focus.</description>
+      </attribute>
+      <attribute>
+         <name>onfocus</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element receives focus.</description>
+      </attribute>
+      <attribute>
+         <name>onselect</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element is selected.</description>
+      </attribute>
+      <attribute>
+         <name>onchange</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element is modified.</description>
+      </attribute>
+      <attribute>
+         <name>tabindex</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies the position of this element within the tab order of the document.</description>
+      </attribute>
+      <attribute>
+         <name>type</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: A hint to the user agent about the content type of the linked resource.</description>
+      </attribute>
+      <attribute>
+         <name>size</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The initial width of this control.</description>
+      </attribute>
+      <!-- HtmlCommandButton attributes -->
+      <attribute>
+         <name>image</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The URL of an image that renders in place of the button.</description>
+      </attribute>
+   </tag>
+   <!-- commandLink -->
+   <tag>
+      <name>commandLink</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlCommandLinkTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            This tag renders as an HTML a element.
+
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+        </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>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>action</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+    	Specifies the action to take when this command is invoked.
+    	
+        If the value is an expression, it is expected to be a method 
+        binding EL expression that identifies an action method. An action method
+        accepts no parameters and has a String return value, called the action
+        outcome, that identifies the next view displayed. The phase that this
+        event is fired in can be controlled via the immediate attribute.
+
+    	If the value is a string literal, it is treated as a navigation outcome
+    	for the current view.  This is functionally equivalent to a reference to
+    	an action method that returns the string literal.
+    </description>
+      </attribute>
+      <attribute>
+         <name>actionListener</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression that identifies an action listener method
+        to be invoked if this component is activated by the user. An action
+        listener method accepts a parameter of type javax.faces.event.ActionEvent
+        and returns void. The phase that this event is fired in can be controlled
+        via the immediate attribute.
+    </description>
+      </attribute>
+      <attribute>
+         <name>immediate</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that identifies the phase during which action events
+        should fire. During normal event processing, action methods and
+        action listener methods are fired during the "invoke application"
+        phase of request processing. If this attribute is set to "true",
+        these methods are fired instead at the end of the "apply request
+        values" phase.
+    </description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The initial value of this component.</description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+      <!-- HTML 4.0 anchor (=a) attributes -->
+      <attribute>
+         <name>accesskey</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Sets the access key for this element.</description>
+      </attribute>
+      <attribute>
+         <name>charset</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies the character encoding of the linked resource.</description>
+      </attribute>
+      <attribute>
+         <name>tabindex</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies the position of this element within the tab order of the document.</description>
+      </attribute>
+      <attribute>
+         <name>onblur</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element loses focus.</description>
+      </attribute>
+      <attribute>
+         <name>onfocus</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element receives focus.</description>
+      </attribute>
+      <attribute>
+         <name>type</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: A hint to the user agent about the content type of the linked resource.</description>
+      </attribute>
+      <attribute>
+         <name>target</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Names the frame that should display content generated by invoking this action. </description>
+      </attribute>
+      <attribute>
+         <name>coords</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: The coordinates of regions within a client side image map.</description>
+      </attribute>
+      <!-- "href" is a special LinkRenderer attribute -->
+      <attribute>
+         <name>hreflang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: The language of the linked resource.</description>
+      </attribute>
+      <!-- "name" cannot be set by user -->
+      <attribute>
+         <name>rel</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+                HTML: The relationship between the current document and
+                the linked resource.
+            </description>
+      </attribute>
+      <attribute>
+         <name>rev</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+                HTML: The type(s) describing the reverse link for the linked
+                resource.
+            </description>
+      </attribute>
+      <attribute>
+         <name>shape</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+                HTML: The shape of a region in a client side image map.
+            </description>
+      </attribute>
+   </tag>
+   <!-- data_table -->
+   <tag>
+      <name>dataTable</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlDataTableTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            This component renders as an HTML table element.  It has as its
+            children h:column entities, which describe the columns of the table.
+            It can be decorated with facets named "header" and "footer" to
+            specify header and footer rows.
+
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+        </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>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>columnClasses</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+        A comma separated list of CSS class names to apply to td elements in
+        each column.
+    </description>
+      </attribute>
+      <attribute>
+         <name>footerClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class to be applied to footer cells.</description>
+      </attribute>
+      <attribute>
+         <name>headerClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class to be applied to header cells.</description>
+      </attribute>
+      <attribute>
+         <name>rowClasses</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+        A comma separated list of CSS class names to apply to td elements in
+        each row.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+      <!-- HTML 4.0 table attributes -->
+      <attribute>
+         <name>align</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Specifies the horizontal alignment of this element.  Deprecated in HTML 4.01.</description>
+      </attribute>
+      <attribute>
+         <name>border</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies the width of the border of this element, in pixels.  Deprecated in HTML 4.01.</description>
+      </attribute>
+      <attribute>
+         <name>bgcolor</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The background color of this element.</description>
+      </attribute>
+      <attribute>
+         <name>datafld</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>datasrc</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>dataformatas</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>cellpadding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+        HTML: Specifies the amount of empty space between the cell border and
+        its contents.  It can be either a pixel length or a percentage.
+    </description>
+      </attribute>
+      <attribute>
+         <name>cellspacing</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+        HTML: Specifies the amount of space between the cells of the table.
+        It can be either a pixel length or a percentage of available 
+        space.
+    </description>
+      </attribute>
+      <attribute>
+         <name>frame</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+        HTML: Controls what part of the frame that surrounds a table is 
+        visible.  Values include:  void, above, below, hsides, lhs, 
+        rhs, vsides, box, and border.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rules</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+        HTML: Controls how rules are rendered between cells.  Values include:
+        none, groups, rows, cols, and all.
+    </description>
+      </attribute>
+      <attribute>
+         <name>summary</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+        HTML: Provides a summary of the contents of the table, for
+        accessibility purposes.
+    </description>
+      </attribute>
+      <attribute>
+         <name>width</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+        HTML: Specifies the desired width of the table, as a pixel length or
+        a percentage of available space.
+    </description>
+      </attribute>
+      <!-- UIData attributes -->
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>An EL expression that specifies the data model that backs this table.  The value can be of any type.
+            
+            A value of type DataModel is used directly.  Array-like parameters of type java.util.List, array of Object, 
+            java.sql.ResultSet, or javax.servlet.jsp.jstl.sql.Result are wrapped in a DataModel.
+            
+            Other values are wrapped in a DataModel as a single row.</description>
+      </attribute>
+      <attribute>
+         <name>var</name>
+         <required>true</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Defines the name of the request-scope variable that will hold the current row during iteration.  This value must be a static value.</description>
+      </attribute>
+      <attribute>
+         <name>rows</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The number of rows to be displayed.  Specify zero for all remaining rows in the table.</description>
+      </attribute>
+      <attribute>
+         <name>first</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The index of the first row to be displayed, where 0 is the first row.</description>
+      </attribute>
+   </tag>
+   <!-- form -->
+   <tag>
+      <name>form</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlFormTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            Renders an HTML form element.
+
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+        </description>
+      <!-- UIForm attributes -->
+      <!-- UIComponent attributes -->
+      <attribute>
+         <name>id</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+      <!-- HTML 4.0 form attributes -->
+      <attribute>
+         <name>target</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Names the frame that should display content generated by invoking this action. </description>
+      </attribute>
+      <attribute>
+         <name>accept</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+        HTML: Provides a comma-separated list of content types that the 
+        server processing this form can handle.
+    </description>
+      </attribute>
+      <attribute>
+         <name>acceptCharset</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+        HTML: The list of character encodings accepted by the server for this
+        form.
+    </description>
+      </attribute>
+      <attribute>
+         <name>enctype</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+        HTML: The content type used to submit this form to the server.
+    </description>
+      </attribute>
+      <attribute>
+         <name>onreset</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when this form is reset.</description>
+      </attribute>
+      <attribute>
+         <name>onsubmit</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when this form is submitted.</description>
+      </attribute>
+   </tag>
+   <!-- graphic_image -->
+   <tag>
+      <name>graphicImage</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlGraphicImageTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            Renders an HTML img element.
+
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+        </description>
+      <!-- UIGraphic attributes -->
+      <!-- UIComponent attributes -->
+      <attribute>
+         <name>id</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>url</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An alias for the "value" attribute.
+    </description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        The URL of the image.  If the URL starts with a '/', it is relative
+        to the context path of the web application.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+      <!-- The subset of HTML 4.0 img attributes that are supported by the JSF 1.1 specification -->
+      <attribute>
+         <name>alt</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies alternative text that can be used by a browser that can't show this element.</description>
+      </attribute>
+      <attribute>
+         <name>height</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Overrides the natural height of this image, by specifying height in pixels.</description>
+      </attribute>
+      <attribute>
+         <name>ismap</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies server-side image map handling for this image.</description>
+      </attribute>
+      <attribute>
+         <name>longdesc</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: A link to a long description of the image.</description>
+      </attribute>
+      <!-- "name" attribute cannot be set directly by user -->
+      <!-- "src" attribute cannot be set directly, use "url" instead! -->
+      <attribute>
+         <name>usemap</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies an image map to use with this image.</description>
+      </attribute>
+      <attribute>
+         <name>width</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Overrides the natural width of this image, by specifying width in pixels.</description>
+      </attribute>
+   </tag>
+   <!-- input_hidden -->
+   <tag>
+      <name>inputHidden</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlInputHiddenTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            Renders as an HTML input tag with its type set to "hidden".
+
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+        </description>
+      <!-- UIInput attributes -->
+      <!-- UIOutput attributes -->
+      <!-- UIComponent attributes -->
+      <attribute>
+         <name>id</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The initial value of this component.</description>
+      </attribute>
+      <attribute>
+         <name>converter</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An expression that specifies the Converter for this component.  
+        If the value binding expression is a String, the String is used
+        as an ID to look up a Converter. If the value binding expression
+        is a Converter, uses that instance as the converter.
+            
+        The value can either be a static value (ID case only) or an EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>immediate</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that identifies the phase during which value change
+        events should fire. During normal event processing, value change
+        events are fired during the "invoke application" phase of request
+        processing. If this attribute is set to "true", these methods are
+        fired instead at the end of the "apply request values" phase.
+    </description>
+      </attribute>
+      <attribute>
+         <name>required</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether an input value is required.
+        If this value is true, and no input value is provided, the error
+        message javax.faces.component.UIInput.REQUIRED is posted.
+    </description>
+      </attribute>
+      <attribute>
+         <name>validator</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting FacesContext, UIComponent,
+        and Object parameters, and returning void, that validates the
+        component's local value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>valueChangeListener</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting a ValueChangeEvent parameter
+        and returning void. The specified method is invoked if this component
+        is modified. The phase that this handler is fired in can be controlled
+        via the immediate attribute.
+    </description>
+      </attribute>
+   </tag>
+   <!-- input_secret -->
+   <tag>
+      <name>inputSecret</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlInputSecretTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            Renders as an HTML input tag with its type set to "password".
+
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+        </description>
+      <!-- todo: not all html_input_attributes are used for input_secret
+            in RI (e.g. datafld, datasrc, ...) -->
+      <!-- UIInput attributes -->
+      <!-- UIOutput attributes -->
+      <!-- UIComponent attributes -->
+      <attribute>
+         <name>id</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The initial value of this component.</description>
+      </attribute>
+      <attribute>
+         <name>converter</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An expression that specifies the Converter for this component.  
+        If the value binding expression is a String, the String is used
+        as an ID to look up a Converter. If the value binding expression
+        is a Converter, uses that instance as the converter.
+            
+        The value can either be a static value (ID case only) or an EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>immediate</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that identifies the phase during which value change
+        events should fire. During normal event processing, value change
+        events are fired during the "invoke application" phase of request
+        processing. If this attribute is set to "true", these methods are
+        fired instead at the end of the "apply request values" phase.
+    </description>
+      </attribute>
+      <attribute>
+         <name>required</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether an input value is required.
+        If this value is true, and no input value is provided, the error
+        message javax.faces.component.UIInput.REQUIRED is posted.
+    </description>
+      </attribute>
+      <attribute>
+         <name>validator</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting FacesContext, UIComponent,
+        and Object parameters, and returning void, that validates the
+        component's local value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>valueChangeListener</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting a ValueChangeEvent parameter
+        and returning void. The specified method is invoked if this component
+        is modified. The phase that this handler is fired in can be controlled
+        via the immediate attribute.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 input attributes -->
+      <attribute>
+         <name>accesskey</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Sets the access key for this element.</description>
+      </attribute>
+      <attribute>
+         <name>align</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Specifies the horizontal alignment of this element.  Deprecated in HTML 4.01.</description>
+      </attribute>
+      <attribute>
+         <name>alt</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies alternative text that can be used by a browser that can't show this element.</description>
+      </attribute>
+      <attribute>
+         <name>disabled</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: When true, this element cannot receive focus.</description>
+      </attribute>
+      <attribute>
+         <name>onblur</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element loses focus.</description>
+      </attribute>
+      <attribute>
+         <name>onfocus</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element receives focus.</description>
+      </attribute>
+      <attribute>
+         <name>onchange</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element is modified.</description>
+      </attribute>
+      <attribute>
+         <name>onselect</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element is selected.</description>
+      </attribute>
+      <attribute>
+         <name>readonly</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        HTML: When true, indicates that this component cannot be modified by the user.
+        The element may receive focus unless it has also been disabled.
+    </description>
+      </attribute>
+      <attribute>
+         <name>tabindex</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies the position of this element within the tab order of the document.</description>
+      </attribute>
+      <attribute>
+         <name>maxlength</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: The maximum number of characters allowed to be entered.</description>
+      </attribute>
+      <attribute>
+         <name>size</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: The initial width of this control, in characters.</description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+      <!-- SecretRenderer attributes -->
+      <attribute>
+         <name>redisplay</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+                If true, the value will be re-sent (in plaintext) when the form
+                is rerendered (see JSF.7.4.4). Default is false.
+            </description>
+      </attribute>
+   </tag>
+   <!-- input_text -->
+   <tag>
+      <name>inputText</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlInputTextTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            Renders a HTML input element.
+
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+        </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>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The initial value of this component.</description>
+      </attribute>
+      <attribute>
+         <name>converter</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An expression that specifies the Converter for this component.  
+        If the value binding expression is a String, the String is used
+        as an ID to look up a Converter. If the value binding expression
+        is a Converter, uses that instance as the converter.
+            
+        The value can either be a static value (ID case only) or an EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>immediate</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that identifies the phase during which value change
+        events should fire. During normal event processing, value change
+        events are fired during the "invoke application" phase of request
+        processing. If this attribute is set to "true", these methods are
+        fired instead at the end of the "apply request values" phase.
+    </description>
+      </attribute>
+      <attribute>
+         <name>required</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether an input value is required.
+        If this value is true, and no input value is provided, the error
+        message javax.faces.component.UIInput.REQUIRED is posted.
+    </description>
+      </attribute>
+      <attribute>
+         <name>validator</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting FacesContext, UIComponent,
+        and Object parameters, and returning void, that validates the
+        component's local value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>valueChangeListener</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting a ValueChangeEvent parameter
+        and returning void. The specified method is invoked if this component
+        is modified. The phase that this handler is fired in can be controlled
+        via the immediate attribute.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+      <!-- HTML 4.0 input attributes -->
+      <attribute>
+         <name>accesskey</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Sets the access key for this element.</description>
+      </attribute>
+      <attribute>
+         <name>align</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Specifies the horizontal alignment of this element.  Deprecated in HTML 4.01.</description>
+      </attribute>
+      <attribute>
+         <name>alt</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies alternative text that can be used by a browser that can't show this element.</description>
+      </attribute>
+      <attribute>
+         <name>disabled</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: When true, this element cannot receive focus.</description>
+      </attribute>
+      <attribute>
+         <name>onblur</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element loses focus.</description>
+      </attribute>
+      <attribute>
+         <name>onfocus</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element receives focus.</description>
+      </attribute>
+      <attribute>
+         <name>onchange</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element is modified.</description>
+      </attribute>
+      <attribute>
+         <name>onselect</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element is selected.</description>
+      </attribute>
+      <attribute>
+         <name>readonly</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        HTML: When true, indicates that this component cannot be modified by the user.
+        The element may receive focus unless it has also been disabled.
+    </description>
+      </attribute>
+      <attribute>
+         <name>tabindex</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies the position of this element within the tab order of the document.</description>
+      </attribute>
+      <attribute>
+         <name>maxlength</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: The maximum number of characters allowed to be entered.</description>
+      </attribute>
+      <attribute>
+         <name>size</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: The initial width of this control, in characters.</description>
+      </attribute>
+   </tag>
+   <!-- input_textarea -->
+   <tag>
+      <name>inputTextarea</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlInputTextareaTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            Renders a HTML textarea element.
+
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+        </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>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The initial value of this component.</description>
+      </attribute>
+      <attribute>
+         <name>converter</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An expression that specifies the Converter for this component.  
+        If the value binding expression is a String, the String is used
+        as an ID to look up a Converter. If the value binding expression
+        is a Converter, uses that instance as the converter.
+            
+        The value can either be a static value (ID case only) or an EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>immediate</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that identifies the phase during which value change
+        events should fire. During normal event processing, value change
+        events are fired during the "invoke application" phase of request
+        processing. If this attribute is set to "true", these methods are
+        fired instead at the end of the "apply request values" phase.
+    </description>
+      </attribute>
+      <attribute>
+         <name>required</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether an input value is required.
+        If this value is true, and no input value is provided, the error
+        message javax.faces.component.UIInput.REQUIRED is posted.
+    </description>
+      </attribute>
+      <attribute>
+         <name>validator</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting FacesContext, UIComponent,
+        and Object parameters, and returning void, that validates the
+        component's local value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>valueChangeListener</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting a ValueChangeEvent parameter
+        and returning void. The specified method is invoked if this component
+        is modified. The phase that this handler is fired in can be controlled
+        via the immediate attribute.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 textarea attributes -->
+      <attribute>
+         <name>datafld</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>datasrc</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>dataformatas</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>accesskey</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Sets the access key for this element.</description>
+      </attribute>
+      <attribute>
+         <name>disabled</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: When true, this element cannot receive focus.</description>
+      </attribute>
+      <attribute>
+         <name>onblur</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element loses focus.</description>
+      </attribute>
+      <attribute>
+         <name>onfocus</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element receives focus.</description>
+      </attribute>
+      <attribute>
+         <name>onchange</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element is modified.</description>
+      </attribute>
+      <attribute>
+         <name>onselect</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element is selected.</description>
+      </attribute>
+      <attribute>
+         <name>tabindex</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies the position of this element within the tab order of the document.</description>
+      </attribute>
+      <attribute>
+         <name>readonly</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        HTML: When true, indicates that this component cannot be modified by the user.
+        The element may receive focus unless it has also been disabled.
+    </description>
+      </attribute>
+      <attribute>
+         <name>cols</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: The width of this element, in characters.</description>
+      </attribute>
+      <attribute>
+         <name>rows</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: The height of this element, in characters.</description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+   </tag>
+   <!-- message -->
+   <tag>
+      <name>message</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlMessageTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            Renders the first FacesMessage that is assigned to the component
+            referenced by the "for" attribute.
+
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+        </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>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>for</name>
+         <required>true</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An EL expression, returning a String, with the unique ID of the component 
+        for which messages should be displayed.  This string has the same format
+        as that accepted by the UIComponent.findComponent() method.
+    </description>
+      </attribute>
+      <attribute>
+         <name>showSummary</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An EL expression, returning a boolean, that controls whether the
+        summary text of the associated messages is displayed.  Default: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>showDetail</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An EL expression, returning a boolean, that controls whether the
+        detail text of the associated messages is displayed.  Default: false.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </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>
+   </tag>
+   <!-- messages -->
+   <tag>
+      <name>messages</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlMessagesTag</tag-class>
+      <body-content>JSP</body-content>
+      <description> 
+            Renders all or some FacesMessages depending on the "for" and
+            "globalOnly" attributes:&lt;br&gt;
+            &lt;ul&gt;
+             &lt;li&gt;If globalOnly = true, only global messages, that have no
+               associated clientId, will be displayed.&lt;/li&gt;
+            &lt;li&gt;else if there is a "for" attribute, only messages that are
+               assigned to the component referenced by the "for" attribute
+               are displayed.&lt;/li&gt;
+            &lt;li&gt;else all messages are displayed.&lt;/li&gt;
+           &lt;/ul&gt;
+
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+            
+        </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>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>showSummary</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that controls whether the summary text of the
+        associated messages is displayed.  Default: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>showDetail</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that controls whether the detail text of the
+        associated messages is displayed.  Default: false.
+    </description>
+      </attribute>
+      <attribute>
+         <name>globalOnly</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that controls whether global messages (those without
+        IDs) should be displayed. Default: true.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </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>
+   </tag>
+   <!-- outputLabel -->
+   <tag>
+      <name>outputLabel</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlOutputLabelTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            Renders a HTML label element.
+        
+            In addition to the JSF specification, MyFaces allows it to directly
+            give an output text via the "value" attribute.
+        
+
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+        </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>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The initial value of this component.</description>
+      </attribute>
+      <attribute>
+         <name>converter</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An expression that specifies the Converter for this component.  
+        If the value binding expression is a String, the String is used
+        as an ID to look up a Converter. If the value binding expression
+        is a Converter, uses that instance as the converter.
+            
+        The value can either be a static value (ID case only) or an EL expression.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+      <!-- HTML 4.0 label attributes -->
+      <attribute>
+         <name>accesskey</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Sets the access key for this element.</description>
+      </attribute>
+      <attribute>
+         <name>onblur</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element loses focus.</description>
+      </attribute>
+      <attribute>
+         <name>onfocus</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element receives focus.</description>
+      </attribute>
+      <!-- "for" is a specific LabelRenderer attribute -->
+      <!-- LabelRenderer attributes -->
+      <attribute>
+         <name>for</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The client ID of the target input element of this label.</description>
+      </attribute>
+   </tag>
+   <!-- output_link -->
+   <tag>
+      <name>outputLink</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlOutputLinkTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            Renders a HTML a element.  Child f:param elements are added to the href
+            attribute as query parameters.  Other children are rendered as the link text or image.
+
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+        </description>
+      <!-- UIOutput attributes -->
+      <!-- UIComponent attributes -->
+      <attribute>
+         <name>id</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The initial value of this component.</description>
+      </attribute>
+      <attribute>
+         <name>converter</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An expression that specifies the Converter for this component.  
+        If the value binding expression is a String, the String is used
+        as an ID to look up a Converter. If the value binding expression
+        is a Converter, uses that instance as the converter.
+            
+        The value can either be a static value (ID case only) or an EL expression.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+      <!-- HTML 4.0 anchor (=a) attributes -->
+      <attribute>
+         <name>accesskey</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Sets the access key for this element.</description>
+      </attribute>
+      <attribute>
+         <name>charset</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies the character encoding of the linked resource.</description>
+      </attribute>
+      <attribute>
+         <name>tabindex</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies the position of this element within the tab order of the document.</description>
+      </attribute>
+      <attribute>
+         <name>onblur</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element loses focus.</description>
+      </attribute>
+      <attribute>
+         <name>onfocus</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element receives focus.</description>
+      </attribute>
+      <attribute>
+         <name>type</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: A hint to the user agent about the content type of the linked resource.</description>
+      </attribute>
+      <attribute>
+         <name>target</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Names the frame that should display content generated by invoking this action. </description>
+      </attribute>
+      <attribute>
+         <name>coords</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: The coordinates of regions within a client side image map.</description>
+      </attribute>
+      <!-- "href" is a special LinkRenderer attribute -->
+      <attribute>
+         <name>hreflang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: The language of the linked resource.</description>
+      </attribute>
+      <!-- "name" cannot be set by user -->
+      <attribute>
+         <name>rel</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+                HTML: The relationship between the current document and
+                the linked resource.
+            </description>
+      </attribute>
+      <attribute>
+         <name>rev</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+                HTML: The type(s) describing the reverse link for the linked
+                resource.
+            </description>
+      </attribute>
+      <attribute>
+         <name>shape</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+                HTML: The shape of a region in a client side image map.
+            </description>
+      </attribute>
+   </tag>
+   <!-- output_message -->
+   <tag>
+      <name>outputFormat</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlOutputFormatTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            Renders as text, applying the child f:param values to the value
+            attribute as a MessageFormat string.  If this element has an ID
+            or CSS style properties, the text is wrapped in a span element.
+
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+        </description>
+      <!-- UIOutput attributes -->
+      <!-- UIComponent attributes -->
+      <attribute>
+         <name>id</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The initial value of this component.</description>
+      </attribute>
+      <attribute>
+         <name>converter</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An expression that specifies the Converter for this component.  
+        If the value binding expression is a String, the String is used
+        as an ID to look up a Converter. If the value binding expression
+        is a Converter, uses that instance as the converter.
+            
+        The value can either be a static value (ID case only) or an EL expression.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>escape</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+                Indicates whether rendered markup should be escaped.
+                Default: true
+            </description>
+      </attribute>
+   </tag>
+   <!-- output_text -->
+   <tag>
+      <name>outputText</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlOutputTextTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            Renders the value of the associated UIOutput component.  If this
+            element has an ID or CSS style properties, the text is wrapped in
+            a span element.
+
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+        </description>
+      <!-- UIOutput attributes -->
+      <!-- UIComponent attributes -->
+      <attribute>
+         <name>id</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The initial value of this component.</description>
+      </attribute>
+      <attribute>
+         <name>converter</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An expression that specifies the Converter for this component.  
+        If the value binding expression is a String, the String is used
+        as an ID to look up a Converter. If the value binding expression
+        is a Converter, uses that instance as the converter.
+            
+        The value can either be a static value (ID case only) or an EL expression.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>escape</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+                Indicates whether rendered markup should be escaped.
+                Default: true
+            </description>
+      </attribute>
+   </tag>
+   <!-- panel_grid -->
+   <tag>
+      <name>panelGrid</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlPanelGridTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            This element renders as an HTML table with specified number of
+            columns.  Children of this element are rendered as cells in the
+            table, filling rows from left to right.  Facets named "header"
+            and "footer" are optional and specify the content of the thead
+            and tfoot rows, respectively.
+
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+        </description>
+      <!-- UIPanel attributes -->
+      <!-- UIComponent attributes -->
+      <attribute>
+         <name>id</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+      <!-- HTML 4.0 table attributes -->
+      <attribute>
+         <name>align</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Specifies the horizontal alignment of this element.  Deprecated in HTML 4.01.</description>
+      </attribute>
+      <attribute>
+         <name>border</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies the width of the border of this element, in pixels.  Deprecated in HTML 4.01.</description>
+      </attribute>
+      <attribute>
+         <name>bgcolor</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The background color of this element.</description>
+      </attribute>
+      <attribute>
+         <name>datafld</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>datasrc</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>dataformatas</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>cellpadding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+        HTML: Specifies the amount of empty space between the cell border and
+        its contents.  It can be either a pixel length or a percentage.
+    </description>
+      </attribute>
+      <attribute>
+         <name>cellspacing</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+        HTML: Specifies the amount of space between the cells of the table.
+        It can be either a pixel length or a percentage of available 
+        space.
+    </description>
+      </attribute>
+      <attribute>
+         <name>frame</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+        HTML: Controls what part of the frame that surrounds a table is 
+        visible.  Values include:  void, above, below, hsides, lhs, 
+        rhs, vsides, box, and border.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rules</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+        HTML: Controls how rules are rendered between cells.  Values include:
+        none, groups, rows, cols, and all.
+    </description>
+      </attribute>
+      <attribute>
+         <name>summary</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+        HTML: Provides a summary of the contents of the table, for
+        accessibility purposes.
+    </description>
+      </attribute>
+      <attribute>
+         <name>width</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+        HTML: Specifies the desired width of the table, as a pixel length or
+        a percentage of available space.
+    </description>
+      </attribute>
+      <attribute>
+         <name>columnClasses</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+        A comma separated list of CSS class names to apply to td elements in
+        each column.
+    </description>
+      </attribute>
+      <attribute>
+         <name>footerClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class to be applied to footer cells.</description>
+      </attribute>
+      <attribute>
+         <name>headerClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class to be applied to header cells.</description>
+      </attribute>
+      <attribute>
+         <name>rowClasses</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>
+        A comma separated list of CSS class names to apply to td elements in
+        each row.
+    </description>
+      </attribute>
+      <!-- GridRenderer attributes -->
+      <attribute>
+         <name>columns</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Specifies the number of columns in the grid.</description>
+      </attribute>
+   </tag>
+   <tag>
+      <name>panelGroup</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlPanelGroupTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            This element is used to group other components where the
+            specification requires one child element. If any of the HTML or
+            CSS attributes are set, its content is rendered within a span element.
+
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+        </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>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+   </tag>
+   <tag>
+      <name>selectBooleanCheckbox</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlSelectBooleanCheckboxTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            Allow the user to choose a "true" or "false" value, presented as a
+            checkbox.
+            &lt;p&gt;
+            Renders as an HTML input tag with its type set to "checkbox", and
+            its name attribute set to the id. The "checked" attribute is rendered
+            if the value of this component is true.
+            &lt;p&gt;
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+            
+        </description>
+      <!-- UISelectBoolean attributes -->
+      <!-- "selected" attribute is covered by HTML "checked" attribute -->
+      <!-- UIInput attributes -->
+      <!-- UIOutput attributes -->
+      <!-- UIComponent attributes -->
+      <attribute>
+         <name>id</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The initial value of this component.</description>
+      </attribute>
+      <attribute>
+         <name>converter</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An expression that specifies the Converter for this component.  
+        If the value binding expression is a String, the String is used
+        as an ID to look up a Converter. If the value binding expression
+        is a Converter, uses that instance as the converter.
+            
+        The value can either be a static value (ID case only) or an EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>immediate</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that identifies the phase during which value change
+        events should fire. During normal event processing, value change
+        events are fired during the "invoke application" phase of request
+        processing. If this attribute is set to "true", these methods are
+        fired instead at the end of the "apply request values" phase.
+    </description>
+      </attribute>
+      <attribute>
+         <name>required</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether an input value is required.
+        If this value is true, and no input value is provided, the error
+        message javax.faces.component.UIInput.REQUIRED is posted.
+    </description>
+      </attribute>
+      <attribute>
+         <name>validator</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting FacesContext, UIComponent,
+        and Object parameters, and returning void, that validates the
+        component's local value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>valueChangeListener</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting a ValueChangeEvent parameter
+        and returning void. The specified method is invoked if this component
+        is modified. The phase that this handler is fired in can be controlled
+        via the immediate attribute.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+      <!-- HTML 4.0 input attributes for type "checkbox" -->
+      <attribute>
+         <name>accesskey</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Sets the access key for this element.</description>
+      </attribute>
+      <attribute>
+         <name>alt</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies alternative text that can be used by a browser that can't show this element.</description>
+      </attribute>
+      <attribute>
+         <name>datafld</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>datasrc</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>dataformatas</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>disabled</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: When true, this element cannot receive focus.</description>
+      </attribute>
+      <attribute>
+         <name>onblur</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element loses focus.</description>
+      </attribute>
+      <attribute>
+         <name>onfocus</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element receives focus.</description>
+      </attribute>
+      <attribute>
+         <name>onchange</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element is modified.</description>
+      </attribute>
+      <attribute>
+         <name>onselect</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element is selected.</description>
+      </attribute>
+      <attribute>
+         <name>readonly</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        HTML: When true, indicates that this component cannot be modified by the user.
+        The element may receive focus unless it has also been disabled.
+    </description>
+      </attribute>
+      <attribute>
+         <name>tabindex</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies the position of this element within the tab order of the document.</description>
+      </attribute>
+   </tag>
+   <tag>
+      <name>selectManyCheckbox</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlSelectManyCheckboxTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            Allow the user to select zero or more items from a set of
+            available options. This is presented as a table with one cell per
+            available option; each cell contains a checkbox and the option's
+            label. The "layout" attribute determines whether the checkboxes
+            are laid out horizontally or vertically.
+            &lt;p&gt;
+            The set of available options is defined by adding child
+            f:selectItem or f:selectItems components to this component.
+            &lt;p&gt;
+            The value attribute must be a value-binding expression to a
+            property of type List, Object array or primitive array. That
+            "collection" is expected to contain objects of the same type as
+            SelectItem.getValue() returns for the child SelectItem objects.
+            On rendering, any child whose value is in the list will be
+            selected initially. During the update phase, the property setter
+            is called to replace the original collection with a completely
+            new collection object of the appropriate type. The new collection
+            object contains the value of each child SelectItem object that
+            is currently selected.
+            &lt;p&gt;
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+            
+        </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>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The initial value of this component.</description>
+      </attribute>
+      <attribute>
+         <name>converter</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An expression that specifies the Converter for this component.  
+        If the value binding expression is a String, the String is used
+        as an ID to look up a Converter. If the value binding expression
+        is a Converter, uses that instance as the converter.
+            
+        The value can either be a static value (ID case only) or an EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>immediate</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that identifies the phase during which value change
+        events should fire. During normal event processing, value change
+        events are fired during the "invoke application" phase of request
+        processing. If this attribute is set to "true", these methods are
+        fired instead at the end of the "apply request values" phase.
+    </description>
+      </attribute>
+      <attribute>
+         <name>required</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether an input value is required.
+        If this value is true, and no input value is provided, the error
+        message javax.faces.component.UIInput.REQUIRED is posted.
+    </description>
+      </attribute>
+      <attribute>
+         <name>validator</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting FacesContext, UIComponent,
+        and Object parameters, and returning void, that validates the
+        component's local value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>valueChangeListener</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting a ValueChangeEvent parameter
+        and returning void. The specified method is invoked if this component
+        is modified. The phase that this handler is fired in can be controlled
+        via the immediate attribute.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+      <!-- HTML 4.0 input attributes for type "checkbox" -->
+      <attribute>
+         <name>accesskey</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Sets the access key for this element.</description>
+      </attribute>
+      <attribute>
+         <name>alt</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies alternative text that can be used by a browser that can't show this element.</description>
+      </attribute>
+      <attribute>
+         <name>datafld</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>datasrc</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>dataformatas</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>disabled</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: When true, this element cannot receive focus.</description>
+      </attribute>
+      <attribute>
+         <name>onblur</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element loses focus.</description>
+      </attribute>
+      <attribute>
+         <name>onfocus</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element receives focus.</description>
+      </attribute>
+      <attribute>
+         <name>onchange</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element is modified.</description>
+      </attribute>
+      <attribute>
+         <name>onselect</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element is selected.</description>
+      </attribute>
+      <attribute>
+         <name>readonly</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        HTML: When true, indicates that this component cannot be modified by the user.
+        The element may receive focus unless it has also been disabled.
+    </description>
+      </attribute>
+      <attribute>
+         <name>tabindex</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies the position of this element within the tab order of the document.</description>
+      </attribute>
+      <!-- CheckboxListRenderer attributes -->
+      <attribute>
+         <name>layout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>Controls the layout direction of the child elements.  Values include:  
+	lineDirection (vertical) and pageDirection (horzontal).</description>
+      </attribute>
+      <!--TODO: disabledClass, enabledClass -->
+      <attribute>
+         <name>enabledClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class assigned to the label element for enabled choices.</description>
+      </attribute>
+      <attribute>
+         <name>disabledClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class assigned to the label element for enabled choices.</description>
+      </attribute>
+   </tag>
+   <tag>
+      <name>selectManyListbox</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlSelectManyListboxTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            Allow the user to select zero or more items from a set of
+            available options. This is presented as a listbox which allows
+            multiple rows in the list to be selected simultaneously.
+            &lt;p&gt;
+            The set of available options is defined by adding child
+            f:selectItem or f:selectItems components to this component.
+            &lt;p&gt;
+            The list is rendered as an HTML select element. The "multiple"
+            attribute is set on the element and the size attribute is set to
+            the provided value, defaulting to the number of items in the list
+            if no value is provided. If the size is set to 1, then a
+            "drop-down" list (aka "combo-box") is presented, though if this is
+            the intention then a selectManyMenu should be used instead.
+            &lt;p&gt;
+            The value attribute must be a value-binding expression to a
+            property of type List, Object array or primitive array. That
+            "collection" is expected to contain objects of the same type as
+            SelectItem.getValue() returns for the child SelectItem objects.
+            On rendering, any child whose value is in the list will be
+            selected initially. During the update phase, the property is set
+            to contain a "collection" of values for those child SelectItem
+            objects that are currently selected.
+            &lt;p&gt;
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+            
+        </description>
+      <!-- UISelectMany attributes -->
+      <!-- UIInput attributes -->
+      <!-- UIOutput attributes -->
+      <!-- UIComponent attributes -->
+      <attribute>
+         <name>id</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The initial value of this component.</description>
+      </attribute>
+      <attribute>
+         <name>converter</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An expression that specifies the Converter for this component.  
+        If the value binding expression is a String, the String is used
+        as an ID to look up a Converter. If the value binding expression
+        is a Converter, uses that instance as the converter.
+            
+        The value can either be a static value (ID case only) or an EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>immediate</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that identifies the phase during which value change
+        events should fire. During normal event processing, value change
+        events are fired during the "invoke application" phase of request
+        processing. If this attribute is set to "true", these methods are
+        fired instead at the end of the "apply request values" phase.
+    </description>
+      </attribute>
+      <attribute>
+         <name>required</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether an input value is required.
+        If this value is true, and no input value is provided, the error
+        message javax.faces.component.UIInput.REQUIRED is posted.
+    </description>
+      </attribute>
+      <attribute>
+         <name>validator</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting FacesContext, UIComponent,
+        and Object parameters, and returning void, that validates the
+        component's local value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>valueChangeListener</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting a ValueChangeEvent parameter
+        and returning void. The specified method is invoked if this component
+        is modified. The phase that this handler is fired in can be controlled
+        via the immediate attribute.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+      <!-- HTML 4.0 select attributes -->
+      <attribute>
+         <name>onblur</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element loses focus.</description>
+      </attribute>
+      <attribute>
+         <name>onfocus</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element receives focus.</description>
+      </attribute>
+      <attribute>
+         <name>onchange</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element is modified.</description>
+      </attribute>
+      <attribute>
+         <name>tabindex</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies the position of this element within the tab order of the document.</description>
+      </attribute>
+      <attribute>
+         <name>readonly</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        HTML: When true, indicates that this component cannot be modified by the user.
+        The element may receive focus unless it has also been disabled.
+    </description>
+      </attribute>
+      <attribute>
+         <name>disabled</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: When true, this element cannot receive focus.</description>
+      </attribute>
+      <attribute>
+         <name>datafld</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>datasrc</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>dataformatas</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <!-- "multiple" cannot be set manually -->
+      <!-- "name" cannot be set manually -->
+      <!-- "size" cannot be set directly for it is a MenuRenderer specific attribute -->
+      <!-- ListboxRenderer attributes -->
+      <attribute>
+         <name>size</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>see JSF Spec.</description>
+      </attribute>
+      <attribute>
+         <name>enabledClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+      </attribute>
+      <attribute>
+         <name>disabledClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+      </attribute>
+   </tag>
+   <tag>
+      <name>selectManyMenu</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlSelectManyMenuTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            Allow the user to select zero or more items from a set of available
+            options. This is presented as a drop-down "combo-box" which allows
+            multiple rows in the list to be selected simultaneously.
+            &lt;p&gt;
+            The set of available options is defined by adding child
+            f:selectItem or f:selectItems components to this component.
+            &lt;p&gt;
+            Renders as an HTML select element, with the choices made up of 
+            child f:selectItem or f:selectItems elements. The multiple
+            attribute is set and the size attribute is set to 1.
+            &lt;p&gt;
+            The value attribute must be a value-binding expression to a
+            property of type List, Object array or primitive array. That
+            "collection" is expected to contain objects of the same type as
+            SelectItem.getValue() returns for the child SelectItem objects.
+            On rendering, any child whose value is in the list will be
+            selected initially. During the update phase, the property is set
+            to contain a "collection" of values for those child SelectItem
+            objects that are currently selected.
+            &lt;p&gt;
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+            
+        </description>
+      <!-- UISelectMany attributes -->
+      <!-- UIInput attributes -->
+      <!-- UIOutput attributes -->
+      <!-- UIComponent attributes -->
+      <attribute>
+         <name>id</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The initial value of this component.</description>
+      </attribute>
+      <attribute>
+         <name>converter</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An expression that specifies the Converter for this component.  
+        If the value binding expression is a String, the String is used
+        as an ID to look up a Converter. If the value binding expression
+        is a Converter, uses that instance as the converter.
+            
+        The value can either be a static value (ID case only) or an EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>immediate</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that identifies the phase during which value change
+        events should fire. During normal event processing, value change
+        events are fired during the "invoke application" phase of request
+        processing. If this attribute is set to "true", these methods are
+        fired instead at the end of the "apply request values" phase.
+    </description>
+      </attribute>
+      <attribute>
+         <name>required</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether an input value is required.
+        If this value is true, and no input value is provided, the error
+        message javax.faces.component.UIInput.REQUIRED is posted.
+    </description>
+      </attribute>
+      <attribute>
+         <name>validator</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting FacesContext, UIComponent,
+        and Object parameters, and returning void, that validates the
+        component's local value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>valueChangeListener</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting a ValueChangeEvent parameter
+        and returning void. The specified method is invoked if this component
+        is modified. The phase that this handler is fired in can be controlled
+        via the immediate attribute.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+      <!-- HTML 4.0 select attributes -->
+      <attribute>
+         <name>onblur</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element loses focus.</description>
+      </attribute>
+      <attribute>
+         <name>onfocus</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element receives focus.</description>
+      </attribute>
+      <attribute>
+         <name>onchange</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element is modified.</description>
+      </attribute>
+      <attribute>
+         <name>tabindex</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies the position of this element within the tab order of the document.</description>
+      </attribute>
+      <attribute>
+         <name>readonly</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        HTML: When true, indicates that this component cannot be modified by the user.
+        The element may receive focus unless it has also been disabled.
+    </description>
+      </attribute>
+      <attribute>
+         <name>disabled</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: When true, this element cannot receive focus.</description>
+      </attribute>
+      <attribute>
+         <name>datafld</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>datasrc</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>dataformatas</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <!-- "multiple" cannot be set manually -->
+      <!-- "name" cannot be set manually -->
+      <!-- "size" cannot be set directly for it is a MenuRenderer specific attribute -->
+      <attribute>
+         <name>enabledClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+      </attribute>
+      <attribute>
+         <name>disabledClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+      </attribute>
+   </tag>
+   <tag>
+      <name>selectOneListbox</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlSelectOneListboxTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            Allow the user to choose one option from a set of options.
+            &lt;p&gt;
+            Rendered as a listbox with the MULTIPLE attribute set to false.
+            &lt;p&gt;
+            The available choices are defined via child f:selectItem or
+            f:selectItems elements. The size of the listbox defaults to the
+            number of available choices; if size is explicitly set to a
+            smaller value, then scrollbars will be rendered. If size is set
+            to 1 then a "drop-down menu" (aka "combo-box") is rendered, though
+            if this is the intent then selectOneMenu should be used instead.
+            &lt;p&gt;
+            The value attribute of this component is read to determine
+            which of the available options is initially selected; its value
+            should match the "value" property of one of the child SelectItem
+            objects.
+            &lt;p&gt;
+            On submit of the enclosing form, the value attribute's bound
+            property is updated to contain the "value" property from the
+            chosen SelectItem.
+            &lt;p&gt;
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+            
+        </description>
+      <!-- UISelectOne attributes -->
+      <!-- UIInput attributes -->
+      <!-- UIOutput attributes -->
+      <!-- UIComponent attributes -->
+      <attribute>
+         <name>id</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The initial value of this component.</description>
+      </attribute>
+      <attribute>
+         <name>converter</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An expression that specifies the Converter for this component.  
+        If the value binding expression is a String, the String is used
+        as an ID to look up a Converter. If the value binding expression
+        is a Converter, uses that instance as the converter.
+            
+        The value can either be a static value (ID case only) or an EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>immediate</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that identifies the phase during which value change
+        events should fire. During normal event processing, value change
+        events are fired during the "invoke application" phase of request
+        processing. If this attribute is set to "true", these methods are
+        fired instead at the end of the "apply request values" phase.
+    </description>
+      </attribute>
+      <attribute>
+         <name>required</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether an input value is required.
+        If this value is true, and no input value is provided, the error
+        message javax.faces.component.UIInput.REQUIRED is posted.
+    </description>
+      </attribute>
+      <attribute>
+         <name>validator</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting FacesContext, UIComponent,
+        and Object parameters, and returning void, that validates the
+        component's local value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>valueChangeListener</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting a ValueChangeEvent parameter
+        and returning void. The specified method is invoked if this component
+        is modified. The phase that this handler is fired in can be controlled
+        via the immediate attribute.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+      <!-- HTML 4.0 select attributes -->
+      <attribute>
+         <name>onblur</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element loses focus.</description>
+      </attribute>
+      <attribute>
+         <name>onfocus</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element receives focus.</description>
+      </attribute>
+      <attribute>
+         <name>onchange</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element is modified.</description>
+      </attribute>
+      <attribute>
+         <name>tabindex</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies the position of this element within the tab order of the document.</description>
+      </attribute>
+      <attribute>
+         <name>readonly</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        HTML: When true, indicates that this component cannot be modified by the user.
+        The element may receive focus unless it has also been disabled.
+    </description>
+      </attribute>
+      <attribute>
+         <name>disabled</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: When true, this element cannot receive focus.</description>
+      </attribute>
+      <attribute>
+         <name>datafld</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>datasrc</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>dataformatas</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <!-- "multiple" cannot be set manually -->
+      <!-- "name" cannot be set manually -->
+      <!-- "size" cannot be set directly for it is a MenuRenderer specific attribute -->
+      <!-- ListboxRenderer attributes -->
+      <attribute>
+         <name>size</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>see JSF Spec.</description>
+      </attribute>
+      <attribute>
+         <name>enabledClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+      </attribute>
+      <attribute>
+         <name>disabledClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+      </attribute>
+   </tag>
+   <!-- selectOneMenu -->
+   <tag>
+      <name>selectOneMenu</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlSelectOneMenuTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            Allow the user to choose one option from a set of options.
+            &lt;p&gt;
+            Renders a drop-down menu (aka "combo-box") containing a set of
+            choices, of which only one can be chosen at a time. The available
+            choices are defined via child f:selectItem or f:selectItems
+            elements.
+            &lt;p&gt;
+            The value attribute of this component is read to determine
+            which of the available options is initially selected; its value
+            should match the "value" property of one of the child SelectItem
+            objects.
+            &lt;p&gt;
+            On submit of the enclosing form, the value attribute's bound property
+            is updated to contain the "value" property from the chosen SelectItem.
+            &lt;p&gt;
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+            
+        </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>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The initial value of this component.</description>
+      </attribute>
+      <attribute>
+         <name>converter</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An expression that specifies the Converter for this component.  
+        If the value binding expression is a String, the String is used
+        as an ID to look up a Converter. If the value binding expression
+        is a Converter, uses that instance as the converter.
+            
+        The value can either be a static value (ID case only) or an EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>immediate</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that identifies the phase during which value change
+        events should fire. During normal event processing, value change
+        events are fired during the "invoke application" phase of request
+        processing. If this attribute is set to "true", these methods are
+        fired instead at the end of the "apply request values" phase.
+    </description>
+      </attribute>
+      <attribute>
+         <name>required</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether an input value is required.
+        If this value is true, and no input value is provided, the error
+        message javax.faces.component.UIInput.REQUIRED is posted.
+    </description>
+      </attribute>
+      <attribute>
+         <name>validator</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting FacesContext, UIComponent,
+        and Object parameters, and returning void, that validates the
+        component's local value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>valueChangeListener</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting a ValueChangeEvent parameter
+        and returning void. The specified method is invoked if this component
+        is modified. The phase that this handler is fired in can be controlled
+        via the immediate attribute.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+      <!-- HTML 4.0 select attributes -->
+      <attribute>
+         <name>onblur</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element loses focus.</description>
+      </attribute>
+      <attribute>
+         <name>onfocus</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element receives focus.</description>
+      </attribute>
+      <attribute>
+         <name>onchange</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element is modified.</description>
+      </attribute>
+      <attribute>
+         <name>tabindex</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies the position of this element within the tab order of the document.</description>
+      </attribute>
+      <attribute>
+         <name>readonly</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        HTML: When true, indicates that this component cannot be modified by the user.
+        The element may receive focus unless it has also been disabled.
+    </description>
+      </attribute>
+      <attribute>
+         <name>disabled</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: When true, this element cannot receive focus.</description>
+      </attribute>
+      <attribute>
+         <name>datafld</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>datasrc</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>dataformatas</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <!-- "multiple" cannot be set manually -->
+      <!-- "name" cannot be set manually -->
+      <!-- "size" cannot be set directly for it is a MenuRenderer specific attribute -->
+      <attribute>
+         <name>enabledClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+      </attribute>
+      <attribute>
+         <name>disabledClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+      </attribute>
+   </tag>
+   <!-- selectOneRadio -->
+   <tag>
+      <name>selectOneRadio</name>
+      <tag-class>org.apache.myfaces.taglib.html.HtmlSelectOneRadioTag</tag-class>
+      <body-content>JSP</body-content>
+      <description>
+            Allow the user to choose one option from a set of options.
+            &lt;p&gt;
+            Renders as an HTML table element, containing an input element for
+            each child f:selectItem or f:selectItems elements.  The input
+            elements are rendered as type radio.
+            &lt;p&gt;
+            The value attribute of this component is read to determine
+            which of the available options is initially selected; its value should
+            match the "value" property of one of the child SelectItem objects.
+            &lt;p&gt;
+            On submit of the enclosing form, the value attribute's bound property
+            is updated to contain the "value" property from the chosen SelectItem.
+            &lt;p&gt;
+            Unless otherwise specified, all attributes accept static values
+            or EL expressions.
+            
+        </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>
+        The developer-assigned ID of this component.  The ID must be unique
+        within the scope of the tag's enclosing naming container (e.g. 
+        h:form or f:subview).  This value must be a static value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>binding</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        Identifies a backing bean property (of type UIComponent or appropriate
+        subclass) to bind to this component instance.  This value must be an
+        EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>rendered</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether this component should be rendered.
+        Default value: true.
+    </description>
+      </attribute>
+      <attribute>
+         <name>value</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>The initial value of this component.</description>
+      </attribute>
+      <attribute>
+         <name>converter</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        An expression that specifies the Converter for this component.  
+        If the value binding expression is a String, the String is used
+        as an ID to look up a Converter. If the value binding expression
+        is a Converter, uses that instance as the converter.
+            
+        The value can either be a static value (ID case only) or an EL expression.
+    </description>
+      </attribute>
+      <attribute>
+         <name>immediate</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that identifies the phase during which value change
+        events should fire. During normal event processing, value change
+        events are fired during the "invoke application" phase of request
+        processing. If this attribute is set to "true", these methods are
+        fired instead at the end of the "apply request values" phase.
+    </description>
+      </attribute>
+      <attribute>
+         <name>required</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A boolean value that indicates whether an input value is required.
+        If this value is true, and no input value is provided, the error
+        message javax.faces.component.UIInput.REQUIRED is posted.
+    </description>
+      </attribute>
+      <attribute>
+         <name>validator</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting FacesContext, UIComponent,
+        and Object parameters, and returning void, that validates the
+        component's local value.
+    </description>
+      </attribute>
+      <attribute>
+         <name>valueChangeListener</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        A method binding EL expression, accepting a ValueChangeEvent parameter
+        and returning void. The specified method is invoked if this component
+        is modified. The phase that this handler is fired in can be controlled
+        via the immediate attribute.
+    </description>
+      </attribute>
+      <!-- HTML 4.0 universal attributes -->
+      <attribute>
+         <name>dir</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).</description>
+      </attribute>
+      <attribute>
+         <name>lang</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: The base language of this document.</description>
+      </attribute>
+      <attribute>
+         <name>style</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: CSS styling instructions.</description>
+      </attribute>
+      <attribute>
+         <name>title</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: An advisory title for this element.  Often used by the user agent as a tooltip.</description>
+      </attribute>
+      <attribute>
+         <name>styleClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>The CSS class for this element.  Corresponds to the HTML 'class' attribute.</description>
+      </attribute>
+      <!-- HTML 4.0 event-handler attributes -->
+      <attribute>
+         <name>onclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is clicked.</description>
+      </attribute>
+      <attribute>
+         <name>ondblclick</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the element is double-clicked.</description>
+      </attribute>
+      <attribute>
+         <name>onmousedown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is released over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseover</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved into this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmousemove</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moved while it is in this element.</description>
+      </attribute>
+      <attribute>
+         <name>onmouseout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when the pointing device is moves out of this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeypress</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeydown</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is pressed down over this element.</description>
+      </attribute>
+      <attribute>
+         <name>onkeyup</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>HTML: Script to be invoked when a key is released over this element.</description>
+      </attribute>
+      <!-- HTML 4.0 input attributes for type "radio" -->
+      <attribute>
+         <name>accesskey</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Sets the access key for this element.</description>
+      </attribute>
+      <attribute>
+         <name>alt</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies alternative text that can be used by a browser that can't show this element.</description>
+      </attribute>
+      <attribute>
+         <name>disabled</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: When true, this element cannot receive focus.</description>
+      </attribute>
+      <attribute>
+         <name>onblur</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element loses focus.</description>
+      </attribute>
+      <attribute>
+         <name>onfocus</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element receives focus.</description>
+      </attribute>
+      <attribute>
+         <name>onchange</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element is modified.</description>
+      </attribute>
+      <attribute>
+         <name>onselect</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies a script to be invoked when the element is selected.</description>
+      </attribute>
+      <attribute>
+         <name>readonly</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+        HTML: When true, indicates that this component cannot be modified by the user.
+        The element may receive focus unless it has also been disabled.
+    </description>
+      </attribute>
+      <attribute>
+         <name>tabindex</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>HTML: Specifies the position of this element within the tab order of the document.</description>
+      </attribute>
+      <attribute>
+         <name>datafld</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>datasrc</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <attribute>
+         <name>dataformatas</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <description>Reserved for future use.</description>
+      </attribute>
+      <!-- RadioRenderer attributes -->
+      <attribute>
+         <name>layout</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>
+                Orientation of the options list. Valid values are 
+                "pageDirection" for a vertical layout, or "lineDirection" for
+                 horizontal. The default value is "lineDirection". 
+            </description>
+      </attribute>
+      <attribute>
+         <name>border</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+         <type>java.lang.String</type>
+         <description>Width in pixels of the border to be drawn around the table containing the options list.</description>
+      </attribute>
+      <attribute>
+         <name>enabledClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+      </attribute>
+      <attribute>
+         <name>disabledClass</name>
+         <required>false</required>
+         <rtexprvalue>false</rtexprvalue>
+      </attribute>
+   </tag>
+</taglib>