[jboss-cvs] JBossAS SVN: r92670 - in projects/metadata/web/trunk/src: main/resources/schema and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Aug 21 09:57:34 EDT 2009


Author: remy.maucherat at jboss.com
Date: 2009-08-21 09:57:34 -0400 (Fri, 21 Aug 2009)
New Revision: 92670

Added:
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/TldExtensionMetaData.java
   projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/Tld20UnitTestCase.java
   projects/metadata/web/trunk/src/test/resources/org/jboss/test/metadata/web/Tld20_testEverything.xml
Modified:
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/AttributeMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/FunctionMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/TagFileMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/TagMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Tld11MetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Tld12MetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Tld20MetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Tld21MetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/TldMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/ValidatorMetaData.java
   projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/VariableMetaData.java
   projects/metadata/web/trunk/src/main/resources/schema/web-jsptaglibrary_2_0.xsd
   projects/metadata/web/trunk/src/test/resources/schema2class.properties
Log:
- Sun's xsd for taglibs 2.0 has a problem (duplicate type frm the J2EE xsd), so switch to the ASF one.
- Add the various element orders to parse TLDs.
- Add a simple test case for TLD 2.0, from the Tomcat examples (it uses all the elements defined in JSP 2.0).

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/AttributeMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/AttributeMetaData.java	2009-08-21 13:22:37 UTC (rev 92669)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/AttributeMetaData.java	2009-08-21 13:57:34 UTC (rev 92670)
@@ -21,6 +21,9 @@
  */
 package org.jboss.metadata.web.spec;
 
+import javax.xml.bind.annotation.XmlType;
+
+import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
 import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
 
 
@@ -30,6 +33,10 @@
  * @author Remy Maucherat
  * @version $Revision: 75201 $
  */
