Fix a bug where ':' and other non java identifier legal names were making it in as java identifiers. QBE200210160100-BLD200210170856
authorcliffwd@netbeans.org
Tue, 15 Oct 2002 22:30:10 +0000
changeset 1084984320a18377
parent 1083 639a4b4f4620
child 1085 2b74f91093b8
Fix a bug where ':' and other non java identifier legal names were making it in as java identifiers.
Allow inclusions to be done that don't depend on the current directory having all the things to be included.
Property change event support for pure JavaBeans.
Added a little bit to the AI for picking the root node.
schema2beans/test/unit/src/TestMain.java
schema2beans/test/unit/src/data/TestWebApp.java
schema2beans/test/unit/src/data/TestWebApp.xml
schema2beans/test/unit/src/data/TestWebApp.xsd
schema2beans/test/unit/src/data/goldenfiles/TestMain/testWebApp.pass
schema2beans/test/unit/src/data/j2ee_1_4.xsd
schema2beans/test/unit/src/data/jsp_2_0.xsd
schema2beans/test/unit/src/data/xml.xsd
     1.1 --- a/schema2beans/test/unit/src/TestMain.java	Mon Oct 14 22:42:39 2002 +0000
     1.2 +++ b/schema2beans/test/unit/src/TestMain.java	Tue Oct 15 22:30:10 2002 +0000
     1.3 @@ -90,6 +90,10 @@
     1.4      public void testEmpty() throws IOException, Schema2BeansException, InterruptedException {
     1.5          generalTest("TestEmpty");
     1.6      }
     1.7 +
     1.8 +    public void testWebApp() throws IOException, Schema2BeansException, InterruptedException {
     1.9 +        generalTest("TestWebApp", true, true, true);
    1.10 +    }
    1.11      
    1.12      public void generalTest(String testName) throws IOException, Schema2BeansException, InterruptedException {
    1.13          generalTest(testName, false, false, false);
    1.14 @@ -116,12 +120,15 @@
    1.15              //config.setTraceGen(true);
    1.16              //config.setThrowErrors(true);
    1.17              System.out.println("workDir="+workDir.toString());
    1.18 +            File schemaFile;
    1.19              if (xmlSchema) {
    1.20 -                InputStream dtdIn = new FileInputStream(new File(dataDir, testName+".xsd"));
    1.21 +                schemaFile = new File(dataDir, testName+".xsd");
    1.22 +                InputStream dtdIn = new FileInputStream(schemaFile);
    1.23                  config.setDTDIn(dtdIn);
    1.24                  config.setSchemaType(GenBeans.Config.XML_SCHEMA);
    1.25              } else {
    1.26 -                InputStream dtdIn = new FileInputStream(new File(dataDir, testName+".dtd"));
    1.27 +                schemaFile = new File(dataDir, testName+".dtd");
    1.28 +                InputStream dtdIn = new FileInputStream(schemaFile);
    1.29                  config.setDTDIn(dtdIn);
    1.30                  config.setSchemaType(GenBeans.Config.DTD);
    1.31              }
    1.32 @@ -132,6 +139,7 @@
    1.33              } catch (FileNotFoundException e) {
    1.34                  // It's okay if there is no mdd file present
    1.35              }
    1.36 +            config.setInputURI(schemaFile.toString());
    1.37              config.setRootDir(workDir.toString());
    1.38              if (attrProp) {
    1.39                  config.setAttributesAsProperties(true);
    1.40 @@ -159,10 +167,7 @@
    1.41              ref("Finished running "+testName+": "+result);
    1.42  
    1.43              System.out.println("Finished.\n");
    1.44 -        } catch (IOException e) {
    1.45 -            ref(e.getMessage());
    1.46 -            e.printStackTrace();
    1.47 -        } catch (Schema2BeansException e) {
    1.48 +        } catch (Exception e) {
    1.49              ref(e.getMessage());
    1.50              e.printStackTrace();
    1.51          }
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/schema2beans/test/unit/src/data/TestWebApp.java	Tue Oct 15 22:30:10 2002 +0000
     2.3 @@ -0,0 +1,51 @@
     2.4 +/*
     2.5 + *	TestWebApp - test the basic features.
     2.6 + *
     2.7 + *	The following test assumes that we know the content of the
     2.8 + *	graph as we get elements, add and change them. Therefore, the TestWebApp.xml
     2.9 + *	file and this java test should be kept in sync.
    2.10 + *
    2.11 + * 	Test the following:
    2.12 + *
    2.13 + *	single String: get/set/remove/set/get
    2.14 + *	boolean (from true): get/set true/get/set false/get/set true/get
    2.15 + *	boolean (from false): get/set false/get/set true/get/set false/get
    2.16 + *	String[]: get/set (null & !null)/add/remove
    2.17 + *	Bean: remove/set(null)/create bean and graph of beans/set/add
    2.18 + *
    2.19 + */
    2.20 +
    2.21 +import java.io.*;
    2.22 +import java.util.*;
    2.23 +import org.w3c.dom.*;
    2.24 +
    2.25 +import webapp.*;
    2.26 +
    2.27 +
    2.28 +public class TestWebApp extends BaseTest {
    2.29 +    public static void main(String[] argv) {
    2.30 +        TestWebApp o = new TestWebApp();
    2.31 +        if (argv.length > 0)
    2.32 +            o.setDocumentDir(argv[0]);
    2.33 +        try {
    2.34 +            o.run();
    2.35 +        } catch (Exception e) {
    2.36 +            e.printStackTrace();
    2.37 +            System.exit(1);
    2.38 +        }
    2.39 +        System.exit(0);
    2.40 +    }
    2.41 +    
    2.42 +    public void run() throws Exception {
    2.43 +        WebApp webApp;
    2.44 +
    2.45 +        this.readDocument();
    2.46 +
    2.47 +        out("creating the bean graph");
    2.48 +        webApp = WebApp.read(doc);
    2.49 +	
    2.50 +        //	Check that we can read the graph an it is complete
    2.51 +        out("bean graph created");
    2.52 +        webApp.write(out);
    2.53 +    }
    2.54 +}
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/schema2beans/test/unit/src/data/TestWebApp.xml	Tue Oct 15 22:30:10 2002 +0000
     3.3 @@ -0,0 +1,9 @@
     3.4 +<?xml version='1.0'?>
     3.5 +
     3.6 +<web-app>
     3.7 +  <description>This is my Web App</description>
     3.8 +  <display-name>MyWebApp</display-name>
     3.9 +  <filter>
    3.10 +	<filter-name>Bob</filter-name>
    3.11 +  </filter>
    3.12 +</web-app>
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/schema2beans/test/unit/src/data/TestWebApp.xsd	Tue Oct 15 22:30:10 2002 +0000
     4.3 @@ -0,0 +1,1278 @@
     4.4 +<?xml version="1.0" encoding="UTF-8"?>
     4.5 +<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
     4.6 +     targetNamespace="http://java.sun.com/xml/ns/j2ee"
     4.7 +     xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
     4.8 +     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     4.9 +     elementFormDefault="qualified"
    4.10 +     attributeFormDefault="unqualified"
    4.11 +     version="2.4">
    4.12 +<xsd:annotation>
    4.13 +<xsd:documentation>
    4.14 +@(#)web-app_2_4.xsds	1.34 02/08/01
    4.15 +</xsd:documentation>
    4.16 +</xsd:annotation>
    4.17 +
    4.18 +<xsd:annotation>
    4.19 +<xsd:documentation>
    4.20 +
    4.21 +Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
    4.22 +Road, Palo Alto, California 94303, U.S.A. All rights
    4.23 +reserved.
    4.24 +
    4.25 +Sun Microsystems, Inc. has intellectual property rights
    4.26 +relating to technology described in this document. In
    4.27 +particular, and without limitation, these intellectual
    4.28 +property rights may include one or more of the U.S. patents
    4.29 +listed at http://www.sun.com/patents and one or more
    4.30 +additional patents or pending patent applications in the
    4.31 +U.S. and other countries.
    4.32 +
    4.33 +This document and the technology which it describes are
    4.34 +distributed under licenses restricting their use, copying,
    4.35 +distribution, and decompilation. No part of this document
    4.36 +may be reproduced in any form by any means without prior
    4.37 +written authorization of Sun and its licensors, if any.
    4.38 +
    4.39 +Third-party software, including font technology, is
    4.40 +copyrighted and licensed from Sun suppliers.
    4.41 +
    4.42 +Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
    4.43 +JavaServer Pages, Enterprise JavaBeans and the Java Coffee
    4.44 +Cup logo are trademarks or registered trademarks of Sun
    4.45 +Microsystems, Inc. in the U.S. and other countries.
    4.46 +
    4.47 +Federal Acquisitions: Commercial Software - Government Users
    4.48 +Subject to Standard License Terms and Conditions.
    4.49 +
    4.50 +</xsd:documentation>
    4.51 +</xsd:annotation>
    4.52 +
    4.53 +<xsd:annotation>
    4.54 +<xsd:documentation>
    4.55 +
    4.56 +This is the XML Schema for the Servlet 2.4 deployment
    4.57 +descriptor.  All Servlet deployment descriptors must
    4.58 +indicate the web application schema by using the J2EE
    4.59 +namespace:
    4.60 +
    4.61 +http://java.sun.com/xml/ns/j2ee
    4.62 +
    4.63 +and by indicating the version of the schema by
    4.64 +using the version element as shown below:
    4.65 +
    4.66 +    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    4.67 +     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4.68 +     xsi:schemaLocation="..."
    4.69 +     version="2.4">
    4.70 +    ...
    4.71 +    </web-app>
    4.72 +
    4.73 +The instance documents may indicate the published version of
    4.74 +the schema using the xsi:schemaLocation attribute for J2EE
    4.75 +namespace with the following location:
    4.76 +
    4.77 +http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd
    4.78 +
    4.79 +</xsd:documentation>
    4.80 +</xsd:annotation>
    4.81 +
    4.82 +<xsd:annotation>
    4.83 +<xsd:documentation>
    4.84 +
    4.85 +The following conventions apply to all J2EE
    4.86 +deployment descriptor elements unless indicated otherwise.
    4.87 +
    4.88 +- In elements that specify a pathname to a file within the
    4.89 +  same JAR file, relative filenames (i.e., those not
    4.90 +  starting with "/") are considered relative to the root of
    4.91 +  the JAR file's namespace.  Absolute filenames (i.e., those
    4.92 +  starting with "/") also specify names in the root of the
    4.93 +  JAR file's namespace.  In general, relative names are
    4.94 +  preferred.  The exception is .war files where absolute
    4.95 +  names are preferred for consistency with the Servlet API.
    4.96 +
    4.97 +</xsd:documentation>
    4.98 +</xsd:annotation>
    4.99 +
   4.100 +<xsd:include schemaLocation="j2ee_1_4.xsd"/>
   4.101 +<xsd:include schemaLocation="jsp_2_0.xsd"/>
   4.102 +
   4.103 +
   4.104 +<!-- **************************************************** -->
   4.105 +
   4.106 +
   4.107 +<xsd:element name="web-app" type="j2ee:web-appType">
   4.108 +    <xsd:annotation>
   4.109 +    <xsd:documentation>
   4.110 +
   4.111 +    The web-app element is the root of the deployment
   4.112 +    descriptor for a web application.
   4.113 +
   4.114 +    </xsd:documentation>
   4.115 +    </xsd:annotation>
   4.116 +
   4.117 +    <xsd:unique name="servlet-name-uniqueness">
   4.118 +    <xsd:annotation>
   4.119 +    <xsd:documentation>
   4.120 +
   4.121 +    The servlet element contains the name of a servlet.
   4.122 +    The name must be unique within the web application.
   4.123 +
   4.124 +    </xsd:documentation>
   4.125 +    </xsd:annotation>
   4.126 +        <xsd:selector xpath="j2ee:servlet"/>
   4.127 +        <xsd:field    xpath="j2ee:servlet-name"/>
   4.128 +    </xsd:unique>
   4.129 +
   4.130 +    <xsd:unique name="filter-name-uniqueness">
   4.131 +    <xsd:annotation>
   4.132 +    <xsd:documentation>
   4.133 +
   4.134 +    The filter element contains the name of a filter.
   4.135 +    The name must be unique within the web application.
   4.136 +
   4.137 +    </xsd:documentation>
   4.138 +    </xsd:annotation>
   4.139 +        <xsd:selector xpath="j2ee:filter"/>
   4.140 +        <xsd:field    xpath="j2ee:filter-name"/>
   4.141 +    </xsd:unique>
   4.142 +
   4.143 +    <xsd:unique name="ejb-local-ref-name-uniqueness">
   4.144 +    <xsd:annotation>
   4.145 +    <xsd:documentation>
   4.146 +
   4.147 +    The ejb-local-ref-name element contains the name of an EJB
   4.148 +    reference. The EJB reference is an entry in the web
   4.149 +    application's environment and is relative to the
   4.150 +    java:comp/env context.  The name must be unique within
   4.151 +    the web application.
   4.152 +
   4.153 +    It is recommended that name is prefixed with "ejb/".
   4.154 +
   4.155 +    </xsd:documentation>
   4.156 +    </xsd:annotation>
   4.157 +        <xsd:selector xpath="j2ee:ejb-local-ref"/>
   4.158 +        <xsd:field    xpath="j2ee:ejb-ref-name"/>
   4.159 +    </xsd:unique>
   4.160 +
   4.161 +    <xsd:unique name="ejb-ref-name-uniqueness">
   4.162 +    <xsd:annotation>
   4.163 +    <xsd:documentation>
   4.164 +
   4.165 +    The ejb-ref-name element contains the name of an EJB
   4.166 +    reference. The EJB reference is an entry in the web
   4.167 +    application's environment and is relative to the
   4.168 +    java:comp/env context.  The name must be unique within
   4.169 +    the web application.
   4.170 +
   4.171 +    It is recommended that name is prefixed with "ejb/".
   4.172 +
   4.173 +    </xsd:documentation>
   4.174 +    </xsd:annotation>
   4.175 +        <xsd:selector xpath="j2ee:ejb-ref"/>
   4.176 +        <xsd:field    xpath="j2ee:ejb-ref-name"/>
   4.177 +    </xsd:unique>
   4.178 +
   4.179 +    <xsd:unique name="resource-env-ref-uniqueness">
   4.180 +    <xsd:annotation>
   4.181 +    <xsd:documentation>
   4.182 +
   4.183 +    The resource-env-ref-name element specifies the name of
   4.184 +    a resource environment reference; its value is the
   4.185 +    environment entry name used in the web application code.
   4.186 +    The name is a JNDI name relative to the java:comp/env
   4.187 +    context and must be unique within a web application.
   4.188 +
   4.189 +    </xsd:documentation>
   4.190 +    </xsd:annotation>
   4.191 +        <xsd:selector xpath="j2ee:resource-env-ref"/>
   4.192 +        <xsd:field    xpath="j2ee:resource-env-ref-name"/>
   4.193 +    </xsd:unique>
   4.194 +
   4.195 +    <xsd:unique name="message-destination-ref-uniqueness">
   4.196 +    <xsd:annotation>
   4.197 +    <xsd:documentation>
   4.198 +
   4.199 +    The message-destination-ref-name element specifies the name of
   4.200 +    a message destination reference; its value is the
   4.201 +    environment entry name used in the web application code.
   4.202 +    The name is a JNDI name relative to the java:comp/env
   4.203 +    context and must be unique within a web application.
   4.204 +
   4.205 +    </xsd:documentation>
   4.206 +    </xsd:annotation>
   4.207 +        <xsd:selector xpath="j2ee:message-destination-ref"/>
   4.208 +        <xsd:field    xpath="j2ee:message-destination-ref-name"/>
   4.209 +    </xsd:unique>
   4.210 +
   4.211 +    <xsd:unique name="res-ref-name-uniqueness">
   4.212 +    <xsd:annotation>
   4.213 +    <xsd:documentation>
   4.214 +
   4.215 +    The res-ref-name element specifies the name of a
   4.216 +    resource manager connection factory reference.  The name
   4.217 +    is a JNDI name relative to the java:comp/env context.
   4.218 +    The name must be unique within a web application.
   4.219 +
   4.220 +    </xsd:documentation>
   4.221 +    </xsd:annotation>
   4.222 +        <xsd:selector xpath="j2ee:resource-ref"/>
   4.223 +        <xsd:field    xpath="j2ee:res-ref-name"/>
   4.224 +    </xsd:unique>
   4.225 +
   4.226 +    <xsd:unique name="env-entry-name-uniqueness">
   4.227 +    <xsd:annotation>
   4.228 +    <xsd:documentation>
   4.229 +
   4.230 +    The env-entry-name element contains the name of a web
   4.231 +    application's environment entry.  The name is a JNDI
   4.232 +    name relative to the java:comp/env context.  The name
   4.233 +    must be unique within a web application.
   4.234 +
   4.235 +    </xsd:documentation>
   4.236 +    </xsd:annotation>
   4.237 +
   4.238 +        <xsd:selector xpath="j2ee:env-entry"/>
   4.239 +        <xsd:field    xpath="j2ee:env-entry-name"/>
   4.240 +        </xsd:unique>
   4.241 +
   4.242 +    <xsd:key name="role-name-key">
   4.243 +    <xsd:annotation>
   4.244 +    <xsd:documentation>
   4.245 +
   4.246 +    A role-name-key is specified to allow the references
   4.247 +    from the security-role-refs.
   4.248 +
   4.249 +    </xsd:documentation>
   4.250 +    </xsd:annotation>
   4.251 +        <xsd:selector xpath="j2ee:security-role"/>
   4.252 +        <xsd:field    xpath="j2ee:role-name"/>
   4.253 +    </xsd:key>
   4.254 +
   4.255 +    <xsd:keyref name="role-name-references"
   4.256 +            refer="j2ee:role-name-key">
   4.257 +    <xsd:annotation>
   4.258 +    <xsd:documentation>
   4.259 +
   4.260 +    The keyref indicates the references from
   4.261 +    security-role-ref to a specified role-name.
   4.262 +
   4.263 +    </xsd:documentation>
   4.264 +    </xsd:annotation>
   4.265 +        <xsd:selector xpath="j2ee:servlet/j2ee:security-role-ref"/>
   4.266 +        <xsd:field    xpath="j2ee:role-link"/>
   4.267 +    </xsd:keyref>
   4.268 +
   4.269 +</xsd:element>
   4.270 +
   4.271 +
   4.272 +<!-- **************************************************** -->
   4.273 +
   4.274 +<xsd:complexType name="auth-constraintType">
   4.275 +<xsd:annotation>
   4.276 +<xsd:documentation>
   4.277 +
   4.278 +The auth-constraintType indicates the user roles that
   4.279 +should be permitted access to this resource
   4.280 +collection. The role-name used here must either correspond
   4.281 +to the role-name of one of the security-role elements
   4.282 +defined for this web application, or be the specially
   4.283 +reserved role-name "*" that is a compact syntax for
   4.284 +indicating all roles in the web application. If both "*"
   4.285 +and rolenames appear, the container interprets this as all
   4.286 +roles.  If no roles are defined, no user is allowed access
   4.287 +to the portion of the web application described by the
   4.288 +containing security-constraint.  The container matches
   4.289 +role names case sensitively when determining access.
   4.290 +
   4.291 +</xsd:documentation>
   4.292 +</xsd:annotation>
   4.293 +
   4.294 +    <xsd:sequence>
   4.295 +        <xsd:element name="description"
   4.296 +                 type="j2ee:descriptionType"
   4.297 +                 minOccurs="0" maxOccurs="unbounded"/>
   4.298 +        <xsd:element name="role-name"
   4.299 +                 type="j2ee:role-nameType"
   4.300 +                 minOccurs="0" maxOccurs="unbounded"/>
   4.301 +    </xsd:sequence>
   4.302 +
   4.303 +</xsd:complexType>
   4.304 +
   4.305 +<!-- **************************************************** -->
   4.306 +
   4.307 +<xsd:simpleType name="auth-methodType">
   4.308 +<xsd:annotation>
   4.309 +<xsd:documentation>
   4.310 +
   4.311 +The auth-methodType is used to configure the authentication
   4.312 +mechanism for the web application. As a prerequisite to
   4.313 +gaining access to any web resources which are protected by
   4.314 +an authorization constraint, a user must have authenticated
   4.315 +using the configured mechanism. Legal values are "BASIC",
   4.316 +"DIGEST", "FORM", or "CLIENT-CERT".
   4.317 +
   4.318 +Used in: login-config
   4.319 +
   4.320 +</xsd:documentation>
   4.321 +</xsd:annotation>
   4.322 +
   4.323 +    <xsd:restriction base="j2ee:string">
   4.324 +        <xsd:enumeration value="BASIC"/>
   4.325 +        <xsd:enumeration value="DIGEST"/>
   4.326 +        <xsd:enumeration value="FORM"/>
   4.327 +        <xsd:enumeration value="CLIENT-CERT"/>
   4.328 +    </xsd:restriction>
   4.329 +
   4.330 +</xsd:simpleType>
   4.331 +
   4.332 +<!-- **************************************************** -->
   4.333 +
   4.334 +<xsd:simpleType name="dispatcherType">
   4.335 +<xsd:annotation>
   4.336 +<xsd:documentation>
   4.337 +
   4.338 +The dispatcher has three legal values, FORWARD and REQUEST
   4.339 +and INCLUDE. A value of FORWARD means the Filter
   4.340 +will be applied under RequestDispatcher.forward() calls.
   4.341 +A value of REQUEST means the Filter will be applied
   4.342 +under ordinary client calls to the path or servlet. A value of
   4.343 +INCLUDE means the Filter will be applied under
   4.344 +RequestDispatcher.include() calls.
   4.345 +The absence of any dispatcher elements in a
   4.346 +filter-mapping indicates a default of applying
   4.347 +filters only under ordinary client calls to the path or servlet.
   4.348 +
   4.349 +</xsd:documentation>
   4.350 +</xsd:annotation>
   4.351 +
   4.352 +    <xsd:restriction base="j2ee:string">
   4.353 +        <xsd:enumeration value="FORWARD"/>
   4.354 +    <xsd:enumeration value="INCLUDE"/>
   4.355 +    <xsd:enumeration value="REQUEST"/>
   4.356 +
   4.357 +    </xsd:restriction>
   4.358 +
   4.359 +</xsd:simpleType>
   4.360 +
   4.361 +<!-- **************************************************** -->
   4.362 +
   4.363 +<xsd:simpleType name="error-codeType">
   4.364 +<xsd:annotation>
   4.365 +<xsd:documentation>
   4.366 +
   4.367 +The error-code contains an HTTP error code, ex: 404
   4.368 +
   4.369 +Used in: error-page
   4.370 +
   4.371 +</xsd:documentation>
   4.372 +</xsd:annotation>
   4.373 +
   4.374 +    <xsd:restriction base="positiveInteger"/>
   4.375 +
   4.376 +</xsd:simpleType>
   4.377 +
   4.378 +<!-- **************************************************** -->
   4.379 +
   4.380 +<xsd:complexType name="error-pageType">
   4.381 +<xsd:annotation>
   4.382 +<xsd:documentation>
   4.383 +
   4.384 +The error-pageType contains a mapping between an error code
   4.385 +or exception type to the path of a resource in the web
   4.386 +application.
   4.387 +
   4.388 +Used in: web-app
   4.389 +
   4.390 +</xsd:documentation>
   4.391 +</xsd:annotation>
   4.392 +
   4.393 +    <xsd:sequence>
   4.394 +        <choice>
   4.395 +        <xsd:element name="error-code"
   4.396 +                     type="j2ee:error-codeType"/>
   4.397 +
   4.398 +        <xsd:element name="exception-type"
   4.399 +                     type="j2ee:fully-qualified-classType">
   4.400 +        <xsd:annotation>
   4.401 +        <xsd:documentation>
   4.402 +
   4.403 +        The exception-type contains a fully qualified class
   4.404 +        name of a Java exception type.
   4.405 +
   4.406 +        </xsd:documentation>
   4.407 +        </xsd:annotation>
   4.408 +        </xsd:element>
   4.409 +        </choice>
   4.410 +
   4.411 +        <xsd:element name="location"
   4.412 +                     type="j2ee:pathType">
   4.413 +        <xsd:annotation>
   4.414 +        <xsd:documentation>
   4.415 +
   4.416 +        The location element contains the location of the
   4.417 +        resource in the web application relative to the root of
   4.418 +        the web application. The value of the location must have
   4.419 +        a leading `/'.
   4.420 +
   4.421 +        </xsd:documentation>
   4.422 +        </xsd:annotation>
   4.423 +        </xsd:element>
   4.424 +    </xsd:sequence>
   4.425 +
   4.426 +</xsd:complexType>
   4.427 +
   4.428 +<!-- **************************************************** -->
   4.429 +
   4.430 +<xsd:complexType name="filter-mappingType">
   4.431 +<xsd:annotation>
   4.432 +<xsd:documentation>
   4.433 +
   4.434 +Declaration of the filter mappings in this web
   4.435 +application is done by using filter-mappingType.
   4.436 +The container uses the filter-mapping
   4.437 +declarations to decide which filters to apply to a request,
   4.438 +and in what order. The container matches the request URI to
   4.439 +a Servlet in the normal way. To determine which filters to
   4.440 +apply it matches filter-mapping declarations either on
   4.441 +servlet-name, or on url-pattern for each filter-mapping
   4.442 +element, depending on which style is used. The order in
   4.443 +which filters are invoked is the order in which
   4.444 +filter-mapping declarations that match a request URI for a
   4.445 +servlet appear in the list of filter-mapping elements.The
   4.446 +filter-name value must be the value of the filter-name
   4.447 +sub-elements of one of the filter declarations in the
   4.448 +deployment descriptor.
   4.449 +
   4.450 +</xsd:documentation>
   4.451 +</xsd:annotation>
   4.452 +
   4.453 +    <xsd:sequence>
   4.454 +        <xsd:element name="filter-name"
   4.455 +                 type="j2ee:filter-nameType"/>
   4.456 +        <choice>
   4.457 +            <xsd:element name="url-pattern"
   4.458 +                     type="j2ee:url-patternType"/>
   4.459 +            <xsd:element name="servlet-name"
   4.460 +                     type="j2ee:servlet-nameType"/>
   4.461 +        </choice>
   4.462 +        <xsd:element name="dispatcher"
   4.463 +                     type="j2ee:dispatcherType"
   4.464 +                     minOccurs="0" maxOccurs="unbounded"/>
   4.465 +    </xsd:sequence>
   4.466 +
   4.467 +</xsd:complexType>
   4.468 +
   4.469 +<!-- **************************************************** -->
   4.470 +
   4.471 +<xsd:simpleType name="filter-nameType">
   4.472 +<xsd:annotation>
   4.473 +<xsd:documentation>
   4.474 +
   4.475 +The logical name of the filter is declare
   4.476 +by using filter-nameType. This name is used to map the
   4.477 +filter.  Each filter name is unique within the web
   4.478 +application.
   4.479 +
   4.480 +Used in: filter, filter-mapping
   4.481 +
   4.482 +</xsd:documentation>
   4.483 +</xsd:annotation>
   4.484 +
   4.485 +    <xsd:restriction base="j2ee:string"/>
   4.486 +
   4.487 +</xsd:simpleType>
   4.488 +
   4.489 +<!-- **************************************************** -->
   4.490 +
   4.491 +<xsd:complexType name="filterType">
   4.492 +<xsd:annotation>
   4.493 +<xsd:documentation>
   4.494 +
   4.495 +The filterType is used to declare a filter in the web
   4.496 +application. The filter is mapped to either a servlet or a
   4.497 +URL pattern in the filter-mapping element, using the
   4.498 +filter-name value to reference. Filters can access the
   4.499 +initialization parameters declared in the deployment
   4.500 +descriptor at runtime via the FilterConfig interface.
   4.501 +
   4.502 +Used in: web-app
   4.503 +
   4.504 +</xsd:documentation>
   4.505 +</xsd:annotation>
   4.506 +
   4.507 +    <xsd:sequence>
   4.508 +        <xsd:element name="description"
   4.509 +                     type="j2ee:descriptionType"
   4.510 +                     minOccurs="0" maxOccurs="unbounded"/>
   4.511 +        <xsd:element name="display-name"
   4.512 +                     type="j2ee:display-nameType"
   4.513 +                     minOccurs="0" maxOccurs="unbounded"/>
   4.514 +        <xsd:element name="icon"
   4.515 +                     type="j2ee:iconType"
   4.516 +                     minOccurs="0"
   4.517 +                     maxOccurs="unbounded"/>
   4.518 +        <xsd:element name="filter-name"
   4.519 +                     type="j2ee:filter-nameType"/>
   4.520 +        <xsd:element name="filter-class"
   4.521 +                     type="j2ee:fully-qualified-classType">
   4.522 +        <xsd:annotation>
   4.523 +        <xsd:documentation>
   4.524 +
   4.525 +        The fully qualified classname of the filter.
   4.526 +
   4.527 +        </xsd:documentation>
   4.528 +        </xsd:annotation>
   4.529 +        </xsd:element>
   4.530 +
   4.531 +        <xsd:element name="init-param"
   4.532 +                     type="j2ee:param-valueType"
   4.533 +                     minOccurs="0" maxOccurs="unbounded">
   4.534 +        <xsd:annotation>
   4.535 +        <xsd:documentation>
   4.536 +
   4.537 +        The init-param element contains a name/value pair as
   4.538 +        an initialization param of a servlet filter
   4.539 +
   4.540 +        </xsd:documentation>
   4.541 +        </xsd:annotation>
   4.542 +        </xsd:element>
   4.543 +    </xsd:sequence>
   4.544 +
   4.545 +</xsd:complexType>
   4.546 +
   4.547 +<!-- **************************************************** -->
   4.548 +
   4.549 +<xsd:complexType name="form-login-configType">
   4.550 +<xsd:annotation>
   4.551 +<xsd:documentation>
   4.552 +
   4.553 +The form-login-configType specifies the login and error
   4.554 +pages that should be used in form based login. If form based
   4.555 +authentication is not used, these elements are ignored.
   4.556 +
   4.557 +Used in: login-config
   4.558 +
   4.559 +</xsd:documentation>
   4.560 +</xsd:annotation>
   4.561 +
   4.562 +    <xsd:sequence>
   4.563 +
   4.564 +        <xsd:element name="form-login-page"
   4.565 +                 type="j2ee:war-pathType">
   4.566 +        <xsd:annotation>
   4.567 +        <xsd:documentation>
   4.568 +
   4.569 +        The form-login-page element defines the location in the web app
   4.570 +        where the page that can be used for login can be found.
   4.571 +        The path begins with a leading / and is
   4.572 +        interpreted relative to the root of the WAR.
   4.573 +
   4.574 +        </xsd:documentation>
   4.575 +        </xsd:annotation>
   4.576 +        </xsd:element>
   4.577 +
   4.578 +        <xsd:element name="form-error-page"
   4.579 +                 type="j2ee:war-pathType">
   4.580 +        <xsd:annotation>
   4.581 +        <xsd:documentation>
   4.582 +
   4.583 +        The form-error-page element defines the location in
   4.584 +        the web app where the error page that is displayed
   4.585 +        when login is not successful can be found.
   4.586 +        The path begins with a leading / and is interpreted
   4.587 +        relative to the root of the WAR.
   4.588 +
   4.589 +        </xsd:documentation>
   4.590 +        </xsd:annotation>
   4.591 +        </xsd:element>
   4.592 +
   4.593 +    </xsd:sequence>
   4.594 +
   4.595 +</xsd:complexType>
   4.596 +
   4.597 +<!-- **************************************************** -->
   4.598 +
   4.599 +<xsd:simpleType name="http-methodType">
   4.600 +<xsd:annotation>
   4.601 +
   4.602 +<xsd:documentation>
   4.603 +The http-method contains an HTTP method recognized by the web-app, i.e.
   4.604 +(GET | POST |...).
   4.605 +
   4.606 +</xsd:documentation>
   4.607 +</xsd:annotation>
   4.608 +
   4.609 +    <xsd:restriction base="j2ee:string">
   4.610 +        <xsd:enumeration value="GET"/>
   4.611 +        <xsd:enumeration value="POST"/>
   4.612 +        <xsd:enumeration value="PUT"/>
   4.613 +        <xsd:enumeration value="DELETE"/>
   4.614 +        <xsd:enumeration value="HEAD"/>
   4.615 +        <xsd:enumeration value="OPTIONS"/>
   4.616 +        <xsd:enumeration value="TRACE"/>
   4.617 +    </xsd:restriction>
   4.618 +
   4.619 +</xsd:simpleType>
   4.620 +
   4.621 +<!-- **************************************************** -->
   4.622 +
   4.623 +<xsd:complexType name="listenerType">
   4.624 +<xsd:annotation>
   4.625 +<xsd:documentation>
   4.626 +
   4.627 +The listenerType indicates the deployment properties for a web
   4.628 +application listener bean.
   4.629 +
   4.630 +Used in: web-app:listenerType
   4.631 +
   4.632 +</xsd:documentation>
   4.633 +</xsd:annotation>
   4.634 +
   4.635 +    <xsd:sequence>
   4.636 +        <xsd:element name="description"
   4.637 +                     type="j2ee:descriptionType"
   4.638 +                     minOccurs="0"
   4.639 +                     maxOccurs="unbounded"/>
   4.640 +        <xsd:element name="display-name"
   4.641 +                     type="j2ee:display-nameType"
   4.642 +                     minOccurs="0"
   4.643 +                     maxOccurs="unbounded"/>
   4.644 +        <xsd:element name="icon"
   4.645 +                     type="j2ee:iconType"
   4.646 +                     minOccurs="0"
   4.647 +                     maxOccurs="unbounded"/>
   4.648 +        <xsd:element name="listener-class"
   4.649 +                     type="j2ee:fully-qualified-classType">
   4.650 +        <xsd:annotation>
   4.651 +        <xsd:documentation>
   4.652 +
   4.653 +        The listener-class element declares a class in the
   4.654 +        application must be registered as a web
   4.655 +        application listener bean. The value is the fully
   4.656 +        qualified classname of the listener class.
   4.657 +
   4.658 +        </xsd:documentation>
   4.659 +        </xsd:annotation>
   4.660 +        </xsd:element>
   4.661 +    </xsd:sequence>
   4.662 +
   4.663 +</xsd:complexType>
   4.664 +
   4.665 +<!-- **************************************************** -->
   4.666 +
   4.667 +<xsd:complexType name="locale-encoding-mapping-listType">
   4.668 +<xsd:annotation>
   4.669 +<xsd:documentation>
   4.670 +
   4.671 +The locale-encoding-mapping-list contains one or more
   4.672 +locale-encoding-mapping(s).
   4.673 +
   4.674 +</xsd:documentation>
   4.675 +</xsd:annotation>
   4.676 +
   4.677 +<xsd:sequence>
   4.678 +    <xsd:element name="locale-encoding-mapping"
   4.679 +        type="j2ee:locale-encoding-mappingType"
   4.680 +        maxOccurs="unbounded"/>
   4.681 +</xsd:sequence>
   4.682 +</xsd:complexType>
   4.683 +
   4.684 +<!-- **************************************************** -->
   4.685 +
   4.686 +<xsd:complexType name="locale-encoding-mappingType">
   4.687 +<xsd:annotation>
   4.688 +<xsd:documentation>
   4.689 +
   4.690 +The locale-encoding-mapping contains locale name and
   4.691 +encoding name. The locale name must be either "Language-code",
   4.692 +such as "ja", defined by ISO-639 or "Language-code_Country-code",
   4.693 +such as "ja_JP".  "Country code" is defined by ISO-3166.
   4.694 +
   4.695 +</xsd:documentation>
   4.696 +</xsd:annotation>
   4.697 +
   4.698 +<xsd:sequence>
   4.699 +    <xsd:element name="locale"
   4.700 +        type="j2ee:string"/>
   4.701 +    <xsd:element name="encoding"
   4.702 +        type="j2ee:string"/>
   4.703 +</xsd:sequence>
   4.704 +</xsd:complexType>
   4.705 +
   4.706 +<!-- **************************************************** -->
   4.707 +
   4.708 +<xsd:complexType name="login-configType">
   4.709 +<xsd:annotation>
   4.710 +<xsd:documentation>
   4.711 +
   4.712 +The login-configType is used to configure the authentication
   4.713 +method that should be used, the realm name that should be
   4.714 +used for this application, and the attributes that are
   4.715 +needed by the form login mechanism.
   4.716 +
   4.717 +Used in: web-app
   4.718 +
   4.719 +</xsd:documentation>
   4.720 +</xsd:annotation>
   4.721 +
   4.722 +    <xsd:sequence>
   4.723 +        <xsd:element name="auth-method"
   4.724 +                     type="j2ee:auth-methodType"
   4.725 +                     minOccurs="0"/>
   4.726 +        <xsd:element name="realm-name"
   4.727 +                     type="j2ee:string" minOccurs="0">
   4.728 +        <xsd:annotation>
   4.729 +        <xsd:documentation>
   4.730 +
   4.731 +        The realm name element specifies the realm name to
   4.732 +        use in HTTP Basic authorization.
   4.733 +
   4.734 +        </xsd:documentation>
   4.735 +        </xsd:annotation>
   4.736 +        </xsd:element>
   4.737 +        <xsd:element name="form-login-config"
   4.738 +                     type="j2ee:form-login-configType"
   4.739 +                     minOccurs="0"/>
   4.740 +    </xsd:sequence>
   4.741 +
   4.742 +</xsd:complexType>
   4.743 +
   4.744 +<!-- **************************************************** -->
   4.745 +
   4.746 +<xsd:complexType name="mime-mappingType">
   4.747 +<xsd:annotation>
   4.748 +<xsd:documentation>
   4.749 +
   4.750 +The mime-mappingType defines a mapping between an extension
   4.751 +and a mime type.
   4.752 +
   4.753 +Used in: web-app
   4.754 +
   4.755 +</xsd:documentation>
   4.756 +</xsd:annotation>
   4.757 +
   4.758 +    <xsd:sequence>
   4.759 +        <xsd:annotation>
   4.760 +        <xsd:documentation>
   4.761 +
   4.762 +        The extension element contains a string describing an
   4.763 +        extension. example: "txt"
   4.764 +
   4.765 +        </xsd:documentation>
   4.766 +        </xsd:annotation>
   4.767 +
   4.768 +        <xsd:element name="extension"
   4.769 +                     type="j2ee:string"/>
   4.770 +        <xsd:element name="mime-type"
   4.771 +                     type="j2ee:mime-typeType"/>
   4.772 +    </xsd:sequence>
   4.773 +
   4.774 +</xsd:complexType>
   4.775 +
   4.776 +<!-- **************************************************** -->
   4.777 +
   4.778 +<xsd:simpleType name="mime-typeType">
   4.779 +<xsd:annotation>
   4.780 +<xsd:documentation>
   4.781 +
   4.782 +The mime-typeType is used to indicate a defined mime type.
   4.783 +
   4.784 +Example:
   4.785 +"text/plain"
   4.786 +
   4.787 +Used in: mime-mapping
   4.788 +
   4.789 +</xsd:documentation>
   4.790 +</xsd:annotation>
   4.791 +
   4.792 +    <xsd:restriction base="j2ee:string">
   4.793 +        <xsd:pattern value="[\p{L}\-\p{Nd}]+/[\p{L}\-\p{Nd}\.]+"/>
   4.794 +    </xsd:restriction>
   4.795 +
   4.796 +</xsd:simpleType>
   4.797 +
   4.798 +<!-- **************************************************** -->
   4.799 +
   4.800 +<xsd:complexType name="security-constraintType">
   4.801 +<xsd:annotation>
   4.802 +<xsd:documentation>
   4.803 +
   4.804 +The security-constraintType is used to associate
   4.805 +security constraints with one or more web resource
   4.806 +collections
   4.807 +
   4.808 +Used in: web-app
   4.809 +
   4.810 +</xsd:documentation>
   4.811 +</xsd:annotation>
   4.812 +
   4.813 +    <xsd:sequence>
   4.814 +        <xsd:element name="display-name"
   4.815 +                     type="j2ee:display-nameType"
   4.816 +                     minOccurs="0"
   4.817 +                     maxOccurs="unbounded"/>
   4.818 +        <xsd:element name="web-resource-collection"
   4.819 +                     type="j2ee:web-resource-collectionType"
   4.820 +                     maxOccurs="unbounded"/>
   4.821 +        <xsd:element name="auth-constraint"
   4.822 +                     type="j2ee:auth-constraintType"
   4.823 +                     minOccurs="0"/>
   4.824 +        <xsd:element name="user-data-constraint"
   4.825 +                     type="j2ee:user-data-constraintType"
   4.826 +                     minOccurs="0"/>
   4.827 +    </xsd:sequence>
   4.828 +
   4.829 +</xsd:complexType>
   4.830 +
   4.831 +<!-- **************************************************** -->
   4.832 +
   4.833 +<xsd:complexType name="servlet-mappingType">
   4.834 +<xsd:annotation>
   4.835 +<xsd:documentation>
   4.836 +
   4.837 +The servlet-mappingType defines a mapping between a
   4.838 +servlet and a url pattern.
   4.839 +
   4.840 +Used in: web-app
   4.841 +
   4.842 +</xsd:documentation>
   4.843 +</xsd:annotation>
   4.844 +
   4.845 +    <xsd:sequence>
   4.846 +        <xsd:element name="servlet-name"
   4.847 +                     type="j2ee:servlet-nameType"/>
   4.848 +        <xsd:element name="url-pattern"
   4.849 +                     type="j2ee:url-patternType"/>
   4.850 +    </xsd:sequence>
   4.851 +
   4.852 +</xsd:complexType>
   4.853 +
   4.854 +<!-- **************************************************** -->
   4.855 +
   4.856 +<xsd:simpleType name="servlet-nameType">
   4.857 +<xsd:annotation>
   4.858 +<xsd:documentation>
   4.859 +
   4.860 +The servlet-name element contains the canonical name of the
   4.861 +servlet. Each servlet name is unique within the web
   4.862 +application.
   4.863 +
   4.864 +</xsd:documentation>
   4.865 +</xsd:annotation>
   4.866 +
   4.867 +    <xsd:restriction base="j2ee:string"/>
   4.868 +
   4.869 +</xsd:simpleType>
   4.870 +
   4.871 +<!-- **************************************************** -->
   4.872 +
   4.873 +<xsd:complexType name="servletType">
   4.874 +<xsd:annotation>
   4.875 +<xsd:documentation>
   4.876 +
   4.877 +The servletType is used to declare a servlet.
   4.878 +It contains the declarative data of a
   4.879 +servlet. If a jsp-file is specified and the load-on-startup
   4.880 +element is present, then the JSP should be precompiled and
   4.881 +loaded.
   4.882 +
   4.883 +Used in: web-app
   4.884 +
   4.885 +</xsd:documentation>
   4.886 +</xsd:annotation>
   4.887 +
   4.888 +    <xsd:sequence>
   4.889 +        <xsd:element name="description"
   4.890 +                     type="j2ee:descriptionType"
   4.891 +                     minOccurs="0" maxOccurs="unbounded"/>
   4.892 +        <xsd:element name="display-name"
   4.893 +                     type="j2ee:display-nameType"
   4.894 +                     minOccurs="0" maxOccurs="unbounded"/>
   4.895 +        <xsd:element name="icon"
   4.896 +                     type="j2ee:iconType"
   4.897 +                     minOccurs="0"
   4.898 +                     maxOccurs="unbounded"/>
   4.899 +        <xsd:element name="servlet-name"
   4.900 +                     type="j2ee:servlet-nameType"/>
   4.901 +        <choice>
   4.902 +            <xsd:element name="servlet-class"
   4.903 +                         type="j2ee:fully-qualified-classType">
   4.904 +            <xsd:annotation>
   4.905 +            <xsd:documentation>
   4.906 +
   4.907 +            The servlet-class element contains the fully
   4.908 +            qualified class name of the servlet.
   4.909 +
   4.910 +            </xsd:documentation>
   4.911 +            </xsd:annotation>
   4.912 +            </xsd:element>
   4.913 +
   4.914 +            <xsd:element name="jsp-file"
   4.915 +                         type="j2ee:jsp-fileType"/>
   4.916 +
   4.917 +        </choice>
   4.918 +
   4.919 +        <xsd:element name="init-param"
   4.920 +                     type="j2ee:param-valueType"
   4.921 +                     minOccurs="0" maxOccurs="unbounded"/>
   4.922 +        <xsd:element name="load-on-startup"
   4.923 +                     type="xsd:integer"
   4.924 +                     minOccurs="0">
   4.925 +        <xsd:annotation>
   4.926 +        <xsd:documentation>
   4.927 +
   4.928 +        The load-on-startup element indicates that this
   4.929 +        servlet should be loaded (instantiated and have
   4.930 +        its init() called) on the startup of the web
   4.931 +        application. The optional contents of these
   4.932 +        element must be an integer indicating the order in
   4.933 +        which the servlet should be loaded. If the value
   4.934 +        is a negative integer, or the element is not
   4.935 +        present, the container is free to load the servlet
   4.936 +        whenever it chooses. If the value is a positive
   4.937 +        integer or 0, the container must load and
   4.938 +        initialize the servlet as the application is
   4.939 +        deployed. The container must guarantee that
   4.940 +        servlets marked with lower integers are loaded
   4.941 +        before servlets marked with higher integers. The
   4.942 +        container may choose the order of loading of
   4.943 +        servlets with the same load-on-start-up value.
   4.944 +
   4.945 +        </xsd:documentation>
   4.946 +        </xsd:annotation>
   4.947 +        </xsd:element>
   4.948 +        <xsd:element name="run-as"
   4.949 +                     type="j2ee:run-asType"
   4.950 +                     minOccurs="0"/>
   4.951 +        <xsd:element name="security-role-ref"
   4.952 +                     type="j2ee:security-role-refType"
   4.953 +                     minOccurs="0" maxOccurs="unbounded"/>                     
   4.954 +        <xsd:element name="deployment-extension"
   4.955 +                     type="j2ee:deployment-extensionType"
   4.956 +                     minOccurs="0" maxOccurs="unbounded"/>
   4.957 +    </xsd:sequence>
   4.958 +</xsd:complexType>
   4.959 +
   4.960 +<!-- **************************************************** -->
   4.961 +
   4.962 +<xsd:complexType name="session-configType">
   4.963 +<xsd:annotation>
   4.964 +<xsd:documentation>
   4.965 +
   4.966 +The session-configType defines the session parameters
   4.967 +for this web application.
   4.968 +
   4.969 +Used in: web-app
   4.970 +
   4.971 +</xsd:documentation>
   4.972 +</xsd:annotation>
   4.973 +
   4.974 +    <xsd:sequence>
   4.975 +        <xsd:element name="session-timeout"
   4.976 +                 type="xsd:nonNegativeInteger"
   4.977 +                 minOccurs="0">
   4.978 +        <xsd:annotation>
   4.979 +        <xsd:documentation>
   4.980 +
   4.981 +        The session-timeout element defines the default
   4.982 +        session timeout interval for all sessions created
   4.983 +        in this web application. The specified timeout
   4.984 +        must be expressed in a whole number of minutes.
   4.985 +        If the timeout is 0 or less, the container ensures
   4.986 +        the default behaviour of sessions is never to time
   4.987 +        out. If this element is not specified, the container
   4.988 +        must set its default timeout period.
   4.989 +
   4.990 +        </xsd:documentation>
   4.991 +        </xsd:annotation>
   4.992 +        </xsd:element>
   4.993 +    </xsd:sequence>
   4.994 +
   4.995 +</xsd:complexType>
   4.996 +
   4.997 +<!-- **************************************************** -->
   4.998 +
   4.999 +<xsd:simpleType name="transport-guaranteeType">
  4.1000 +<xsd:annotation>
  4.1001 +<xsd:documentation>
  4.1002 +
  4.1003 +The transport-guaranteeType specifies that the communication
  4.1004 +between client and server should be NONE, INTEGRAL, or
  4.1005 +CONFIDENTIAL. NONE means that the application does not
  4.1006 +require any transport guarantees. A value of INTEGRAL means
  4.1007 +that the application requires that the data sent between the
  4.1008 +client and server be sent in such a way that it can't be
  4.1009 +changed in transit. CONFIDENTIAL means that the application
  4.1010 +requires that the data be transmitted in a fashion that
  4.1011 +prevents other entities from observing the contents of the
  4.1012 +transmission. In most cases, the presence of the INTEGRAL or
  4.1013 +CONFIDENTIAL flag will indicate that the use of SSL is
  4.1014 +required.
  4.1015 +
  4.1016 +Used in: user-data-constraint
  4.1017 +
  4.1018 +</xsd:documentation>
  4.1019 +</xsd:annotation>
  4.1020 +
  4.1021 +    <xsd:restriction base="j2ee:string">
  4.1022 +        <xsd:enumeration value="NONE"/>
  4.1023 +        <xsd:enumeration value="INTEGRAL"/>
  4.1024 +        <xsd:enumeration value="CONFIDENTIAL"/>
  4.1025 +    </xsd:restriction>
  4.1026 +
  4.1027 +</xsd:simpleType>
  4.1028 +
  4.1029 +<!-- **************************************************** -->
  4.1030 +
  4.1031 +<xsd:complexType name="user-data-constraintType">
  4.1032 +<xsd:annotation>
  4.1033 +<xsd:documentation>
  4.1034 +
  4.1035 +The user-data-constraintType is used to indicate how
  4.1036 +data communicated between the client and container should be
  4.1037 +protected.
  4.1038 +
  4.1039 +Used in: security-constraint
  4.1040 +
  4.1041 +</xsd:documentation>
  4.1042 +</xsd:annotation>
  4.1043 +
  4.1044 +    <xsd:sequence>
  4.1045 +        <xsd:element name="description"
  4.1046 +                     type="j2ee:descriptionType"
  4.1047 +                     minOccurs="0"
  4.1048 +                     maxOccurs="unbounded"/>
  4.1049 +        <xsd:element name="transport-guarantee"
  4.1050 +                     type="j2ee:transport-guaranteeType"/>
  4.1051 +    </xsd:sequence>
  4.1052 +
  4.1053 +</xsd:complexType>
  4.1054 +
  4.1055 +<!-- **************************************************** -->
  4.1056 +
  4.1057 +<xsd:simpleType name="web-app-versionType">
  4.1058 +<xsd:annotation>
  4.1059 +<xsd:documentation>
  4.1060 +
  4.1061 +This type contains the recognized versions of
  4.1062 +web-application supported. It is used to designate the
  4.1063 +version of the web application.
  4.1064 +
  4.1065 +Example:
  4.1066 +
  4.1067 +<web-app>
  4.1068 +    <version>2.4</version>
  4.1069 +...
  4.1070 +</web-app>
  4.1071 +
  4.1072 +</xsd:documentation>
  4.1073 +</xsd:annotation>
  4.1074 +
  4.1075 +    <xsd:restriction base="j2ee:string">
  4.1076 +        <xsd:enumeration value="2.4"/>
  4.1077 +    </xsd:restriction>
  4.1078 +
  4.1079 +</xsd:simpleType>
  4.1080 +
  4.1081 +<!-- **************************************************** -->
  4.1082 +
  4.1083 +<xsd:complexType name="web-appType">
  4.1084 +
  4.1085 +    <xsd:sequence>
  4.1086 +        <xsd:element name="description"
  4.1087 +                     type="j2ee:descriptionType"
  4.1088 +                     minOccurs="0"
  4.1089 +                     maxOccurs="unbounded"/>
  4.1090 +        <xsd:element name="display-name"
  4.1091 +                     type="j2ee:display-nameType"
  4.1092 +                     minOccurs="0"
  4.1093 +                     maxOccurs="unbounded"/>
  4.1094 +        <xsd:element name="icon"
  4.1095 +                     type="j2ee:iconType"
  4.1096 +                     minOccurs="0"
  4.1097 +                     maxOccurs="unbounded"/>
  4.1098 +        <xsd:element name="distributable"
  4.1099 +                     type="j2ee:emptyType"
  4.1100 +                     minOccurs="0"/>
  4.1101 +        <xsd:element name="context-param"
  4.1102 +                     type="j2ee:param-valueType"
  4.1103 +                     minOccurs="0" maxOccurs="unbounded">
  4.1104 +        <xsd:annotation>
  4.1105 +        <xsd:documentation>
  4.1106 +
  4.1107 +        The context-param element contains the declaration
  4.1108 +        of a web application's servlet context
  4.1109 +        initialization parameters.
  4.1110 +
  4.1111 +        </xsd:documentation>
  4.1112 +        </xsd:annotation>
  4.1113 +        </xsd:element>
  4.1114 +
  4.1115 +        <xsd:element name="filter"
  4.1116 +                     type="j2ee:filterType"
  4.1117 +                     minOccurs="0" maxOccurs="unbounded"/>
  4.1118 +        <xsd:element name="filter-mapping"
  4.1119 +                     type="j2ee:filter-mappingType"
  4.1120 +                     minOccurs="0"
  4.1121 +                     maxOccurs="unbounded"/>
  4.1122 +        <xsd:element name="listener"
  4.1123 +                     type="j2ee:listenerType"
  4.1124 +                     minOccurs="0"
  4.1125 +                     maxOccurs="unbounded"/>
  4.1126 +        <xsd:element name="servlet"
  4.1127 +                     type="j2ee:servletType"
  4.1128 +                     minOccurs="0"
  4.1129 +                     maxOccurs="unbounded"/>
  4.1130 +        <xsd:element name="servlet-mapping"
  4.1131 +                     type="j2ee:servlet-mappingType"
  4.1132 +                     minOccurs="0"
  4.1133 +                     maxOccurs="unbounded"/>
  4.1134 +        <xsd:element name="session-config"
  4.1135 +                     type="j2ee:session-configType"
  4.1136 +                     minOccurs="0"/>
  4.1137 +        <xsd:element name="mime-mapping"
  4.1138 +                     type="j2ee:mime-mappingType"
  4.1139 +                     minOccurs="0"
  4.1140 +                     maxOccurs="unbounded"/>
  4.1141 +        <xsd:element name="welcome-file-list"
  4.1142 +                     type="j2ee:welcome-file-listType"
  4.1143 +                     minOccurs="0"/>
  4.1144 +        <xsd:element name="error-page"
  4.1145 +                     type="j2ee:error-pageType"
  4.1146 +                     minOccurs="0"
  4.1147 +                     maxOccurs="unbounded"/>
  4.1148 +        <xsd:element name="jsp-config"
  4.1149 +                     type="j2ee:jsp-configType"
  4.1150 +                     minOccurs="0"/>
  4.1151 +        <xsd:element name="resource-env-ref"
  4.1152 +                     type="j2ee:resource-env-refType"
  4.1153 +                     minOccurs="0"
  4.1154 +                     maxOccurs="unbounded"/>
  4.1155 +        <xsd:element name="message-destination-ref"
  4.1156 +                     type="j2ee:message-destination-refType"
  4.1157 +                     minOccurs="0"
  4.1158 +                     maxOccurs="unbounded"/>
  4.1159 +        <xsd:element name="resource-ref"
  4.1160 +                     type="j2ee:resource-refType"
  4.1161 +                     minOccurs="0"
  4.1162 +                     maxOccurs="unbounded"/>
  4.1163 +        <xsd:element name="security-constraint"
  4.1164 +                     type="j2ee:security-constraintType"
  4.1165 +                     minOccurs="0"
  4.1166 +                     maxOccurs="unbounded"/>
  4.1167 +        <xsd:element name="login-config"
  4.1168 +                     type="j2ee:login-configType"
  4.1169 +                     minOccurs="0"/>
  4.1170 +        <xsd:element name="security-role"
  4.1171 +                     type="j2ee:security-roleType"
  4.1172 +                     minOccurs="0"
  4.1173 +                     maxOccurs="unbounded"/>
  4.1174 +        <xsd:element name="env-entry"
  4.1175 +                     type="j2ee:env-entryType"
  4.1176 +                     minOccurs="0"
  4.1177 +                     maxOccurs="unbounded"/>
  4.1178 +        <xsd:element name="ejb-ref"
  4.1179 +                     type="j2ee:ejb-refType"
  4.1180 +                     minOccurs="0"
  4.1181 +                     maxOccurs="unbounded"/>
  4.1182 +        <xsd:element name="ejb-local-ref"
  4.1183 +                     type="j2ee:ejb-local-refType"
  4.1184 +                     minOccurs="0"
  4.1185 +                     maxOccurs="unbounded"/>
  4.1186 +        <xsd:element name="message-destination"
  4.1187 +                     type="j2ee:message-destinationType"
  4.1188 +                     minOccurs="0"
  4.1189 +                     maxOccurs="unbounded"/>
  4.1190 +        <xsd:element name="locale-encoding-mapping-list"
  4.1191 +                     type="j2ee:locale-encoding-mapping-listType"
  4.1192 +                     minOccurs="0"
  4.1193 +                     maxOccurs="1"/>                     
  4.1194 +        <xsd:element name="deployment-extension"
  4.1195 +                     type="j2ee:deployment-extensionType"
  4.1196 +                     minOccurs="0"
  4.1197 +                     maxOccurs="unbounded"/>
  4.1198 +    </xsd:sequence>
  4.1199 +
  4.1200 +    <xsd:attribute name="version"
  4.1201 +                   type="j2ee:web-app-versionType"
  4.1202 +                   use="required"/>
  4.1203 +
  4.1204 +</xsd:complexType>
  4.1205 +
  4.1206 +<!-- **************************************************** -->
  4.1207 +
  4.1208 +<xsd:complexType name="web-resource-collectionType">
  4.1209 +<xsd:annotation>
  4.1210 +<xsd:documentation>
  4.1211 +
  4.1212 +The web-resource-collectionType is used to identify a subset
  4.1213 +of the resources and HTTP methods on those resources within
  4.1214 +a web application to which a security constraint applies. If
  4.1215 +no HTTP methods are specified, then the security constraint
  4.1216 +applies to all HTTP methods.
  4.1217 +
  4.1218 +Used in: security-constraint
  4.1219 +
  4.1220 +</xsd:documentation>
  4.1221 +</xsd:annotation>
  4.1222 +
  4.1223 +    <xsd:sequence>
  4.1224 +        <xsd:element name="web-resource-name"
  4.1225 +                     type="j2ee:string">
  4.1226 +        <xsd:annotation>
  4.1227 +        <xsd:documentation>
  4.1228 +
  4.1229 +        The web-resource-name contains the name of this web
  4.1230 +        resource collection.
  4.1231 +
  4.1232 +        </xsd:documentation>
  4.1233 +        </xsd:annotation>
  4.1234 +        </xsd:element>
  4.1235 +        <xsd:element name="description"
  4.1236 +                     type="j2ee:descriptionType"
  4.1237 +                     minOccurs="0"
  4.1238 +                     maxOccurs="unbounded"/>
  4.1239 +        <xsd:element name="url-pattern"
  4.1240 +                     type="j2ee:url-patternType"
  4.1241 +                     maxOccurs="unbounded"/>
  4.1242 +        <xsd:element name="http-method"
  4.1243 +                     type="j2ee:http-methodType"
  4.1244 +                     minOccurs="0" maxOccurs="unbounded"/>
  4.1245 +    </xsd:sequence>
  4.1246 +
  4.1247 +</xsd:complexType>
  4.1248 +
  4.1249 +<!-- **************************************************** -->
  4.1250 +
  4.1251 +<xsd:complexType name="welcome-file-listType">
  4.1252 +<xsd:annotation>
  4.1253 +<xsd:documentation>
  4.1254 +
  4.1255 +The welcome-file-list contains an ordered list of welcome
  4.1256 +files elements.
  4.1257 +
  4.1258 +Used in: web-app
  4.1259 +
  4.1260 +</xsd:documentation>
  4.1261 +</xsd:annotation>
  4.1262 +
  4.1263 +    <xsd:sequence>
  4.1264 +        <xsd:element name="welcome-file"
  4.1265 +                     type="j2ee:string"
  4.1266 +                     maxOccurs="unbounded">
  4.1267 +        <xsd:annotation>
  4.1268 +        <xsd:documentation>
  4.1269 +
  4.1270 +        The welcome-file element contains file name to use
  4.1271 +        as a default welcome file, such as index.html
  4.1272 +
  4.1273 +        </xsd:documentation>
  4.1274 +        </xsd:annotation>
  4.1275 +        </xsd:element>
  4.1276 +    </xsd:sequence>
  4.1277 +
  4.1278 +</xsd:complexType>
  4.1279 +
  4.1280 +</xsd:schema>
  4.1281 +
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/schema2beans/test/unit/src/data/goldenfiles/TestMain/testWebApp.pass	Tue Oct 15 22:30:10 2002 +0000
     5.3 @@ -0,0 +1,15 @@
     5.4 +Calling GenBeans.doIt
     5.5 +Compiling
     5.6 +Finished compiling: 0
     5.7 +out: TestWebApp - creating the DOM document
     5.8 +out: TestWebApp - creating the bean graph
     5.9 +out: TestWebApp - bean graph created
    5.10 +out: <?xml version='1.0' encoding='UTF-8' ?>
    5.11 +out: <web-app>
    5.12 +out: 	<description>This is my Web App</description>
    5.13 +out: 	<display-name>MyWebApp</display-name>
    5.14 +out: 	<filter>
    5.15 +out: 		<filter-name>Bob</filter-name>
    5.16 +out: 	</filter>
    5.17 +out: </web-app>
    5.18 +Finished running TestWebApp: 0
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/schema2beans/test/unit/src/data/j2ee_1_4.xsd	Tue Oct 15 22:30:10 2002 +0000
     6.3 @@ -0,0 +1,1406 @@
     6.4 +<?xml version="1.0" encoding="UTF-8"?>
     6.5 +<!--Generated by Umit Yalcinalp March 2002-->
     6.6 +<xsd:schema
     6.7 +     targetNamespace="http://java.sun.com/xml/ns/j2ee"
     6.8 +     xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
     6.9 +     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    6.10 +     elementFormDefault="qualified"
    6.11 +     attributeFormDefault="unqualified"
    6.12 +     version="1.4">
    6.13 +<xsd:annotation>
    6.14 +<xsd:documentation>
    6.15 +@(#)j2ee_1_4.xsds	1.20 02/07/12
    6.16 +</xsd:documentation>
    6.17 +</xsd:annotation>
    6.18 +
    6.19 +<xsd:annotation>
    6.20 +<xsd:documentation>
    6.21 +
    6.22 +Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
    6.23 +Road, Palo Alto, California 94303, U.S.A. All rights
    6.24 +reserved.
    6.25 +
    6.26 +Sun Microsystems, Inc. has intellectual property rights
    6.27 +relating to technology described in this document. In
    6.28 +particular, and without limitation, these intellectual
    6.29 +property rights may include one or more of the U.S. patents
    6.30 +listed at http://www.sun.com/patents and one or more
    6.31 +additional patents or pending patent applications in the
    6.32 +U.S. and other countries.
    6.33 +
    6.34 +This document and the technology which it describes are
    6.35 +distributed under licenses restricting their use, copying,
    6.36 +distribution, and decompilation. No part of this document
    6.37 +may be reproduced in any form by any means without prior
    6.38 +written authorization of Sun and its licensors, if any.
    6.39 +
    6.40 +Third-party software, including font technology, is
    6.41 +copyrighted and licensed from Sun suppliers.
    6.42 +
    6.43 +Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
    6.44 +JavaServer Pages, Enterprise JavaBeans and the Java Coffee
    6.45 +Cup logo are trademarks or registered trademarks of Sun
    6.46 +Microsystems, Inc. in the U.S. and other countries.
    6.47 +
    6.48 +Federal Acquisitions: Commercial Software - Government Users
    6.49 +Subject to Standard License Terms and Conditions.
    6.50 +
    6.51 +</xsd:documentation>
    6.52 +</xsd:annotation>
    6.53 +
    6.54 +<xsd:annotation>
    6.55 +<xsd:documentation>
    6.56 +
    6.57 +The following definitions that appear in the common
    6.58 +shareable schema(s) of J2EE deployment descriptors should be
    6.59 +interpreted with respect to the context they are included:
    6.60 +
    6.61 +Deployment Component may indicate one of the following:
    6.62 +    j2ee application;
    6.63 +    application client;
    6.64 +    web application;
    6.65 +    enterprise bean;
    6.66 +    resource adapter;
    6.67 +
    6.68 +Deployment File may indicate one of the following:
    6.69 +    ear file;
    6.70 +    war file;
    6.71 +    jar file;
    6.72 +    rar file;
    6.73 +
    6.74 +</xsd:documentation>
    6.75 +</xsd:annotation>
    6.76 +
    6.77 +<xsd:import namespace="http://www.w3.org/XML/1998/namespace"
    6.78 +            schemaLocation="xml.xsd"/>
    6.79 +
    6.80 +
    6.81 +<!-- **************************************************** -->
    6.82 +
    6.83 +<xsd:complexType name="deployment-extensionType">
    6.84 +<xsd:annotation>
    6.85 +<xsd:documentation>
    6.86 +
    6.87 +The deployment-extensionType is used to indicate
    6.88 +extensions to the specific Deployment Component.
    6.89 +
    6.90 +It is used by deployment-extension elements to designate an
    6.91 +extension block that is targeted to a specific extension
    6.92 +designated by a set of extension elements that are declared
    6.93 +by a namespace. The namespace identifies the extension to
    6.94 +the deployment tool that processes the extension.
    6.95 +
    6.96 +The mustUnderstand attribute is provided by the Application
    6.97 +Assembler to indicate whether the extension described is an
    6.98 +essential extension that must exist in the container. If
    6.99 +mustUnderstand is "true", the deployment tool must indicate
   6.100 +an error when processing a deployment-extension element with
   6.101 +a namespace it does not understand.  Extensions that are not
   6.102 +essential are declared by default as optional extensions
   6.103 +that need not be provided by a container.  Applications that
   6.104 +use such extensions are portable to other containers because
   6.105 +deployment tools will ignore extensions that they don't
   6.106 +support.
   6.107 +
   6.108 +The type of the extension-element is abstract. Therefore, a
   6.109 +concrete type must be specified by the deployment descriptor
   6.110 +using xsi:type attribute for each extension-element.
   6.111 +
   6.112 +The value of the mustUnderstand attribute is "false"
   6.113 +by default.
   6.114 +
   6.115 +</xsd:documentation>
   6.116 +</xsd:annotation>
   6.117 +
   6.118 +    <xsd:sequence>
   6.119 +    <xsd:element name="extension-element"
   6.120 +                 type="j2ee:extensibleType"
   6.121 +                 maxOccurs="unbounded"/>
   6.122 +    </xsd:sequence>
   6.123 +
   6.124 +    <xsd:attribute name="namespace"
   6.125 +                   use="required"
   6.126 +                   type="xsd:anyURI"/>
   6.127 +    <xsd:attribute name="mustUnderstand"
   6.128 +                   type="xsd:boolean"/>
   6.129 +
   6.130 +</xsd:complexType>
   6.131 +
   6.132 +<!-- **************************************************** -->
   6.133 +
   6.134 +<xsd:complexType name="descriptionType">
   6.135 +<xsd:annotation>
   6.136 +<xsd:documentation>
   6.137 +
   6.138 +The description type is used by a description element to
   6.139 +provide text describing the parent element.  The elements
   6.140 +that use this type should include any information that the
   6.141 +Deployment Component's Deployment File file producer wants
   6.142 +to provide to the consumer of the Deployment Component's
   6.143 +Deployment File (i.e., to the Deployer). Typically, the
   6.144 +tools used by such a Deployment File consumer will display
   6.145 +the description when processing the parent element that
   6.146 +contains the description.
   6.147 +
   6.148 +The lang attribute defines the language that the
   6.149 +description is provided in. The default value is "en" (English).
   6.150 +
   6.151 +</xsd:documentation>
   6.152 +</xsd:annotation>
   6.153 +
   6.154 +    <xsd:simpleContent>
   6.155 +        <xsd:extension base="xsd:string">
   6.156 +        <xsd:attribute ref="xml:lang"/>
   6.157 +        </xsd:extension>
   6.158 +    </xsd:simpleContent>
   6.159 +
   6.160 +</xsd:complexType>
   6.161 +
   6.162 +<!-- **************************************************** -->
   6.163 +
   6.164 +<xsd:simpleType name="dewey-versionType">
   6.165 +<xsd:annotation>
   6.166 +<xsd:documentation>
   6.167 +
   6.168 +This type defines a dewey decimal which is used
   6.169 +to describe versions of documents.
   6.170 +
   6.171 +</xsd:documentation>
   6.172 +</xsd:annotation>
   6.173 +
   6.174 +    <xsd:restriction base="xsd:decimal">
   6.175 +        <xsd:whiteSpace value="collapse"/>
   6.176 +    </xsd:restriction>
   6.177 +
   6.178 +</xsd:simpleType>
   6.179 +
   6.180 +<!-- **************************************************** -->
   6.181 +
   6.182 +<xsd:complexType name="display-nameType">
   6.183 +<xsd:annotation>
   6.184 +<xsd:documentation>
   6.185 +
   6.186 +The display-name type contains a short name that is intended
   6.187 +to be displayed by tools. It is used by display-name
   6.188 +elements.  The display name need not be unique.
   6.189 +
   6.190 +Example:
   6.191 +
   6.192 +...
   6.193 +   <display-name xml:lang="en">Employee Self Service</display-name>
   6.194 +
   6.195 +The value of the xml:lang attribute is "en" (English) by default.
   6.196 +
   6.197 +</xsd:documentation>
   6.198 +</xsd:annotation>
   6.199 +
   6.200 +    <xsd:simpleContent>
   6.201 +        <xsd:extension base="j2ee:string">
   6.202 +        <xsd:attribute ref="xml:lang"/>
   6.203 +        </xsd:extension>
   6.204 +    </xsd:simpleContent>
   6.205 +
   6.206 +</xsd:complexType>
   6.207 +
   6.208 +<!-- **************************************************** -->
   6.209 +
   6.210 +<xsd:simpleType name="ejb-linkType">
   6.211 +<xsd:annotation>
   6.212 +<xsd:documentation>
   6.213 +
   6.214 +The ejb-linkType is used by ejb-link
   6.215 +elements in the ejb-ref or ejb-local-ref elements to specify
   6.216 +that an EJB reference is linked to enterprise bean.
   6.217 +
   6.218 +The value of the ejb-link element must be the ejb-name of an
   6.219 +enterprise bean in the same ejb-jar file or in another ejb-jar
   6.220 +file in the same J2EE application unit.
   6.221 +
   6.222 +Alternatively, the name in the ejb-link element may be composed of a
   6.223 +path name specifying the ejb-jar containing the referenced enterprise
   6.224 +bean with the ejb-name of the target bean appended and separated from
   6.225 +the path name by "#".  The path name is relative to the Deployment File
   6.226 +containing Deployment Component that is referencing the enterprise bean.
   6.227 +This allows multiple enterprise beans with the same ejb-name to be
   6.228 +uniquely identified.
   6.229 +
   6.230 +Examples:
   6.231 +
   6.232 +    <ejb-link>EmployeeRecord</ejb-link>
   6.233 +
   6.234 +    <ejb-link>../products/product.jar#ProductEJB</ejb-link>
   6.235 +
   6.236 +</xsd:documentation>
   6.237 +</xsd:annotation>
   6.238 +
   6.239 +    <xsd:restriction base="j2ee:string"/>
   6.240 +
   6.241 +</xsd:simpleType>
   6.242 +
   6.243 +<!-- **************************************************** -->
   6.244 +
   6.245 +<xsd:complexType name="ejb-local-refType">
   6.246 +<xsd:annotation>
   6.247 +<xsd:documentation>
   6.248 +
   6.249 +The ejb-local-refType is used by ejb-local-ref elements for
   6.250 +the declaration of a reference to an enterprise bean's local
   6.251 +home. The declaration consists of:
   6.252 +
   6.253 +    - an optional description
   6.254 +    - the EJB reference name used in the code of the Deployment
   6.255 +      Component that's referencing the enterprise bean
   6.256 +    - the expected type of the referenced enterprise bean
   6.257 +    - the expected local home and local interfaces of the
   6.258 +      referenced enterprise bean
   6.259 +    - optional ejb-link information, used to specify the
   6.260 +      referenced enterprise bean
   6.261 +
   6.262 +</xsd:documentation>
   6.263 +</xsd:annotation>
   6.264 +
   6.265 +    <xsd:sequence>
   6.266 +        <xsd:element name="description"
   6.267 +                     type="j2ee:descriptionType"
   6.268 +                     minOccurs="0"
   6.269 +                     maxOccurs="unbounded"/>
   6.270 +        <xsd:element name="ejb-ref-name"
   6.271 +                     type="j2ee:ejb-ref-nameType"/>
   6.272 +        <xsd:element name="ejb-ref-type"
   6.273 +                     type="j2ee:ejb-ref-typeType"/>
   6.274 +        <xsd:element name="local-home"
   6.275 +                     type="j2ee:local-homeType"/>
   6.276 +        <xsd:element name="local"
   6.277 +                     type="j2ee:localType"/>
   6.278 +        <xsd:element name="ejb-link"
   6.279 +                     type="j2ee:ejb-linkType"
   6.280 +                     minOccurs="0"/>
   6.281 +    </xsd:sequence>
   6.282 +
   6.283 +</xsd:complexType>
   6.284 +
   6.285 +<!-- **************************************************** -->
   6.286 +
   6.287 +<xsd:simpleType name="ejb-ref-nameType">
   6.288 +<xsd:annotation>
   6.289 +<xsd:documentation>
   6.290 +
   6.291 +The ejb-ref-name element contains the name of an EJB
   6.292 +reference. The EJB reference is an entry in the
   6.293 +Deployment Component's environment and is relative to the
   6.294 +java:comp/env context.  The name must be unique within the
   6.295 +Deployment Component.
   6.296 +
   6.297 +It is recommended that name is prefixed with "ejb/".
   6.298 +
   6.299 +Example:
   6.300 +
   6.301 +<ejb-ref-name>ejb/Payroll</ejb-ref-name>
   6.302 +
   6.303 +</xsd:documentation>
   6.304 +</xsd:annotation>
   6.305 +
   6.306 +    <xsd:restriction base="j2ee:jndi-nameType"/>
   6.307 +
   6.308 +</xsd:simpleType>
   6.309 +
   6.310 +<!-- **************************************************** -->
   6.311 +
   6.312 +<xsd:simpleType name="ejb-ref-typeType">
   6.313 +<xsd:annotation>
   6.314 +<xsd:documentation>
   6.315 +
   6.316 +The ejb-ref-typeType contains the expected type of the
   6.317 +referenced enterprise bean.
   6.318 +
   6.319 +The ejb-ref-type designates a value
   6.320 +that must be one of the following:
   6.321 +
   6.322 +    Entity
   6.323 +    Session
   6.324 +
   6.325 +</xsd:documentation>
   6.326 +</xsd:annotation>
   6.327 +
   6.328 +    <xsd:restriction base="j2ee:string">
   6.329 +        <xsd:enumeration value="Entity"/>
   6.330 +        <xsd:enumeration value="Session"/>
   6.331 +    </xsd:restriction>
   6.332 +
   6.333 +</xsd:simpleType>
   6.334 +
   6.335 +<!-- **************************************************** -->
   6.336 +
   6.337 +<xsd:complexType name="ejb-refType">
   6.338 +<xsd:annotation>
   6.339 +<xsd:documentation>
   6.340 +
   6.341 +The ejb-refType is used by ejb-ref elements for the
   6.342 +declaration of a reference to an enterprise bean's home. The
   6.343 +declaration consists of:
   6.344 +
   6.345 +    - an optional description
   6.346 +    - the EJB reference name used in the code of
   6.347 +      the Deployment Component that's referencing the enterprise
   6.348 +      bean
   6.349 +    - the expected type of the referenced enterprise bean
   6.350 +    - the expected home and remote interfaces of the referenced
   6.351 +      enterprise bean
   6.352 +    - optional ejb-link information, used to specify the
   6.353 +      referenced enterprise bean
   6.354 +
   6.355 +</xsd:documentation>
   6.356 +</xsd:annotation>
   6.357 +
   6.358 +    <xsd:sequence>
   6.359 +        <xsd:element name="description"
   6.360 +                     type="j2ee:descriptionType"
   6.361 +                     minOccurs="0"
   6.362 +                     maxOccurs="unbounded"/>
   6.363 +        <xsd:element name="ejb-ref-name"
   6.364 +                     type="j2ee:ejb-ref-nameType"/>
   6.365 +        <xsd:element name="ejb-ref-type"
   6.366 +                     type="j2ee:ejb-ref-typeType"/>
   6.367 +
   6.368 +        <xsd:element name="home"
   6.369 +                     type="j2ee:homeType"/>
   6.370 +        <xsd:element name="remote"
   6.371 +                     type="j2ee:remoteType"/>
   6.372 +        <xsd:element name="ejb-link"
   6.373 +                     type="j2ee:ejb-linkType"
   6.374 +                     minOccurs="0"/>
   6.375 +    </xsd:sequence>
   6.376 +
   6.377 +</xsd:complexType>
   6.378 +
   6.379 +<!-- **************************************************** -->
   6.380 +
   6.381 +<xsd:complexType name="emptyType">
   6.382 +<xsd:annotation>
   6.383 +<xsd:documentation>
   6.384 +
   6.385 +This type is used to designate an empty
   6.386 +element when used.
   6.387 +
   6.388 +</xsd:documentation>
   6.389 +</xsd:annotation>
   6.390 +</xsd:complexType>
   6.391 +
   6.392 +<!-- **************************************************** -->
   6.393 +
   6.394 +<xsd:simpleType name="env-entry-type-valuesType">
   6.395 +<xsd:annotation>
   6.396 +<xsd:documentation>
   6.397 +
   6.398 +This type contains the fully-qualified Java type of the
   6.399 +environment entry value that is expected by the
   6.400 +application's code.
   6.401 +
   6.402 +The following are the legal values of env-entry-type-valuesType:
   6.403 +
   6.404 +    java.lang.Boolean
   6.405 +    java.lang.Byte
   6.406 +    java.lang.Character
   6.407 +    java.lang.String
   6.408 +    java.lang.Short
   6.409 +    java.lang.Integer
   6.410 +    java.lang.Long
   6.411 +    java.lang.Float
   6.412 +    java.lang.Double
   6.413 +
   6.414 +Example:
   6.415 +
   6.416 +<env-entry-type>java.lang.Boolean</env-entry-type>
   6.417 +
   6.418 +</xsd:documentation>
   6.419 +</xsd:annotation>
   6.420 +
   6.421 +    <xsd:restriction base="j2ee:string">
   6.422 +        <xsd:enumeration value="java.lang.Boolean"/>
   6.423 +        <xsd:enumeration value="java.lang.Byte"/>
   6.424 +        <xsd:enumeration value="java.lang.Character"/>
   6.425 +        <xsd:enumeration value="java.lang.String"/>
   6.426 +        <xsd:enumeration value="java.lang.Short"/>
   6.427 +        <xsd:enumeration value="java.lang.Integer"/>
   6.428 +        <xsd:enumeration value="java.lang.Long"/>
   6.429 +        <xsd:enumeration value="java.lang.Float"/>
   6.430 +        <xsd:enumeration value="java.lang.Double"/>
   6.431 +    </xsd:restriction>
   6.432 +
   6.433 +</xsd:simpleType>
   6.434 +
   6.435 +<!-- **************************************************** -->
   6.436 +
   6.437 +<xsd:complexType name="env-entryType">
   6.438 +<xsd:annotation>
   6.439 +<xsd:documentation>
   6.440 +
   6.441 +The env-entryType is used to declare an application's
   6.442 +environment entry. The declaration consists of an optional
   6.443 +description, the name of the environment entry, and an
   6.444 +optional value.  If a value is not specified, one must be
   6.445 +supplied during deployment.
   6.446 +
   6.447 +It is used by env-entry elements.
   6.448 +
   6.449 +</xsd:documentation>
   6.450 +</xsd:annotation>
   6.451 +
   6.452 +    <xsd:sequence>
   6.453 +        <xsd:element name="description"
   6.454 +                     type="j2ee:descriptionType"
   6.455 +                     minOccurs="0"
   6.456 +                     maxOccurs="unbounded"/>
   6.457 +        <xsd:element name="env-entry-name"
   6.458 +                     type="j2ee:jndi-nameType">
   6.459 +        <xsd:annotation>
   6.460 +        <xsd:documentation>
   6.461 +
   6.462 +        The env-entry-name element contains the name of a
   6.463 +        Deployment Component's environment entry.  The name
   6.464 +        is a JNDI name relative to the java:comp/env
   6.465 +        context.  The name must be unique within a
   6.466 +        Deployment Component. The uniqueness
   6.467 +        constraints must be defined within the declared
   6.468 +        context.
   6.469 +
   6.470 +        Example:
   6.471 +
   6.472 +        <env-entry-name>minAmount</env-entry-name>
   6.473 +
   6.474 +        </xsd:documentation>
   6.475 +        </xsd:annotation>
   6.476 +        </xsd:element>
   6.477 +
   6.478 +        <xsd:element name="env-entry-type"
   6.479 +                     type="j2ee:env-entry-type-valuesType"/>
   6.480 +
   6.481 +        <xsd:element name="env-entry-value"
   6.482 +                     type="xsd:string"
   6.483 +                     minOccurs="0">
   6.484 +        <xsd:annotation>
   6.485 +        <xsd:documentation>
   6.486 +
   6.487 +        The env-entry-value designates the value of a
   6.488 +        Deployment Component's environment entry. The value
   6.489 +        must be a String that is valid for the
   6.490 +        constructor of the specified type that takes a
   6.491 +        single String parameter, or for java.lang.Character,
   6.492 +        a single character.
   6.493 +
   6.494 +        Example:
   6.495 +
   6.496 +        <env-entry-value>100.00</env-entry-value>
   6.497 +
   6.498 +        </xsd:documentation>
   6.499 +        </xsd:annotation>
   6.500 +        </xsd:element>
   6.501 +
   6.502 +    </xsd:sequence>
   6.503 +</xsd:complexType>
   6.504 +
   6.505 +<!-- **************************************************** -->
   6.506 +
   6.507 +<xsd:complexType name="extensibleType" abstract="true">
   6.508 +<xsd:annotation>
   6.509 +<xsd:documentation>
   6.510 +
   6.511 +The extensibleType is an abstract base type which is used to
   6.512 +define the type of extension-elements. Instance documents
   6.513 +must substitute a known type to define the extension by
   6.514 +using xsi:type attribute to define the actual type of
   6.515 +extension-elements.
   6.516 +
   6.517 +</xsd:documentation>
   6.518 +</xsd:annotation>
   6.519 +</xsd:complexType>
   6.520 +
   6.521 +<!-- **************************************************** -->
   6.522 +
   6.523 +<xsd:simpleType name="fully-qualified-classType">
   6.524 +<xsd:annotation>
   6.525 +<xsd:documentation>
   6.526 +
   6.527 +The elements that use this type designate the name of a
   6.528 +Java class or interface.
   6.529 +
   6.530 +</xsd:documentation>
   6.531 +</xsd:annotation>
   6.532 +
   6.533 +    <xsd:restriction base="j2ee:string"/>
   6.534 +
   6.535 +</xsd:simpleType>
   6.536 +
   6.537 +<!-- **************************************************** -->
   6.538 +
   6.539 +<xsd:simpleType name="generic-booleanType">
   6.540 +<xsd:annotation>
   6.541 +<xsd:documentation>
   6.542 +
   6.543 +This type defines four different values which can designate
   6.544 +boolean values. This includes values yes and no which are
   6.545 +not designated by xsd:boolean
   6.546 +
   6.547 +</xsd:documentation>
   6.548 +</xsd:annotation>
   6.549 +
   6.550 +    <xsd:restriction base="j2ee:string">
   6.551 +        <xsd:enumeration value="true"/>
   6.552 +        <xsd:enumeration value="false"/>
   6.553 +        <xsd:enumeration value="yes"/>
   6.554 +        <xsd:enumeration value="no"/>
   6.555 +    </xsd:restriction>
   6.556 +
   6.557 +</xsd:simpleType>
   6.558 +
   6.559 +<!-- **************************************************** -->
   6.560 +
   6.561 +<xsd:simpleType name="homeType">
   6.562 +<xsd:annotation>
   6.563 +<xsd:documentation>
   6.564 +
   6.565 +The homeType defines the fully-qualified name of
   6.566 +an enterprise bean's home interface.
   6.567 +
   6.568 +Example:
   6.569 +
   6.570 +    <home>com.aardvark.payroll.PayrollHome</home>
   6.571 +
   6.572 +</xsd:documentation>
   6.573 +</xsd:annotation>
   6.574 +
   6.575 +    <xsd:restriction base="j2ee:fully-qualified-classType"/>
   6.576 +
   6.577 +</xsd:simpleType>
   6.578 +
   6.579 +<!-- **************************************************** -->
   6.580 +
   6.581 +<xsd:complexType name="iconType">
   6.582 +<xsd:annotation>
   6.583 +<xsd:documentation>
   6.584 +
   6.585 +The icon type contains small-icon and large-icon elements
   6.586 +that specify the file names for small and large GIF or
   6.587 +JPEG icon images used to represent the parent element in a
   6.588 +GUI tool.
   6.589 +
   6.590 +The xml:lang attribute defines the language that the
   6.591 +icon file names are provided in. Its value is "en" (English)
   6.592 +by default.
   6.593 +
   6.594 +</xsd:documentation>
   6.595 +</xsd:annotation>
   6.596 +
   6.597 +    <xsd:sequence>
   6.598 +        <xsd:element name="small-icon" type="j2ee:pathType"
   6.599 +             minOccurs="0">
   6.600 +        <xsd:annotation>
   6.601 +        <xsd:documentation>
   6.602 +        The small-icon element contains the name of a file
   6.603 +        containing a small (16 x 16) icon image. The file
   6.604 +        name is a relative path within the Deployment
   6.605 +        Component's Deployment File.
   6.606 +
   6.607 +        The image may be either in the JPEG or GIF format.
   6.608 +        The icon can be used by tools.
   6.609 +
   6.610 +        Example:
   6.611 +
   6.612 +        <small-icon>employee-service-icon16x16.jpg</small-icon>
   6.613 +        </xsd:documentation>
   6.614 +        </xsd:annotation>
   6.615 +        </xsd:element>
   6.616 +        <xsd:element name="large-icon" type="j2ee:pathType"
   6.617 +             minOccurs="0">
   6.618 +        <xsd:annotation>
   6.619 +        <xsd:documentation>
   6.620 +
   6.621 +        The large-icon element contains the name of a file
   6.622 +        containing a large
   6.623 +        (32 x 32) icon image. The file name is a relative
   6.624 +        path within the Deployment Component's Deployment
   6.625 +        File.
   6.626 +
   6.627 +        The image may be either in the JPEG or GIF format.
   6.628 +        The icon can be used by tools.
   6.629 +
   6.630 +        Example:
   6.631 +
   6.632 +        <large-icon>employee-service-icon32x32.jpg</large-icon>
   6.633 +        </xsd:documentation>
   6.634 +        </xsd:annotation>
   6.635 +        </xsd:element>
   6.636 +
   6.637 +    </xsd:sequence>
   6.638 +
   6.639 +    <xsd:attribute ref="xml:lang"/>
   6.640 +
   6.641 +</xsd:complexType>
   6.642 +
   6.643 +<!-- **************************************************** -->
   6.644 +
   6.645 +<xsd:simpleType name="java-identifierType">
   6.646 +<xsd:annotation>
   6.647 +<xsd:documentation>
   6.648 +
   6.649 +The java-identifierType defines a Java identifier.
   6.650 +The users of this type should further verify that
   6.651 +the content does not contain Java reserved keywords.
   6.652 +
   6.653 +</xsd:documentation>
   6.654 +</xsd:annotation>
   6.655 +
   6.656 +    <xsd:restriction base="j2ee:string">
   6.657 +        <xsd:pattern value="($|_|\p{L})(\p{L}|\p{Nd}|_|$)*"/>
   6.658 +    </xsd:restriction>
   6.659 +
   6.660 +</xsd:simpleType>
   6.661 +
   6.662 +<!-- **************************************************** -->
   6.663 +
   6.664 +<xsd:simpleType name="jndi-nameType">
   6.665 +<xsd:annotation>
   6.666 +<xsd:documentation>
   6.667 +
   6.668 +The jndi-nameType type designates a JNDI name in the
   6.669 +Deployment Component's environment and is relative to the
   6.670 +java:comp/env context.  A JNDI name must be unique within the
   6.671 +Deployment Component.
   6.672 +
   6.673 +</xsd:documentation>
   6.674 +</xsd:annotation>
   6.675 +
   6.676 +    <xsd:restriction base="j2ee:string"/>
   6.677 +
   6.678 +</xsd:simpleType>
   6.679 +
   6.680 +<!-- **************************************************** -->
   6.681 +
   6.682 +<xsd:simpleType name="local-homeType">
   6.683 +<xsd:annotation>
   6.684 +<xsd:documentation>
   6.685 +
   6.686 +The local-homeType defines the fully-qualified
   6.687 +name of an enterprise bean's local home interface.
   6.688 +
   6.689 +</xsd:documentation>
   6.690 +</xsd:annotation>
   6.691 +
   6.692 +    <xsd:restriction base="j2ee:fully-qualified-classType"/>
   6.693 +
   6.694 +</xsd:simpleType>
   6.695 +
   6.696 +<!-- **************************************************** -->
   6.697 +
   6.698 +<xsd:simpleType name="localType">
   6.699 +<xsd:annotation>
   6.700 +<xsd:documentation>
   6.701 +
   6.702 +The localType defines the fully-qualified name of an
   6.703 +enterprise bean's local interface.
   6.704 +
   6.705 +</xsd:documentation>
   6.706 +</xsd:annotation>
   6.707 +
   6.708 +    <xsd:restriction base="j2ee:fully-qualified-classType"/>
   6.709 +
   6.710 +</xsd:simpleType>
   6.711 +
   6.712 +<!-- **************************************************** -->
   6.713 +
   6.714 +<xsd:simpleType name="message-destination-linkType">
   6.715 +<xsd:annotation>
   6.716 +<xsd:documentation>
   6.717 +
   6.718 +The message-destination-linkType is used to link a message
   6.719 +destination reference or message-driven bean to a message
   6.720 +destination.
   6.721 +
   6.722 +The Assembler sets the value to reflect the flow of messages
   6.723 +between producers and consumers in the application.
   6.724 +
   6.725 +The value must be the message-destination-name of a message
   6.726 +destination in the same Deployment File or in another
   6.727 +Deployment File in the same J2EE application unit.
   6.728 +
   6.729 +Alternatively, the value may be composed of a path name
   6.730 +specifying a Deployment File containing the referenced
   6.731 +message destination with the message-destination-name of the
   6.732 +destination appended and separated from the path name by
   6.733 +"#". The path name is relative to the Deployment File
   6.734 +containing Deployment Component that is referencing the
   6.735 +message destination.  This allows multiple message
   6.736 +destinations with the same name to be uniquely identified.
   6.737 +
   6.738 +</xsd:documentation>
   6.739 +</xsd:annotation>
   6.740 +
   6.741 +    <xsd:restriction base="j2ee:fully-qualified-classType"/>
   6.742 +
   6.743 +</xsd:simpleType>
   6.744 +
   6.745 +<!-- **************************************************** -->
   6.746 +
   6.747 +<xsd:complexType name="message-destination-refType">
   6.748 +<xsd:annotation>
   6.749 +<xsd:documentation>
   6.750 +
   6.751 +The message-destination-ref element contains a declaration
   6.752 +of Deployment Component's reference to a message destination
   6.753 +associated with a resource in Deployment Component's
   6.754 +environment. It consists of:
   6.755 +
   6.756 +        - an optional description
   6.757 +        - the message destination reference name
   6.758 +        - the message destination type
   6.759 +        - a specification as to whether the
   6.760 +          destination is used for
   6.761 +          consuming or producing messages, or both
   6.762 +        - a link to the message destination
   6.763 +
   6.764 +Examples:
   6.765 +
   6.766 +<message-destination-ref>
   6.767 +        <message-destination-ref-name>jms/StockQueue
   6.768 +        </message-destination-ref-name>
   6.769 +        <message-destination-type>javax.jms.Queue
   6.770 +        </message-destination-type>
   6.771 +        <message-destination-usage>Consumes
   6.772 +        </message-destination-usage>
   6.773 +        <message-destination-link>CorporateStocks
   6.774 +        </message-destination-link>
   6.775 +</message-destination-ref>
   6.776 +
   6.777 +</xsd:documentation>
   6.778 +</xsd:annotation>
   6.779 +    <xsd:sequence>
   6.780 +        <xsd:element name="description"
   6.781 +                     type="j2ee:descriptionType"
   6.782 +                     minOccurs="0"
   6.783 +                     maxOccurs="unbounded"/>
   6.784 +        <xsd:element name="message-destination-ref-name"
   6.785 +                     type="j2ee:jndi-nameType">
   6.786 +        <xsd:annotation>
   6.787 +        <xsd:documentation>
   6.788 +
   6.789 +        The message-destination-ref-name element specifies
   6.790 +        the name of a message destination reference; its
   6.791 +        value is the environment entry name used in
   6.792 +        Deployment Component code.  The name is a JNDI name
   6.793 +        relative to the java:comp/env context and must be
   6.794 +        unique within an ejb-jar (for enterprise beans) or a
   6.795 +        Deployment File (for others).
   6.796 +        %%%
   6.797 +
   6.798 +        </xsd:documentation>
   6.799 +        </xsd:annotation>
   6.800 +        </xsd:element>
   6.801 +        <xsd:element name="message-destination-type"
   6.802 +                     type="j2ee:message-destination-typeType"/>
   6.803 +        <xsd:element name="message-destination-usage"
   6.804 +                     type="j2ee:message-destination-usageType"/>
   6.805 +        <xsd:element name="message-destination-link"
   6.806 +                     type="j2ee:message-destination-linkType"
   6.807 +                     minOccurs="0"/>
   6.808 +    </xsd:sequence>
   6.809 +
   6.810 +</xsd:complexType>
   6.811 +
   6.812 +<!-- **************************************************** -->
   6.813 +
   6.814 +<xsd:simpleType name="message-destination-typeType">
   6.815 +<xsd:annotation>
   6.816 +<xsd:documentation>
   6.817 +
   6.818 +The message-destination-typeType specifies the type of
   6.819 +the destination. The type is specified by the Java interface
   6.820 +expected to be implemented by the destination.
   6.821 +
   6.822 +Example:
   6.823 +
   6.824 + <message-destination-type>javax.jms.Queue
   6.825 + </message-destination-type>
   6.826 +
   6.827 +</xsd:documentation>
   6.828 +</xsd:annotation>
   6.829 +
   6.830 +    <xsd:restriction base="j2ee:fully-qualified-classType"/>
   6.831 +
   6.832 +</xsd:simpleType>
   6.833 +
   6.834 +<!-- **************************************************** -->
   6.835 +
   6.836 +<xsd:simpleType name="message-destination-usageType">
   6.837 +<xsd:annotation>
   6.838 +<xsd:documentation>
   6.839 +
   6.840 +The message-destination-usageType specifies the use of the
   6.841 +message destination indicated by the reference.  The value
   6.842 +indicates whether messages are consumed from the message
   6.843 +destination, produced for the destination, or both.  The
   6.844 +Assembler makes use of this information in linking producers
   6.845 +of a destination with its consumers.
   6.846 +
   6.847 +The value of the message-destination-usage element must be
   6.848 +one of the following:
   6.849 +    Consumes
   6.850 +    Produces
   6.851 +    ConsumesProduces
   6.852 +
   6.853 +</xsd:documentation>
   6.854 +</xsd:annotation>
   6.855 +
   6.856 +    <xsd:restriction base="j2ee:string">
   6.857 +        <xsd:enumeration value="Consumes"/>
   6.858 +        <xsd:enumeration value="Produces"/>
   6.859 +        <xsd:enumeration value="ConsumesProduces"/>
   6.860 +    </xsd:restriction>
   6.861 +
   6.862 +</xsd:simpleType>
   6.863 +
   6.864 +<!-- **************************************************** -->
   6.865 +
   6.866 +<xsd:complexType name="message-destinationType">
   6.867 +<xsd:annotation>
   6.868 +<xsd:documentation>
   6.869 +
   6.870 +The message-destinationType specifies a message
   6.871 +destination. The logical destination described by this
   6.872 +element is mapped to a physical destination by the Deployer.
   6.873 +
   6.874 +The message destination element contains:
   6.875 +
   6.876 +        - an optional description
   6.877 +        - an optional display-name
   6.878 +        - an optional icon
   6.879 +        - a message destination name which must be unique
   6.880 +          among message destination names within the same
   6.881 +          Deployment File.
   6.882 +
   6.883 +Example:
   6.884 +
   6.885 +<message-destination>
   6.886 +        <message-destination-name>CorporateStocks
   6.887 +        </message-destination-name>
   6.888 +</message-destination>
   6.889 +
   6.890 +</xsd:documentation>
   6.891 +</xsd:annotation>
   6.892 +    <xsd:sequence>
   6.893 +        <xsd:element name="description"
   6.894 +                     type="j2ee:descriptionType"
   6.895 +                     minOccurs="0"
   6.896 +                     maxOccurs="unbounded"/>
   6.897 +        <xsd:element name="display-name"
   6.898 +                     type="j2ee:display-nameType"
   6.899 +                     minOccurs="0"
   6.900 +                     maxOccurs="unbounded"/>
   6.901 +        <xsd:element name="icon"
   6.902 +                     type="j2ee:iconType"
   6.903 +                     minOccurs="0"
   6.904 +                     maxOccurs="unbounded"/>
   6.905 +        <xsd:element name="message-destination-name"
   6.906 +                     type="j2ee:string">
   6.907 +        <xsd:annotation>
   6.908 +        <xsd:documentation>
   6.909 +
   6.910 +        The message-destination-name element specifies a
   6.911 +        name for a message destination.  This name must be
   6.912 +        unique among the names of message destinations
   6.913 +        within the Deployment File.
   6.914 +
   6.915 +        </xsd:documentation>
   6.916 +        </xsd:annotation>
   6.917 +        </xsd:element>
   6.918 +
   6.919 +    </xsd:sequence>
   6.920 +</xsd:complexType>
   6.921 +
   6.922 +<!-- **************************************************** -->
   6.923 +
   6.924 +<xsd:complexType name="param-valueType">
   6.925 +<xsd:annotation>
   6.926 +<xsd:documentation>
   6.927 +
   6.928 +This type is a general type that can be used to declare
   6.929 +parameter/value lists.
   6.930 +
   6.931 +</xsd:documentation>
   6.932 +</xsd:annotation>
   6.933 +
   6.934 +    <xsd:sequence>
   6.935 +        <xsd:element name="description"
   6.936 +             type="j2ee:descriptionType"
   6.937 +             minOccurs="0"
   6.938 +             maxOccurs="unbounded"/>
   6.939 +        <xsd:element name="param-name"
   6.940 +             type="j2ee:string">
   6.941 +        <xsd:annotation>
   6.942 +        <xsd:documentation>
   6.943 +
   6.944 +        The param-name element contains the name of a
   6.945 +        parameter.
   6.946 +
   6.947 +        </xsd:documentation>
   6.948 +        </xsd:annotation>
   6.949 +        </xsd:element>
   6.950 +
   6.951 +        <xsd:element name="param-value"
   6.952 +             type="xsd:string">
   6.953 +        <xsd:annotation>
   6.954 +        <xsd:documentation>
   6.955 +
   6.956 +        The param-value element contains the value of a
   6.957 +        parameter.
   6.958 +
   6.959 +        </xsd:documentation>
   6.960 +        </xsd:annotation>
   6.961 +        </xsd:element>
   6.962 +    </xsd:sequence>
   6.963 +
   6.964 +</xsd:complexType>
   6.965 +
   6.966 +<!-- **************************************************** -->
   6.967 +
   6.968 +<xsd:simpleType name="pathType">
   6.969 +<xsd:annotation>
   6.970 +<xsd:documentation>
   6.971 +
   6.972 +The elements that use this type designate either a relative
   6.973 +path or an absolute path starting with a "/".
   6.974 +
   6.975 +In elements that specify a pathname to a file within the
   6.976 +same Deployment File, relative filenames (i.e., those not
   6.977 +starting with "/") are considered relative to the root of
   6.978 +the Deployment File's namespace.  Absolute filenames (i.e.,
   6.979 +those starting with "/") also specify names in the root of
   6.980 +the Deployment File's namespace.  In general, relative names
   6.981 +are preferred.  The exception is .war files where absolute
   6.982 +names are preferred for consistency with the Servlet API.
   6.983 +
   6.984 +</xsd:documentation>
   6.985 +</xsd:annotation>
   6.986 +
   6.987 +    <xsd:restriction base="j2ee:string"/>
   6.988 +
   6.989 +</xsd:simpleType>
   6.990 +
   6.991 +<!-- **************************************************** -->
   6.992 +
   6.993 +<xsd:simpleType name="remoteType">
   6.994 +<xsd:annotation>
   6.995 +<xsd:documentation>
   6.996 +
   6.997 +The remote element contains the fully-qualified name
   6.998 +of the enterprise bean's remote interface.
   6.999 +
  6.1000 +Example:
  6.1001 +
  6.1002 +    <remote>com.wombat.empl.EmployeeService</remote>
  6.1003 +
  6.1004 +</xsd:documentation>
  6.1005 +</xsd:annotation>
  6.1006 +
  6.1007 +    <xsd:restriction base="j2ee:fully-qualified-classType"/>
  6.1008 +
  6.1009 +</xsd:simpleType>
  6.1010 +
  6.1011 +<!-- **************************************************** -->
  6.1012 +
  6.1013 +<xsd:simpleType name="res-authType">
  6.1014 +<xsd:annotation>
  6.1015 +<xsd:documentation>
  6.1016 +
  6.1017 +The res-authType specifies whether the Deployment Component
  6.1018 +code signs on programmatically to the resource manager, or
  6.1019 +whether the Container will sign on to the resource manager
  6.1020 +on behalf of the Deployment Component. In the latter case,
  6.1021 +the Container uses information that is supplied by the
  6.1022 +Deployer.
  6.1023 +
  6.1024 +The value must be one of the two following:
  6.1025 +
  6.1026 +    Application
  6.1027 +    Container
  6.1028 +
  6.1029 +</xsd:documentation>
  6.1030 +</xsd:annotation>
  6.1031 +
  6.1032 +    <xsd:restriction base="j2ee:string">
  6.1033 +        <xsd:enumeration value="Application"/>
  6.1034 +        <xsd:enumeration value="Container"/>
  6.1035 +    </xsd:restriction>
  6.1036 +
  6.1037 +</xsd:simpleType>
  6.1038 +
  6.1039 +<!-- **************************************************** -->
  6.1040 +
  6.1041 +<xsd:simpleType name="res-sharing-scopeType">
  6.1042 +<xsd:annotation>
  6.1043 +<xsd:documentation>
  6.1044 +
  6.1045 +The res-sharing-scope type specifies whether connections
  6.1046 +obtained through the given resource manager connection
  6.1047 +factory reference can be shared. The value, if specified,
  6.1048 +must be one of the two following:
  6.1049 +
  6.1050 +    Shareable
  6.1051 +    Unshareable
  6.1052 +
  6.1053 +The default value is Shareable.
  6.1054 +
  6.1055 +</xsd:documentation>
  6.1056 +</xsd:annotation>
  6.1057 +
  6.1058 +    <xsd:restriction base="j2ee:string">
  6.1059 +        <xsd:enumeration value="Shareable"/>
  6.1060 +        <xsd:enumeration value="Unshareable"/>
  6.1061 +    </xsd:restriction>
  6.1062 +
  6.1063 +</xsd:simpleType>
  6.1064 +
  6.1065 +<!-- **************************************************** -->
  6.1066 +
  6.1067 +<xsd:complexType name="resource-env-refType">
  6.1068 +<xsd:annotation>
  6.1069 +<xsd:documentation>
  6.1070 +
  6.1071 +The resource-env-refType is used to define
  6.1072 +resource-env-type elements.  It contains a declaration of a
  6.1073 +Deployment Component's reference to an administered object
  6.1074 +associated with a resource in the Deployment Component's
  6.1075 +environment.  It consists of an optional description, the
  6.1076 +resource environment reference name, and an indication of
  6.1077 +the resource environment reference type expected by the
  6.1078 +Deployment Component code.
  6.1079 +
  6.1080 +Example:
  6.1081 +
  6.1082 +<resource-env-ref>
  6.1083 +    <resource-env-ref-name>jms/StockQueue
  6.1084 +    </resource-env-ref-name>
  6.1085 +    <resource-env-ref-type>javax.jms.Queue
  6.1086 +    </resource-env-ref-type>
  6.1087 +</resource-env-ref>
  6.1088 +
  6.1089 +</xsd:documentation>
  6.1090 +</xsd:annotation>
  6.1091 +
  6.1092 +    <xsd:sequence>
  6.1093 +        <xsd:element name="description"
  6.1094 +                     type="j2ee:descriptionType"
  6.1095 +                     minOccurs="0"
  6.1096 +                     maxOccurs="unbounded"/>
  6.1097 +        <xsd:element name="resource-env-ref-name"
  6.1098 +                     type="j2ee:jndi-nameType">
  6.1099 +        <xsd:annotation>
  6.1100 +        <xsd:documentation>
  6.1101 +
  6.1102 +        The resource-env-ref-name element specifies the name
  6.1103 +        of a resource environment reference; its value is
  6.1104 +        the environment entry name used in
  6.1105 +        the Deployment Component code.  The name is a JNDI
  6.1106 +        name relative to the java:comp/env context and must
  6.1107 +        be unique within a Deployment Component.
  6.1108 +
  6.1109 +        </xsd:documentation>
  6.1110 +        </xsd:annotation>
  6.1111 +        </xsd:element>
  6.1112 +
  6.1113 +        <xsd:element name="resource-env-ref-type"
  6.1114 +                     type="j2ee:fully-qualified-classType">
  6.1115 +        <xsd:annotation>
  6.1116 +        <xsd:documentation>
  6.1117 +
  6.1118 +        The resource-env-ref-type element specifies the type
  6.1119 +        of a resource environment reference.  It is the
  6.1120 +        fully qualified name of a Java language class or
  6.1121 +        interface.
  6.1122 +
  6.1123 +        </xsd:documentation>
  6.1124 +        </xsd:annotation>
  6.1125 +        </xsd:element>
  6.1126 +
  6.1127 +    </xsd:sequence>
  6.1128 +
  6.1129 +</xsd:complexType>
  6.1130 +
  6.1131 +<!-- **************************************************** -->
  6.1132 +
  6.1133 +<xsd:complexType name="resource-refType">
  6.1134 +<xsd:annotation>
  6.1135 +<xsd:documentation>
  6.1136 +
  6.1137 +The resource-refType contains a declaration of a
  6.1138 +Deployment Component's reference to an external resource. It
  6.1139 +consists of an optional description, the resource manager
  6.1140 +connection factory reference name, the indication of the
  6.1141 +resource manager connection factory type expected by the
  6.1142 +Deployment Component code, the type of authentication
  6.1143 +(Application or Container), and an optional specification of
  6.1144 +the shareability of connections obtained from the resource
  6.1145 +(Shareable or Unshareable).
  6.1146 +
  6.1147 +Example:
  6.1148 +
  6.1149 +<resource-ref>
  6.1150 +    <res-ref-name>jdbc/EmployeeAppDB</res-ref-name>
  6.1151 +    <res-type>javax.sql.DataSource</res-type>
  6.1152 +    <res-auth>Container</res-auth>
  6.1153 +    <res-sharing-scope>Shareable</res-sharing-scope>
  6.1154 +</resource-ref>
  6.1155 +
  6.1156 +</xsd:documentation>
  6.1157 +</xsd:annotation>
  6.1158 +
  6.1159 +    <xsd:sequence>
  6.1160 +        <xsd:element name="description"
  6.1161 +                     type="j2ee:descriptionType"
  6.1162 +                     minOccurs="0"
  6.1163 +                     maxOccurs="unbounded"/>
  6.1164 +        <xsd:element name="res-ref-name"
  6.1165 +                     type="j2ee:jndi-nameType">
  6.1166 +        <xsd:annotation>
  6.1167 +        <xsd:documentation>
  6.1168 +
  6.1169 +        The res-ref-name element specifies the name of a
  6.1170 +        resource manager connection factory reference.
  6.1171 +        The name is a JNDI name relative to the
  6.1172 +        java:comp/env context.
  6.1173 +        The name must be unique within a Deployment File.
  6.1174 +
  6.1175 +        </xsd:documentation>
  6.1176 +        </xsd:annotation>
  6.1177 +        </xsd:element>
  6.1178 +
  6.1179 +        <xsd:element name="res-type"
  6.1180 +                     type="j2ee:fully-qualified-classType">
  6.1181 +        <xsd:annotation>
  6.1182 +        <xsd:documentation>
  6.1183 +
  6.1184 +        The res-type element specifies the type of the data
  6.1185 +        source. The type is specified by the fully qualified
  6.1186 +        Java language class or interface
  6.1187 +        expected to be implemented by the data source.
  6.1188 +
  6.1189 +        </xsd:documentation>
  6.1190 +        </xsd:annotation>
  6.1191 +        </xsd:element>
  6.1192 +
  6.1193 +        <xsd:element name="res-auth"
  6.1194 +                     type="j2ee:res-authType"/>
  6.1195 +
  6.1196 +        <xsd:element name="res-sharing-scope"
  6.1197 +                     type="j2ee:res-sharing-scopeType"
  6.1198 +                     minOccurs="0"/>
  6.1199 +    </xsd:sequence>
  6.1200 +
  6.1201 +</xsd:complexType>
  6.1202 +
  6.1203 +<!-- **************************************************** -->
  6.1204 +
  6.1205 +<xsd:simpleType name="role-nameType">
  6.1206 +<xsd:annotation>
  6.1207 +<xsd:documentation>
  6.1208 +
  6.1209 +The role-nameType designates the name of a security role.
  6.1210 +
  6.1211 +The name must conform to the lexical rules for an NMTOKEN.
  6.1212 +
  6.1213 +</xsd:documentation>
  6.1214 +</xsd:annotation>
  6.1215 +
  6.1216 +    <xsd:restriction base="xsd:NMTOKEN"/>
  6.1217 +
  6.1218 +</xsd:simpleType>
  6.1219 +
  6.1220 +<!-- **************************************************** -->
  6.1221 +
  6.1222 +<xsd:complexType name="run-asType">
  6.1223 +<xsd:annotation>
  6.1224 +<xsd:documentation>
  6.1225 +
  6.1226 +The run-asType specifies the run-as identity to be
  6.1227 +used for the execution of a component. It contains an
  6.1228 +optional description, and the name of a security role.
  6.1229 +
  6.1230 +</xsd:documentation>
  6.1231 +</xsd:annotation>
  6.1232 +
  6.1233 +    <xsd:sequence>
  6.1234 +        <xsd:element name="description"
  6.1235 +                     type="j2ee:descriptionType"
  6.1236 +                     minOccurs="0"
  6.1237 +                     maxOccurs="unbounded"/>
  6.1238 +        <xsd:element name="role-name"
  6.1239 +                     type="j2ee:role-nameType"/>
  6.1240 +    </xsd:sequence>
  6.1241 +
  6.1242 +</xsd:complexType>
  6.1243 +
  6.1244 +<!-- **************************************************** -->
  6.1245 +
  6.1246 +<xsd:complexType name="security-role-refType">
  6.1247 +<xsd:annotation>
  6.1248 +<xsd:documentation>
  6.1249 +
  6.1250 +The security-role-refType contains the declaration of a
  6.1251 +security role reference in a component's or a
  6.1252 +Deployment Component's code. The declaration consists of an
  6.1253 +optional description, the security role name used in the
  6.1254 +code, and an optional link to a security role. If the
  6.1255 +security role is not specified, the Deployer must choose an
  6.1256 +appropriate security role.
  6.1257 +
  6.1258 +</xsd:documentation>
  6.1259 +</xsd:annotation>
  6.1260 +
  6.1261 +    <xsd:sequence>
  6.1262 +        <xsd:element name="description"
  6.1263 +                     type="j2ee:descriptionType"
  6.1264 +                     minOccurs="0"
  6.1265 +                     maxOccurs="unbounded"/>
  6.1266 +        <xsd:element name="role-name"
  6.1267 +                     type="j2ee:role-nameType">
  6.1268 +        <xsd:annotation>
  6.1269 +        <xsd:documentation>
  6.1270 +
  6.1271 +        The value of the role-name element must be the String used
  6.1272 +        as the parameter to the
  6.1273 +        EJBContext.isCallerInRole(String roleName) method or the
  6.1274 +        HttpServletRequest.isUserInRole(String role) method.
  6.1275 +
  6.1276 +        </xsd:documentation>
  6.1277 +        </xsd:annotation>
  6.1278 +        </xsd:element>
  6.1279 +
  6.1280 +        <xsd:element name="role-link"
  6.1281 +                     type="j2ee:role-nameType"
  6.1282 +                     minOccurs="0">
  6.1283 +        <xsd:annotation>
  6.1284 +        <xsd:documentation>
  6.1285 +
  6.1286 +        The role-link element is a reference to a defined
  6.1287 +        security role. The role-link element must contain
  6.1288 +        the name of one of the security roles defined in the
  6.1289 +        security-role elements.
  6.1290 +
  6.1291 +        </xsd:documentation>
  6.1292 +        </xsd:annotation>
  6.1293 +        </xsd:element>
  6.1294 +    </xsd:sequence>
  6.1295 +
  6.1296 +</xsd:complexType>
  6.1297 +
  6.1298 +<!-- **************************************************** -->
  6.1299 +
  6.1300 +<xsd:complexType name="security-roleType">
  6.1301 +<xsd:annotation>
  6.1302 +<xsd:documentation>
  6.1303 +
  6.1304 +The security-roleType contains the definition of a security
  6.1305 +role. The definition consists of an optional description of the
  6.1306 +security role, and the security role name.
  6.1307 +
  6.1308 +Example:
  6.1309 +
  6.1310 +    <security-role>
  6.1311 +    <description>
  6.1312 +        This role includes all employees who are authorized
  6.1313 +        to access the employee service application.
  6.1314 +    </description>
  6.1315 +    <role-name>employee</role-name>
  6.1316 +    </security-role>
  6.1317 +</xsd:documentation>
  6.1318 +</xsd:annotation>
  6.1319 +
  6.1320 +    <xsd:sequence>
  6.1321 +        <xsd:element name="description"
  6.1322 +                     type="j2ee:descriptionType"
  6.1323 +                     minOccurs="0"
  6.1324 +                     maxOccurs="unbounded"/>
  6.1325 +        <xsd:element name="role-name"
  6.1326 +                     type="j2ee:role-nameType"/>
  6.1327 +    </xsd:sequence>
  6.1328 +
  6.1329 +</xsd:complexType>
  6.1330 +
  6.1331 +<!-- **************************************************** -->
  6.1332 +
  6.1333 +<xsd:simpleType name="string">
  6.1334 +<xsd:annotation>
  6.1335 +<xsd:documentation>
  6.1336 +
  6.1337 +This is a special string datatype that is defined by J2EE as
  6.1338 +a base type for defining collapsed strings. When schemas
  6.1339 +require trailing/leading space elimination as well as
  6.1340 +collapsing the existing whitespace, this base type may be
  6.1341 +used.
  6.1342 +
  6.1343 +</xsd:documentation>
  6.1344 +</xsd:annotation>
  6.1345 +
  6.1346 +    <xsd:restriction base="xsd:string">
  6.1347 +        <xsd:whiteSpace value="collapse"/>
  6.1348 +    </xsd:restriction>
  6.1349 +
  6.1350 +</xsd:simpleType>
  6.1351 +
  6.1352 +<!-- **************************************************** -->
  6.1353 +
  6.1354 +<xsd:simpleType name="true-falseType">
  6.1355 +<xsd:annotation>
  6.1356 +<xsd:documentation>
  6.1357 +
  6.1358 +This simple type designates a boolean with only two
  6.1359 +permissible values
  6.1360 +
  6.1361 +- true
  6.1362 +- false
  6.1363 +
  6.1364 +</xsd:documentation>
  6.1365 +</xsd:annotation>
  6.1366 +
  6.1367 +    <xsd:restriction base="xsd:boolean">
  6.1368 +        <xsd:pattern value="(true|false)"/>
  6.1369 +    </xsd:restriction>
  6.1370 +</xsd:simpleType>
  6.1371 +
  6.1372 +<!-- **************************************************** -->
  6.1373 +
  6.1374 +<xsd:simpleType name="url-patternType">
  6.1375 +<xsd:annotation>
  6.1376 +<xsd:documentation>
  6.1377 +
  6.1378 +The url-patternType contains the url pattern of the mapping. It must
  6.1379 +follow the rules specified in Section 11.2 of the Servlet API
  6.1380 +Specification.
  6.1381 +
  6.1382 +</xsd:documentation>
  6.1383 +</xsd:annotation>
  6.1384 +
  6.1385 +    <xsd:restriction base="j2ee:string"/>
  6.1386 +
  6.1387 +</xsd:simpleType>
  6.1388 +
  6.1389 +<!-- **************************************************** -->
  6.1390 +
  6.1391 +<xsd:simpleType name="war-pathType">
  6.1392 +<xsd:annotation>
  6.1393 +<xsd:documentation>
  6.1394 +
  6.1395 +The elements that use this type designate a path starting
  6.1396 +with a "/" and interpreted relative to the root of a WAR
  6.1397 +file.
  6.1398 +
  6.1399 +</xsd:documentation>
  6.1400 +</xsd:annotation>
  6.1401 +
  6.1402 +    <xsd:restriction base="j2ee:string">
  6.1403 +        <xsd:pattern value="/.*"/>
  6.1404 +    </xsd:restriction>
  6.1405 +
  6.1406 +</xsd:simpleType>
  6.1407 +
  6.1408 +</xsd:schema>
  6.1409 +
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/schema2beans/test/unit/src/data/jsp_2_0.xsd	Tue Oct 15 22:30:10 2002 +0000
     7.3 @@ -0,0 +1,304 @@
     7.4 +<?xml version="1.0" encoding="UTF-8"?>
     7.5 +<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
     7.6 +     targetNamespace="http://java.sun.com/xml/ns/j2ee"
     7.7 +     xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
     7.8 +     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     7.9 +     elementFormDefault="qualified"
    7.10 +     attributeFormDefault="unqualified"
    7.11 +     version="2.0">
    7.12 +<xsd:annotation>
    7.13 +<xsd:documentation>
    7.14 +@(#)jsp_2_0.xsds	1.10 08/20/02
    7.15 +</xsd:documentation>
    7.16 +</xsd:annotation>
    7.17 +
    7.18 +<xsd:annotation>
    7.19 +<xsd:documentation>
    7.20 +
    7.21 +Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
    7.22 +Road, Palo Alto, California 94303, U.S.A. All rights
    7.23 +reserved.
    7.24 +
    7.25 +Sun Microsystems, Inc. has intellectual property rights
    7.26 +relating to technology described in this document. In
    7.27 +particular, and without limitation, these intellectual
    7.28 +property rights may include one or more of the U.S. patents
    7.29 +listed at http://www.sun.com/patents and one or more
    7.30 +additional patents or pending patent applications in the
    7.31 +U.S. and other countries.
    7.32 +
    7.33 +This document and the technology which it describes are
    7.34 +distributed under licenses restricting their use, copying,
    7.35 +distribution, and decompilation. No part of this document
    7.36 +may be reproduced in any form by any means without prior
    7.37 +written authorization of Sun and its licensors, if any.
    7.38 +
    7.39 +Third-party software, including font technology, is
    7.40 +copyrighted and licensed from Sun suppliers.
    7.41 +
    7.42 +Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
    7.43 +JavaServer Pages, Enterprise JavaBeans and the Java Coffee
    7.44 +Cup logo are trademarks or registered trademarks of Sun
    7.45 +Microsystems, Inc. in the U.S. and other countries.
    7.46 +
    7.47 +Federal Acquisitions: Commercial Software - Government Users
    7.48 +Subject to Standard License Terms and Conditions.
    7.49 +
    7.50 +</xsd:documentation>
    7.51 +</xsd:annotation>
    7.52 +
    7.53 +<xsd:annotation>
    7.54 +<xsd:documentation>
    7.55 +
    7.56 +This is the XML Schema for the JSP 2.0 deployment descriptor
    7.57 +types.  The JSP 2.0 schema contains all the special
    7.58 +structures and datatypes that are necessary to use JSP files
    7.59 +from a web application.
    7.60 +
    7.61 +The contents of this schema is used by the web-app_2_4.xsd
    7.62 +file to define JSP specific content.
    7.63 +
    7.64 +</xsd:documentation>
    7.65 +</xsd:annotation>
    7.66 +
    7.67 +<xsd:annotation>
    7.68 +<xsd:documentation>
    7.69 +
    7.70 +The following conventions apply to all J2EE
    7.71 +deployment descriptor elements unless indicated otherwise.
    7.72 +
    7.73 +- In elements that specify a pathname to a file within the
    7.74 +  same JAR file, relative filenames (i.e., those not
    7.75 +  starting with "/") are considered relative to the root of
    7.76 +  the JAR file's namespace.  Absolute filenames (i.e., those
    7.77 +  starting with "/") also specify names in the root of the
    7.78 +  JAR file's namespace.  In general, relative names are
    7.79 +  preferred.  The exception is .war files where absolute
    7.80 +  names are preferred for consistency with the Servlet API.
    7.81 +
    7.82 +</xsd:documentation>
    7.83 +</xsd:annotation>
    7.84 +
    7.85 +<xsd:include schemaLocation="j2ee_1_4.xsd"/>
    7.86 +
    7.87 +
    7.88 +<!-- **************************************************** -->
    7.89 +
    7.90 +<xsd:complexType name="jsp-configType">
    7.91 +<xsd:annotation>
    7.92 +<xsd:documentation>
    7.93 +
    7.94 +The jsp-configType is used to provide global configuration
    7.95 +information for the JSP files in a web application. It has
    7.96 +two subelements, taglib and jsp-property-group.
    7.97 +
    7.98 +</xsd:documentation>
    7.99 +</xsd:annotation>
   7.100 +
   7.101 +    <xsd:sequence>
   7.102 +        <xsd:element name="taglib"
   7.103 +                     type="j2ee:taglibType"
   7.104 +                     minOccurs="0"
   7.105 +                     maxOccurs="unbounded"/>
   7.106 +        <xsd:element name="jsp-property-group"
   7.107 +                     type="j2ee:jsp-property-groupType"
   7.108 +                     minOccurs="0"
   7.109 +                     maxOccurs="unbounded"/>
   7.110 +    </xsd:sequence>
   7.111 +
   7.112 +</xsd:complexType>
   7.113 +
   7.114 +<!-- **************************************************** -->
   7.115 +
   7.116 +<xsd:simpleType name="jsp-fileType">
   7.117 +<xsd:annotation>
   7.118 +<xsd:documentation>
   7.119 +
   7.120 +The jsp-file element contains the full path to a JSP file
   7.121 +within the web application beginning with a `/'.
   7.122 +
   7.123 +</xsd:documentation>
   7.124 +</xsd:annotation>
   7.125 +
   7.126 +    <xsd:restriction base="j2ee:pathType"/>
   7.127 +
   7.128 +</xsd:simpleType>
   7.129 +
   7.130 +<!-- **************************************************** -->
   7.131 +
   7.132 +<xsd:complexType name="jsp-property-groupType">
   7.133 +<xsd:annotation>
   7.134 +<xsd:documentation>
   7.135 +
   7.136 +The jsp-property-groupType is used to group a number of
   7.137 +files so they can be given global property information.
   7.138 +All files so described are deemed to be JSP files.  The
   7.139 +following additional properties can be described:
   7.140 +
   7.141 +    - Control enabling of EL evaluation.
   7.142 +    - Control enabling of Scripting elements.
   7.143 +    - Indicate pageEncoding information.
   7.144 +    - Indicating that a resource is a JSP document
   7.145 +    - Prelude and Coda automatic includes.
   7.146 +
   7.147 +</xsd:documentation>
   7.148 +</xsd:annotation>
   7.149 +
   7.150 +    <xsd:sequence>
   7.151 +	<xsd:element name="description"
   7.152 +		     type="j2ee:descriptionType"
   7.153 +		     minOccurs="0" maxOccurs="unbounded"/>
   7.154 +        <xsd:element name="display-name"
   7.155 +		     type="j2ee:display-nameType"
   7.156 +		     minOccurs="0" maxOccurs="unbounded"/>
   7.157 +        <xsd:element name="url-pattern"
   7.158 +                     type="j2ee:url-patternType"
   7.159 +                     maxOccurs="unbounded"/>
   7.160 +        <xsd:element name="el-enabled"
   7.161 +                     type="j2ee:true-falseType"
   7.162 +                     minOccurs="0">
   7.163 +        <xsd:annotation>
   7.164 +        <xsd:documentation>
   7.165 +
   7.166 +        Can be used to easily set the isELEnabled
   7.167 +        property of a group of JSP pages.  By default, the
   7.168 +        EL evaluation is enabled for Web Applications using
   7.169 +        a Servlet 2.4 or greater web.xml.
   7.170 +
   7.171 +        </xsd:documentation>
   7.172 +        </xsd:annotation>
   7.173 +        </xsd:element>
   7.174 +        <xsd:element name="page-encoding"
   7.175 +                     type="j2ee:string"
   7.176 +                     minOccurs="0">
   7.177 +        <xsd:annotation>
   7.178 +        <xsd:documentation>
   7.179 +
   7.180 +        The valid values of page-encoding are those of the
   7.181 +        pageEncoding page directive. It is a
   7.182 +        translation-time error to define the pageEncoding
   7.183 +        of a JSP page through one value in the JSP
   7.184 +        configuration element and then give it a different
   7.185 +        value in a pageEncoding directive, but it is legal
   7.186 +        to give it the same value.
   7.187 +
   7.188 +        </xsd:documentation>
   7.189 +        </xsd:annotation>
   7.190 +        </xsd:element>
   7.191 +        <xsd:element name="scripting-enabled"
   7.192 +                     type="j2ee:true-falseType"
   7.193 +                     minOccurs="0">
   7.194 +        <xsd:annotation>
   7.195 +        <xsd:documentation>
   7.196 +
   7.197 +        Can be used to easily set the isScriptingEnabled
   7.198 +        property of a group of JSP pages.  By default,
   7.199 +        scripting is enabled.
   7.200 +
   7.201 +        </xsd:documentation>
   7.202 +        </xsd:annotation>
   7.203 +        </xsd:element>
   7.204 +	<xsd:element name="is-xml"
   7.205 +		     type="j2ee:true-falseType"
   7.206 +		     minOccurs="0">
   7.207 +        <xsd:annotation>
   7.208 +        <xsd:documentation>
   7.209 +
   7.210 +        If true, denotes that the group of resources
   7.211 +	that match the URL pattern are JSP documents,
   7.212 +	and thus must be interpreted as XML documents.
   7.213 +	If false, the resources are assumed to not
   7.214 +	be JSP documents, unless there is another
   7.215 +	property group that indicates otherwise.
   7.216 +
   7.217 +        </xsd:documentation>
   7.218 +        </xsd:annotation>
   7.219 +        </xsd:element>
   7.220 +        <xsd:element name="include-prelude"
   7.221 +                     type="j2ee:pathType"
   7.222 +                     minOccurs="0"
   7.223 +                     maxOccurs="unbounded">
   7.224 +        <xsd:annotation>
   7.225 +        <xsd:documentation>
   7.226 +
   7.227 +        The include-prelude element is a context-relative
   7.228 +        path that must correspond to an element in the
   7.229 +        Web Application.  When the element is present,
   7.230 +        the given path will be automatically included (as
   7.231 +        in an include directive) at the beginning of each
   7.232 +        JSP page in this jsp-property-group.
   7.233 +
   7.234 +        </xsd:documentation>
   7.235 +        </xsd:annotation>
   7.236 +        </xsd:element>
   7.237 +        <xsd:element name="include-coda"
   7.238 +                     type="j2ee:pathType"
   7.239 +                     minOccurs="0"
   7.240 +                     maxOccurs="unbounded">
   7.241 +        <xsd:annotation>
   7.242 +        <xsd:documentation>
   7.243 +
   7.244 +        The include-coda element is a context-relative
   7.245 +        path that must correspond to an element in the
   7.246 +        Web Application.  When the element is present,
   7.247 +        the given path will be automatically included (as
   7.248 +        in an include directive) at the end of each
   7.249 +        JSP page in this jsp-property-group.
   7.250 +
   7.251 +        </xsd:documentation>
   7.252 +        </xsd:annotation>
   7.253 +        </xsd:element>
   7.254 +    </xsd:sequence>
   7.255 +
   7.256 +</xsd:complexType>
   7.257 +
   7.258 +<!-- **************************************************** -->
   7.259 +
   7.260 +<xsd:complexType name="taglibType">
   7.261 +<xsd:annotation>
   7.262 +<xsd:documentation>
   7.263 +
   7.264 +A taglib can be used to provide information on a tag
   7.265 +library that is used by a JSP page within the Web
   7.266 +Application.
   7.267 +
   7.268 +</xsd:documentation>
   7.269 +</xsd:annotation>
   7.270 +
   7.271 +    <xsd:sequence>
   7.272 +        <xsd:element name="taglib-uri"
   7.273 +                     type="j2ee:string">
   7.274 +        <xsd:annotation>
   7.275 +        <xsd:documentation>
   7.276 +
   7.277 +        A taglib-uri element describes a URI identifying a
   7.278 +        tag library used in the web application.  The body
   7.279 +        of the taglib-uri element may be either an
   7.280 +        absolute URI specification, or a relative URI.
   7.281 +        There should be no entries in web.xml with the
   7.282 +        same taglib-uri value.
   7.283 +
   7.284 +        </xsd:documentation>
   7.285 +        </xsd:annotation>
   7.286 +        </xsd:element>
   7.287 +
   7.288 +        <xsd:element name="taglib-location"
   7.289 +                     type="j2ee:pathType">
   7.290 +        <xsd:annotation>
   7.291 +        <xsd:documentation>
   7.292 +
   7.293 +        the taglib-location element contains the location
   7.294 +        (as a resource relative to the root of the web
   7.295 +        application) where to find the Tag Library
   7.296 +        Description file for the tag library.
   7.297 +
   7.298 +        </xsd:documentation>
   7.299 +        </xsd:annotation>
   7.300 +        </xsd:element>
   7.301 +
   7.302 +    </xsd:sequence>
   7.303 +
   7.304 +</xsd:complexType>
   7.305 +
   7.306 +</xsd:schema>
   7.307 +
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/schema2beans/test/unit/src/data/xml.xsd	Tue Oct 15 22:30:10 2002 +0000
     8.3 @@ -0,0 +1,80 @@
     8.4 +<?xml version='1.0'?>
     8.5 +<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
     8.6 +
     8.7 + <xs:annotation>
     8.8 +  <xs:documentation>
     8.9 +   See http://www.w3.org/XML/1998/namespace.html and
    8.10 +   http://www.w3.org/TR/REC-xml for information about this namespace.
    8.11 +  </xs:documentation>
    8.12 + </xs:annotation>
    8.13 +
    8.14 + <xs:annotation>
    8.15 +  <xs:documentation>This schema defines attributes and an attribute group
    8.16 +        suitable for use by
    8.17 +        schemas wishing to allow xml:base, xml:lang or xml:space attributes
    8.18 +        on elements they define.
    8.19 +
    8.20 +        To enable this, such a schema must import this schema
    8.21 +        for the XML namespace, e.g. as follows:
    8.22 +        &lt;schema . . .>
    8.23 +         . . .
    8.24 +         &lt;import namespace="http://www.w3.org/XML/1998/namespace"
    8.25 +                    schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
    8.26 +
    8.27 +        Subsequently, qualified reference to any of the attributes
    8.28 +        or the group defined below will have the desired effect, e.g.
    8.29 +
    8.30 +        &lt;type . . .>
    8.31 +         . . .
    8.32 +         &lt;attributeGroup ref="xml:specialAttrs"/>
    8.33 + 
    8.34 +         will define a type which will schema-validate an instance
    8.35 +         element with any of those attributes</xs:documentation>
    8.36 + </xs:annotation>
    8.37 +
    8.38 + <xs:annotation>
    8.39 +  <xs:documentation>In keeping with the XML Schema WG's standard versioning
    8.40 +   policy, this schema document will persist at
    8.41 +   http://www.w3.org/2001/03/xml.xsd.
    8.42 +   At the date of issue it can also be found at
    8.43 +   http://www.w3.org/2001/xml.xsd.
    8.44 +   The schema document at that URI may however change in the future,
    8.45 +   in order to remain compatible with the latest version of XML Schema
    8.46 +   itself.  In other words, if the XML Schema namespace changes, the version
    8.47 +   of this document at
    8.48 +   http://www.w3.org/2001/xml.xsd will change
    8.49 +   accordingly; the version at
    8.50 +   http://www.w3.org/2001/03/xml.xsd will not change.
    8.51 +  </xs:documentation>
    8.52 + </xs:annotation>
    8.53 +
    8.54 + <xs:attribute name="lang" type="xs:language">
    8.55 +  <xs:annotation>
    8.56 +   <xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter
    8.57 +         codes as the enumerated possible values . . .</xs:documentation>
    8.58 +  </xs:annotation>
    8.59 + </xs:attribute>
    8.60 +
    8.61 + <xs:attribute name="space" default="preserve">
    8.62 +  <xs:simpleType>
    8.63 +   <xs:restriction base="xs:NCName">
    8.64 +    <xs:enumeration value="default"/>
    8.65 +    <xs:enumeration value="preserve"/>
    8.66 +   </xs:restriction>
    8.67 +  </xs:simpleType>
    8.68 + </xs:attribute>
    8.69 +
    8.70 + <xs:attribute name="base" type="xs:anyURI">
    8.71 +  <xs:annotation>
    8.72 +   <xs:documentation>See http://www.w3.org/TR/xmlbase/ for
    8.73 +                     information about this attribute.</xs:documentation>
    8.74 +  </xs:annotation>
    8.75 + </xs:attribute>
    8.76 +
    8.77 + <xs:attributeGroup name="specialAttrs">
    8.78 +  <xs:attribute ref="xml:base"/>
    8.79 +  <xs:attribute ref="xml:lang"/>
    8.80 +  <xs:attribute ref="xml:space"/>
    8.81 + </xs:attributeGroup>
    8.82 +
    8.83 +</xs:schema>