Package org.apache.tomcat.util.descriptor.tld

Examples of org.apache.tomcat.util.descriptor.tld.ValidatorXml


                taglibXml.setTlibVersion("1.1");
                taglibXml.setJspVersion("2.0");
                taglibXml.setShortName("fmt");
                taglibXml.setUri("http://java.sun.com/jsp/jstl/fmt");
                taglibXml.setInfo("JSTL 1.1 i18n-capable formatting library");
                final ValidatorXml validator = new ValidatorXml();
                validator.setValidatorClass("org.apache.taglibs.standard.tlv.JstlFmtTLV");
                taglibXml.setValidator(validator);
                {
                    final TagXml tag = new TagXml();
                    tag.setName("requestEncoding");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.RequestEncodingTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Sets the request character encoding");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, null, true, false, "Name of character encoding to be applied when decoding request parameters.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("setLocale");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.SetLocaleTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Stores the given locale in the locale configuration variable");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", true, null, true, false, "A String value is interpreted as the printable representation of a locale, which must contain a two-letter (lower-case) language code (as defined by ISO-639), and may contain a two-letter (upper-case) country code (as defined by ISO-3166). Language and country codes must be separated by hyphen (-) or underscore (_).", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("variant", false, null, true, false, "Vendor- or browser-specific variant. See the java.util.Locale javadocs for more information on variants.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, "Scope of the locale configuration variable.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("timeZone");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.TimeZoneTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Specifies the time zone for any time formatting or parsing actions         nested in its body");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", true, null, true, false, "The time zone. A String value is interpreted as a time zone ID. This may be one of the time zone IDs supported by the Java platform (such as \"America/Los_Angeles\") or a custom time zone ID (such as \"GMT-8\"). See java.util.TimeZone for more information on supported time zone formats.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("setTimeZone");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.SetTimeZoneTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Stores the given time zone in the time zone configuration variable");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", true, null, true, false, "The time zone. A String value is interpreted as a time zone ID. This may be one of the time zone IDs supported by the Java platform (such as \"America/Los_Angeles\") or a custom time zone ID (such as \"GMT-8\"). See java.util.TimeZone for more information on supported time zone formats.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of the exported scoped variable which stores the time zone of type java.util.TimeZone.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, "Scope of var or the time zone configuration variable.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("bundle");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.BundleTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Loads a resource bundle to be used by its tag body");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("basename", true, null, true, false, "Resource bundle base name. This is the bundle's fully-qualified resource name, which has the same form as a fully-qualified class name, that is, it uses \".\" as the package component separator and does not have any file type (such as \".class\" or \".properties\") suffix.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("prefix", false, null, true, false, "Prefix to be prepended to the value of the message key of any nested <fmt:message> action.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("setBundle");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.SetBundleTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Loads a resource bundle and stores it in the named scoped variable or         the bundle configuration variable");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("basename", true, null, true, false, "Resource bundle base name. This is the bundle's fully-qualified resource name, which has the same form as a fully-qualified class name, that is, it uses \".\" as the package component separator and does not have any file type (such as \".class\" or \".properties\") suffix.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of the exported scoped variable which stores the i18n localization context of type javax.servlet.jsp.jstl.fmt.LocalizationC ontext.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, "Scope of var or the localization context configuration variable.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("message");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.MessageTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Maps key to localized message and performs parametric replacement");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("key", false, null, true, false, "Message key to be looked up.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("bundle", false, null, true, false, "Localization context in whose resource bundle the message key is looked up.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of the exported scoped variable which stores the localized message.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, "Scope of var.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("param");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.ParamTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Supplies an argument for parametric replacement to a containing         <message> tag");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, null, true, false, "Argument used for parametric replacement.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("formatNumber");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.FormatNumberTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Formats a numeric value as a number, currency, or percentage");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, null, true, false, "Numeric value to be formatted.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, null, true, false, "Specifies whether the value is to be formatted as number, currency, or percentage.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("pattern", false, null, true, false, "Custom formatting pattern.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("currencyCode", false, null, true, false, "ISO 4217 currency code. Applied only when formatting currencies (i.e. if type is equal to \"currency\"); ignored otherwise.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("currencySymbol", false, null, true, false, "Currency symbol. Applied only when formatting currencies (i.e. if type is equal to \"currency\"); ignored otherwise.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("groupingUsed", false, null, true, false, "Specifies whether the formatted output will contain any grouping separators.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("maxIntegerDigits", false, null, true, false, "Maximum number of digits in the integer portion of the formatted output.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("minIntegerDigits", false, null, true, false, "Minimum number of digits in the integer portion of the formatted output.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("maxFractionDigits", false, null, true, false, "Maximum number of digits in the fractional portion of the formatted output.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("minFractionDigits", false, null, true, false, "Minimum number of digits in the fractional portion of the formatted output.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of the exported scoped variable which stores the formatted result as a String.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, "Scope of var.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("parseNumber");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.ParseNumberTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Parses the string representation of a number, currency, or percentage");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, null, true, false, "String to be parsed.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, null, true, false, "Specifies whether the string in the value attribute should be parsed as a number, currency, or percentage.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("pattern", false, null, true, false, "Custom formatting pattern that determines how the string in the value attribute is to be parsed.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("parseLocale", false, null, true, false, "Locale whose default formatting pattern (for numbers, currencies, or percentages, respectively) is to be used during the parse operation, or to which the pattern specified via the pattern attribute (if present) is applied.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("integerOnly", false, null, true, false, "Specifies whether just the integer portion of the given value should be parsed.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of the exported scoped variable which stores the parsed result (of type java.lang.Number).", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, "Scope of var.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("formatDate");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.FormatDateTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Formats a date and/or time using the supplied styles and pattern");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", true, null, true, false, "Date and/or time to be formatted.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, null, true, false, "Specifies whether the time, the date, or both the time and date components of the given date are to be formatted.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("dateStyle", false, null, true, false, "Predefined formatting style for dates. Follows the semantics defined in class java.text.DateFormat. Applied only when formatting a date or both a date and time (i.e. if type is missing or is equal to \"date\" or \"both\"); ignored otherwise.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("timeStyle", false, null, true, false, "Predefined formatting style for times. Follows the semantics defined in class java.text.DateFormat. Applied only when formatting a time or both a date and time (i.e. if type is equal to \"time\" or \"both\"); ignored otherwise.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("pattern", false, null, true, false, "Custom formatting style for dates and times.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("timeZone", false, null, true, false, "Time zone in which to represent the formatted time.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of the exported scoped variable which stores the formatted result as a String.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, "Scope of var.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("parseDate");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.ParseDateTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Parses the string representation of a date and/or time");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, null, true, false, "Date string to be parsed.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, null, true, false, "Specifies whether the date string in the value attribute is supposed to contain a time, a date, or both.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("dateStyle", false, null, true, false, "Predefined formatting style for days which determines how the date component of the date string is to be parsed. Applied only when formatting a date or both a date and time (i.e. if type is missing or is equal to \"date\" or \"both\"); ignored otherwise.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("timeStyle", false, null, true, false, "Predefined formatting styles for times which determines how the time component in the date string is to be parsed. Applied only when formatting a time or both a date and time (i.e. if type is equal to \"time\" or \"both\"); ignored otherwise.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("pattern", false, null, true, false, "Custom formatting pattern which determines how the date string is to be parsed.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("timeZone", false, null, true, false, "Time zone in which to interpret any time information in the date string.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("parseLocale", false, null, true, false, "Locale whose predefined formatting styles for dates and times are to be used during the parse operation, or to which the pattern specified via the pattern attribute (if present) is applied.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of the exported scoped variable in which the parsing result (of type java.util.Date) is stored.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, "Scope of var.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                TLD_RESOURCE_TAG_LIB.put(path, taglibXml);
            }
            {
                final TldResourcePath path = new TldResourcePath(JSTL_URL, null, "META-INF/fmt-1_0.tld");
                URI_TLD_RESOURCE.put("http://java.sun.com/jstl/fmt", path);
                final TaglibXml taglibXml = new TaglibXml();
                taglibXml.setTlibVersion("1.0");
                taglibXml.setJspVersion("1.2");
                taglibXml.setShortName("fmt");
                taglibXml.setUri("http://java.sun.com/jstl/fmt");
                taglibXml.setInfo("JSTL 1.0 i18n-capable formatting library");
                final ValidatorXml validator = new ValidatorXml();
                validator.setValidatorClass("org.apache.taglibs.standard.tlv.JstlFmtTLV");
                taglibXml.setValidator(validator);
                taglibXml.getValidator().addInitParam("expressionAttributes", "requestEncoding:value\nsetLocale:value\nsetLocale:variant\ntimeZone:value\nsetTimeZone:value\nbundle:basename\nbundle:prefix\n" +
                    "setBundle:basename\nmessage:key\nmessage:bundle\nparam:value\nformatNumber:value\nformatNumber:pattern\nformatNumber:currencyCode" +
                    "\nformatNumber:currencySymbol\nformatNumber:groupingUsed\nformatNumber:maxIntegerDigits\nformatNumber:minIntegerDigits\n" +
                    "formatNumber:maxFractionDigits\nformatNumber:minFractionDigits\nparseNumber:value\nparseNumber:pattern\nparseNumber:parseLocale" +
                    "\nparseNumber:integerOnly\nformatDate:value\nformatDate:pattern\nformatDate:timeZone\nparseDate:value\nparseDate:pattern\n" +
                    "parseDate:timeZone\nparseDate:parseLocale");
                {
                    final TagXml tag = new TagXml();
                    tag.setName("requestEncoding");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.fmt.RequestEncodingTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Sets the request character encoding");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("setLocale");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.fmt.SetLocaleTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Stores the given locale in the locale configuration variable");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("variant", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("timeZone");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.fmt.TimeZoneTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Specifies the time zone for any time formatting or parsing actions         nested in its body");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("setTimeZone");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.fmt.SetTimeZoneTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Stores the given time zone in the time zone configuration variable");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("bundle");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.fmt.BundleTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Loads a resource bundle to be used by its tag body");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("basename", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("prefix", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("setBundle");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.fmt.SetBundleTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Loads a resource bundle and stores it in the named scoped variable or         the bundle configuration variable");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("basename", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("message");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.fmt.MessageTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Maps key to localized message and performs parametric replacement");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("key", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("bundle", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("param");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.fmt.ParamTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Supplies an argument for parametric replacement to a containing         <message> tag");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("formatNumber");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.fmt.FormatNumberTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Formats a numeric value as a number, currency, or percentage");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("pattern", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("currencyCode", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("currencySymbol", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("groupingUsed", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("maxIntegerDigits", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("minIntegerDigits", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("maxFractionDigits", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("minFractionDigits", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("parseNumber");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.fmt.ParseNumberTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Parses the string representation of a number, currency, or percentage");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("pattern", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("parseLocale", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("integerOnly", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("formatDate");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.fmt.FormatDateTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Formats a date and/or time using the supplied styles and pattern");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("dateStyle", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("timeStyle", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("pattern", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("timeZone", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("parseDate");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.fmt.ParseDateTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Parses the string representation of a date and/or time");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("dateStyle", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("timeStyle", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("pattern", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("timeZone", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("parseLocale", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                TLD_RESOURCE_TAG_LIB.put(path, taglibXml);
            }
            {
                final TldResourcePath path = new TldResourcePath(JSTL_URL, null, "META-INF/sql.tld");
                URI_TLD_RESOURCE.put("http://java.sun.com/jsp/jstl/sql", path);
                final TaglibXml taglibXml = new TaglibXml();
                taglibXml.setTlibVersion("1.1");
                taglibXml.setJspVersion("2.0");
                taglibXml.setShortName("sql");
                taglibXml.setUri("http://java.sun.com/jsp/jstl/sql");
                taglibXml.setInfo("JSTL 1.1 sql library");
                final ValidatorXml validator = new ValidatorXml();
                validator.setValidatorClass("org.apache.taglibs.standard.tlv.JstlSqlTLV");
                taglibXml.setValidator(validator);
                {
                    final TagXml tag = new TagXml();
                    tag.setName("transaction");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.sql.TransactionTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Provides nested database action elements with a shared Connection,         set up to execute all statements as one transaction.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("dataSource", false, null, true, false, "DataSource associated with the database to access. A String value represents a relative path to a JNDI resource or the parameters for the JDBC DriverManager facility.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("isolation", false, null, true, false, "Transaction isolation level. If not specified, it is the isolation level the DataSource has been configured with.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("query");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.sql.QueryTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Executes the SQL query defined in its body or through the         sql attribute.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", true, "java.lang.String", false, false, "Name of the exported scoped variable for the query result. The type of the scoped variable is javax.servlet.jsp.jstl.sql. Result (see Chapter 16 \"Java APIs\").", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, "Scope of var.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("sql", false, null, true, false, "SQL query statement.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("dataSource", false, null, true, false, "Data source associated with the database to query. A String value represents a relative path to a JNDI resource or the parameters for the DriverManager class.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("startRow", false, null, true, false, "The returned Result object includes the rows starting at the specified index. The first row of the original query result set is at index 0. If not specified, rows are included starting from the first row at index 0.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("maxRows", false, null, true, false, "The maximum number of rows to be included in the query result. If not specified, or set to -1, no limit on the maximum number of rows is enforced.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("update");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.sql.UpdateTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Executes the SQL update defined in its body or through the         sql attribute.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of the exported scoped variable for the result of the database update. The type of the scoped variable is java.lang.Integer.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, "Scope of var.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("sql", false, null, true, false, "SQL update statement.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("dataSource", false, null, true, false, "Data source associated with the database to update. A String value represents a relative path to a JNDI resource or the parameters for the JDBC DriverManager class.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("param");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.sql.ParamTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Sets a parameter in an SQL statement to the specified value.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, null, true, false, "Parameter value.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("dateParam");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.sql.DateParamTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Sets a parameter in an SQL statement to the specified java.util.Date value.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", true, null, true, false, "Parameter value for DATE, TIME, or TIMESTAMP column in a database table.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, null, true, false, "One of \"date\", \"time\" or \"timestamp\".", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("setDataSource");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.sql.SetDataSourceTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Creates a simple DataSource suitable only for prototyping.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of the exported scoped variable for the data source specified. Type can be String or DataSource.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, "If var is specified, scope of the exported variable. Otherwise, scope of the data source configuration variable.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("dataSource", false, null, true, false, "Data source. If specified as a string, it can either be a relative path to a JNDI resource, or a JDBC parameters string as defined in Section 10.1.1.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("driver", false, null, true, false, "JDBC parameter: driver class name.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("url", false, null, true, false, "JDBC parameter: URL associated with the database.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("user", false, null, true, false, "JDBC parameter: database user on whose behalf the connection to the database is being made.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("password", false, null, true, false, "JDBC parameter: user password", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                TLD_RESOURCE_TAG_LIB.put(path, taglibXml);
            }
            {
                final TldResourcePath path = new TldResourcePath(JSTL_URL, null, "META-INF/x-1_0.tld");
                URI_TLD_RESOURCE.put("http://java.sun.com/jstl/xml", path);
                final TaglibXml taglibXml = new TaglibXml();
                taglibXml.setTlibVersion("1.0");
                taglibXml.setJspVersion("1.2");
                taglibXml.setShortName("x");
                taglibXml.setUri("http://java.sun.com/jstl/xml");
                taglibXml.setInfo("JSTL 1.0 XML library");
                final ValidatorXml validator = new ValidatorXml();
                validator.setValidatorClass("org.apache.taglibs.standard.tlv.JstlXmlTLV");
                taglibXml.setValidator(validator);
                taglibXml.getValidator().addInitParam("expressionAttributes", "out:escapeXml\nparse:xml\nparse:systemId\nparse:filter\n" +
                    "transform:xml\ntransform:xmlSystemId\ntransform:xslt\ntransform:xsltSystemId\ntransform:result");
                {
                    final TagXml tag = new TagXml();
                    tag.setName("choose");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.core.ChooseTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Simple conditional tag that establishes a context for         mutually exclusive conditional operations, marked by         <when> and <otherwise>");
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("out");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.xml.ExprTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Like <%= ... >, but for XPath expressions.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("select", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("escapeXml", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("if");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.xml.IfTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("XML conditional tag, which evalutes its body if the       supplied XPath expression evalutes to 'true' as a boolean");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("select", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("forEach");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.xml.ForEachTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("XML iteration tag.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("select", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("otherwise");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.core.OtherwiseTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Subtag of <choose> that follows <when> tags \tand runs only if all of the prior conditions evaluated to \t'false'");
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("param");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.xml.ParamTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Adds a parameter to a containing 'transform' tag's Transformer");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("name", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("parse");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.xml.ParseTag");
                    tag.setTeiClass("org.apache.taglibs.standard.tei.XmlParseTEI");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Parses XML content from 'source' attribute or 'body'");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("varDom", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scopeDom", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("xml", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("systemId", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("filter", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("set");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.xml.SetTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Saves the result of an XPath expression evaluation in a 'scope'");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("select", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("transform");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.xml.TransformTag");
                    tag.setTeiClass("org.apache.taglibs.standard.tei.XmlTransformTEI");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Conducts a transformation given a source XML document \tand an XSLT stylesheet");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("result", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("xml", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("xmlSystemId", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("xslt", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("xsltSystemId", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("when");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.xml.WhenTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Subtag of <choose> that includes its body if its         expression evalutes to 'true'");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("select", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                TLD_RESOURCE_TAG_LIB.put(path, taglibXml);
            }
            {
                final TldResourcePath path = new TldResourcePath(JSTL_URL, null, "META-INF/sql-1_0-rt.tld");
                URI_TLD_RESOURCE.put("http://java.sun.com/jstl/sql_rt", path);
                final TaglibXml taglibXml = new TaglibXml();
                taglibXml.setTlibVersion("1.0");
                taglibXml.setJspVersion("1.2");
                taglibXml.setShortName("sql_rt");
                taglibXml.setUri("http://java.sun.com/jstl/sql_rt");
                taglibXml.setInfo("JSTL 1.0 sql library");
                final ValidatorXml validator = new ValidatorXml();
                validator.setValidatorClass("org.apache.taglibs.standard.tlv.JstlSqlTLV");
                taglibXml.setValidator(validator);
                {
                    final TagXml tag = new TagXml();
                    tag.setName("transaction");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.sql.TransactionTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Provides nested database action elements with a shared Connection,         set up to execute all statements as one transaction.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("dataSource", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("isolation", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("query");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.sql.QueryTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Executes the SQL query defined in its body or through the         sql attribute.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("sql", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("dataSource", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("startRow", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("maxRows", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("update");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.sql.UpdateTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Executes the SQL update defined in its body or through the         sql attribute.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("sql", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("dataSource", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("param");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.sql.ParamTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Sets a parameter in an SQL statement to the specified value.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("dateParam");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.sql.DateParamTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Sets a parameter in an SQL statement to the specified java.util.Date value.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", true, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("setDataSource");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.sql.SetDataSourceTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Creates a simple DataSource suitable only for prototyping.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("dataSource", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("driver", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("url", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("user", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("password", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                TLD_RESOURCE_TAG_LIB.put(path, taglibXml);
            }
            {
                final TldResourcePath path = new TldResourcePath(JSTL_URL, null, "META-INF/sql-1_0.tld");
                URI_TLD_RESOURCE.put("http://java.sun.com/jstl/sql", path);
                final TaglibXml taglibXml = new TaglibXml();
                taglibXml.setTlibVersion("1.0");
                taglibXml.setJspVersion("1.2");
                taglibXml.setShortName("sql");
                taglibXml.setUri("http://java.sun.com/jstl/sql");
                taglibXml.setInfo("JSTL 1.0 sql library");
                final ValidatorXml validator = new ValidatorXml();
                validator.setValidatorClass("org.apache.taglibs.standard.tlv.JstlSqlTLV");
                taglibXml.setValidator(validator);
                taglibXml.getValidator().addInitParam("expressionAttributes", "transaction:dataSource         transaction:isolation         query:sql         query:dataSource         query:startRow         query:maxRows         update:sql         update:dataSource         param:value         dateParam:value         dateParam:type         setDataSource:dataSource         setDataSource:driver         setDataSource:url         setDataSource:user         setDataSource:password");
                {
                    final TagXml tag = new TagXml();
                    tag.setName("transaction");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.sql.TransactionTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Provides nested database action elements with a shared Connection,         set up to execute all statements as one transaction.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("dataSource", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("isolation", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("query");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.sql.QueryTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Executes the SQL query defined in its body or through the         sql attribute.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("sql", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("dataSource", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("startRow", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("maxRows", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("update");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.sql.UpdateTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Executes the SQL update defined in its body or through the         sql attribute.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("sql", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("dataSource", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("param");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.sql.ParamTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Sets a parameter in an SQL statement to the specified value.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("dateParam");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.sql.DateParamTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Sets a parameter in an SQL statement to the specified java.util.Date val ue.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", true, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("setDataSource");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.sql.SetDataSourceTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Creates a simple DataSource suitable only for prototyping.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("dataSource", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("driver", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("url", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("user", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("password", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                TLD_RESOURCE_TAG_LIB.put(path, taglibXml);
            }
            {
                final TldResourcePath path = new TldResourcePath(JSTL_URL, null, "META-INF/c-1_0.tld");
                URI_TLD_RESOURCE.put("http://java.sun.com/jstl/core", path);
                final TaglibXml taglibXml = new TaglibXml();
                taglibXml.setTlibVersion("1.0");
                taglibXml.setJspVersion("1.2");
                taglibXml.setShortName("c");
                taglibXml.setUri("http://java.sun.com/jstl/core");
                taglibXml.setInfo("JSTL 1.0 core library");
                final ValidatorXml validator = new ValidatorXml();
                validator.setValidatorClass("org.apache.taglibs.standard.tlv.JstlCoreTLV");
                taglibXml.setValidator(validator);
                taglibXml.getValidator().addInitParam("expressionAttributes", "out:value\nout:default\nout:escapeXml\nif:test\n" +
                    "import:url\nimport:context\nimport:charEncoding\nforEach:items\nforEach:begin\nforEach:end\nforEach:step\n" +
                    "forTokens:items\nforTokens:begin\nforTokens:end\nforTokens:step\nparam:encode\nparam:name\nparam:value\nredirect:context" +
                    "\nredirect:url\nset:property\nset:target\nset:value\nurl:context\nurl:value\nwhen:test");
                {
                    final TagXml tag = new TagXml();
                    tag.setName("catch");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.core.CatchTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Catches any Throwable that occurs in its body and optionally         exposes it.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("choose");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.core.ChooseTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Simple conditional tag that establishes a context for         mutually exclusive conditional operations, marked by         <when> and <otherwise>");
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("out");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.core.OutTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Like <%= ... >, but for expressions.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("default", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("escapeXml", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("if");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.core.IfTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Simple conditional tag, which evalutes its body if the         supplied condition is true and optionally exposes a Boolean         scripting variable representing the evaluation of this condition");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("test", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("import");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.core.ImportTag");
                    tag.setTeiClass("org.apache.taglibs.standard.tei.ImportTEI");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Retrieves an absolute or relative URL and exposes its contents \tto either the page, a String in 'var', or a Reader in 'varReader'.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("url", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("varReader", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("context", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("charEncoding", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("forEach");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.core.ForEachTag");
                    tag.setTeiClass("org.apache.taglibs.standard.tei.ForEachTEI");
                    tag.setBodyContent("JSP");
                    tag.setInfo("The basic iteration tag, accepting many different         collection types and supporting subsetting and other         functionality");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("items", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("begin", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("end", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("step", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("varStatus", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("forTokens");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.core.ForTokensTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Iterates over tokens, separated by the supplied delimeters");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("items", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("delims", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("begin", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("end", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("step", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("varStatus", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("otherwise");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.core.OtherwiseTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Subtag of <choose> that follows <when> tags \tand runs only if all of the prior conditions evaluated to \t'false'");
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("param");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.core.ParamTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Adds a parameter to a containing 'import' tag's URL.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("name", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("redirect");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.core.RedirectTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Redirects to a new URL.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("url", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("context", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("remove");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.core.RemoveTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Removes a scoped variable (from a particular scope, if specified).");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("set");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.core.SetTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Sets the result of an expression evaluation in a 'scope'");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("target", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("property", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("url");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.core.UrlTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Prints or exposes a URL with optional query parameters         (via the c:param tag).");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("context", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("when");
                    tag.setTagClass("org.apache.taglibs.standard.tag.el.core.WhenTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Subtag of <choose> that includes its body if its         condition evalutes to 'true'");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("test", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                TLD_RESOURCE_TAG_LIB.put(path, taglibXml);
            }
            {
                final TldResourcePath path = new TldResourcePath(JSTL_URL, null, "META-INF/scriptfree.tld");
                URI_TLD_RESOURCE.put("http://jakarta.apache.org/taglibs/standard/scriptfree", path);
                final TaglibXml taglibXml = new TaglibXml();
                taglibXml.setTlibVersion("1.1");
                taglibXml.setJspVersion("2.0");
                taglibXml.setShortName("scriptfree");
                taglibXml.setUri("http://jakarta.apache.org/taglibs/standard/scriptfree");
                taglibXml.setInfo("Validates JSP pages to prohibit use of scripting elements.");
                final ValidatorXml validator = new ValidatorXml();
                validator.setValidatorClass("javax.servlet.jsp.jstl.tlv.ScriptFreeTLV");
                taglibXml.setValidator(validator);
                taglibXml.getValidator().addInitParam("allowExpressions", "false");
                taglibXml.getValidator().addInitParam("allowDeclarations", "false");
                taglibXml.getValidator().addInitParam("allowScriptlets", "false");
                taglibXml.getValidator().addInitParam("allowRTExpressions", "false");
                TLD_RESOURCE_TAG_LIB.put(path, taglibXml);
            }
            {
                final TldResourcePath path = new TldResourcePath(JSTL_URL, null, "META-INF/fmt-1_0-rt.tld");
                URI_TLD_RESOURCE.put("http://java.sun.com/jstl/fmt_rt", path);
                final TaglibXml taglibXml = new TaglibXml();
                taglibXml.setTlibVersion("1.0");
                taglibXml.setJspVersion("1.2");
                taglibXml.setShortName("fmt_rt");
                taglibXml.setUri("http://java.sun.com/jstl/fmt_rt");
                taglibXml.setInfo("JSTL 1.0 i18n-capable formatting library");
                final ValidatorXml validator = new ValidatorXml();
                validator.setValidatorClass("org.apache.taglibs.standard.tlv.JstlFmtTLV");
                taglibXml.setValidator(validator);
                {
                    final TagXml tag = new TagXml();
                    tag.setName("requestEncoding");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.RequestEncodingTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Sets the request character encoding");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("setLocale");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.SetLocaleTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Stores the given locale in the locale configuration variable");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", true, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("variant", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("timeZone");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.TimeZoneTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Specifies the time zone for any time formatting or parsing actions         nested in its body");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", true, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("setTimeZone");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.SetTimeZoneTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Stores the given time zone in the time zone configuration variable");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", true, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("bundle");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.BundleTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Loads a resource bundle to be used by its tag body");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("basename", true, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("prefix", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("setBundle");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.SetBundleTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Loads a resource bundle and stores it in the named scoped variable or         the bundle configuration variable");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("basename", true, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("message");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.MessageTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Maps key to localized message and performs parametric replacement");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("key", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("bundle", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("param");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.ParamTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Supplies an argument for parametric replacement to a containing         <message> tag");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("formatNumber");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.FormatNumberTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Formats a numeric value as a number, currency, or percentage");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("pattern", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("currencyCode", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("currencySymbol", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("groupingUsed", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("maxIntegerDigits", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("minIntegerDigits", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("maxFractionDigits", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("minFractionDigits", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("parseNumber");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.ParseNumberTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Parses the string representation of a number, currency, or percentage");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("pattern", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("parseLocale", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("integerOnly", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("formatDate");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.FormatDateTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Formats a date and/or time using the supplied styles and pattern");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", true, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("dateStyle", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("timeStyle", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("pattern", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("timeZone", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("parseDate");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.fmt.ParseDateTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Parses the string representation of a date and/or time");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("type", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("dateStyle", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("timeStyle", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("pattern", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("timeZone", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("parseLocale", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                TLD_RESOURCE_TAG_LIB.put(path, taglibXml);
            }
            {
                final TldResourcePath path = new TldResourcePath(JSTL_URL, null, "META-INF/x.tld");
                URI_TLD_RESOURCE.put("http://java.sun.com/jsp/jstl/xml", path);
                final TaglibXml taglibXml = new TaglibXml();
                taglibXml.setTlibVersion("1.1");
                taglibXml.setJspVersion("2.0");
                taglibXml.setShortName("x");
                taglibXml.setUri("http://java.sun.com/jsp/jstl/xml");
                taglibXml.setInfo("JSTL 1.1 XML library");
                final ValidatorXml validator = new ValidatorXml();
                validator.setValidatorClass("org.apache.taglibs.standard.tlv.JstlXmlTLV");
                taglibXml.setValidator(validator);
                {
                    final TagXml tag = new TagXml();
                    tag.setName("choose");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.core.ChooseTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Simple conditional tag that establishes a context for         mutually exclusive conditional operations, marked by         <when> and <otherwise>");
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("out");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.xml.ExprTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Like <%= ... >, but for XPath expressions.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("select", true, "java.lang.String", false, false, "XPath expression to be evaluated.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("escapeXml", false, null, true, false, "Determines whether characters <,>,&,',\" in the resulting string should be converted to their corresponding character entity codes. Default value is true.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("if");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.xml.IfTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("XML conditional tag, which evalutes its body if the         supplied XPath expression evalutes to 'true' as a boolean");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("select", true, "java.lang.String", false, false, "The test condition that tells whether or not the body content should be processed.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of the exported scoped variable for the resulting value of the test condition. The type of the scoped variable is Boolean.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, "Scope for var.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("forEach");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.xml.ForEachTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("XML iteration tag.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of the exported scoped variable for the current item of the iteration. This scoped variable has nested visibility. Its type depends on the result of the XPath expression in the select attribute.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("select", true, "java.lang.String", false, false, "XPath expression to be evaluated.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("begin", false, "int", true, false, "Iteration begins at the item located at the specified index. First item of the collection has index 0.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("end", false, "int", true, false, "Iteration ends at the item located at the specified index (inclusive).", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("step", false, "int", true, false, "Iteration will only process every step items of the collection, starting with the first one.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("varStatus", false, "java.lang.String", false, false, "Name of the exported scoped variable for the status of the iteration. Object exported is of type javax.servlet.jsp.jstl.core.LoopTagStatus. This scoped variable has nested visibility.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("otherwise");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.core.OtherwiseTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Subtag of <choose> that follows <when> tags \tand runs only if all of the prior conditions evaluated to \t'false'");
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("param");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.xml.ParamTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Adds a parameter to a containing 'transform' tag's Transformer");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("name", true, null, true, false, "Name of the transformation parameter.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, null, true, false, "Value of the parameter.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("parse");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.xml.ParseTag");
                    tag.setTeiClass("org.apache.taglibs.standard.tei.XmlParseTEI");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Parses XML content from 'source' attribute or 'body'");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of the exported scoped variable for the parsed XML document. The type of the scoped variable is implementation dependent.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("varDom", false, "java.lang.String", false, false, "Name of the exported scoped variable for the parsed XML document. The type of the scoped variable is org.w3c.dom.Document.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, "Scope for var.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scopeDom", false, "java.lang.String", false, false, "Scope for varDom.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("xml", false, null, true, false, "Deprecated. Use attribute 'doc' instead.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("doc", false, null, true, false, "Source XML document to be parsed.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("systemId", false, null, true, false, "The system identifier (URI) for parsing the XML document.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("filter", false, null, true, false, "Filter to be applied to the source document.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("set");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.xml.SetTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Saves the result of an XPath expression evaluation in a 'scope'");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", true, "java.lang.String", false, false, "Name of the exported scoped variable to hold the value specified in the action. The type of the scoped variable is whatever type the select expression evaluates to.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("select", false, "java.lang.String", false, false, "XPath expression to be evaluated.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, "Scope for var.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("transform");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.xml.TransformTag");
                    tag.setTeiClass("org.apache.taglibs.standard.tei.XmlTransformTEI");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Conducts a transformation given a source XML document \tand an XSLT stylesheet");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of the exported scoped variable for the transformed XML document. The type of the scoped variable is org.w3c.dom.Document.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, "Scope for var.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("result", false, null, true, false, "Result Object that captures or processes the transformation result.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("xml", false, null, true, false, "Deprecated. Use attribute 'doc' instead.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("doc", false, null, true, false, "Source XML document to be transformed. (If exported by <x:set>, it must correspond to a well-formed XML document, not a partial document.)", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("xmlSystemId", false, null, true, false, "Deprecated. Use attribute 'docSystemId' instead.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("docSystemId", false, null, true, false, "The system identifier (URI) for parsing the XML document.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("xslt", false, null, true, false, "javax.xml.transform.Source Transformation stylesheet as a String, Reader, or Source object.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("xsltSystemId", false, null, true, false, "The system identifier (URI) for parsing the XSLT stylesheet.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("when");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.xml.WhenTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Subtag of <choose> that includes its body if its         expression evalutes to 'true'");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("select", true, "java.lang.String", false, false, "The test condition that tells whether or not the body content should be processed", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                TLD_RESOURCE_TAG_LIB.put(path, taglibXml);
            }
            {
                final TldResourcePath path = new TldResourcePath(JSTL_URL, null, "META-INF/c.tld");
                URI_TLD_RESOURCE.put("http://java.sun.com/jsp/jstl/core", path);
                final TaglibXml taglibXml = new TaglibXml();
                taglibXml.setTlibVersion("1.1");
                taglibXml.setJspVersion("2.1");
                taglibXml.setShortName("c");
                taglibXml.setUri("http://java.sun.com/jsp/jstl/core");
                taglibXml.setInfo("JSTL 1.1 core library");
                final ValidatorXml validator = new ValidatorXml();
                validator.setValidatorClass("org.apache.taglibs.standard.tlv.JstlCoreTLV");
                taglibXml.setValidator(validator);
                {
                    final TagXml tag = new TagXml();
                    tag.setName("catch");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.core.CatchTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Catches any Throwable that occurs in its body and optionally         exposes it.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of the exported scoped variable for the exception thrown from a nested action. The type of the scoped variable is the type of the exception thrown.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("choose");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.core.ChooseTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Simple conditional tag that establishes a context for \tmutually exclusive conditional operations, marked by \t<when> and <otherwise>");
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("if");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.core.IfTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Simple conditional tag, which evalutes its body if the \tsupplied condition is true and optionally exposes a Boolean \tscripting variable representing the evaluation of this condition");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("test", true, "boolean", true, false, "The test condition that determines whether or not the body content should be processed.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of the exported scoped variable for the resulting value of the test condition. The type of the scoped variable is Boolean.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, "Scope for var.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("import");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.core.ImportTag");
                    tag.setTeiClass("org.apache.taglibs.standard.tei.ImportTEI");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Retrieves an absolute or relative URL and exposes its contents         to either the page, a String in 'var', or a Reader in 'varReader'.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("url", true, null, true, false, "The URL of the resource to import.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of the exported scoped variable for the resource's content. The type of the scoped variable is String.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, "Scope for var.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("varReader", false, "java.lang.String", false, false, "Name of the exported scoped variable for the resource's content. The type of the scoped variable is Reader.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("context", false, null, true, false, "Name of the context when accessing a relative URL resource that belongs to a foreign context.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("charEncoding", false, null, true, false, "Character encoding of the content at the input resource.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("forEach");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.core.ForEachTag");
                    tag.setTeiClass("org.apache.taglibs.standard.tei.ForEachTEI");
                    tag.setBodyContent("JSP");
                    tag.setInfo("The basic iteration tag, accepting many different         collection types and supporting subsetting and other         functionality");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("items", false, "javax.el.ValueExpression", true, false, "Collection of items to iterate over.", true, false, "java.lang.Object", null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("begin", false, "int", true, false, "If items specified: Iteration begins at the item located at the specified index. First item of the collection has index 0. If items not specified: Iteration begins with index set at the value specified.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("end", false, "int", true, false, "If items specified: Iteration ends at the item located at the specified index (inclusive). If items not specified: Iteration ends when index reaches the value specified.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("step", false, "int", true, false, "Iteration will only process every step items of the collection, starting with the first one.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of the exported scoped variable for the current item of the iteration. This scoped variable has nested visibility. Its type depends on the object of the underlying collection.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("varStatus", false, "java.lang.String", false, false, "Name of the exported scoped variable for the status of the iteration. Object exported is of type javax.servlet.jsp.jstl.core.LoopTagStatus. This scoped variable has nested visibility.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("forTokens");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.core.ForTokensTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Iterates over tokens, separated by the supplied delimeters");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("items", true, "javax.el.ValueExpression", true, false, "String of tokens to iterate over.", true, false, "java.lang.String", null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("delims", true, "java.lang.String", true, false, "The set of delimiters (the characters that separate the tokens in the string).", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("begin", false, "int", true, false, "Iteration begins at the token located at the specified index. First token has index 0.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("end", false, "int", true, false, "Iteration ends at the token located at the specified index (inclusive).", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("step", false, "int", true, false, "Iteration will only process every step tokens of the string, starting with the first one.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of the exported scoped variable for the current item of the iteration. This scoped variable has nested visibility.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("varStatus", false, "java.lang.String", false, false, "Name of the exported scoped variable for the status of the iteration. Object exported is of type javax.servlet.jsp.jstl.core.LoopTag Status. This scoped variable has nested visibility.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("out");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.core.OutTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Like <%= ... >, but for expressions.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", true, null, true, false, "Expression to be evaluated.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("default", false, null, true, false, "Default value if the resulting value is null.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("escapeXml", false, null, true, false, "Determines whether characters <,>,&,',\" in the resulting string should be converted to their corresponding character entity codes. Default value is true.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("otherwise");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.core.OtherwiseTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Subtag of <choose> that follows <when> tags         and runs only if all of the prior conditions evaluated to         'false'");
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("param");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.core.ParamTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Adds a parameter to a containing 'import' tag's URL.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("name", true, null, true, false, "Name of the query string parameter.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, null, true, false, "Value of the parameter.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("redirect");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.core.RedirectTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Redirects to a new URL.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("url", false, null, true, false, "The URL of the resource to redirect to.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("context", false, null, true, false, "Name of the context when redirecting to a relative URL resource that belongs to a foreign context.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("remove");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.core.RemoveTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Removes a scoped variable (from a particular scope, if specified).");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", true, "java.lang.String", false, false, "Name of the scoped variable to be removed.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, "Scope for var.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("set");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.core.SetTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Sets the result of an expression evaluation in a 'scope'");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of the exported scoped variable to hold the value specified in the action. The type of the scoped variable is whatever type the value expression evaluates to.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, "javax.el.ValueExpression", true, false, "Expression to be evaluated.", true, false, "java.lang.Object", null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("target", false, null, true, false, "Target object whose property will be set. Must evaluate to a JavaBeans object with setter property property, or to a java.util.Map object.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("property", false, null, true, false, "Name of the property to be set in the target object.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, "Scope for var.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("url");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.core.UrlTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Creates a URL with optional query parameters.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, "Name of the exported scoped variable for the processed url. The type of the scoped variable is String.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, "Scope for var.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, null, true, false, "URL to be processed.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("context", false, null, true, false, "Name of the context when specifying a relative URL resource that belongs to a foreign context.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("when");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.core.WhenTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Subtag of <choose> that includes its body if its \tcondition evalutes to 'true'");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("test", true, "boolean", true, false, "The test condition that determines whether or not the body content should be processed.", false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                TLD_RESOURCE_TAG_LIB.put(path, taglibXml);
            }
            {
                final TldResourcePath path = new TldResourcePath(JSTL_URL, null, "META-INF/c-1_0-rt.tld");
                URI_TLD_RESOURCE.put("http://java.sun.com/jstl/core_rt", path);
                final TaglibXml taglibXml = new TaglibXml();
                taglibXml.setTlibVersion("1.0");
                taglibXml.setJspVersion("1.2");
                taglibXml.setShortName("c_rt");
                taglibXml.setUri("http://java.sun.com/jstl/core_rt");
                taglibXml.setInfo("JSTL 1.0 core library");
                final ValidatorXml validator = new ValidatorXml();
                validator.setValidatorClass("org.apache.taglibs.standard.tlv.JstlCoreTLV");
                taglibXml.setValidator(validator);
                {
                    final TagXml tag = new TagXml();
                    tag.setName("catch");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.core.CatchTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Catches any Throwable that occurs in its body and optionally         exposes it.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("choose");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.core.ChooseTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Simple conditional tag that establishes a context for \tmutually exclusive conditional operations, marked by \t<when> and <otherwise>");
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("if");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.core.IfTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Simple conditional tag, which evalutes its body if the \tsupplied condition is true and optionally exposes a Boolean \tscripting variable representing the evaluation of this condition");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("test", true, "boolean", true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("import");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.core.ImportTag");
                    tag.setTeiClass("org.apache.taglibs.standard.tei.ImportTEI");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Retrieves an absolute or relative URL and exposes its contents         to either the page, a String in 'var', or a Reader in 'varReader'.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("url", true, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("varReader", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("context", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("charEncoding", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("forEach");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.core.ForEachTag");
                    tag.setTeiClass("org.apache.taglibs.standard.tei.ForEachTEI");
                    tag.setBodyContent("JSP");
                    tag.setInfo("The basic iteration tag, accepting many different         collection types and supporting subsetting and other         functionality");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("items", false, "java.lang.Object", true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("begin", false, "int", true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("end", false, "int", true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("step", false, "int", true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("varStatus", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("forTokens");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.core.ForTokensTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Iterates over tokens, separated by the supplied delimeters");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("items", true, "java.lang.String", true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("delims", true, "java.lang.String", true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("begin", false, "int", true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("end", false, "int", true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("step", false, "int", true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("varStatus", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("out");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.core.OutTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Like <%= ... >, but for expressions.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", true, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("default", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("escapeXml", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("otherwise");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.core.OtherwiseTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Subtag of <choose> that follows <when> tags         and runs only if all of the prior conditions evaluated to         'false'");
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("param");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.core.ParamTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Adds a parameter to a containing 'import' tag's URL.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("name", true, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("redirect");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.core.RedirectTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Redirects to a new URL.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("url", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("context", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("remove");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.core.RemoveTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Removes a scoped variable (from a particular scope, if specified).");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("set");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.core.SetTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Sets the result of an expression evaluation in a 'scope'");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("target", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("property", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("url");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.core.UrlTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Creates a URL with optional query parameters.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("context", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("when");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.core.WhenTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Subtag of <choose> that includes its body if its \tcondition evalutes to 'true'");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("test", true, "boolean", true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                TLD_RESOURCE_TAG_LIB.put(path, taglibXml);
            }
            {
                final TldResourcePath path = new TldResourcePath(JSTL_URL, null, "META-INF/x-1_0-rt.tld");
                URI_TLD_RESOURCE.put("http://java.sun.com/jstl/xml_rt", path);
                final TaglibXml taglibXml = new TaglibXml();
                taglibXml.setTlibVersion("1.0");
                taglibXml.setJspVersion("1.2");
                taglibXml.setShortName("x_rt");
                taglibXml.setUri("http://java.sun.com/jstl/xml_rt");
                taglibXml.setInfo("JSTL 1.0 XML library");
                final ValidatorXml validator = new ValidatorXml();
                validator.setValidatorClass("org.apache.taglibs.standard.tlv.JstlXmlTLV");
                taglibXml.setValidator(validator);
                {
                    final TagXml tag = new TagXml();
                    tag.setName("choose");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.core.ChooseTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Simple conditional tag that establishes a context for         mutually exclusive conditional operations, marked by         <when> and <otherwise>");
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("out");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.xml.ExprTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Like <%= ... >, but for XPath expressions.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("select", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("escapeXml", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("if");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.xml.IfTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("XML conditional tag, which evalutes its body if the         supplied XPath expression evalutes to 'true' as a boolean");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("select", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("forEach");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.xml.ForEachTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("XML iteration tag.");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("select", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("otherwise");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.core.OtherwiseTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Subtag of <choose> that follows <when> tags \tand runs only if all of the prior conditions evaluated to \t'false'");
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("param");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.xml.ParamTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Adds a parameter to a containing 'transform' tag's Transformer");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("name", true, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("value", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("parse");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.xml.ParseTag");
                    tag.setTeiClass("org.apache.taglibs.standard.tei.XmlParseTEI");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Parses XML content from 'source' attribute or 'body'");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("varDom", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scopeDom", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("xml", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("systemId", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("filter", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("set");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.xml.SetTag");
                    tag.setBodyContent("empty");
                    tag.setInfo("Saves the result of an XPath expression evaluation in a 'scope'");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("select", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("transform");
                    tag.setTagClass("org.apache.taglibs.standard.tag.rt.xml.TransformTag");
                    tag.setTeiClass("org.apache.taglibs.standard.tei.XmlTransformTEI");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Conducts a transformation given a source XML document \tand an XSLT stylesheet");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("var", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("scope", false, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("result", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("xml", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("xmlSystemId", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("xslt", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("xsltSystemId", false, null, true, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                {
                    final TagXml tag = new TagXml();
                    tag.setName("when");
                    tag.setTagClass("org.apache.taglibs.standard.tag.common.xml.WhenTag");
                    tag.setBodyContent("JSP");
                    tag.setInfo("Subtag of <choose> that includes its body if its         expression evalutes to 'true'");
                    {
                        final TagAttributeInfo attr = new TagAttributeInfo("select", true, "java.lang.String", false, false, null, false, false, null, null);
                        tag.getAttributes().add(attr);
                    }
                    taglibXml.addTag(tag);
                }
                TLD_RESOURCE_TAG_LIB.put(path, taglibXml);
            }
            {
                final TldResourcePath path = new TldResourcePath(JSTL_URL, null, "META-INF/fn.tld");
                URI_TLD_RESOURCE.put("http://java.sun.com/jsp/jstl/functions", path);
                final TaglibXml taglibXml = new TaglibXml();
                taglibXml.setTlibVersion("1.1");
                taglibXml.setJspVersion("2.0");
                taglibXml.setShortName("fn");
                taglibXml.setUri("http://java.sun.com/jsp/jstl/functions");
                taglibXml.setInfo("JSTL 1.1 functions library");
                {
                    final FunctionInfo function = new FunctionInfo("contains", "org.apache.taglibs.standard.functions.Functions", "boolean contains(java.lang.String, java.lang.String)");
                    taglibXml.getFunctions().add(function);
                }
                {
                    final FunctionInfo function = new FunctionInfo("containsIgnoreCase", "org.apache.taglibs.standard.functions.Functions", "boolean containsIgnoreCase(java.lang.String, java.lang.String)");
                    taglibXml.getFunctions().add(function);
                }
                {
                    final FunctionInfo function = new FunctionInfo("endsWith", "org.apache.taglibs.standard.functions.Functions", "boolean endsWith(java.lang.String, java.lang.String)");
                    taglibXml.getFunctions().add(function);
                }
                {
                    final FunctionInfo function = new FunctionInfo("escapeXml", "org.apache.taglibs.standard.functions.Functions", "java.lang.String escapeXml(java.lang.String)");
                    taglibXml.getFunctions().add(function);
                }
                {
                    final FunctionInfo function = new FunctionInfo("indexOf", "org.apache.taglibs.standard.functions.Functions", "int indexOf(java.lang.String, java.lang.String)");
                    taglibXml.getFunctions().add(function);
                }
                {
                    final FunctionInfo function = new FunctionInfo("join", "org.apache.taglibs.standard.functions.Functions", "java.lang.String join(java.lang.String[], java.lang.String)");
                    taglibXml.getFunctions().add(function);
                }
                {
                    final FunctionInfo function = new FunctionInfo("length", "org.apache.taglibs.standard.functions.Functions", "int length(java.lang.Object)");
                    taglibXml.getFunctions().add(function);
                }
                {
                    final FunctionInfo function = new FunctionInfo("replace", "org.apache.taglibs.standard.functions.Functions", "java.lang.String replace(java.lang.String, java.lang.String, java.lang.String)");
                    taglibXml.getFunctions().add(function);
                }
                {
                    final FunctionInfo function = new FunctionInfo("split", "org.apache.taglibs.standard.functions.Functions", "java.lang.String[] split(java.lang.String, java.lang.String)");
                    taglibXml.getFunctions().add(function);
                }
                {
                    final FunctionInfo function = new FunctionInfo("startsWith", "org.apache.taglibs.standard.functions.Functions", "boolean startsWith(java.lang.String, java.lang.String)");
                    taglibXml.getFunctions().add(function);
                }
                {
                    final FunctionInfo function = new FunctionInfo("substring", "org.apache.taglibs.standard.functions.Functions", "java.lang.String substring(java.lang.String, int, int)");
                    taglibXml.getFunctions().add(function);
                }
                {
                    final FunctionInfo function = new FunctionInfo("substringAfter", "org.apache.taglibs.standard.functions.Functions", "java.lang.String substringAfter(java.lang.String, java.lang.String)");
                    taglibXml.getFunctions().add(function);
                }
                {
                    final FunctionInfo function = new FunctionInfo("substringBefore", "org.apache.taglibs.standard.functions.Functions", "java.lang.String substringBefore(java.lang.String, java.lang.String)");
                    taglibXml.getFunctions().add(function);
                }
                {
                    final FunctionInfo function = new FunctionInfo("toLowerCase", "org.apache.taglibs.standard.functions.Functions", "java.lang.String toLowerCase(java.lang.String)");
                    taglibXml.getFunctions().add(function);
                }
                {
                    final FunctionInfo function = new FunctionInfo("toUpperCase", "org.apache.taglibs.standard.functions.Functions", "java.lang.String toUpperCase(java.lang.String)");
                    taglibXml.getFunctions().add(function);
                }
                {
                    final FunctionInfo function = new FunctionInfo("trim", "org.apache.taglibs.standard.functions.Functions", "java.lang.String trim(java.lang.String)");
                    taglibXml.getFunctions().add(function);
                }
                TLD_RESOURCE_TAG_LIB.put(path, taglibXml);
            }
            {
                final TldResourcePath path = new TldResourcePath(JSTL_URL, null, "META-INF/permittedTaglibs.tld");
                URI_TLD_RESOURCE.put("http://jakarta.apache.org/taglibs/standard/permittedTaglibs", path);
                final TaglibXml taglibXml = new TaglibXml();
                taglibXml.setTlibVersion("1.1");
                taglibXml.setJspVersion("2.0");
                taglibXml.setShortName("permittedTaglibs");
                taglibXml.setUri("http://jakarta.apache.org/taglibs/standard/permittedTaglibs");
                taglibXml.setInfo("Restricts JSP pages to the JSTL tag libraries");
                final ValidatorXml validator = new ValidatorXml();
                validator.setValidatorClass("javax.servlet.jsp.jstl.tlv.PermittedTaglibsTLV");
                taglibXml.setValidator(validator);
                taglibXml.getValidator().addInitParam("permittedTaglibs", "http://java.sun.com/jsp/jstl/core\nhttp://java.sun.com/jsp/jstl/fmt\nhttp://java.sun.com/jsp/jstl/sql\nhttp://java.sun.com/jsp/jstl/xml");
                TLD_RESOURCE_TAG_LIB.put(path, taglibXml);
            }
        }
View Full Code Here

TOP

Related Classes of org.apache.tomcat.util.descriptor.tld.ValidatorXml

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.