You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2014/07/27 12:58:15 UTC

svn commit: r1613770 [2/2] - in /tomee/tomee/trunk: ./ container/openejb-core/src/main/java/org/apache/openejb/batchee/ container/openejb-core/src/main/java/org/apache/openejb/cdi/ tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/ tomee/tom...

Modified: tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/jasper/TomEETldScanner.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/jasper/TomEETldScanner.java?rev=1613770&r1=1613769&r2=1613770&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/jasper/TomEETldScanner.java (original)
+++ tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/jasper/TomEETldScanner.java Sun Jul 27 10:58:14 2014
@@ -38,6 +38,7 @@ public class TomEETldScanner extends Tld
     private static final URL JSTL_URL = findJar("openejb-jstl");
     private static final Map<String, TldResourcePath> URI_TLD_RESOURCE = new HashMap<>();
     private static final Map<TldResourcePath, TaglibXml> TLD_RESOURCE_TAG_LIB = new HashMap<>();
+
     static {
         populateMyfacesAndJstlData();
     }
@@ -64,3954 +65,4018 @@ public class TomEETldScanner extends Tld
         // pre-populate with shared libraries (myfaces, jstl)
         if (MYFACES_URL != null) {
             {
-                final TldResourcePath path = new TldResourcePath(MYFACES_URL, null, "META-INF/myfaces_core.tld");
-                URI_TLD_RESOURCE.put("http://java.sun.com/jsf/core", path);
+                final TldResourcePath path = new TldResourcePath(MYFACES_URL, null, "META-INF/myfaces_html.tld");
+                URI_TLD_RESOURCE.put("http://java.sun.com/jsf/html", path);
                 final TaglibXml taglibXml = new TaglibXml();
                 taglibXml.setTlibVersion("1.2");
                 taglibXml.setJspVersion("2.1");
-                taglibXml.setShortName("f");
-                taglibXml.setUri("http://java.sun.com/jsf/core");
-                taglibXml.setInfo("This tag library implements the standard JSF core tags.");
+                taglibXml.setShortName("h");
+                taglibXml.setUri("http://java.sun.com/jsf/html");
+                taglibXml.setInfo("This tag library implements the standard JSF HTML tags.");
                 {
                     final TagXml tag = new TagXml();
-                    tag.setName("subview");
-                    tag.setTagClass("org.apache.myfaces.taglib.core.SubviewTag");
-                    tag.setTeiClass(null);
+                    tag.setName("inputHidden");
+                    tag.setTagClass("org.apache.myfaces.taglib.html.HtmlInputHiddenTag");
                     tag.setBodyContent("JSP");
-                    tag.setDisplayName(null);
-                    tag.setSmallIcon(null);
-                    tag.setLargeIcon(null);
-                    tag.setInfo("Base class for components that provide a new \"namespace\" for the ids of their child components. <p> See the javadocs for interface NamingContainer for further details. </p>");
-                    tag.setDynamicAttributes(false);
+                    tag.setInfo("Renders as an HTML input tag with its type set to \"hidden\". Unless otherwise specified, all attributes accept static values or EL expressions.");
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("rendered", false, "javax.el.ValueExpression", false, false, "A boolean value that indicates whether this component should be rendered. Default value: true.", true, false, "java.lang.Boolean", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("immediate", false, "javax.el.ValueExpression", false, false, "A boolean value that identifies the phase during which action events should fire. <p> During normal event processing, action methods and action listener methods are fired during the \"invoke application\" phase of request processing. If this attribute is set to \"true\", these methods are fired instead at the end of the \"apply request values\" phase. </p>", true, false, "boolean", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("id", true, null, true, false, "Get a string which uniquely identifies this UIComponent within the scope of the nearest ancestor NamingContainer component. The id is not necessarily unique across all components in the current view.", false, false, null, null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("required", false, "javax.el.ValueExpression", false, false, "A boolean value that indicates whether an input value is required. <p> If this value is true and no input value is provided by a postback operation, then the \"requiredMessage\" text is registered as a FacesMessage for the request, and validation fails. </p> <p> Default value: false. </p>", true, false, "boolean", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("binding", false, "javax.el.ValueExpression", false, false, "Identifies a backing bean property (of type UIComponent or appropriate subclass) to bind \" + \"to this component instance. This value must be an EL expression.", true, false, "javax.faces.component.UIComponent", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("converterMessage", false, "javax.el.ValueExpression", false, false, "Text to be displayed to the user as an error message when conversion of a submitted value to the target type fails. <p> </p>", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
-                    taglibXml.addTag(tag);
-                }
-                {
-                    final TagXml tag = new TagXml();
-                    tag.setName("viewParam");
-                    tag.setTagClass("org.apache.myfaces.taglib.core.ViewParamTag");
-                    tag.setTeiClass(null);
-                    tag.setBodyContent("JSP");
-                    tag.setDisplayName(null);
-                    tag.setSmallIcon(null);
-                    tag.setLargeIcon(null);
-                    tag.setInfo("TODO: documentation on jsp and pld are not the same. It appear two params: maxlength and for, but no property getter and setter founded here.  If maxlength is used, we can put something like this:  JSFJspProperty(name = \"maxlength\", returnType = \"java.lang.String\")");
-                    tag.setDynamicAttributes(false);
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("maxlength", false, "javax.el.ValueExpression", false, false, "The max number or characters allowed for this param", true, false, "int", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("requiredMessage", false, "javax.el.ValueExpression", false, false, "Text to be displayed to the user as an error message when this component is marked as \"required\" but no input data is present during a postback (ie the user left the required field blank).", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("required", false, "javax.el.ValueExpression", false, false, "A boolean value that indicates whether an input value is required. <p> If this value is true and no input value is provided by a postback operation, then the \"requiredMessage\" text is registered as a FacesMessage for the request, and validation fails. </p> <p> Default value: false. </p>", true, false, "boolean", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("validator", false, "javax.el.MethodExpression", false, false, "A method-binding EL expression which is invoked during the validation phase for this component. <p> The invoked method is expected to check the submitted value for this component, and if not acceptable then report a validation error for the component. </p> <p> The method is expected to have the prototype </p> <code>public void aMethod(FacesContext, UIComponent,Object)</code>", false, true, "null", "void myMethod( javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object )");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("converterMessage", false, "javax.el.ValueExpression", false, false, "Text to be displayed to the user as an error message when conversion of a submitted value to the target type fails. <p> </p>", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("validatorMessage", false, "javax.el.ValueExpression", false, false, "Text which will be shown if validation fails.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("requiredMessage", false, "javax.el.ValueExpression", false, false, "Text to be displayed to the user as an error message when this component is marked as \"required\" but no input data is present during a postback (ie the user left the required field blank).", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("valueChangeListener", false, "javax.el.MethodExpression", false, false, "A method which is invoked during postback processing for the current view if the submitted value for this component is not equal to the value which the \"value\" expression for this component returns. <p> The phase in which this method is invoked can be controlled via the immediate attribute. </p>", false, true, "null", "void myMethod( javax.faces.event.ValueChangeEvent )");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("validator", false, "javax.el.MethodExpression", false, false, "A method-binding EL expression which is invoked during the validation phase for this component. <p> The invoked method is expected to check the submitted value for this component, and if not acceptable then report a validation error for the component. </p> <p> The method is expected to have the prototype </p> <code>public void aMethod(FacesContext, UIComponent,Object)</code>", false, true, null, "void myMethod( javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object )");
+                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, "javax.el.ValueExpression", false, false, "Gets The initial value of this component.", true, false, "java.lang.Object", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("validatorMessage", false, "javax.el.ValueExpression", false, false, "Text which will be shown if validation fails.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("converter", false, "javax.el.ValueExpression", false, false, "An expression that specifies the Converter for this component. <p> The value can either be a static value (ID) or an EL expression. When a static id is specified, an instance of the converter type registered with that id is used. When this is an EL expression, the result of evaluating the expression must be an object that implements the Converter interface. </p>", true, false, "javax.faces.convert.Converter", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("valueChangeListener", false, "javax.el.MethodExpression", false, false, "A method which is invoked during postback processing for the current view if the submitted value for this component is not equal to the value which the \"value\" expression for this component returns. <p> The phase in which this method is invoked can be controlled via the immediate attribute. </p>", false, true, null, "void myMethod( javax.faces.event.ValueChangeEvent )");
+                        final TagAttributeInfo attr = new TagAttributeInfo("id", false, "null", true, false, "Get a string which uniquely identifies this UIComponent within the scope of the nearest ancestor NamingContainer component. The id is not necessarily unique across all components in the current view.", false, false, "null", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, "javax.el.ValueExpression", false, false, "Gets The initial value of this component.", true, false, "java.lang.Object", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("rendered", false, "javax.el.ValueExpression", false, false, "A boolean value that indicates whether this component should be rendered. Default value: true.", true, false, "boolean", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("converter", false, "javax.el.ValueExpression", false, false, "An expression that specifies the Converter for this component. <p> The value can either be a static value (ID) or an EL expression. When a static id is specified, an instance of the converter type registered with that id is used. When this is an EL expression, the result of evaluating the expression must be an object that implements the Converter interface. </p>", true, false, "javax.faces.convert.Converter", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("binding", false, "javax.el.ValueExpression", false, false, "Identifies a backing bean property (of type UIComponent or appropriate subclass) to bind \" + \"to this component instance. This value must be an EL expression.", true, false, "javax.faces.component.UIComponent", "null");
                         tag.getAttributes().add(attr);
                     }
+                    taglibXml.addTag(tag);
+                }
+                {
+                    final TagXml tag = new TagXml();
+                    tag.setName("column");
+                    tag.setTagClass("org.apache.myfaces.taglib.html.HtmlColumnTag");
+                    tag.setBodyContent("JSP");
+                    tag.setInfo("Creates a UIComponent that represents a single column of data within a parent UIData component. <p> This tag is commonly used as a child of the h:dataTable tag, to represent a column of data within an html table. It can be decorated with nested \"header\" and \"footer\" facets which cause the output of header and footer rows. </p> <p> The non-facet child components of this column are re-rendered on each table row to generate the content of the cell. Those child components can reference the \"var\" attribute of the containing h:dataTable to generate appropriate output for each row. </p>");
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("id", false, null, true, false, "Get a string which uniquely identifies this UIComponent within the scope of the nearest ancestor NamingContainer component. The id is not necessarily unique across all components in the current view.", false, false, null, null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("headerClass", false, "javax.el.ValueExpression", false, false, "CSS class to be used for the header.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("binding", false, "javax.el.ValueExpression", false, false, "Identifies a backing bean property (of type UIComponent or appropriate subclass) to bind \" + \"to this component instance. This value must be an EL expression.", true, false, "javax.faces.component.UIComponent", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("footerClass", false, "javax.el.ValueExpression", false, false, "CSS class to be used for the footer.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
-                    taglibXml.addTag(tag);
-                }
-                {
-                    final TagXml tag = new TagXml();
-                    tag.setName("view");
-                    tag.setTagClass("org.apache.myfaces.taglib.core.ViewTag");
-                    tag.setTeiClass(null);
-                    tag.setBodyContent("JSP");
-                    tag.setDisplayName(null);
-                    tag.setSmallIcon(null);
-                    tag.setLargeIcon(null);
-                    tag.setInfo("Creates a JSF View, which is a container that holds all of the components that are part of the view. <p> Unless otherwise specified, all attributes accept static values or EL expressions. </p> <p> See the javadoc for this class in the <a href=\"http://java.sun.com/j2ee/javaserverfaces/1.2/docs/api/index.html\">JSF Specification</a> for further details. </p>");
-                    tag.setDynamicAttributes(false);
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("afterPhase", false, "javax.el.MethodExpression", false, false, "MethodBinding pointing to a method that takes a javax.faces.event.PhaseEvent and returns void, called after every phase except for restore view.", false, true, null, "void myMethod( javax.faces.event.PhaseEvent )");
+                        final TagAttributeInfo attr = new TagAttributeInfo("rowHeader", false, "javax.el.ValueExpression", false, false, "If true the column is rendered with \"th\" and scope=\"row\" attribute, instead \"td\"", true, false, "boolean", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("beforePhase", false, "javax.el.MethodExpression", false, false, "MethodBinding pointing to a method that takes a javax.faces.event.PhaseEvent and returns void, called before every phase except for restore view.", false, true, null, "void myMethod( javax.faces.event.PhaseEvent )");
+                        final TagAttributeInfo attr = new TagAttributeInfo("rendered", false, "javax.el.ValueExpression", false, false, "A boolean value that indicates whether this component should be rendered. Default value: true.", true, false, "java.lang.Boolean", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("locale", false, "javax.el.ValueExpression", false, false, "The locale for this view. <p> Defaults to the default locale specified in the faces configuration file. </p>", true, false, "java.lang.Object", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("id", false, "java.lang.String", false, false, "Get a string which uniquely identifies this UIComponent within the scope of the nearest ancestor NamingContainer component. The id is not necessarily unique across all components in the current view.", false, false, "null", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("renderKitId", false, "javax.el.ValueExpression", false, false, "Defines what renderkit should be used to render this view.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("binding", false, "javax.el.ValueExpression", false, false, "Identifies a backing bean property (of type UIComponent or appropriate subclass) to bind \" + \"to this component instance. This value must be an EL expression.", true, false, "javax.faces.component.UIComponent", "null");
                         tag.getAttributes().add(attr);
                     }
                     taglibXml.addTag(tag);
                 }
                 {
                     final TagXml tag = new TagXml();
-                    tag.setName("param");
-                    tag.setTagClass("org.apache.myfaces.taglib.core.ParamTag");
-                    tag.setTeiClass(null);
+                    tag.setName("commandButton");
+                    tag.setTagClass("org.apache.myfaces.taglib.html.HtmlCommandButtonTag");
                     tag.setBodyContent("JSP");
-                    tag.setDisplayName(null);
-                    tag.setSmallIcon(null);
-                    tag.setLargeIcon(null);
-                    tag.setInfo("This tag associates a parameter name-value pair with the nearest parent UIComponent. A UIComponent is created to represent this name-value pair, and stored as a child of the parent component; what effect this has depends upon the renderer of that parent component. <p> Unless otherwise specified, all attributes accept static values or EL expressions. </p>");
-                    tag.setDynamicAttributes(false);
+                    tag.setInfo("This tag renders as an HTML input element.");
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, "javax.el.ValueExpression", false, false, "The value of this component.", true, false, "java.lang.Object", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("image", false, "javax.el.ValueExpression", false, false, "HTML: The URL of an image that renders in place of the button.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("name", false, "javax.el.ValueExpression", false, false, "The name under which the value is stored.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, "javax.el.ValueExpression", false, false, "HTML: A hint to the user agent about the content type of the linked resource.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("id", false, null, true, false, "Get a string which uniquely identifies this UIComponent within the scope of the nearest ancestor NamingContainer component. The id is not necessarily unique across all components in the current view.", false, false, null, null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("label", false, "javax.el.ValueExpression", false, false, "A display name for this component.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("binding", false, "javax.el.ValueExpression", false, false, "Identifies a backing bean property (of type UIComponent or appropriate subclass) to bind \" + \"to this component instance. This value must be an EL expression.", true, false, "javax.faces.component.UIComponent", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("style", false, "javax.el.ValueExpression", false, false, "HTML: CSS styling instructions.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
-                    taglibXml.addTag(tag);
-                }
-                {
-                    final TagXml tag = new TagXml();
-                    tag.setName("selectItem");
-                    tag.setTagClass("org.apache.myfaces.taglib.core.SelectItemTag");
-                    tag.setTeiClass(null);
-                    tag.setBodyContent("empty");
-                    tag.setDisplayName(null);
-                    tag.setSmallIcon(null);
-                    tag.setLargeIcon(null);
-                    tag.setInfo("This tag associates a single SelectItem with the nearest parent UIComponent. The item represents a single option for a component such as an h:selectBooleanCheckbox or h:selectOneMenu. See also component selectItems. <p> Unless otherwise specified, all attributes accept static values or EL expressions. </p> <p> UISelectItem should be nestetd inside a UISelectMany or UISelectOne component, and results in the addition of a SelectItem instance to the list of available options for the parent component </p>");
-                    tag.setDynamicAttributes(false);
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, "javax.el.ValueExpression", false, false, "The initial value of this component.", true, false, "javax.faces.model.SelectItem", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("styleClass", false, "javax.el.ValueExpression", false, false, "The CSS class for this element.  Corresponds to the HTML 'class' attribute.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("itemDisabled", false, "javax.el.ValueExpression", false, false, "Determine whether this item can be chosen by the user. When true, this item cannot be chosen by the user. If this method is ever called, then any EL-binding for the disabled property will be ignored.", true, false, "java.lang.Boolean", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("alt", false, "javax.el.ValueExpression", false, false, "HTML: Specifies alternative text that can be used by a browser that can't show this element.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("escape", false, "javax.el.ValueExpression", false, false, "The escape setting for the label of this selection item.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("tabindex", false, "javax.el.ValueExpression", false, false, "HTML: Specifies the position of this element within the tab order of the document.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("itemDescription", false, "javax.el.ValueExpression", false, false, "For use in development tools.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onblur", false, "javax.el.ValueExpression", false, false, "HTML: Specifies a script to be invoked when the element loses focus.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("itemLabel", false, "javax.el.ValueExpression", false, false, "The string which will be presented to the user for this option.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onfocus", false, "javax.el.ValueExpression", false, false, "HTML: Specifies a script to be invoked when the element receives focus.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("itemValue", false, "javax.el.ValueExpression", false, false, "The value for this Item.", true, false, "java.lang.Object", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("accesskey", false, "javax.el.ValueExpression", false, false, "HTML: Sets the access key for this element.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("noSelectionOption", false, "javax.el.ValueExpression", false, false, "Indicate this component represent no selection option.  Default value is false.", true, false, "java.lang.Boolean", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("role", false, "javax.el.ValueExpression", false, false, "HTML: An advisory title for this element.  Often used by the user agent as a tooltip.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("id", false, null, true, false, "Get a string which uniquely identifies this UIComponent within the scope of the nearest ancestor NamingContainer component. The id is not necessarily unique across all components in the current view.", false, false, null, null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onchange", false, "javax.el.ValueExpression", false, false, "HTML: Specifies a script to be invoked when the element is modified.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("binding", false, "javax.el.ValueExpression", false, false, "Identifies a backing bean property (of type UIComponent or appropriate subclass) to bind \" + \"to this component instance. This value must be an EL expression.", true, false, "javax.faces.component.UIComponent", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onselect", false, "javax.el.ValueExpression", false, false, "HTML: Specifies a script to be invoked when the element is selected.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
-                    taglibXml.addTag(tag);
-                }
-                {
-                    final TagXml tag = new TagXml();
-                    tag.setName("selectItems");
-                    tag.setTagClass("org.apache.myfaces.taglib.core.SelectItemsTag");
-                    tag.setTeiClass(null);
-                    tag.setBodyContent("empty");
-                    tag.setDisplayName(null);
-                    tag.setSmallIcon(null);
-                    tag.setLargeIcon(null);
-                    tag.setInfo("This tag associates a set of selection list items with the nearest parent UIComponent. The set of SelectItem objects is retrieved via a value-binding. <p> Unless otherwise specified, all attributes accept static values or EL expressions. </p> <p> UISelectItems should be nested inside a UISelectMany or UISelectOne component, and results in  the addition of one ore more SelectItem instance to the list of available options for the parent component </p>");
-                    tag.setDynamicAttributes(false);
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, "javax.el.ValueExpression", false, false, "The initial value of this component.", true, false, "java.lang.Object", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onclick", false, "javax.el.ValueExpression", false, false, "HTML: Script to be invoked when the element is clicked.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of a request-scope attribute under which the current item of the collection, array, etc. of the value attribute will be  exposed so that it can be referred to in EL for other attributes  of this component.", false, false, null, null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("ondblclick", false, "javax.el.ValueExpression", false, false, "HTML: Script to be invoked when the element is double-clicked.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("itemValue", false, "javax.el.ValueExpression", false, false, "The value for the current item.", true, false, "java.lang.Object", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onkeydown", false, "javax.el.ValueExpression", false, false, "HTML: Script to be invoked when a key is pressed down over this element.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("itemLabel", false, "javax.el.ValueExpression", false, false, "The label of the current item.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onkeypress", false, "javax.el.ValueExpression", false, false, "HTML: Script to be invoked when a key is pressed over this element.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("itemDescription", false, "javax.el.ValueExpression", false, false, "The description of the current item.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onkeyup", false, "javax.el.ValueExpression", false, false, "HTML: Script to be invoked when a key is released over this element.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("itemDisabled", false, "javax.el.ValueExpression", false, false, "Determines if the current item is selectable or not.", true, false, "java.lang.Boolean", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onmousedown", false, "javax.el.ValueExpression", false, false, "HTML: Script to be invoked when the pointing device is pressed over this element.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("itemLabelEscaped", false, "javax.el.ValueExpression", false, false, "Determines if the rendered markup for the current item receives normal JSF HTML escaping or not.", true, false, "java.lang.Boolean", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onmousemove", false, "javax.el.ValueExpression", false, false, "HTML: Script to be invoked when the pointing device is moved while it is in this element.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("id", false, null, true, false, "Get a string which uniquely identifies this UIComponent within the scope of the nearest ancestor NamingContainer component. The id is not necessarily unique across all components in the current view.", false, false, null, null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onmouseout", false, "javax.el.ValueExpression", false, false, "HTML: Script to be invoked when the pointing device is moves out of this element.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("binding", false, "javax.el.ValueExpression", false, false, "Identifies a backing bean property (of type UIComponent or appropriate subclass) to bind \" + \"to this component instance. This value must be an EL expression.", true, false, "javax.faces.component.UIComponent", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onmouseover", false, "javax.el.ValueExpression", false, false, "HTML: Script to be invoked when the pointing device is moved into this element.", true, false, "java.lang.String", "null");
+                        tag.getAttributes().add(attr);
+                    }
+                    {
+                        final TagAttributeInfo attr = new TagAttributeInfo("onmouseup", false, "javax.el.ValueExpression", false, false, "HTML: Script to be invoked when the pointing device is released over this element.", true, false, "java.lang.String", "null");
+                        tag.getAttributes().add(attr);
+                    }
+                    {
+                        final TagAttributeInfo attr = new TagAttributeInfo("dir", false, "javax.el.ValueExpression", false, false, "HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).", true, false, "java.lang.String", "null");
+                        tag.getAttributes().add(attr);
+                    }
+                    {
+                        final TagAttributeInfo attr = new TagAttributeInfo("lang", false, "javax.el.ValueExpression", false, false, "HTML: The base language of this document.", true, false, "java.lang.String", "null");
+                        tag.getAttributes().add(attr);
+                    }
+                    {
+                        final TagAttributeInfo attr = new TagAttributeInfo("title", false, "javax.el.ValueExpression", false, false, "HTML: An advisory title for this element.  Often used by the user agent as a tooltip.", true, false, "java.lang.String", "null");
+                        tag.getAttributes().add(attr);
+                    }
+                    {
+                        final TagAttributeInfo attr = new TagAttributeInfo("disabled", false, "javax.el.ValueExpression", false, false, "HTML: When true, this element cannot receive focus.", true, false, "boolean", "null");
+                        tag.getAttributes().add(attr);
+                    }
+                    {
+                        final TagAttributeInfo attr = new TagAttributeInfo("readonly", false, "javax.el.ValueExpression", false, false, "HTML: When true, indicates that this component cannot be modified by the user. The element may receive focus unless it has also been disabled.", true, false, "boolean", "null");
                         tag.getAttributes().add(attr);
                     }
-                    taglibXml.addTag(tag);
-                }
-                {
-                    final TagXml tag = new TagXml();
-                    tag.setName("convertDateTime");
-                    tag.setTagClass("org.apache.myfaces.taglib.core.ConvertDateTimeTag");
-                    tag.setTeiClass(null);
-                    tag.setBodyContent("empty");
-                    tag.setDisplayName(null);
-                    tag.setSmallIcon(null);
-                    tag.setLargeIcon(null);
-                    tag.setInfo("This tag associates a date time converter with the nearest parent UIComponent.  Unless otherwise specified, all attributes accept static values or EL expressions.  see Javadoc of <a href=\"http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html\">JSF Specification</a>");
-                    tag.setDynamicAttributes(false);
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("dateStyle", false, "javax.el.ValueExpression", false, false, "The style of the date.  Values include: default, short, medium,  long, and full.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("immediate", false, "javax.el.ValueExpression", false, false, "A boolean value that identifies the phase during which action events should fire. <p> During normal event processing, action methods and action listener methods are fired during the \"invoke application\" phase of request processing. If this attribute is set to \"true\", these methods are fired instead at the end of the \"apply request values\" phase. </p>", true, false, "boolean", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("locale", false, "javax.el.ValueExpression", false, false, "The name of the locale to be used, instead of the default.", true, false, "java.lang.Object", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, "javax.el.ValueExpression", false, false, "The text to display to the user for this command component.", true, false, "java.lang.Object", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("pattern", false, "javax.el.ValueExpression", false, false, "A custom Date formatting pattern, in the format used by java.text.SimpleDateFormat.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("action", false, "javax.el.MethodExpression", false, false, "The action to take when this command is invoked. <p> If the value is an expression, it is expected to be a method binding EL expression that identifies an action method. An action method accepts no parameters and has a String return value, called the action outcome, that identifies the next view displayed. The phase that this event is fired in can be controlled via the immediate attribute. </p> <p>  If the value is a string literal, it is treated as a navigation outcome for the current view. This is functionally equivalent to a reference to an action method that returns the string literal. </p>", false, true, "null", "java.lang.Object myMethod(  )");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("timeStyle", false, "javax.el.ValueExpression", false, false, "The style of the time.  Values include:  default, short, medium, long,  and full.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("actionListener", false, "javax.el.MethodExpression", false, false, "", false, true, "null", "void myMethod( javax.faces.event.ActionEvent )");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("timeZone", false, "javax.el.ValueExpression", false, false, "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).", true, false, "java.lang.Object", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("id", false, "null", true, false, "Get a string which uniquely identifies this UIComponent within the scope of the nearest ancestor NamingContainer component. The id is not necessarily unique across all components in the current view.", false, false, "null", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, "javax.el.ValueExpression", false, false, "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.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("rendered", false, "javax.el.ValueExpression", false, false, "A boolean value that indicates whether this component should be rendered. Default value: true.", true, false, "boolean", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("binding", false, "javax.el.ValueExpression", false, false, "A ValueExpression that evaluates to a DateTimeConverter.", true, false, "javax.faces.convert.DateTimeConverter", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("binding", false, "javax.el.ValueExpression", false, false, "Identifies a backing bean property (of type UIComponent or appropriate subclass) to bind \" + \"to this component instance. This value must be an EL expression.", true, false, "javax.faces.component.UIComponent", "null");
                         tag.getAttributes().add(attr);
                     }
                     taglibXml.addTag(tag);
                 }
                 {
                     final TagXml tag = new TagXml();
-                    tag.setName("convertNumber");
-                    tag.setTagClass("org.apache.myfaces.taglib.core.ConvertNumberTag");
-                    tag.setTeiClass(null);
-                    tag.setBodyContent("empty");
-                    tag.setDisplayName(null);
-                    tag.setSmallIcon(null);
-                    tag.setLargeIcon(null);
-                    tag.setInfo("This tag creates a number formatting converter and associates it with the nearest parent UIComponent.  Unless otherwise specified, all attributes accept static values or EL expressions.  see Javadoc of <a href=\"http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html\">JSF Specification</a>");
-                    tag.setDynamicAttributes(false);
+                    tag.setName("commandLink");
+                    tag.setTagClass("org.apache.myfaces.taglib.html.HtmlCommandLinkTag");
+                    tag.setBodyContent("JSP");
+                    tag.setInfo("This tag renders as an HTML a element.");
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("currencyCode", false, "javax.el.ValueExpression", false, false, "ISO 4217 currency code", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("disabled", false, "javax.el.ValueExpression", false, false, "When true, this element cannot receive focus.", true, false, "boolean", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("currencySymbol", false, "javax.el.ValueExpression", false, false, "The currency symbol used to format a currency value.  Defaults to the currency symbol for locale.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("style", false, "javax.el.ValueExpression", false, false, "HTML: CSS styling instructions.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("groupingUsed", false, "javax.el.ValueExpression", false, false, "Specifies whether output will contain grouping separators.  Default: true.", true, false, "java.lang.Boolean", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("styleClass", false, "javax.el.ValueExpression", false, false, "The CSS class for this element.  Corresponds to the HTML 'class' attribute.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("integerOnly", false, "javax.el.ValueExpression", false, false, "Specifies whether only the integer part of the input will be parsed.  Default: false.", true, false, "java.lang.Boolean", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("tabindex", false, "javax.el.ValueExpression", false, false, "HTML: Specifies the position of this element within the tab order of the document.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("locale", false, "javax.el.ValueExpression", false, false, "The name of the locale to be used, instead of the default as specified in the faces configuration file.", true, false, "java.lang.Object", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onblur", false, "javax.el.ValueExpression", false, false, "HTML: Specifies a script to be invoked when the element loses focus.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("maxFractionDigits", false, "javax.el.ValueExpression", false, false, "The maximum number of digits in the fractional portion of the number.", true, false, "java.lang.Integer", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onfocus", false, "javax.el.ValueExpression", false, false, "HTML: Specifies a script to be invoked when the element receives focus.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("maxIntegerDigits", false, "javax.el.ValueExpression", false, false, "The maximum number of digits in the integer portion of the number.", true, false, "java.lang.Integer", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("accesskey", false, "javax.el.ValueExpression", false, false, "HTML: Sets the access key for this element.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("minFractionDigits", false, "javax.el.ValueExpression", false, false, "The minimum number of digits in the fractional portion of the number.", true, false, "java.lang.Integer", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("role", false, "javax.el.ValueExpression", false, false, "HTML: An advisory title for this element.  Often used by the user agent as a tooltip.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("minIntegerDigits", false, "javax.el.ValueExpression", false, false, "The minimum number of digits in the integer portion of the number.", true, false, "java.lang.Integer", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onclick", false, "javax.el.ValueExpression", false, false, "HTML: Script to be invoked when the element is clicked.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("pattern", false, "javax.el.ValueExpression", false, false, "A custom Date formatting pattern, in the format used by java.text.SimpleDateFormat.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("ondblclick", false, "javax.el.ValueExpression", false, false, "HTML: Script to be invoked when the element is double-clicked.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, "javax.el.ValueExpression", false, false, "The type of formatting/parsing to be performed.  Values include: number, currency, and percent.  Default: number.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onkeydown", false, "javax.el.ValueExpression", false, false, "HTML: Script to be invoked when a key is pressed down over this element.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("binding", false, "javax.el.ValueExpression", false, false, "A ValueExpression that evaluates to a NumberConverter.", true, false, "javax.faces.convert.NumberConverter", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onkeypress", false, "javax.el.ValueExpression", false, false, "HTML: Script to be invoked when a key is pressed over this element.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
-                    taglibXml.addTag(tag);
-                }
-                {
-                    final TagXml tag = new TagXml();
-                    tag.setName("validateDoubleRange");
-                    tag.setTagClass("org.apache.myfaces.taglib.core.ValidateDoubleRangeTag");
-                    tag.setTeiClass(null);
-                    tag.setBodyContent("empty");
-                    tag.setDisplayName(null);
-                    tag.setSmallIcon(null);
-                    tag.setLargeIcon(null);
-                    tag.setInfo("Creates a validator and associateds it with the nearest parent UIComponent.  When invoked, the validator ensures that values are valid doubles that lie within the minimum and maximum values specified.  Commonly associated with a h:inputText entity.  Unless otherwise specified, all attributes accept static values or EL expressions.  see Javadoc of <a href=\"http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html\">JSF Specification</a>");
-                    tag.setDynamicAttributes(false);
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("maximum", false, "javax.el.ValueExpression", false, false, "The largest value that should be considered valid.", true, false, "java.lang.Double", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onkeyup", false, "javax.el.ValueExpression", false, false, "HTML: Script to be invoked when a key is released over this element.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("minimum", false, "javax.el.ValueExpression", false, false, "The smallest value that should be considered valid.", true, false, "java.lang.Double", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onmousedown", false, "javax.el.ValueExpression", false, false, "HTML: Script to be invoked when the pointing device is pressed over this element.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("binding", false, "javax.el.ValueExpression", false, false, "A ValueExpression that evaluates to a DoubleRangeValidator.", true, false, "javax.faces.validator.DoubleRangeValidator", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onmousemove", false, "javax.el.ValueExpression", false, false, "HTML: Script to be invoked when the pointing device is moved while it is in this element.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
-                    taglibXml.addTag(tag);
-                }
-                {
-                    final TagXml tag = new TagXml();
-                    tag.setName("validateLength");
-                    tag.setTagClass("org.apache.myfaces.taglib.core.ValidateLengthTag");
-                    tag.setTeiClass(null);
-                    tag.setBodyContent("empty");
-                    tag.setDisplayName(null);
-                    tag.setSmallIcon(null);
-                    tag.setLargeIcon(null);
-                    tag.setInfo("Creates a validator and associateds it with the nearest parent UIComponent.  When invoked, the validator ensures that values are valid strings with a length that lies within the minimum and maximum values specified.  Commonly associated with a h:inputText entity.  Unless otherwise specified, all attributes accept static values or EL expressions.  see Javadoc of <a href=\"http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html\">JSF Specification</a>");
-                    tag.setDynamicAttributes(false);
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("maximum", false, "javax.el.ValueExpression", false, false, "The largest value that should be considered valid.", true, false, "java.lang.Integer", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onmouseout", false, "javax.el.ValueExpression", false, false, "HTML: Script to be invoked when the pointing device is moves out of this element.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("minimum", false, "javax.el.ValueExpression", false, false, "The smallest value that should be considered valid.", true, false, "java.lang.Integer", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onmouseover", false, "javax.el.ValueExpression", false, false, "HTML: Script to be invoked when the pointing device is moved into this element.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("binding", false, "javax.el.ValueExpression", false, false, "A ValueExpression that evaluates to a LengthValidator.", true, false, "javax.faces.validator.LengthValidator", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("onmouseup", false, "javax.el.ValueExpression", false, false, "HTML: Script to be invoked when the pointing device is released over this element.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
-                    taglibXml.addTag(tag);
-                }
-                {
-                    final TagXml tag = new TagXml();
-                    tag.setName("validateLongRange");
-                    tag.setTagClass("org.apache.myfaces.taglib.core.ValidateLongRangeTag");
-                    tag.setTeiClass(null);
-                    tag.setBodyContent("empty");
-                    tag.setDisplayName(null);
-                    tag.setSmallIcon(null);
-                    tag.setLargeIcon(null);
-                    tag.setInfo("Creates a validator and associateds it with the nearest parent UIComponent.  When invoked, the validator ensures that values are valid longs that lie within the minimum and maximum values specified.  Commonly associated with a h:inputText entity.  Unless otherwise specified, all attributes accept static values or EL expressions.  see Javadoc of <a href=\"http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html\">JSF Specification</a>");
-                    tag.setDynamicAttributes(false);
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("maximum", false, "javax.el.ValueExpression", false, false, "The largest value that should be considered valid.", true, false, "java.lang.Long", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("dir", false, "javax.el.ValueExpression", false, false, "HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("minimum", false, "javax.el.ValueExpression", false, false, "The smallest value that should be considered valid.", true, false, "java.lang.Long", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("lang", false, "javax.el.ValueExpression", false, false, "HTML: The base language of this document.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("binding", false, "javax.el.ValueExpression", false, false, "A ValueExpression that evaluates to a LongRangeValidator.", true, false, "javax.faces.validator.LongRangeValidator", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("title", false, "javax.el.ValueExpression", false, false, "HTML: An advisory title for this element.  Often used by the user agent as a tooltip.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
-                    taglibXml.addTag(tag);
-                }
-                {
-                    final TagXml tag = new TagXml();
-                    tag.setName("validateRegex");
-                    tag.setTagClass("org.apache.myfaces.taglib.core.ValidateRegexTag");
-                    tag.setTeiClass(null);
-                    tag.setBodyContent("empty");
-                    tag.setDisplayName(null);
-                    tag.setSmallIcon(null);
-                    tag.setLargeIcon(null);
-                    tag.setInfo("<p>   <strong>RegexValidator</strong> is a {@link javax.faces.validator.Validator}   that checks the value of the corresponding component against specified   pattern using Java regular expression syntax.    The regular expression syntax accepted by the RegexValidator class is   same as mentioned in class {@link java.util.regex.Pattern} in package   <code>java.util.regex</code>. </p>  <p>   The following algorithm is implemented: </p>  <ul>   <li>If the passed value is <code>null</code>, exit immediately.</li>   <li>     If the passed value is not a String, exit with a {@link #NOT_MATCHED_MESSAGE_ID}     error message.   </li>   <li>     If no pattern has been set, or pattern resolves to <code>null</code> or an     empty String, throw a {@link javax.faces.validator.ValidatorException}     with a {@link #PATTERN_NOT_SET_MESSAGE_ID} message.   </li>   <li>     If pattern is not a valid regular expression, according to the rules as defined     in class {
 @link java.util.regex.Pattern}, throw a {@link ValidatorException}     with a (@link #MATCH_EXCEPTION_MESSAGE_ID} message.   </li>   <li>     If a <code>pattern</code> property has been configured on this     {@link javax.faces.validator.Validator}, check the passed value against this pattern.     If value does not match pattern throw a {@link ValidatorException}     containing a {@link #NOT_MATCHED_MESSAGE_ID} message.   </li> </ul>");
-                    tag.setDynamicAttributes(false);
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("pattern", true, "javax.el.ValueExpression", false, false, "Return the ValueExpression that yields the regular expression pattern when evaluated.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("charset", false, "javax.el.ValueExpression", false, false, "HTML: Specifies the character encoding of the linked resource.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("binding", false, "javax.el.ValueExpression", false, false, "A ValueExpression that evaluates to a RegexValidator.", true, false, "javax.faces.validator.RegexValidator", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("coords", false, "javax.el.ValueExpression", false, false, "HTML: The coordinates of regions within a client side image map.", true, false, "java.lang.String", "null");
+                        tag.getAttributes().add(attr);
+                    }
+                    {
+                        final TagAttributeInfo attr = new TagAttributeInfo("hreflang", false, "javax.el.ValueExpression", false, false, "HTML: The language of the linked resource.", true, false, "java.lang.String", "null");
+                        tag.getAttributes().add(attr);
+                    }
+                    {
+                        final TagAttributeInfo attr = new TagAttributeInfo("rel", false, "javax.el.ValueExpression", false, false, "HTML: The relationship between the current document and the linked resource.", true, false, "java.lang.String", "null");
+                        tag.getAttributes().add(attr);
+                    }
+                    {
+                        final TagAttributeInfo attr = new TagAttributeInfo("rev", false, "javax.el.ValueExpression", false, false, "HTML: The type(s) describing the reverse link for the linked resource.", true, false, "java.lang.String", "null");
+                        tag.getAttributes().add(attr);
+                    }
+                    {
+                        final TagAttributeInfo attr = new TagAttributeInfo("shape", false, "javax.el.ValueExpression", false, false, "HTML: The shape of a region in a client side image map.", true, false, "java.lang.String", "null");
+                        tag.getAttributes().add(attr);
+                    }
+                    {
+                        final TagAttributeInfo attr = new TagAttributeInfo("target", false, "javax.el.ValueExpression", false, false, "HTML: Names the frame that should display content generated by invoking this action.", true, false, "java.lang.String", "null");
+                        tag.getAttributes().add(attr);
+                    }
+                    {
+                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, "javax.el.ValueExpression", false, false, "HTML: A hint to the user agent about the content type of the linked resource.", true, false, "java.lang.String", "null");
+                        tag.getAttributes().add(attr);
+                    }
+                    {
+                        final TagAttributeInfo attr = new TagAttributeInfo("immediate", false, "javax.el.ValueExpression", false, false, "A boolean value that identifies the phase during which action events should fire. <p> During normal event processing, action methods and action listener methods are fired during the \"invoke application\" phase of request processing. If this attribute is set to \"true\", these methods are fired instead at the end of the \"apply request values\" phase. </p>", true, false, "boolean", "null");
+                        tag.getAttributes().add(attr);
+                    }
+                    {
+                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, "javax.el.ValueExpression", false, false, "The text to display to the user for this command component.", true, false, "java.lang.Object", "null");
+                        tag.getAttributes().add(attr);
+                    }
+                    {
+                        final TagAttributeInfo attr = new TagAttributeInfo("action", false, "javax.el.MethodExpression", false, false, "The action to take when this command is invoked. <p> If the value is an expression, it is expected to be a method binding EL expression that identifies an action method. An action method accepts no parameters and has a String return value, called the action outcome, that identifies the next view displayed. The phase that this event is fired in can be controlled via the immediate attribute. </p> <p>  If the value is a string literal, it is treated as a navigation outcome for the current view. This is functionally equivalent to a reference to an action method that returns the string literal. </p>", false, true, "null", "java.lang.Object myMethod(  )");
+                        tag.getAttributes().add(attr);
+                    }
+                    {
+                        final TagAttributeInfo attr = new TagAttributeInfo("actionListener", false, "javax.el.MethodExpression", false, false, "", false, true, "null", "void myMethod( javax.faces.event.ActionEvent )");
+                        tag.getAttributes().add(attr);
+                    }
+                    {
+                        final TagAttributeInfo attr = new TagAttributeInfo("id", false, "null", true, false, "Get a string which uniquely identifies this UIComponent within the scope of the nearest ancestor NamingContainer component. The id is not necessarily unique across all components in the current view.", false, false, "null", "null");
+                        tag.getAttributes().add(attr);
+                    }
+                    {
+                        final TagAttributeInfo attr = new TagAttributeInfo("rendered", false, "javax.el.ValueExpression", false, false, "A boolean value that indicates whether this component should be rendered. Default value: true.", true, false, "boolean", "null");
+                        tag.getAttributes().add(attr);
+                    }
+                    {
+                        final TagAttributeInfo attr = new TagAttributeInfo("binding", false, "javax.el.ValueExpression", false, false, "Identifies a backing bean property (of type UIComponent or appropriate subclass) to bind \" + \"to this component instance. This value must be an EL expression.", true, false, "javax.faces.component.UIComponent", "null");
                         tag.getAttributes().add(attr);
                     }
                     taglibXml.addTag(tag);
                 }
                 {
                     final TagXml tag = new TagXml();
-                    tag.setName("facet");
-                    tag.setTagClass("javax.faces.webapp.FacetTag");
-                    tag.setTeiClass(null);
+                    tag.setName("dataTable");
+                    tag.setTagClass("org.apache.myfaces.taglib.html.HtmlDataTableTag");
                     tag.setBodyContent("JSP");
-                    tag.setDisplayName(null);
-                    tag.setSmallIcon(null);
-                    tag.setLargeIcon(null);
-                    tag.setInfo("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.  see Javadoc of <a href=\"http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html\">JSF Specification</a>");
-                    tag.setDynamicAttributes(false);
+                    tag.setInfo("This component renders an HTML table element. <p> This component may have nested facets with names \"header\" and \"footer\" to specify header and footer rows. </p> <p> The non-facet children of this component are expected to be h:column components which describe the columns of the table. </p>");
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("name", true, "java.lang.String", false, false, "The name of the facet to be created. This must be a static value.", false, false, null, null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("bgcolor", false, "javax.el.ValueExpression", false, false, "HTML: The background color of this element.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
-                    taglibXml.addTag(tag);
-                }
-                {
-                    final TagXml tag = new TagXml();
-                    tag.setName("actionListener");
-                    tag.setTagClass("org.apache.myfaces.taglib.core.ActionListenerTag");
-                    tag.setTeiClass(null);
-                    tag.setBodyContent("empty");
-                    tag.setDisplayName(null);
-                    tag.setSmallIcon(null);
-                    tag.setLargeIcon(null);
-                    tag.setInfo("This tag creates an instance of the specified ActionListener, and associates it with the nearest parent UIComponent. <p> Unless otherwise specified, all attributes accept static values or EL expressions. </p>");
-                    tag.setDynamicAttributes(false);
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, "javax.el.ValueExpression", false, false, "The fully qualified class name of the ActionListener class.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("bodyrows", false, "javax.el.ValueExpression", false, false, "CSV of several row index to start (and end a previous) tbody element", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("binding", false, "javax.el.ValueExpression", false, false, "Value binding expression that evaluates to an object that implements javax.faces.event.ActionListener.", true, false, "javax.faces.event.ActionListener", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("border", false, "javax.el.ValueExpression", false, false, "HTML: Specifies the width of the border of this element, in pixels.  Deprecated in HTML 4.01.", true, false, "int", "null");
                         tag.getAttributes().add(attr);
                     }
-                    taglibXml.addTag(tag);
-                }
-                {
-                    final TagXml tag = new TagXml();
-                    tag.setName("attribute");
-                    tag.setTagClass("org.apache.myfaces.taglib.core.AttributeTag");
-                    tag.setTeiClass(null);
-                    tag.setBodyContent("empty");
-                    tag.setDisplayName(null);
-                    tag.setSmallIcon(null);
-                    tag.setLargeIcon(null);
-                    tag.setInfo("This tag associates an attribute with the nearest parent UIComponent. <p> 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. </p> <p> 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. </p> <p> See the javadoc for UIComponent.getAttributes for more details. </p> <p> Unless otherwis
 e specified, all attributes accept static values or EL expressions. </p>");
-                    tag.setDynamicAttributes(false);
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("name", false, "javax.el.ValueExpression", false, false, "The name of the attribute.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("cellpadding", false, "javax.el.ValueExpression", false, false, "HTML: Specifies the amount of empty space between the cell border and its contents.  It can be either a pixel length or a percentage.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, "javax.el.ValueExpression", false, false, "The attribute's value.", true, false, "java.lang.Object", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("cellspacing", false, "javax.el.ValueExpression", false, false, "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.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
-                    taglibXml.addTag(tag);
-                }
-                {
-                    final TagXml tag = new TagXml();
-                    tag.setName("converter");
-                    tag.setTagClass("org.apache.myfaces.taglib.core.ConverterImplTag");
-                    tag.setTeiClass(null);
-                    tag.setBodyContent("empty");
-                    tag.setDisplayName(null);
-                    tag.setSmallIcon(null);
-                    tag.setLargeIcon(null);
-                    tag.setInfo("This tag creates an instance of the specified Converter, and associates it with the nearest parent UIComponent.");
-                    tag.setDynamicAttributes(false);
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("converterId", false, "javax.el.ValueExpression", false, false, "The converter's registered ID.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("columnClasses", false, "javax.el.ValueExpression", false, false, "A comma separated list of CSS class names to apply to td elements in each column.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("binding", false, "javax.el.ValueExpression", false, false, "A ValueExpression that evaluates to a Converter.", true, false, "javax.faces.convert.Converter", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("footerClass", false, "javax.el.ValueExpression", false, false, "The CSS class to be applied to footer cells.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
-                    taglibXml.addTag(tag);
-                }
-                {
-                    final TagXml tag = new TagXml();
-                    tag.setName("loadBundle");
-                    tag.setTagClass("org.apache.myfaces.taglib.core.LoadBundleTag");
-                    tag.setTeiClass(null);
-                    tag.setBodyContent("empty");
-                    tag.setDisplayName(null);
-                    tag.setSmallIcon(null);
-                    tag.setLargeIcon(null);
-                    tag.setInfo("Loads a resource bundle and saves it as a variable in the request scope. <p> Unless otherwise specified, all attributes accept static values or EL expressions. </p> <p> TODO: We should find a way to save loaded bundles in the state, because otherwise on the next request the bundle map will not be present before the render phase and value bindings that reference to the bundle will always log annoying \"Variable 'xxx' could not be resolved\" error messages. </p>");
-                    tag.setDynamicAttributes(false);
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("basename", false, "javax.el.ValueExpression", false, false, "The base name of the resource bundle.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("frame", false, "javax.el.ValueExpression", false, false, "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.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("var", true, "java.lang.String", false, false, "The name of the variable in request scope that the resources are saved to. This must be a static value.", false, false, null, null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("headerClass", false, "javax.el.ValueExpression", false, false, "The CSS class to be applied to header cells.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
-                    taglibXml.addTag(tag);
-                }
-                {
-                    final TagXml tag = new TagXml();
-                    tag.setName("phaseListener");
-                    tag.setTagClass("org.apache.myfaces.taglib.core.PhaseListenerTag");
-                    tag.setTeiClass(null);
-                    tag.setBodyContent("empty");
-                    tag.setDisplayName(null);
-                    tag.setSmallIcon(null);
-                    tag.setLargeIcon(null);
-                    tag.setInfo("Register a PhaseListener instance");
-                    tag.setDynamicAttributes(false);
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, "javax.el.ValueExpression", false, false, "Class name of the PhaseListener to be created and registered.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("rowClasses", false, "javax.el.ValueExpression", false, false, "A comma separated list of CSS class names to apply to td elements in each row.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("binding", false, "javax.el.ValueExpression", false, false, "Value binding expression that evaluates to a PhaseListener.", true, false, "javax.faces.event.PhaseListener", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("rules", false, "javax.el.ValueExpression", false, false, "HTML: Controls how rules are rendered between cells.  Values include: none, groups, rows, cols, and all.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
-                    taglibXml.addTag(tag);
-                }
-                {
-                    final TagXml tag = new TagXml();
-                    tag.setName("setPropertyActionListener");
-                    tag.setTagClass("org.apache.myfaces.taglib.core.SetPropertyActionListenerTag");
-                    tag.setTeiClass(null);
-                    tag.setBodyContent("empty");
-                    tag.setDisplayName(null);
-                    tag.setSmallIcon(null);
-                    tag.setLargeIcon(null);
-                    tag.setInfo("");
-                    tag.setDynamicAttributes(false);
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("target", true, "javax.el.ValueExpression", false, false, "ValueExpression for the destination of the value attribute.", true, false, "java.lang.Object", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("summary", false, "javax.el.ValueExpression", false, false, "HTML: Provides a summary of the contents of the table, for accessibility purposes.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("value", true, "javax.el.ValueExpression", false, false, "ValueExpression for the value of the target attribute.", true, false, "java.lang.Object", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("width", false, "javax.el.ValueExpression", false, false, "HTML: Specifies the desired width of the table, as a pixel length or a percentage of available space.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
-                    taglibXml.addTag(tag);
-                }
-                {
-                    final TagXml tag = new TagXml();
-                    tag.setName("validator");
-                    tag.setTagClass("org.apache.myfaces.taglib.core.ValidatorImplTag");
-                    tag.setTeiClass(null);
-                    tag.setBodyContent("empty");
-                    tag.setDisplayName(null);
-                    tag.setSmallIcon(null);
-                    tag.setLargeIcon(null);
-                    tag.setInfo("Creates a validator and associates it with the nearest parent UIComponent. <p> 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. </p> <p> Commonly associated with an h:inputText entity, but may be applied to any input component. </p> <p> 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). </p> <p> Unless otherwise specified, all attributes accept static values or EL expressions. </p>");
-                    tag.setDynamicAttributes(false);
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("validatorId", false, "javax.el.ValueExpression", false, false, "The registered ID of the desired Validator.", true, false, "java.lang.String", null);
+                        final TagAttributeInfo attr = new TagAttributeInfo("captionClass", false, "javax.el.ValueExpression", false, false, "A comma separated list of CSS class names to apply to all captions. If there are less classes than the number of rows, apply the same sequence of classes to the remaining captions, so the pattern is repeated. More than one class can be applied to a row by separating the classes with a space.", true, false, "java.lang.String", "null");
                         tag.getAttributes().add(attr);
                     }
                     {
-                        final TagAttributeInfo attr = new TagAttributeInfo("binding", false, "javax.el.ValueExpression", false, false, "A ValueExpression that evaluates to an implementation of the javax.faces.validator.Validator interface.", true, false, "javax.faces.validator.Validator", null);

[... 6458 lines stripped ...]