+ at XmlType(name="tld-attributeType",
+      namespace=JavaEEMetaDataConstants.JAVAEE_NS,
+      propOrder={"descriptions", "name", "required", "rtexprvalue", "type", "deferredValue", "deferredMethod",
+            "fragment"})
 public class AttributeMetaData extends NamedMetaDataWithDescriptions
 {
    private static final long serialVersionUID = 1;

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/FunctionMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/FunctionMetaData.java	2009-08-21 13:22:37 UTC (rev 92669)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/FunctionMetaData.java	2009-08-21 13:57:34 UTC (rev 92670)
@@ -21,20 +21,31 @@
  */
 package org.jboss.metadata.web.spec;
 
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
 import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptionGroup;
 
 /**
- * taglib/tag-file metadata
+ * taglib/function metadata
  * 
  * @author Remy Maucherat
  * @version $Revision: 75201 $
  */
+ at XmlType(name="functionType",
+      namespace=JavaEEMetaDataConstants.JAVAEE_NS,
+      propOrder={"descriptionGroup", "name", "functionClass", "functionSignature", "examples", "functionExtensions"})
 public class FunctionMetaData extends NamedMetaDataWithDescriptionGroup
 {
    private static final long serialVersionUID = 1;
    
    private String functionClass;
    private String functionSignature;
+   private List<String> examples;
+   private List<TldExtensionMetaData> functionExtensions;
 
    public String getFunctionClass()
    {
@@ -54,6 +65,26 @@
       this.functionSignature = functionSignature;
    }
 
+   public List<String> getExamples()
+   {
+      return examples;
+   }
+   @XmlElement(name="example")
+   public void setExamples(List<String> examples)
+   {
+      this.examples = examples;
+   }
+   
+   public List<TldExtensionMetaData> getFunctionExtensions()
+   {
+      return functionExtensions;
+   }
+   @XmlElement(name="function-extension")
+   public void setFunctionExtensions(List<TldExtensionMetaData> functionExtensions)
+   {
+      this.functionExtensions = functionExtensions;
+   }
+   
    public String toString()
    {
       StringBuilder tmp = new StringBuilder("FunctionMetaData(id=");

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/TagFileMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/TagFileMetaData.java	2009-08-21 13:22:37 UTC (rev 92669)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/TagFileMetaData.java	2009-08-21 13:57:34 UTC (rev 92670)
@@ -21,6 +21,12 @@
  */
 package org.jboss.metadata.web.spec;
 
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
 import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptionGroup;
 
 /**
@@ -29,11 +35,16 @@
  * @author Remy Maucherat
  * @version $Revision: 75201 $
  */
+ at XmlType(name="tagFileType",
+      namespace=JavaEEMetaDataConstants.JAVAEE_NS,
+      propOrder={"descriptionGroup", "name", "path", "examples", "tagExtensions"})
 public class TagFileMetaData extends NamedMetaDataWithDescriptionGroup
 {
    private static final long serialVersionUID = 1;
    
    private String path;
+   private List<String> examples;
+   private List<TldExtensionMetaData> tagExtensions;
 
    public String getPath()
    {
@@ -44,6 +55,26 @@
       this.path = path;
    }
 
+   public List<String> getExamples()
+   {
+      return examples;
+   }
+   @XmlElement(name="example")
+   public void setExamples(List<String> examples)
+   {
+      this.examples = examples;
+   }
+   
+   public List<TldExtensionMetaData> getTagExtensions()
+   {
+      return tagExtensions;
+   }
+   @XmlElement(name="tag-extension")
+   public void setTagExtensions(List<TldExtensionMetaData> tagExtensions)
+   {
+      this.tagExtensions = tagExtensions;
+   }
+   
    public String toString()
    {
       StringBuilder tmp = new StringBuilder("TagFileMetaData(id=");

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/TagMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/TagMetaData.java	2009-08-21 13:22:37 UTC (rev 92669)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/TagMetaData.java	2009-08-21 13:57:34 UTC (rev 92670)
@@ -24,7 +24,9 @@
 import java.util.List;
 
 import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
 import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptionGroup;
 
 /**
@@ -33,6 +35,10 @@
  * @author Remy Maucherat
  * @version $Revision: 75201 $
  */
+ at XmlType(name="tagType",
+      namespace=JavaEEMetaDataConstants.JAVAEE_NS,
+      propOrder={"descriptionGroup", "name", "tagClass", "teiClass", "bodyContent", "variables", "attributes",
+            "dynamicAttributes", "examples", "tagExtensions"})
 public class TagMetaData extends NamedMetaDataWithDescriptionGroup
 {
    private static final long serialVersionUID = 1;
@@ -43,6 +49,8 @@
    private List<VariableMetaData> variables;
    private List<AttributeMetaData> attributes;
    private boolean dynamicAttributes = false;
+   private List<String> examples;
+   private List<TldExtensionMetaData> tagExtensions;
 
    public String getTagClass()
    {
@@ -115,6 +123,26 @@
       this.attributes = attributes;
    }
 
+   public List<String> getExamples()
+   {
+      return examples;
+   }
+   @XmlElement(name="example")
+   public void setExamples(List<String> examples)
+   {
+      this.examples = examples;
+   }
+
+   public List<TldExtensionMetaData> getTagExtensions()
+   {
+      return tagExtensions;
+   }
+   @XmlElement(name="tag-extension")
+   public void setTagExtensions(List<TldExtensionMetaData> tagExtensions)
+   {
+      this.tagExtensions = tagExtensions;
+   }
+   
    public String toString()
    {
       StringBuilder tmp = new StringBuilder("ServletMetaData(id=");

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Tld11MetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Tld11MetaData.java	2009-08-21 13:22:37 UTC (rev 92669)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Tld11MetaData.java	2009-08-21 13:57:34 UTC (rev 92670)
@@ -5,6 +5,7 @@
 import javax.xml.bind.annotation.XmlNs;
 import javax.xml.bind.annotation.XmlNsForm;
 import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 
 import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
 import org.jboss.xb.annotations.JBossXmlSchema;
@@ -22,6 +23,8 @@
       namespace="",
       elementFormDefault=XmlNsForm.UNSET,
       normalizeSpace=true)
+ at XmlType(name="tldTaglibType",
+      propOrder={"tlibversion", "jspversion", "shortname", "uri", "descriptionGroup", "tags"})
 public class Tld11MetaData extends TldMetaData
 {
    private static final long serialVersionUID = 1;
@@ -32,18 +35,22 @@
       return "1.1";
    }
 
-   @Override
    @XmlElement(name="tlibversion")
-   public void setTlibVersion(String tlibVersion)
+   public void setTlibversion(String tlibVersion)
    {
       super.setTlibVersion(tlibVersion);
    }
 
-   @Override
    @XmlElement(name="jspversion")
-   public void setJspVersion(String jspVersion)
+   public void setJspversion(String jspVersion)
    {
       super.setJspVersion(jspVersion);
    }
 
+   @XmlElement(name="shortname")
+   public void setShortname(String shortName)
+   {
+      super.setShortName(shortName);
+   }
+
 }

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Tld12MetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Tld12MetaData.java	2009-08-21 13:22:37 UTC (rev 92669)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Tld12MetaData.java	2009-08-21 13:57:34 UTC (rev 92670)
@@ -4,6 +4,7 @@
 import javax.xml.bind.annotation.XmlNs;
 import javax.xml.bind.annotation.XmlNsForm;
 import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 
 import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
 import org.jboss.xb.annotations.JBossXmlSchema;
@@ -21,6 +22,8 @@
       namespace="",
       elementFormDefault=XmlNsForm.UNSET,
       normalizeSpace=true)
+ at XmlType(name="tldTaglibType",
+      propOrder={"tlibVersion", "jspVersion", "shortName", "uri", "descriptionGroup", "validator", "listeners", "tags"})
 public class Tld12MetaData extends TldMetaData
 {
    private static final long serialVersionUID = 1;

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Tld20MetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Tld20MetaData.java	2009-08-21 13:22:37 UTC (rev 92669)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Tld20MetaData.java	2009-08-21 13:57:34 UTC (rev 92670)
@@ -4,6 +4,7 @@
 import javax.xml.bind.annotation.XmlNs;
 import javax.xml.bind.annotation.XmlNsForm;
 import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 
 import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
 import org.jboss.xb.annotations.JBossXmlSchema;
@@ -21,6 +22,10 @@
       namespace=JavaEEMetaDataConstants.J2EE_NS,
       elementFormDefault=XmlNsForm.QUALIFIED,
       normalizeSpace=true)
+ at XmlType(name="tldTaglibType",
+      namespace=JavaEEMetaDataConstants.J2EE_NS,
+      propOrder={"descriptionGroup", "tlibVersion", "shortName", "uri", "validator", "listeners", "tags",
+      "tagFiles", "functions", "taglibExtensions"})
 public class Tld20MetaData extends TldMetaData
 {
    private static final long serialVersionUID = 1;

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Tld21MetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Tld21MetaData.java	2009-08-21 13:22:37 UTC (rev 92669)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/Tld21MetaData.java	2009-08-21 13:57:34 UTC (rev 92670)
@@ -4,6 +4,7 @@
 import javax.xml.bind.annotation.XmlNs;
 import javax.xml.bind.annotation.XmlNsForm;
 import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 
 import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
 import org.jboss.xb.annotations.JBossXmlSchema;
@@ -21,6 +22,10 @@
       namespace=JavaEEMetaDataConstants.JAVAEE_NS,
       elementFormDefault=XmlNsForm.QUALIFIED,
       normalizeSpace=true)
+ at XmlType(name="tldTaglibType",
+      namespace=JavaEEMetaDataConstants.JAVAEE_NS,
+      propOrder={"descriptionGroup", "tlibVersion", "shortName", "uri", "validator", "listeners", "tags",
+      "tagFiles", "functions", "taglibExtensions"})
 public class Tld21MetaData extends TldMetaData
 {
    private static final long serialVersionUID = 1;

Added: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/TldExtensionMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/TldExtensionMetaData.java	                        (rev 0)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/TldExtensionMetaData.java	2009-08-21 13:57:34 UTC (rev 92670)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.metadata.web.spec;
+
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+
+import org.jboss.metadata.javaee.support.IdMetaDataImpl;
+
+/**
+ * The taglib related extension element (unused AKAIK)
+ * @author Remy Maucherat
+ * @version $Revision: 70996 $
+ */
+public class TldExtensionMetaData extends IdMetaDataImpl
+{
+   private static final long serialVersionUID = 1;
+
+   private String namespace;
+   private List<Object> extensionElements;
+
+   public List<Object> getExtensionElements()
+   {
+      return extensionElements;
+   }
+   @XmlElement(name="extension-element")
+   public void setExtensionElements(List<Object> extensionElements)
+   {
+      this.extensionElements = extensionElements;
+   }
+   
+   public String getNamespace()
+   {
+      return namespace;
+   }
+   @XmlAttribute(name="namespace")
+   public void setNamespace(String namespace)
+   {
+      this.namespace = namespace;
+   }
+   
+}

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/TldMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/TldMetaData.java	2009-08-21 13:22:37 UTC (rev 92669)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/TldMetaData.java	2009-08-21 13:57:34 UTC (rev 92670)
@@ -43,6 +43,7 @@
 
    private String dtdPublicId;
    private String dtdSystemId;
+   private String shortName;
    private String version;
    private String tlibVersion;
    private String jspVersion;
@@ -51,6 +52,7 @@
    private List<TagMetaData> tags;
    private List<TagFileMetaData> tagFiles;
    private List<FunctionMetaData> functions;
+   private List<TldExtensionMetaData> taglibExtensions;
 
    /**
     * Callback for the DTD information
@@ -140,7 +142,7 @@
    {
       return validator;
    }
-   public void setJspVersion(ValidatorMetaData validator)
+   public void setValidator(ValidatorMetaData validator)
    {
       this.validator = validator;
    }
@@ -184,5 +186,24 @@
    {
       this.listeners = listeners;
    }
+   
+   public String getShortName()
+   {
+      return shortName;
+   }
+   public void setShortName(String shortName)
+   {
+      this.shortName = shortName;
+   }
 
+   public List<TldExtensionMetaData> getTaglibExtensions()
+   {
+      return taglibExtensions;
+   }
+   @XmlElement(name="taglib-extension")
+   public void setTaglibExtensions(List<TldExtensionMetaData> taglibExtensions)
+   {
+      this.taglibExtensions = taglibExtensions;
+   }
+   
 }

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/ValidatorMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/ValidatorMetaData.java	2009-08-21 13:22:37 UTC (rev 92669)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/ValidatorMetaData.java	2009-08-21 13:57:34 UTC (rev 92670)
@@ -24,7 +24,9 @@
 import java.util.List;
 
 import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
 import org.jboss.metadata.javaee.spec.ParamValueMetaData;
 import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
 
@@ -34,6 +36,9 @@
  * @author Remy Maucherat
  * @version $Revision: 81768 $
  */
+ at XmlType(name="validatorType",
+      namespace=JavaEEMetaDataConstants.JAVAEE_NS,
+      propOrder={"descriptions", "validatorClass", "initParams"})
 public class ValidatorMetaData extends IdMetaDataImplWithDescriptions
 {
    private static final long serialVersionUID = 1;

Modified: projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/VariableMetaData.java
===================================================================
--- projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/VariableMetaData.java	2009-08-21 13:22:37 UTC (rev 92669)
+++ projects/metadata/web/trunk/src/main/java/org/jboss/metadata/web/spec/VariableMetaData.java	2009-08-21 13:57:34 UTC (rev 92670)
@@ -21,6 +21,9 @@
  */
 package org.jboss.metadata.web.spec;
 
+import javax.xml.bind.annotation.XmlType;
+
+import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
 import org.jboss.metadata.javaee.support.IdMetaDataImplWithDescriptions;
 
 /**
@@ -29,6 +32,9 @@
  * @author Remy Maucherat
  * @version $Revision: 81768 $
  */
+ at XmlType(name="variableType",
+      namespace=JavaEEMetaDataConstants.JAVAEE_NS,
+      propOrder={"descriptions", "nameGiven", "nameFromAttribute", "variableClass", "declare", "scope"})
 public class VariableMetaData extends IdMetaDataImplWithDescriptions
 {
    private static final long serialVersionUID = 1;

Modified: projects/metadata/web/trunk/src/main/resources/schema/web-jsptaglibrary_2_0.xsd
===================================================================
--- projects/metadata/web/trunk/src/main/resources/schema/web-jsptaglibrary_2_0.xsd	2009-08-21 13:22:37 UTC (rev 92669)
+++ projects/metadata/web/trunk/src/main/resources/schema/web-jsptaglibrary_2_0.xsd	2009-08-21 13:57:34 UTC (rev 92670)
@@ -1,4 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
 <xsd:schema
      targetNamespace="http://java.sun.com/xml/ns/j2ee"
      xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
@@ -10,72 +26,37 @@
 
   <xsd:annotation>
     <xsd:documentation>
-      @(#)web-jsptaglibrary_2_0.xsds	1.33 03/18/03
+      %W% %G%
     </xsd:documentation>
   </xsd:annotation>
   <xsd:annotation>
     <xsd:documentation>
-
-      Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
-      Road, Palo Alto, California 94303, U.S.A. All rights
-      reserved.
-
-      Sun Microsystems, Inc. has intellectual property rights
-      relating to technology described in this document. In
-      particular, and without limitation, these intellectual
-      property rights may include one or more of the U.S. patents
-      listed at http://www.sun.com/patents and one or more
-      additional patents or pending patent applications in the
-      U.S. and other countries.
-
-      This document and the technology which it describes are
-      distributed under licenses restricting their use, copying,
-      distribution, and decompilation. No part of this document
-      may be reproduced in any form by any means without prior
-      written authorization of Sun and its licensors, if any.
-
-      Third-party software, including font technology, is
-      copyrighted and licensed from Sun suppliers.
-
-      Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
-      JavaServer Pages, Enterprise JavaBeans and the Java Coffee
-      Cup logo are trademarks or registered trademarks of Sun
-      Microsystems, Inc. in the U.S. and other countries.
-
-      Federal Acquisitions: Commercial Software - Government Users
-      Subject to Standard License Terms and Conditions.
-
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:annotation>
-    <xsd:documentation>
       <![CDATA[
 
-	This is the XML Schema for the JSP Taglibrary
-	descriptor.  All Taglibrary descriptors must
-	indicate the tag library schema by using the Taglibrary
-	namespace:
+    This is the XML Schema for the JSP Taglibrary
+    descriptor.  All Taglibrary descriptors must
+    indicate the tag library schema by using the Taglibrary
+    namespace:
 
-	http://java.sun.com/xml/ns/j2ee
+    http://java.sun.com/xml/ns/j2ee
 
-	and by indicating the version of the schema by
-	using the version element as shown below:
+    and by indicating the version of the schema by
+    using the version element as shown below:
 
-	    <taglib xmlns="http://java.sun.com/xml/ns/j2ee"
-	      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	      xsi:schemaLocation="..."
-	      version="2.0">
-	      ...
-	    </taglib>
+        <taglib xmlns="http://java.sun.com/xml/ns/j2ee"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="..."
+          version="2.0">
+          ...
+        </taglib>
 
-	The instance documents may indicate the published
-	version of the schema using xsi:schemaLocation attribute
-	for J2EE namespace with the following location:
+    The instance documents may indicate the published
+    version of the schema using xsi:schemaLocation attribute
+    for J2EE namespace with the following location:
 
-	http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd
+    http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd
 
-	]]>
+    ]]>
     </xsd:documentation>
   </xsd:annotation>
 
@@ -85,25 +66,25 @@
 <!-- **************************************************** -->
 
 
-  <xsd:element name="taglib" type="j2ee:taglibType">
+  <xsd:element name="taglib" type="j2ee:tldTaglibType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The taglib tag is the document root.
-	The definition of taglib is provided
-	by the taglibType.
+    The taglib tag is the document root.
+    The definition of taglib is provided
+    by the tldTaglibType.
 
       </xsd:documentation>
     </xsd:annotation>
     <xsd:unique name="tag-name-uniqueness">
       <xsd:annotation>
-	<xsd:documentation>
+    <xsd:documentation>
 
-	  The taglib element contains, among other things, tag and
-	  tag-file elements.
-	  The name subelements of these elements must each be unique.
+      The taglib element contains, among other things, tag and
+      tag-file elements.
+      The name subelements of these elements must each be unique.
 
-	</xsd:documentation>
+    </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="j2ee:tag|j2ee:tag-file"/>
       <xsd:field    xpath="j2ee:name"/>
@@ -111,12 +92,12 @@
 
     <xsd:unique name="function-name-uniqueness">
       <xsd:annotation>
-	<xsd:documentation>
+    <xsd:documentation>
 
-	  The taglib element contains function elements.
-	  The name subelements of these elements must each be unique.
+      The taglib element contains function elements.
+      The name subelements of these elements must each be unique.
 
-	</xsd:documentation>
+    </xsd:documentation>
       </xsd:annotation>
       <xsd:selector xpath="j2ee:function"/>
       <xsd:field    xpath="j2ee:name"/>
@@ -131,34 +112,37 @@
     <xsd:annotation>
       <xsd:documentation>
 
-	Provides a hint as to the content of the body of this tag.
-	Primarily intended for use by page composition tools.
+        Specifies the type of body that is valid for a tag.
+    This value is used by the JSP container to validate
+    that a tag invocation has the correct body syntax and
+    by page composition tools to assist the page author
+    in providing a valid tag body.
 
-	There are currently four values specified:
+    There are currently four values specified:
 
-	tagdependent    The body of the tag is interpreted by the tag
-			implementation itself, and is most likely
-			in a different "language", e.g embedded SQL
-			statements.
+    tagdependent    The body of the tag is interpreted by the tag
+            implementation itself, and is most likely
+            in a different "language", e.g embedded SQL
+            statements.
 
-	JSP             The body of the tag contains nested JSP
-			syntax.
+    JSP             The body of the tag contains nested JSP
+            syntax.
 
-	empty           The body must be empty
+    empty           The body must be empty
 
-	scriptless      The body accepts only template text, EL
-			Expressions, and JSP action elements.  No
-			scripting elements are allowed.
+    scriptless      The body accepts only template text, EL
+            Expressions, and JSP action elements.  No
+            scripting elements are allowed.
 
       </xsd:documentation>
     </xsd:annotation>
 
     <xsd:simpleContent>
       <xsd:restriction base="j2ee:string">
-	<xsd:enumeration value="tagdependent"/>
-	<xsd:enumeration value="JSP"/>
-	<xsd:enumeration value="empty"/>
-	<xsd:enumeration value="scriptless"/>
+    <xsd:enumeration value="tagdependent"/>
+    <xsd:enumeration value="JSP"/>
+    <xsd:enumeration value="empty"/>
+    <xsd:enumeration value="scriptless"/>
       </xsd:restriction>
     </xsd:simpleContent>
   </xsd:complexType>
@@ -169,11 +153,11 @@
     <xsd:annotation>
       <xsd:documentation>
 
-	The extensibleType is an abstract base type that is used to
-	define the type of extension-elements. Instance documents
-	must substitute a known type to define the extension by
-	using xsi:type attribute to define the actual type of
-	extension-elements.
+    The extensibleType is an abstract base type that is used to
+    define the type of extension-elements. Instance documents
+    must substitute a known type to define the extension by
+    using xsi:type attribute to define the actual type of
+    extension-elements.
 
       </xsd:documentation>
     </xsd:annotation>
@@ -186,35 +170,35 @@
     <xsd:annotation>
       <xsd:documentation>
 
-	The function element is used to provide information on each
-	function in the tag library that is to be exposed to the EL.
+    The function element is used to provide information on each
+    function in the tag library that is to be exposed to the EL.
 
-	The function element may have several subelements defining:
+    The function element may have several subelements defining:
 
-	description         Optional tag-specific information
+    description         Optional tag-specific information
 
-	display-name        A short name that is intended to be
-			    displayed by tools
+    display-name        A short name that is intended to be
+                displayed by tools
 
-	icon                Optional icon element that can be used
-			    by tools
+    icon                Optional icon element that can be used
+                by tools
 
-	name                A unique name for this function
+    name                A unique name for this function
 
-	function-class      Provides the name of the Java class that
-			    implements the function
+    function-class      Provides the name of the Java class that
+                implements the function
 
-	function-signature  Provides the signature, as in the Java
-			    Language Specification, of the Java
-			    method that is to be used to implement
-			    the function.
+    function-signature  Provides the signature, as in the Java
+                Language Specification, of the Java
+                method that is to be used to implement
+                the function.
 
-	example             Optional informal description of an
-			    example of a use of this function
+    example             Optional informal description of an
+                example of a use of this function
 
-	function-extension  Zero or more extensions that provide extra
-			    information about this function, for tool
-			    consumption
+    function-extension  Zero or more extensions that provide extra
+                information about this function, for tool
+                consumption
 
       </xsd:documentation>
     </xsd:annotation>
@@ -222,123 +206,93 @@
     <xsd:sequence>
       <xsd:group ref="j2ee:descriptionGroup"/>
       <xsd:element name="name"
-		   type="j2ee:tld-canonical-nameType">
-	<xsd:annotation>
-	  <xsd:documentation>
+           type="j2ee:tld-canonical-nameType">
+    <xsd:annotation>
+      <xsd:documentation>
 
-	    A unique name for this function.
+        A unique name for this function.
 
-	  </xsd:documentation>
-	</xsd:annotation>
+      </xsd:documentation>
+    </xsd:annotation>
       </xsd:element>
       <xsd:element name="function-class"
-		   type="j2ee:fully-qualified-classType">
-	<xsd:annotation>
-	  <xsd:documentation>
+           type="j2ee:fully-qualified-classType">
+    <xsd:annotation>
+      <xsd:documentation>
 
-	    Provides the fully-qualified class name of the Java
-	    class containing the static method that implements
-	    the function.
+        Provides the fully-qualified class name of the Java
+        class containing the static method that implements
+        the function.
 
-	  </xsd:documentation>
-	</xsd:annotation>
+      </xsd:documentation>
+    </xsd:annotation>
 
       </xsd:element>
       <xsd:element name="function-signature"
-		   type="j2ee:string">
-	<xsd:annotation>
-	  <xsd:documentation>
+           type="j2ee:string">
+    <xsd:annotation>
+      <xsd:documentation>
 
-	    Provides the signature, of the static Java method that is
-	    to be used to implement the function.  The syntax of the
-	    function-signature element is as follows:
+        Provides the signature, of the static Java method that is
+        to be used to implement the function.  The syntax of the
+        function-signature element is as follows:
 
-		FunctionSignature ::= ReturnType S MethodName S?
-				      '(' S? Parameters? S? ')'
+        FunctionSignature ::= ReturnType S MethodName S?
+                      '(' S? Parameters? S? ')'
 
                 ReturnType        ::= Type
 
-		MethodName        ::= Identifier
+        MethodName        ::= Identifier
 
-		Parameters        ::=   Parameter
-				      | ( Parameter S? ',' S? Parameters )
+        Parameters        ::=   Parameter
+                      | ( Parameter S? ',' S? Parameters )
 
                 Parameter         ::= Type
 
-		Where:
+        Where:
 
- 		    * Type is a basic type or a fully qualified Java class name
-		      (including package name), as per the 'Type' production
-		      in the Java Language Specification, Second Edition,
-		      Chapter 18.
+            * Type is a basic type or a fully qualified Java class name
+              (including package name), as per the 'Type' production
+              in the Java Language Specification, Second Edition,
+              Chapter 18.
 
                     * Identifier is a Java identifier, as per the 'Identifier'
-		      production in the Java Language Specification, Second
-		      Edition, Chapter 18.
+              production in the Java Language Specification, Second
+              Edition, Chapter 18.
 
-	    Example:
+        Example:
 
-	    java.lang.String nickName( java.lang.String, int )
+        java.lang.String nickName( java.lang.String, int )
 
-	  </xsd:documentation>
-	</xsd:annotation>
+      </xsd:documentation>
+    </xsd:annotation>
 
       </xsd:element>
       <xsd:element name="example"
-		   type="j2ee:xsdStringType"
-		   minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
+           type="j2ee:xsdStringType"
+           minOccurs="0">
+    <xsd:annotation>
+      <xsd:documentation>
 
-	    The example element contains an informal description
-	    of an example of the use of this function.
+        The example element contains an informal description
+        of an example of the use of this function.
 
-	  </xsd:documentation>
-	</xsd:annotation>
+      </xsd:documentation>
+    </xsd:annotation>
 
       </xsd:element>
       <xsd:element name="function-extension"
-		   type="j2ee:tld-extensionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded">
-	<xsd:annotation>
-	  <xsd:documentation>
-
-	    Function extensions are for tool use only and must not affect
-	    the behavior of a container.
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="listenerType">
+           type="j2ee:tld-extensionType"
+           minOccurs="0"
+           maxOccurs="unbounded">
     <xsd:annotation>
       <xsd:documentation>
 
-	Defines an event listener object to be instantiated and
-	registered automatically.
+        Function extensions are for tool use only and must not affect
+        the behavior of a container.
 
       </xsd:documentation>
     </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:element name="listener-class"
-		   type="j2ee:fully-qualified-classType">
-	<xsd:annotation>
-	  <xsd:documentation>
-
-	    The listener-class element declares a class in the
-	    application that must be registered as a web
-	    application listener bean.  See the Servlet
-	    specification for details.
-
-	  </xsd:documentation>
-	</xsd:annotation>
       </xsd:element>
     </xsd:sequence>
     <xsd:attribute name="id" type="xsd:ID"/>
@@ -350,35 +304,35 @@
     <xsd:annotation>
       <xsd:documentation>
 
-	Defines an action in this tag library that is implemented
-	as a .tag file.
+    Defines an action in this tag library that is implemented
+    as a .tag file.
 
-	The tag-file element has two required subelements:
+    The tag-file element has two required subelements:
 
-	description       Optional tag-specific information
+    description       Optional tag-specific information
 
-	display-name      A short name that is intended to be
-			  displayed by tools
+    display-name      A short name that is intended to be
+              displayed by tools
 
-	icon              Optional icon element that can be used
-			  by tools
+    icon              Optional icon element that can be used
+              by tools
 
-	name              The unique action name
+    name              The unique action name
 
-	path              Where to find the .tag file implementing this
-			  action, relative to the root of the web
-			  application or the root of the JAR file for a
-			  tag library packaged in a JAR.  This must
-			  begin with /WEB-INF/tags if the .tag file
-			  resides in the WAR, or /META-INF/tags if the
-			  .tag file resides in a JAR.
+    path              Where to find the .tag file implementing this
+              action, relative to the root of the web
+              application or the root of the JAR file for a
+              tag library packaged in a JAR.  This must
+              begin with /WEB-INF/tags if the .tag file
+              resides in the WAR, or /META-INF/tags if the
+              .tag file resides in a JAR.
 
-	example           Optional informal description of an
-			  example of a use of this tag
+    example           Optional informal description of an
+              example of a use of this tag
 
-	tag-extension     Zero or more extensions that provide extra
-			  information about this tag, for tool
-			  consumption
+    tag-extension     Zero or more extensions that provide extra
+              information about this tag, for tool
+              consumption
 
       </xsd:documentation>
     </xsd:annotation>
@@ -386,34 +340,34 @@
     <xsd:sequence>
       <xsd:group ref="j2ee:descriptionGroup"/>
       <xsd:element name="name"
-		   type="j2ee:tld-canonical-nameType"/>
+           type="j2ee:tld-canonical-nameType"/>
       <xsd:element name="path"
-		   type="j2ee:pathType"/>
+           type="j2ee:pathType"/>
       <xsd:element name="example"
-		   type="j2ee:xsdStringType"
-		   minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
+           type="j2ee:xsdStringType"
+           minOccurs="0">
+    <xsd:annotation>
+      <xsd:documentation>
 
-	    The example element contains an informal description
-	    of an example of the use of a tag.
+        The example element contains an informal description
+        of an example of the use of a tag.
 
-	  </xsd:documentation>
-	</xsd:annotation>
+      </xsd:documentation>
+    </xsd:annotation>
 
       </xsd:element>
       <xsd:element name="tag-extension"
-		   type="j2ee:tld-extensionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded">
-	<xsd:annotation>
-	  <xsd:documentation>
+           type="j2ee:tld-extensionType"
+           minOccurs="0"
+           maxOccurs="unbounded">
+    <xsd:annotation>
+      <xsd:documentation>
 
-	    Tag extensions are for tool use only and must not affect
-	    the behavior of a container.
+        Tag extensions are for tool use only and must not affect
+        the behavior of a container.
 
-	  </xsd:documentation>
-	</xsd:annotation>
+      </xsd:documentation>
+    </xsd:annotation>
       </xsd:element>
     </xsd:sequence>
     <xsd:attribute name="id" type="xsd:ID"/>
@@ -425,46 +379,46 @@
     <xsd:annotation>
       <xsd:documentation>
 
-	The tag defines a unique tag in this tag library.  It has one
-	attribute, id.
+    The tag defines a unique tag in this tag library.  It has one
+    attribute, id.
 
-	The tag element may have several subelements defining:
+    The tag element may have several subelements defining:
 
-	description       Optional tag-specific information
+    description       Optional tag-specific information
 
-	display-name      A short name that is intended to be
-			  displayed by tools
+    display-name      A short name that is intended to be
+              displayed by tools
 
-	icon              Optional icon element that can be used
-			  by tools
+    icon              Optional icon element that can be used
+              by tools
 
-	name              The unique action name
+    name              The unique action name
 
-	tag-class         The tag handler class implementing
-			  javax.servlet.jsp.tagext.JspTag
+    tag-class         The tag handler class implementing
+              javax.servlet.jsp.tagext.JspTag
 
-	tei-class         An optional subclass of
-			  javax.servlet.jsp.tagext.TagExtraInfo
+    tei-class         An optional subclass of
+              javax.servlet.jsp.tagext.TagExtraInfo
 
-	body-content      The body content type
+    body-content      The body content type
 
-	variable          Optional scripting variable information
+    variable          Optional scripting variable information
 
-	attribute         All attributes of this action that are
-			  evaluated prior to invocation.
+    attribute         All attributes of this action that are
+              evaluated prior to invocation.
 
-	dynamic-attributes Whether this tag supports additional
-			   attributes with dynamic names.  If
-			   true, the tag-class must implement the
-			   javax.servlet.jsp.tagext.DynamicAttributes
-			   interface.  Defaults to false.
+    dynamic-attributes Whether this tag supports additional
+               attributes with dynamic names.  If
+               true, the tag-class must implement the
+               javax.servlet.jsp.tagext.DynamicAttributes
+               interface.  Defaults to false.
 
-	example           Optional informal description of an
-			  example of a use of this tag
+    example           Optional informal description of an
+              example of a use of this tag
 
-	tag-extension     Zero or more extensions that provide extra
-			  information about this tag, for tool
-			  consumption
+    tag-extension     Zero or more extensions that provide extra
+              information about this tag, for tool
+              consumption
 
       </xsd:documentation>
     </xsd:annotation>
@@ -472,80 +426,84 @@
     <xsd:sequence>
       <xsd:group ref="j2ee:descriptionGroup"/>
       <xsd:element name="name"
-		   type="j2ee:tld-canonical-nameType"/>
+           type="j2ee:tld-canonical-nameType"/>
       <xsd:element name="tag-class"
-		   type="j2ee:fully-qualified-classType">
-	<xsd:annotation>
-	  <xsd:documentation>
+           type="j2ee:fully-qualified-classType">
+    <xsd:annotation>
+      <xsd:documentation>
 
-	    Defines the subclass of javax.serlvet.jsp.tagext.JspTag
-	    that implements the request time semantics for
-	    this tag. (required)
+        Defines the subclass of javax.serlvet.jsp.tagext.JspTag
+        that implements the request time semantics for
+        this tag. (required)
 
-	  </xsd:documentation>
-	</xsd:annotation>
+      </xsd:documentation>
+    </xsd:annotation>
 
       </xsd:element>
       <xsd:element name="tei-class"
-		   type="j2ee:fully-qualified-classType"
-		   minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
+           type="j2ee:fully-qualified-classType"
+           minOccurs="0">
+    <xsd:annotation>
+      <xsd:documentation>
 
-	    Defines the subclass of javax.servlet.jsp.tagext.TagExtraInfo
-	    for this tag. (optional)
+        Defines the subclass of javax.servlet.jsp.tagext.TagExtraInfo
+        for this tag. (optional)
 
-	    If this is not given, the class is not consulted at
-	    translation time.
+        If this is not given, the class is not consulted at
+        translation time.
 
-	  </xsd:documentation>
-	</xsd:annotation>
+      </xsd:documentation>
+    </xsd:annotation>
       </xsd:element>
       <xsd:element name="body-content"
-		   type="j2ee:body-contentType"
-		   minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
+           type="j2ee:body-contentType">
+    <xsd:annotation>
+      <xsd:documentation>
 
-	    The default (if not defined) is JSP
+        Specifies the format for the body of this tag.
+        The default in JSP 1.2 was "JSP" but because this
+        is an invalid setting for simple tag handlers, there
+        is no longer a default in JSP 2.0.  A reasonable
+        default for simple tag handlers is "scriptless" if
+        the tag can have a body.
 
-	  </xsd:documentation>
-	</xsd:annotation>
+      </xsd:documentation>
+    </xsd:annotation>
       </xsd:element>
       <xsd:element name="variable"
-		   type="j2ee:variableType"
-		   minOccurs="0" maxOccurs="unbounded"/>
+           type="j2ee:variableType"
+           minOccurs="0" maxOccurs="unbounded"/>
       <xsd:element name="attribute"
-		   type="j2ee:tld-attributeType"
-		   minOccurs="0" maxOccurs="unbounded"/>
+           type="j2ee:tld-attributeType"
+           minOccurs="0" maxOccurs="unbounded"/>
       <xsd:element name="dynamic-attributes"
-		   type="j2ee:generic-booleanType"
-		   minOccurs="0"/>
+           type="j2ee:generic-booleanType"
+           minOccurs="0"/>
       <xsd:element name="example"
-		   type="j2ee:xsdStringType"
-		   minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
+           type="j2ee:xsdStringType"
+           minOccurs="0">
+    <xsd:annotation>
+      <xsd:documentation>
 
-	    The example element contains an informal description
-	    of an example of the use of a tag.
+        The example element contains an informal description
+        of an example of the use of a tag.
 
-	  </xsd:documentation>
-	</xsd:annotation>
+      </xsd:documentation>
+    </xsd:annotation>
 
       </xsd:element>
       <xsd:element name="tag-extension"
-		   type="j2ee:tld-extensionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded">
-	<xsd:annotation>
-	  <xsd:documentation>
+           type="j2ee:tld-extensionType"
+           minOccurs="0"
+           maxOccurs="unbounded">
+    <xsd:annotation>
+      <xsd:documentation>
 
-	    Tag extensions are for tool use only and must not affect
-	    the behavior of a container.
+        Tag extensions are for tool use only and must not affect
+        the behavior of a container.
 
-	  </xsd:documentation>
-	</xsd:annotation>
+      </xsd:documentation>
+    </xsd:annotation>
       </xsd:element>
     </xsd:sequence>
     <xsd:attribute name="id" type="xsd:ID"/>
@@ -553,299 +511,299 @@
 
 <!-- **************************************************** -->
 
-  <xsd:complexType name="taglibType">
+  <xsd:complexType name="tld-attributeType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The taglib tag is the document root, it defines:
+    The attribute element defines an attribute for the nesting
+    tag.  The attributre element may have several subelements
+    defining:
 
-	description     a simple string describing the "use" of this taglib,
-			should be user discernable
+    description     a description of the attribute
 
-	display-name    the display-name element contains a
-			short name that is intended to be displayed
-			by tools
+    name            the name of the attribute
 
-	icon            optional icon that can be used by tools
+    required        whether the attribute is required or
+            optional
 
-	tlib-version    the version of the tag library implementation
+    rtexprvalue     whether the attribute is a runtime attribute
 
-	short-name      a simple default short name that could be
-			used by a JSP authoring tool to create
-			names with a mnemonic value; for example,
-			the it may be used as the prefered prefix
-			value in taglib directives
+    type            the type of the attributes
 
-	uri             a uri uniquely identifying this taglib
+    fragment        whether this attribute is a fragment
 
-	validator       optional TagLibraryValidator information
-
-	listener        optional event listener specification
-
-	tag             tags in this tag library
-
-	tag-file        tag files in this tag library
-
-	function        zero or more EL functions defined in this
-			tag library
-
-	taglib-extension zero or more extensions that provide extra
-			information about this taglib, for tool
-			consumption
-
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
-      <xsd:group ref="j2ee:descriptionGroup"/>
-      <xsd:element name="tlib-version"
-		   type="j2ee:dewey-versionType">
-	<xsd:annotation>
-	  <xsd:documentation>
+      <xsd:element name="description"
+           type="j2ee:descriptionType"
+           minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="name"
+           type="j2ee:java-identifierType"/>
+      <xsd:element name="required"
+           type="j2ee:generic-booleanType"
+           minOccurs="0">
+    <xsd:annotation>
+      <xsd:documentation>
 
-	    Describes this version (number) of the taglibrary.
-	    It is described as a dewey decimal.
+        Defines if the nesting attribute is required or
+        optional.
 
-	  </xsd:documentation>
-	</xsd:annotation>
+        If not present then the default is "false", i.e
+        the attribute is optional.
 
+      </xsd:documentation>
+    </xsd:annotation>
       </xsd:element>
 
-      <xsd:element name="short-name"
-		   type="j2ee:tld-canonical-nameType">
-	<xsd:annotation>
-	  <xsd:documentation>
+      <xsd:choice>
+    <xsd:sequence>
+      <xsd:element name="rtexprvalue"
+               type="j2ee:generic-booleanType"
+               minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
 
-	    Defines a simple default name that could be used by
-	    a JSP authoring tool to create names with a
-	    mnemonicvalue; for example, it may be used as the
-	    preferred prefix value in taglib directives.  Do
-	    not use white space, and do not start with digits
-	    or underscore.
+        Defines if the nesting attribute can have scriptlet
+        expressions as a value, i.e the value of the
+        attribute may be dynamically calculated at request
+        time, as opposed to a static value determined at
+        translation time.
 
-	  </xsd:documentation>
-	</xsd:annotation>
+        If not present then the default is "false", i.e the
+        attribute has a static value
 
-      </xsd:element>
-      <xsd:element name="uri"
-		   type="j2ee:xsdAnyURIType"
-		   minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
+          </xsd:documentation>
+        </xsd:annotation>
 
-	    Defines a public URI that uniquely identifies this
-	    version of the taglibrary.  Leave it empty if it
-	    does not apply.
-
-	  </xsd:documentation>
-	</xsd:annotation>
-
       </xsd:element>
-      <xsd:element name="validator"
-		   type="j2ee:validatorType"
-		   minOccurs="0">
-      </xsd:element>
-      <xsd:element name="listener"
-		   type="j2ee:listenerType"
-		   minOccurs="0" maxOccurs="unbounded">
-      </xsd:element>
-      <xsd:element name="tag"
-		   type="j2ee:tagType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="tag-file"
-		   type="j2ee:tagFileType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="function"
-		   type="j2ee:functionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="taglib-extension"
-		   type="j2ee:tld-extensionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded">
-	<xsd:annotation>
-	  <xsd:documentation>
+      <xsd:element name="type"
+               type="j2ee:fully-qualified-classType"
+               minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
 
-	    Taglib extensions are for tool use only and must not affect
-	    the behavior of a container.
+        Defines the Java type of the attributes value.  For
+        static values (those determined at translation time)
+        the type is always java.lang.String.
 
-	  </xsd:documentation>
-	</xsd:annotation>
+          </xsd:documentation>
+        </xsd:annotation>
       </xsd:element>
     </xsd:sequence>
-    <xsd:attribute name="version"
-		   type="j2ee:dewey-versionType"
-		   fixed="2.0"
-		   use="required">
+    <xsd:element name="fragment"
+             type="j2ee:generic-booleanType"
+             minOccurs="0">
       <xsd:annotation>
-	<xsd:documentation>
+        <xsd:documentation>
 
-	  Describes the JSP version (number) this taglibrary
-	  requires in order to function (dewey decimal)
+          "true" if this attribute is of type
+          javax.jsp.tagext.JspFragment, representing dynamic
+          content that can be re-evaluated as many times
+          as needed by the tag handler.  If omitted or "false",
+          the default is still type="java.lang.String"
 
-	</xsd:documentation>
+        </xsd:documentation>
       </xsd:annotation>
-
-    </xsd:attribute>
+    </xsd:element>
+      </xsd:choice>
+    </xsd:sequence>
     <xsd:attribute name="id" type="xsd:ID"/>
   </xsd:complexType>
 
 <!-- **************************************************** -->
 
-  <xsd:complexType name="tld-attributeType">
+  <xsd:complexType name="tld-canonical-nameType">
+
     <xsd:annotation>
       <xsd:documentation>
 
-	The attribute element defines an attribute for the nesting
-	tag.  The attributre element may have several subelements
-	defining:
+    Defines the canonical name of a tag or attribute being
+    defined.
 
-	description     a description of the attribute
+    The name must conform to the lexical rules for an NMTOKEN.
 
-	name            the name of the attribute
+      </xsd:documentation>
+    </xsd:annotation>
 
-	required        whether the attribute is required or
-			optional
+    <xsd:simpleContent>
+      <xsd:restriction base="j2ee:xsdNMTOKENType"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
 
-	rtexprvalue     whether the attribute is a runtime attribute
+<!-- **************************************************** -->
 
-	type            the type of the attributes
+  <xsd:complexType name="tld-extensionType">
+    <xsd:annotation>
+      <xsd:documentation>
 
-	fragment        whether this attribute is a fragment
+    The tld-extensionType is used to indicate
+    extensions to a specific TLD element.
 
+    It is used by elements to designate an extension block
+    that is targeted to a specific extension designated by
+    a set of extension elements that are declared by a
+    namespace. The namespace identifies the extension to
+    the tool that processes the extension.
+
+    The type of the extension-element is abstract. Therefore,
+    a concrete type must be specified by the TLD using
+    xsi:type attribute for each extension-element.
+
       </xsd:documentation>
     </xsd:annotation>
+
     <xsd:sequence>
-      <xsd:element name="description"
-		   type="j2ee:descriptionType"
-		   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="name"
-		   type="j2ee:java-identifierType"/>
-      <xsd:element name="required"
-		   type="j2ee:generic-booleanType"
-		   minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
+      <xsd:element name="extension-element"
+           type="j2ee:extensibleType"
+           maxOccurs="unbounded"/>
+    </xsd:sequence>
 
-	    Defines if the nesting attribute is required or
-	    optional.
+    <xsd:attribute name="namespace"
+           use="required"
+           type="xsd:anyURI"/>
+    <xsd:attribute name="id" type="xsd:ID"/>
 
-	    If not present then the default is "false", i.e
-	    the attribute is optional.
+  </xsd:complexType>
 
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
+<!-- **************************************************** -->
 
-      <xsd:choice>
-	<xsd:sequence>
-	  <xsd:element name="rtexprvalue"
-		       type="j2ee:generic-booleanType"
-		       minOccurs="0">
-	    <xsd:annotation>
-	      <xsd:documentation>
+  <xsd:complexType name="tldTaglibType">
+    <xsd:annotation>
+      <xsd:documentation>
 
-		Defines if the nesting attribute can have scriptlet
-		expressions as a value, i.e the value of the
-		attribute may be dynamically calculated at request
-		time, as opposed to a static value determined at
-		translation time.
+    The taglib tag is the document root, it defines:
 
-		If not present then the default is "false", i.e the
-		attribute has a static value
+    description     a simple string describing the "use" of this taglib,
+            should be user discernable
 
-	      </xsd:documentation>
-	    </xsd:annotation>
+    display-name    the display-name element contains a
+            short name that is intended to be displayed
+            by tools
 
-	  </xsd:element>
-	  <xsd:element name="type"
-		       type="j2ee:fully-qualified-classType"
-		       minOccurs="0">
-	    <xsd:annotation>
-	      <xsd:documentation>
+    icon            optional icon that can be used by tools
 
-		Defines the Java type of the attributes value.  For
-		static values (those determined at translation time)
-		the type is always java.lang.String.
+    tlib-version    the version of the tag library implementation
 
-	      </xsd:documentation>
-	    </xsd:annotation>
-	  </xsd:element>
-	</xsd:sequence>
-	<xsd:element name="fragment"
-		     type="j2ee:generic-booleanType"
-		     minOccurs="0">
-	  <xsd:annotation>
-	    <xsd:documentation>
+    short-name      a simple default short name that could be
+            used by a JSP authoring tool to create
+            names with a mnemonic value; for example,
+            the it may be used as the prefered prefix
+            value in taglib directives
 
-	      "true" if this attribute is of type
-	      javax.jsp.tagext.JspFragment, representing dynamic
-	      content that can be re-evaluated as many times
-	      as needed by the tag handler.  If omitted or "false",
-	      the default is still type="java.lang.String"
+    uri             a uri uniquely identifying this taglib
 
-	    </xsd:documentation>
-	  </xsd:annotation>
-	</xsd:element>
-      </xsd:choice>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
+    validator       optional TagLibraryValidator information
 
-<!-- **************************************************** -->
+    listener        optional event listener specification
 
-  <xsd:complexType name="tld-canonical-nameType">
+    tag             tags in this tag library
 
-    <xsd:annotation>
-      <xsd:documentation>
+    tag-file        tag files in this tag library
 
-	Defines the canonical name of a tag or attribute being
-	defined.
+    function        zero or more EL functions defined in this
+            tag library
 
-	The name must conform to the lexical rules for an NMTOKEN.
+    taglib-extension zero or more extensions that provide extra
+            information about this taglib, for tool
+            consumption
 
       </xsd:documentation>
     </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="j2ee:descriptionGroup"/>
+      <xsd:element name="tlib-version"
+           type="j2ee:dewey-versionType">
+    <xsd:annotation>
+      <xsd:documentation>
 
-    <xsd:simpleContent>
-      <xsd:restriction base="j2ee:xsdNMTOKENType"/>
-    </xsd:simpleContent>
-  </xsd:complexType>
+        Describes this version (number) of the taglibrary.
+        It is described as a dewey decimal.
 
-<!-- **************************************************** -->
+      </xsd:documentation>
+    </xsd:annotation>
 
-  <xsd:complexType name="tld-extensionType">
+      </xsd:element>
+
+      <xsd:element name="short-name"
+           type="j2ee:tld-canonical-nameType">
     <xsd:annotation>
       <xsd:documentation>
 
-	The tld-extensionType is used to indicate
-	extensions to a specific TLD element.
+        Defines a simple default name that could be used by
+        a JSP authoring tool to create names with a
+        mnemonicvalue; for example, it may be used as the
+        preferred prefix value in taglib directives.  Do
+        not use white space, and do not start with digits
+        or underscore.
 
-	It is used by elements to designate an extension block
-	that is targeted to a specific extension designated by
-	a set of extension elements that are declared by a
-	namespace. The namespace identifies the extension to
-	the tool that processes the extension.
+      </xsd:documentation>
+    </xsd:annotation>
 
-	The type of the extension-element is abstract. Therefore,
-	a concrete type must be specified by the TLD using
-	xsi:type attribute for each extension-element.
+      </xsd:element>
+      <xsd:element name="uri"
+           type="j2ee:xsdAnyURIType"
+           minOccurs="0">
+    <xsd:annotation>
+      <xsd:documentation>
 
+        Defines a public URI that uniquely identifies this
+        version of the taglibrary.  Leave it empty if it
+        does not apply.
+
       </xsd:documentation>
     </xsd:annotation>
 
-    <xsd:sequence>
-      <xsd:element name="extension-element"
-		   type="j2ee:extensibleType"
-		   maxOccurs="unbounded"/>
+      </xsd:element>
+      <xsd:element name="validator"
+           type="j2ee:validatorType"
+           minOccurs="0">
+      </xsd:element>
+      <xsd:element name="listener"
+           type="j2ee:listenerType"
+           minOccurs="0" maxOccurs="unbounded">
+      </xsd:element>
+      <xsd:element name="tag"
+           type="j2ee:tagType"
+           minOccurs="0"
+           maxOccurs="unbounded"/>
+      <xsd:element name="tag-file"
+           type="j2ee:tagFileType"
+           minOccurs="0"
+           maxOccurs="unbounded"/>
+      <xsd:element name="function"
+           type="j2ee:functionType"
+           minOccurs="0"
+           maxOccurs="unbounded"/>
+      <xsd:element name="taglib-extension"
+           type="j2ee:tld-extensionType"
+           minOccurs="0"
+           maxOccurs="unbounded">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        Taglib extensions are for tool use only and must not affect
+        the behavior of a container.
+
+      </xsd:documentation>
+    </xsd:annotation>
+      </xsd:element>
     </xsd:sequence>
+    <xsd:attribute name="version"
+           type="j2ee:dewey-versionType"
+           fixed="2.0"
+           use="required">
+      <xsd:annotation>
+    <xsd:documentation>
 
-    <xsd:attribute name="namespace"
-		   use="required"
-		   type="xsd:anyURI"/>
-    <xsd:attribute name="id" type="xsd:ID"/>
+      Describes the JSP version (number) this taglibrary
+      requires in order to function (dewey decimal)
 
+    </xsd:documentation>
+      </xsd:annotation>
+
+    </xsd:attribute>
+    <xsd:attribute name="id" type="xsd:ID"/>
   </xsd:complexType>
 
 <!-- **************************************************** -->
@@ -854,41 +812,41 @@
     <xsd:annotation>
       <xsd:documentation>
 
-	A validator that can be used to validate
-	the conformance of a JSP page to using this tag library is
-	defined by a validatorType.
+    A validator that can be used to validate
+    the conformance of a JSP page to using this tag library is
+    defined by a validatorType.
 
       </xsd:documentation>
     </xsd:annotation>
 
     <xsd:sequence>
       <xsd:element name="description"
-		   type="j2ee:descriptionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
+           type="j2ee:descriptionType"
+           minOccurs="0"
+           maxOccurs="unbounded"/>
       <xsd:element name="validator-class"
-		   type="j2ee:fully-qualified-classType">
-	<xsd:annotation>
-	  <xsd:documentation>
+           type="j2ee:fully-qualified-classType">
+    <xsd:annotation>
+      <xsd:documentation>
 
-	    Defines the TagLibraryValidator class that can be used
-	    to validate the conformance of a JSP page to using this
-	    tag library.
+        Defines the TagLibraryValidator class that can be used
+        to validate the conformance of a JSP page to using this
+        tag library.
 
-	  </xsd:documentation>
-	</xsd:annotation>
+      </xsd:documentation>
+    </xsd:annotation>
       </xsd:element>
       <xsd:element name="init-param"
-		   type="j2ee:param-valueType"
-		   minOccurs="0" maxOccurs="unbounded">
-	<xsd:annotation>
-	  <xsd:documentation>
+           type="j2ee:param-valueType"
+           minOccurs="0" maxOccurs="unbounded">
+    <xsd:annotation>
+      <xsd:documentation>
 
-	    The init-param element contains a name/value pair as an
-	    initialization param.
+        The init-param element contains a name/value pair as an
+        initialization param.
 
-	  </xsd:documentation>
-	</xsd:annotation>
+      </xsd:documentation>
+    </xsd:annotation>
 
       </xsd:element>
 
@@ -902,18 +860,18 @@
     <xsd:annotation>
       <xsd:documentation>
 
-	This type defines scope of the scripting variable.  See
-	TagExtraInfo for details.  The allowed values are,
-	"NESTED", "AT_BEGIN" and "AT_END".
+    This type defines scope of the scripting variable.  See
+    TagExtraInfo for details.  The allowed values are,
+    "NESTED", "AT_BEGIN" and "AT_END".
 
       </xsd:documentation>
     </xsd:annotation>
 
     <xsd:simpleContent>
       <xsd:restriction base="j2ee:string">
-	<xsd:enumeration value="NESTED"/>
-	<xsd:enumeration value="AT_BEGIN"/>
-	<xsd:enumeration value="AT_END"/>
+    <xsd:enumeration value="NESTED"/>
+    <xsd:enumeration value="AT_BEGIN"/>
+    <xsd:enumeration value="AT_END"/>
       </xsd:restriction>
     </xsd:simpleContent>
   </xsd:complexType>
@@ -924,104 +882,104 @@
     <xsd:annotation>
       <xsd:documentation>
 
-	The variableType provides information on the scripting
-	variables defined by using this tag.  It is a (translation
-	time) error for a tag that has one or more variable
-	subelements to have a TagExtraInfo class that returns a
-	non-null value from a call to getVariableInfo().
+    The variableType provides information on the scripting
+    variables defined by using this tag.  It is a (translation
+    time) error for a tag that has one or more variable
+    subelements to have a TagExtraInfo class that returns a
+    non-null value from a call to getVariableInfo().
 
-	The subelements of variableType are of the form:
+    The subelements of variableType are of the form:
 
-	description              Optional description of this
-				 variable
+    description              Optional description of this
+                 variable
 
-	name-given               The variable name as a constant
+    name-given               The variable name as a constant
 
-	name-from-attribute      The name of an attribute whose
-				 (translation time) value will
-				 give the name of the
-				 variable.  One of name-given or
-				 name-from-attribute is required.
+    name-from-attribute      The name of an attribute whose
+                 (translation time) value will
+                 give the name of the
+                 variable.  One of name-given or
+                 name-from-attribute is required.
 
-	variable-class           Name of the class of the variable.
-				 java.lang.String is default.
+    variable-class           Name of the class of the variable.
+                 java.lang.String is default.
 
-	declare                  Whether the variable is declared
-				 or not.  True is the default.
+    declare                  Whether the variable is declared
+                 or not.  True is the default.
 
-	scope                    The scope of the scripting varaible
-				 defined.  NESTED is default.
+    scope                    The scope of the scripting varaible
+                 defined.  NESTED is default.
 
       </xsd:documentation>
     </xsd:annotation>
 
     <xsd:sequence>
       <xsd:element name="description"
-		   type="j2ee:descriptionType"
-		   minOccurs="0" maxOccurs="unbounded"/>
+           type="j2ee:descriptionType"
+           minOccurs="0" maxOccurs="unbounded"/>
       <xsd:choice>
-	<xsd:element name="name-given"
-		     type="j2ee:java-identifierType">
-	  <xsd:annotation>
-	    <xsd:documentation>
+    <xsd:element name="name-given"
+             type="j2ee:java-identifierType">
+      <xsd:annotation>
+        <xsd:documentation>
 
-	      The name for the scripting variable.
+          The name for the scripting variable.
 
-	    </xsd:documentation>
-	  </xsd:annotation>
-	</xsd:element>
+        </xsd:documentation>
+      </xsd:annotation>
+    </xsd:element>
 
-	<xsd:element name="name-from-attribute"
-		     type="j2ee:java-identifierType">
-	  <xsd:annotation>
-	    <xsd:documentation>
+    <xsd:element name="name-from-attribute"
+             type="j2ee:java-identifierType">
+      <xsd:annotation>
+        <xsd:documentation>
 
-	      The name of an attribute whose
-	      (translation-time) value will give the name of
-	      the variable.
+          The name of an attribute whose
+          (translation-time) value will give the name of
+          the variable.
 
-	    </xsd:documentation>
-	  </xsd:annotation>
-	</xsd:element>
+        </xsd:documentation>
+      </xsd:annotation>
+    </xsd:element>
       </xsd:choice>
       <xsd:element name="variable-class"
-		   type="j2ee:fully-qualified-classType"
-		   minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
+           type="j2ee:fully-qualified-classType"
+           minOccurs="0">
+    <xsd:annotation>
+      <xsd:documentation>
 
-	    The optional name of the class for the scripting
-	    variable.  The default is java.lang.String.
+        The optional name of the class for the scripting
+        variable.  The default is java.lang.String.
 
-	  </xsd:documentation>
-	</xsd:annotation>
+      </xsd:documentation>
+    </xsd:annotation>
 
       </xsd:element>
 
       <xsd:element name="declare"
-		   type="j2ee:generic-booleanType"
-		   minOccurs="0">
+           type="j2ee:generic-booleanType"
+           minOccurs="0">
 
-	<xsd:annotation>
-	  <xsd:documentation>
+    <xsd:annotation>
+      <xsd:documentation>
 
-	    Whether the scripting variable is to be defined
-	    or not.  See TagExtraInfo for details.  This
-	    element is optional and "true" is the default.
+        Whether the scripting variable is to be defined
+        or not.  See TagExtraInfo for details.  This
+        element is optional and "true" is the default.
 
-	  </xsd:documentation>
-	</xsd:annotation>
+      </xsd:documentation>
+    </xsd:annotation>
       </xsd:element>
       <xsd:element name="scope"
-		   type="j2ee:variable-scopeType"
-		   minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
+           type="j2ee:variable-scopeType"
+           minOccurs="0">
+    <xsd:annotation>
+      <xsd:documentation>
 
-	    The element is optional and "NESTED" is the default.
+        The element is optional and "NESTED" is the default.
 
-	  </xsd:documentation>
-	</xsd:annotation>
+      </xsd:documentation>
+    </xsd:annotation>
       </xsd:element>
     </xsd:sequence>
     <xsd:attribute name="id" type="xsd:ID"/>

Added: projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/Tld20UnitTestCase.java
===================================================================
--- projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/Tld20UnitTestCase.java	                        (rev 0)
+++ projects/metadata/web/trunk/src/test/java/org/jboss/test/metadata/web/Tld20UnitTestCase.java	2009-08-21 13:57:34 UTC (rev 92670)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.metadata.web;
+
+import org.jboss.metadata.web.spec.TldMetaData;
+import org.jboss.test.metadata.javaee.AbstractJavaEEEverythingTest;
+
+/**
+ * Tests of 2.0 taglib elements
+ *
+ * @author Scott.Stark at jboss.org
+ * @version $Revision: 88255 $
+ */
+public class Tld20UnitTestCase extends AbstractJavaEEEverythingTest
+{
+
+   public Tld20UnitTestCase(String name)
+   {
+      super(name);
+   }
+   
+   public void testEverything() throws Exception
+   {
+      TldMetaData taglib = unmarshal(TldMetaData.class);
+   }
+
+}

Added: projects/metadata/web/trunk/src/test/resources/org/jboss/test/metadata/web/Tld20_testEverything.xml
===================================================================
--- projects/metadata/web/trunk/src/test/resources/org/jboss/test/metadata/web/Tld20_testEverything.xml	                        (rev 0)
+++ projects/metadata/web/trunk/src/test/resources/org/jboss/test/metadata/web/Tld20_testEverything.xml	2009-08-21 13:57:34 UTC (rev 92670)
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
+    version="2.0">
+    <description>A tag library exercising SimpleTag handlers.</description>
+    <tlib-version>1.0</tlib-version>
+    <short-name>SimpleTagLibrary</short-name>
+    <uri>/SimpleTagLibrary</uri>
+    <tag>
+    <description>Outputs Hello, World</description>
+        <name>helloWorld</name>
+    <tag-class>jsp2.examples.simpletag.HelloWorldSimpleTag</tag-class>
+    <body-content>empty</body-content>
+    </tag>
+    <tag>
+        <description>Repeats the body of the tag 'num' times</description>
+        <name>repeat</name>
+        <tag-class>jsp2.examples.simpletag.RepeatSimpleTag</tag-class>
+        <body-content>scriptless</body-content>
+        <variable>
+            <description>Current invocation count (1 to num)</description>
+            <name-given>count</name-given>
+        </variable>
+        <attribute>
+            <name>num</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+    <tag>
+    <description>Populates the page context with a BookBean</description>
+        <name>findBook</name>
+    <tag-class>jsp2.examples.simpletag.FindBookSimpleTag</tag-class>
+    <body-content>empty</body-content>
+    <attribute>
+        <name>var</name>
+        <required>true</required>
+        <rtexprvalue>true</rtexprvalue>
+    </attribute>
+    </tag>
+    <tag>
+        <description>
+            Takes 3 fragments and invokes them in a random order
+        </description>
+        <name>shuffle</name>
+        <tag-class>jsp2.examples.simpletag.ShuffleSimpleTag</tag-class>
+        <body-content>empty</body-content>
+        <attribute>
+            <name>fragment1</name>
+            <required>true</required>
+        <fragment>true</fragment>
+        </attribute>
+        <attribute>
+            <name>fragment2</name>
+            <required>true</required>
+        <fragment>true</fragment>
+        </attribute>
+        <attribute>
+            <name>fragment3</name>
+            <required>true</required>
+        <fragment>true</fragment>
+        </attribute>
+    </tag>
+    <tag>
+        <description>Outputs a colored tile</description>
+        <name>tile</name>
+        <tag-class>jsp2.examples.simpletag.TileSimpleTag</tag-class>
+        <body-content>empty</body-content>
+        <attribute>
+            <name>color</name>
+            <required>true</required>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>true</required>
+        </attribute>
+    </tag>
+    <tag>
+    <description>
+      Tag that echoes all its attributes and body content
+    </description>
+    <name>echoAttributes</name>
+    <tag-class>jsp2.examples.simpletag.EchoAttributesTag</tag-class>
+    <body-content>empty</body-content>
+    <dynamic-attributes>true</dynamic-attributes>
+    </tag>
+    <function>
+        <description>Reverses the characters in the given String</description>
+        <name>reverse</name>
+    <function-class>jsp2.examples.el.Functions</function-class>
+    <function-signature>java.lang.String reverse( java.lang.String )</function-signature>
+    </function>
+    <function>
+        <description>Counts the number of vowels (a,e,i,o,u) in the given String</description>
+        <name>countVowels</name>
+    <function-class>jsp2.examples.el.Functions</function-class>
+    <function-signature>java.lang.String numVowels( java.lang.String )</function-signature>
+    </function>
+    <function>
+    <description>Converts the string to all caps</description>
+        <name>caps</name>
+    <function-class>jsp2.examples.el.Functions</function-class>
+    <function-signature>java.lang.String caps( java.lang.String )</function-signature>
+    </function>
+</taglib>
+

Modified: projects/metadata/web/trunk/src/test/resources/schema2class.properties
===================================================================
--- projects/metadata/web/trunk/src/test/resources/schema2class.properties	2009-08-21 13:22:37 UTC (rev 92669)
+++ projects/metadata/web/trunk/src/test/resources/schema2class.properties	2009-08-21 13:57:34 UTC (rev 92670)
@@ -4,6 +4,10 @@
 web-app_2_5.xsd org.jboss.metadata.web.spec.Web25MetaData
 web-app_3_0.xsd org.jboss.metadata.web.spec.Web30MetaData
 web-fragment_3_0.xsd org.jboss.metadata.web.spec.WebFragment30MetaData
+web-jsptaglibrary_1_1.dtd org.jboss.metadata.web.spec.Tld11MetaData
+web-jsptaglibrary_1_2.dtd org.jboss.metadata.web.spec.Tld12MetaData
+web-jsptaglibrary_2_0.xsd org.jboss.metadata.web.spec.Tld20MetaData
+web-jsptaglibrary_2_1.xsd org.jboss.metadata.web.spec.Tld21MetaData
 jboss-web org.jboss.metadata.web.jboss.JBoss50DTDWebMetaData
 jboss-web_4_0.dtd org.jboss.metadata.web.jboss.JBoss4xDTDWebMetaData
 jboss-web_4_2.dtd org.jboss.metadata.web.jboss.JBoss4xDTDWebMetaData




More information about the jboss-cvs-commits mailing list