[Jboss-cvs] JBossAS SVN: r56627 - in branches/Branch_4_0/server/src: main/org/jboss/ejb resources/schema

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Sep 7 22:30:16 EDT 2006


Author: bill.burke at jboss.com
Date: 2006-09-07 22:30:13 -0400 (Thu, 07 Sep 2006)
New Revision: 56627

Added:
   branches/Branch_4_0/server/src/resources/schema/application-client_5.xsd
   branches/Branch_4_0/server/src/resources/schema/application_5.xsd
   branches/Branch_4_0/server/src/resources/schema/javaee_web_services_1_2.xsd
   branches/Branch_4_0/server/src/resources/schema/javaee_web_services_client_1_2.xsd
Removed:
   branches/Branch_4_0/server/src/resources/schema/ejb-jar_3_0.xsd
Modified:
   branches/Branch_4_0/server/src/main/org/jboss/ejb/StatefulSessionEnterpriseContext.java
   branches/Branch_4_0/server/src/main/org/jboss/ejb/StatelessSessionEnterpriseContext.java
Log:


Modified: branches/Branch_4_0/server/src/main/org/jboss/ejb/StatefulSessionEnterpriseContext.java
===================================================================
--- branches/Branch_4_0/server/src/main/org/jboss/ejb/StatefulSessionEnterpriseContext.java	2006-09-08 02:29:37 UTC (rev 56626)
+++ branches/Branch_4_0/server/src/main/org/jboss/ejb/StatefulSessionEnterpriseContext.java	2006-09-08 02:30:13 UTC (rev 56627)
@@ -221,7 +221,7 @@
          throw new RuntimeException("NOT IMPLEMENTED");
       }
       
-      public Object getInvokedBusinessInterface() throws IllegalStateException
+      public Class getInvokedBusinessInterface() throws IllegalStateException
       {
          throw new RuntimeException("NOT IMPLEMENTED");
       }

Modified: branches/Branch_4_0/server/src/main/org/jboss/ejb/StatelessSessionEnterpriseContext.java
===================================================================
--- branches/Branch_4_0/server/src/main/org/jboss/ejb/StatelessSessionEnterpriseContext.java	2006-09-08 02:29:37 UTC (rev 56626)
+++ branches/Branch_4_0/server/src/main/org/jboss/ejb/StatelessSessionEnterpriseContext.java	2006-09-08 02:30:13 UTC (rev 56627)
@@ -191,7 +191,7 @@
          throw new RuntimeException("NOT IMPLEMENTED");
       }
       
-      public Object getInvokedBusinessInterface() throws IllegalStateException
+      public Class getInvokedBusinessInterface() throws IllegalStateException
       {
          throw new RuntimeException("NOT IMPLEMENTED");
       }

Added: branches/Branch_4_0/server/src/resources/schema/application-client_5.xsd
===================================================================
--- branches/Branch_4_0/server/src/resources/schema/application-client_5.xsd	2006-09-08 02:29:37 UTC (rev 56626)
+++ branches/Branch_4_0/server/src/resources/schema/application-client_5.xsd	2006-09-08 02:30:13 UTC (rev 56627)
@@ -0,0 +1,303 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+	    targetNamespace="http://java.sun.com/xml/ns/javaee"
+	    xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+	    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+	    elementFormDefault="qualified"
+	    attributeFormDefault="unqualified"
+	    version="5">
+  <xsd:annotation>
+    <xsd:documentation>
+      @(#)application-client_5.xsds	1.26 02/17/06
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+
+      Copyright 2003-2006 Sun Microsystems, Inc.
+      4150 Network Circle
+      Santa Clara, California 95054
+      U.S.A
+      All rights reserved.
+
+      Sun Microsystems, Inc. has intellectual property rights
+      relating to technology described in this document. In
+      particular, and without limitation, these intellectual
+      property rights may include one or more of the U.S. patents
+      listed at http://www.sun.com/patents and one or more
+      additional patents or pending patent applications in the
+      U.S. and other countries.
+
+      This document and the technology which it describes are
+      distributed under licenses restricting their use, copying,
+      distribution, and decompilation. No part of this document
+      may be reproduced in any form by any means without prior
+      written authorization of Sun and its licensors, if any.
+
+      Third-party software, including font technology, is
+      copyrighted and licensed from Sun suppliers.
+
+      Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
+      JavaServer Pages, Enterprise JavaBeans and the Java Coffee
+      Cup logo are trademarks or registered trademarks of Sun
+      Microsystems, Inc. in the U.S. and other countries.
+
+      Federal Acquisitions: Commercial Software - Government Users
+      Subject to Standard License Terms and Conditions.
+
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+      <![CDATA[
+
+	This is the XML Schema for the application client 5
+	deployment descriptor.  The deployment descriptor must
+	be named "META-INF/application-client.xml" in the
+	application client's jar file.  All application client
+	deployment descriptors must indicate the application
+	client schema by using the Java EE namespace:
+
+	http://java.sun.com/xml/ns/javaee
+
+	and indicate the version of the schema by
+	using the version element as shown below:
+
+	    <application-client xmlns="http://java.sun.com/xml/ns/javaee"
+	      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+		http://java.sun.com/xml/ns/javaee/application-client_5.xsd"
+	      version="5">
+	      ...
+	    </application-client>
+
+	The instance documents may indicate the published version of
+	the schema using the xsi:schemaLocation attribute for Java EE
+	namespace with the following location:
+
+	http://java.sun.com/xml/ns/javaee/application-client_5.xsd
+
+	]]>
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+
+      The following conventions apply to all Java EE
+      deployment descriptor elements unless indicated otherwise.
+
+      - In elements that specify a pathname to a file within the
+	same JAR file, relative filenames (i.e., those not
+	starting with "/") are considered relative to the root of
+	the JAR file's namespace.  Absolute filenames (i.e., those
+	starting with "/") also specify names in the root of the
+	JAR file's namespace.  In general, relative names are
+	preferred.  The exception is .war files where absolute
+	names are preferred for consistency with the Servlet API.
+
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:include schemaLocation="javaee_5.xsd"/>
+
+
+<!-- **************************************************** -->
+
+  <xsd:element name="application-client" type="javaee:application-clientType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The application-client element is the root element of an
+	application client deployment descriptor.  The application
+	client deployment descriptor describes the EJB components
+	and external resources referenced by the application
+	client.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:unique name="env-entry-name-uniqueness">
+      <xsd:annotation>
+	<xsd:documentation>
+
+	  The env-entry-name element contains the name of an
+	  application client's environment entry.  The name is a JNDI
+	  name relative to the java:comp/env context.  The name must
+	  be unique within an application client.
+
+	</xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:env-entry"/>
+      <xsd:field    xpath="javaee:env-entry-name"/>
+    </xsd:unique>
+
+    <xsd:unique name="ejb-ref-name-uniqueness">
+      <xsd:annotation>
+	<xsd:documentation>
+
+	  The ejb-ref-name element contains the name of an EJB
+	  reference. The EJB reference is an entry in the application
+	  client's environment and is relative to the
+	  java:comp/env context. The name must be unique within the
+	  application client.
+
+	  It is recommended that name is prefixed with "ejb/".
+
+	</xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:ejb-ref"/>
+      <xsd:field    xpath="javaee:ejb-ref-name"/>
+    </xsd:unique>
+
+    <xsd:unique name="res-ref-name-uniqueness">
+      <xsd:annotation>
+	<xsd:documentation>
+
+	  The res-ref-name element specifies the name of a
+	  resource manager connection factory reference.The name
+	  is a JNDI name relative to the java:comp/env context.
+	  The name must be unique within an application client.
+
+	</xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:resource-ref"/>
+      <xsd:field    xpath="javaee:res-ref-name"/>
+    </xsd:unique>
+
+    <xsd:unique name="resource-env-ref-uniqueness">
+      <xsd:annotation>
+	<xsd:documentation>
+
+	  The resource-env-ref-name element specifies the name of
+	  a resource environment reference; its value is the
+	  environment entry name used in the application client
+	  code. The name is a JNDI name relative to the
+	  java:comp/env context and must be unique within an
+	  application client.
+
+	</xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:resource-env-ref"/>
+      <xsd:field    xpath="javaee:resource-env-ref-name"/>
+    </xsd:unique>
+
+    <xsd:unique name="message-destination-ref-uniqueness">
+      <xsd:annotation>
+	<xsd:documentation>
+
+	  The message-destination-ref-name element specifies the
+	  name of a message destination reference; its value is
+	  the message destination reference name used in the
+	  application client code. The name is a JNDI name
+	  relative to the java:comp/env context and must be unique
+	  within an application client.
+
+	</xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:message-destination-ref"/>
+      <xsd:field    xpath="javaee:message-destination-ref-name"/>
+    </xsd:unique>
+  </xsd:element>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="application-clientType">
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="env-entry"
+		   type="javaee:env-entryType"
+		   minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="ejb-ref"
+		   type="javaee:ejb-refType"
+		   minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:group ref="javaee:service-refGroup"/>
+      <xsd:element name="resource-ref"
+		   type="javaee:resource-refType"
+		   minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="resource-env-ref"
+		   type="javaee:resource-env-refType"
+		   minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="message-destination-ref"
+		   type="javaee:message-destination-refType"
+		   minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="persistence-unit-ref"
+		   type="javaee:persistence-unit-refType"
+		   minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="post-construct"
+		   type="javaee:lifecycle-callbackType"
+		   minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="pre-destroy"
+		   type="javaee:lifecycle-callbackType"
+		   minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="callback-handler"
+		   type="javaee:fully-qualified-classType"
+		   minOccurs="0">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The callback-handler element names a class provided by
+	    the application.  The class must have a no args
+	    constructor and must implement the
+	    javax.security.auth.callback.CallbackHandler
+	    interface.  The class will be instantiated by the
+	    application client container and used by the container
+	    to collect authentication information from the user.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="message-destination"
+		   type="javaee:message-destinationType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+    </xsd:sequence>
+
+    <xsd:attribute name="version"
+		   type="javaee:dewey-versionType"
+		   fixed="5"
+		   use="required">
+      <xsd:annotation>
+	<xsd:documentation>
+
+	  The required value for the version is 5.
+
+	</xsd:documentation>
+      </xsd:annotation>
+
+    </xsd:attribute>
+
+    <xsd:attribute name="metadata-complete" type="xsd:boolean">
+      <xsd:annotation>
+	<xsd:documentation>
+
+	  The metadata-complete attribute defines whether this
+	  deployment descriptor and other related deployment
+	  descriptors for this module (e.g., web service
+	  descriptors) are complete, or whether the class
+	  files available to this module and packaged with
+	  this application should be examined for annotations
+	  that specify deployment information.
+
+	  If metadata-complete is set to "true", the deployment
+	  tool must ignore any annotations that specify deployment
+	  information, which might be present in the class files
+	  of the application.
+
+	  If metadata-complete is not specified or is set to
+	  "false", the deployment tool must examine the class
+	  files of the application for annotations, as
+	  specified by the specifications.
+
+	</xsd:documentation>
+      </xsd:annotation>
+
+    </xsd:attribute>
+
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+</xsd:schema>
+

Added: branches/Branch_4_0/server/src/resources/schema/application_5.xsd
===================================================================
--- branches/Branch_4_0/server/src/resources/schema/application_5.xsd	2006-09-08 02:29:37 UTC (rev 56626)
+++ branches/Branch_4_0/server/src/resources/schema/application_5.xsd	2006-09-08 02:30:13 UTC (rev 56627)
@@ -0,0 +1,334 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+	    targetNamespace="http://java.sun.com/xml/ns/javaee"
+	    xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+	    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+	    elementFormDefault="qualified"
+	    attributeFormDefault="unqualified"
+	    version="5">
+  <xsd:annotation>
+    <xsd:documentation>
+      @(#)application_5.xsds	1.17 08/05/05
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+
+      Copyright 2003-2006 Sun Microsystems, Inc.
+      4150 Network Circle
+      Santa Clara, California 95054
+      U.S.A
+      All rights reserved.
+
+      Sun Microsystems, Inc. has intellectual property rights
+      relating to technology described in this document. In
+      particular, and without limitation, these intellectual
+      property rights may include one or more of the U.S. patents
+      listed at http://www.sun.com/patents and one or more
+      additional patents or pending patent applications in the
+      U.S. and other countries.
+
+      This document and the technology which it describes are
+      distributed under licenses restricting their use, copying,
+      distribution, and decompilation. No part of this document
+      may be reproduced in any form by any means without prior
+      written authorization of Sun and its licensors, if any.
+
+      Third-party software, including font technology, is
+      copyrighted and licensed from Sun suppliers.
+
+      Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
+      JavaServer Pages, Enterprise JavaBeans and the Java Coffee
+      Cup logo are trademarks or registered trademarks of Sun
+      Microsystems, Inc. in the U.S. and other countries.
+
+      Federal Acquisitions: Commercial Software - Government Users
+      Subject to Standard License Terms and Conditions.
+
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+      <![CDATA[
+
+	This is the XML Schema for the application 5 deployment
+	descriptor.  The deployment descriptor must be named
+	"META-INF/application.xml" in the application's ear file.
+	All application deployment descriptors must indicate
+	the application schema by using the Java EE namespace:
+
+	http://java.sun.com/xml/ns/javaee
+
+	and indicate the version of the schema by
+	using the version element as shown below:
+
+	    <application xmlns="http://java.sun.com/xml/ns/javaee"
+	      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+		http://java.sun.com/xml/ns/javaee/application_5.xsd"
+	      version="5">
+	      ...
+	    </application>
+
+	The instance documents may indicate the published version of
+	the schema using the xsi:schemaLocation attribute for Java EE
+	namespace with the following location:
+
+	http://java.sun.com/xml/ns/javaee/application_5.xsd
+
+	]]>
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+
+      The following conventions apply to all Java EE
+      deployment descriptor elements unless indicated otherwise.
+
+      - In elements that specify a pathname to a file within the
+	same JAR file, relative filenames (i.e., those not
+	starting with "/") are considered relative to the root of
+	the JAR file's namespace.  Absolute filenames (i.e., those
+	starting with "/") also specify names in the root of the
+	JAR file's namespace.  In general, relative names are
+	preferred.  The exception is .war files where absolute
+	names are preferred for consistency with the Servlet API.
+
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:include schemaLocation="javaee_5.xsd"/>
+
+
+<!-- **************************************************** -->
+
+  <xsd:element name="application" type="javaee:applicationType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The application element is the root element of a Java EE
+	application deployment descriptor.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:unique name="context-root-uniqueness">
+      <xsd:annotation>
+	<xsd:documentation>
+
+	  The context-root element content must be unique
+	  in the ear.
+
+	</xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:module/javaee:web"/>
+      <xsd:field    xpath="javaee:context-root"/>
+    </xsd:unique>
+
+    <xsd:unique name="security-role-uniqueness">
+      <xsd:annotation>
+	<xsd:documentation>
+
+	  The security-role-name element content
+	  must be unique in the ear.
+
+	</xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:security-role"/>
+      <xsd:field    xpath="javaee:role-name"/>
+    </xsd:unique>
+
+  </xsd:element>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="applicationType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The applicationType defines the structure of the
+	application.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="module"
+		   type="javaee:moduleType"
+		   maxOccurs="unbounded">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The application deployment descriptor must have one
+	    module element for each Java EE module in the
+	    application package. A module element is defined
+	    by moduleType definition.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="security-role"
+		   type="javaee:security-roleType"
+		   minOccurs="0"
+		   maxOccurs="unbounded"/>
+      <xsd:element name="library-directory"
+		   type="javaee:pathType"
+		   minOccurs="0"
+		   maxOccurs="1">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The library-directory element specifies the pathname
+	    of a directory within the application package, relative
+	    to the top level of the application package.  All files
+	    named "*.jar" in this directory must be made available
+	    in the class path of all components included in this
+	    application package.  If this element isn't specified,
+	    the directory named "lib" is searched.  An empty element
+	    may be used to disable searching.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="version"
+		   type="javaee:dewey-versionType"
+		   fixed="5"
+		   use="required">
+      <xsd:annotation>
+	<xsd:documentation>
+
+	  The required value for the version is 5.
+
+	</xsd:documentation>
+      </xsd:annotation>
+    </xsd:attribute>
+
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="moduleType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The moduleType defines a single Java EE module and contains a
+	connector, ejb, java, or web element, which indicates the
+	module type and contains a path to the module file, and an
+	optional alt-dd element, which specifies an optional URI to
+	the post-assembly version of the deployment descriptor.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:choice>
+	<xsd:element name="connector"
+		     type="javaee:pathType">
+	  <xsd:annotation>
+	    <xsd:documentation>
+
+	      The connector element specifies the URI of a
+	      resource adapter archive file, relative to the
+	      top level of the application package.
+
+	    </xsd:documentation>
+	  </xsd:annotation>
+	</xsd:element>
+	<xsd:element name="ejb"
+		     type="javaee:pathType">
+	  <xsd:annotation>
+	    <xsd:documentation>
+
+	      The ejb element specifies the URI of an ejb-jar,
+	      relative to the top level of the application
+	      package.
+
+	    </xsd:documentation>
+	  </xsd:annotation>
+	</xsd:element>
+	<xsd:element name="java"
+		     type="javaee:pathType">
+	  <xsd:annotation>
+	    <xsd:documentation>
+
+	      The java element specifies the URI of a java
+	      application client module, relative to the top
+	      level of the application package.
+
+	    </xsd:documentation>
+	  </xsd:annotation>
+	</xsd:element>
+	<xsd:element name="web"
+		     type="javaee:webType"/>
+      </xsd:choice>
+      <xsd:element name="alt-dd"
+		   type="javaee:pathType"
+		   minOccurs="0">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The alt-dd element specifies an optional URI to the
+	    post-assembly version of the deployment descriptor
+	    file for a particular Java EE module.  The URI must
+	    specify the full pathname of the deployment
+	    descriptor file relative to the application's root
+	    directory. If alt-dd is not specified, the deployer
+	    must read the deployment descriptor from the default
+	    location and file name required by the respective
+	    component specification.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="webType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The webType defines the web-uri and context-root of
+	a web application module.
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:element name="web-uri"
+		   type="javaee:pathType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The web-uri element specifies the URI of a web
+	    application file, relative to the top level of the
+	    application package.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="context-root"
+		   type="javaee:string">
+
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The context-root element specifies the context root
+	    of a web application.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+</xsd:schema>
+

Deleted: branches/Branch_4_0/server/src/resources/schema/ejb-jar_3_0.xsd
===================================================================
--- branches/Branch_4_0/server/src/resources/schema/ejb-jar_3_0.xsd	2006-09-08 02:29:37 UTC (rev 56626)
+++ branches/Branch_4_0/server/src/resources/schema/ejb-jar_3_0.xsd	2006-09-08 02:30:13 UTC (rev 56627)
@@ -1,2705 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
-	    targetNamespace="http://java.sun.com/xml/ns/javaee"
-	    xmlns:javaee="http://java.sun.com/xml/ns/javaee"
-	    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-	    elementFormDefault="qualified"
-	    attributeFormDefault="unqualified"
-	    version="3.0">
-  <xsd:annotation>
-    <xsd:documentation>
-      @(#)ejb-jar_3_0.xsds	1.51 02/23/06
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:annotation>
-    <xsd:documentation>
-
-      Copyright 2003-2006 Sun Microsystems, Inc.
-      4150 Network Circle
-      Santa Clara, California 95054
-      U.S.A
-      All rights reserved.
-
-      Sun Microsystems, Inc. has intellectual property rights
-      relating to technology described in this document. In
-      particular, and without limitation, these intellectual
-      property rights may include one or more of the U.S. patents
-      listed at http://www.sun.com/patents and one or more
-      additional patents or pending patent applications in the
-      U.S. and other countries.
-
-      This document and the technology which it describes are
-      distributed under licenses restricting their use, copying,
-      distribution, and decompilation. No part of this document
-      may be reproduced in any form by any means without prior
-      written authorization of Sun and its licensors, if any.
-
-      Third-party software, including font technology, is
-      copyrighted and licensed from Sun suppliers.
-
-      Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
-      JavaServer Pages, Enterprise JavaBeans and the Java Coffee
-      Cup logo are trademarks or registered trademarks of Sun
-      Microsystems, Inc. in the U.S. and other countries.
-
-      Federal Acquisitions: Commercial Software - Government Users
-      Subject to Standard License Terms and Conditions.
-
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:annotation>
-    <xsd:documentation>
-      <![CDATA[
-
-	This is the XML Schema for the EJB 3.0 deployment descriptor.
-	The deployment descriptor must be named "META-INF/ejb-jar.xml" in
-	the EJB's jar file.  All EJB deployment descriptors must indicate
-	the ejb-jar schema by using the Java EE namespace:
-
-	http://java.sun.com/xml/ns/javaee
-
-	and by indicating the version of the schema by
-	using the version element as shown below:
-
-	    <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
-	      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-		  http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
-	      version="3.0">
-	      ...
-	    </ejb-jar>
-
-	The instance documents may indicate the published version of
-	the schema using the xsi:schemaLocation attribute for the
-	Java EE namespace with the following location:
-
-	http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
-
-	]]>
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:annotation>
-    <xsd:documentation>
-
-      The following conventions apply to all Java EE
-      deployment descriptor elements unless indicated otherwise.
-
-      - In elements that specify a pathname to a file within the
-	same JAR file, relative filenames (i.e., those not
-	starting with "/") are considered relative to the root of
-	the JAR file's namespace.  Absolute filenames (i.e., those
-	starting with "/") also specify names in the root of the
-	JAR file's namespace.  In general, relative names are
-	preferred.  The exception is .war files where absolute
-	names are preferred for consistency with the Servlet API.
-
-    </xsd:documentation>
-  </xsd:annotation>
-
-  <xsd:include schemaLocation="javaee_5.xsd"/>
-
-
-<!-- **************************************************** -->
-
-  <xsd:element name="ejb-jar" type="javaee:ejb-jarType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	This is the root of the ejb-jar deployment descriptor.
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:key name="ejb-name-key">
-      <xsd:annotation>
-	<xsd:documentation>
-
-	  The ejb-name element contains the name of an enterprise
-	  bean. The name must be unique within the ejb-jar file.
-
-	</xsd:documentation>
-      </xsd:annotation>
-      <xsd:selector xpath="javaee:enterprise-beans/*"/>
-      <xsd:field    xpath="javaee:ejb-name"/>
-    </xsd:key>
-
-    <xsd:keyref name="ejb-name-references"
-		refer="javaee:ejb-name-key">
-      <xsd:annotation>
-	<xsd:documentation>
-
-	  The keyref indicates the references from
-	  relationship-role-source must be to a specific ejb-name
-	  defined within the scope of enterprise-beans element.
-
-	</xsd:documentation>
-      </xsd:annotation>
-      <xsd:selector
-xpath=".//javaee:ejb-relationship-role/javaee:relationship-role-source"/>
-      <xsd:field
-	   xpath="javaee:ejb-name"/>
-    </xsd:keyref>
-
-    <xsd:key name="role-name-key">
-      <xsd:annotation>
-	<xsd:documentation>
-
-	  A role-name-key is specified to allow the references
-	  from the security-role-refs.
-
-	</xsd:documentation>
-      </xsd:annotation>
-      <xsd:selector xpath="javaee:assembly-descriptor/javaee:security-role"/>
-      <xsd:field    xpath="javaee:role-name"/>
-    </xsd:key>
-
-    <xsd:keyref name="role-name-references"
-		refer="javaee:role-name-key">
-      <xsd:annotation>
-	<xsd:documentation>
-
-	  The keyref indicates the references from
-	  security-role-ref to a specified role-name.
-
-	</xsd:documentation>
-      </xsd:annotation>
-      <xsd:selector xpath="javaee:enterprise-beans/*/javaee:security-role-ref"/>
-      <xsd:field    xpath="javaee:role-link"/>
-    </xsd:keyref>
-  </xsd:element>
-
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="activation-config-propertyType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The activation-config-propertyType contains a name/value
-	configuration property pair for a message-driven bean.
-
-	The properties that are recognized for a particular
-	message-driven bean are determined by the messaging type.
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:element name="activation-config-property-name"
-		   type="javaee:xsdStringType">
-	<xsd:annotation>
-	  <xsd:documentation>
-
-	    The activation-config-property-name element contains
-	    the name for an activation configuration property of
-	    a message-driven bean.
-
-	    For JMS message-driven beans, the following property
-	    names are recognized: acknowledgeMode,
-	    messageSelector, destinationType, subscriptionDurability
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-      <xsd:element name="activation-config-property-value"
-		   type="javaee:xsdStringType">
-	<xsd:annotation>
-	  <xsd:documentation>
-
-	    The activation-config-property-value element
-	    contains the value for an activation configuration
-	    property of a message-driven bean.
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="activation-configType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The activation-configType defines information about the
-	expected configuration properties of the message-driven bean
-	in its operational environment. This may include information
-	about message acknowledgement, message selector, expected
-	destination type, etc.
-
-	The configuration information is expressed in terms of
-	name/value configuration properties.
-
-	The properties that are recognized for a particular
-	message-driven bean are determined by the messaging type.
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:element name="description"
-		   type="javaee:descriptionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="activation-config-property"
-		   type="javaee:activation-config-propertyType"
-		   maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="application-exceptionType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The application-exceptionType declares an application
-        exception. The declaration consists of:
-
-            - the exception class. When the container receives
-              an exception of this type, it is required to
-              forward this exception as an applcation exception
-              to the client regardless of whether it is a checked
-              or unchecked exception.
-            - an optional rollback element. If this element is
-              set to true, the container must rollback the current
-              transaction before forwarding the exception to the
-              client.  If not specified, it defaults to false.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="exception-class"
-		   type="javaee:fully-qualified-classType"/>
-      <xsd:element name="rollback"
-                   type="javaee:true-falseType"
-                   minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="around-invokeType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The around-invoke type specifies a method on a
-        class to be called during the around invoke portion of an
-        ejb invocation.  Note that each class may have only one
-        around invoke method and that the method may not be
-        overloaded.
-
-        If the class element is missing then
-        the class defining the callback is assumed to be the
-        interceptor class or component class in scope at the
-        location in the descriptor in which the around invoke
-        definition appears.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="class"
-                   type="javaee:fully-qualified-classType"
-                   minOccurs="0"/>
-      <xsd:element name="method-name"
-                   type="javaee:java-identifierType"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="assembly-descriptorType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The assembly-descriptorType defines
-	application-assembly information.
-
-	The application-assembly information consists of the
-	following parts: the definition of security roles, the
-	definition of method permissions, the definition of
-	transaction attributes for enterprise beans with
-	container-managed transaction demarcation, the definition
-        of interceptor bindings, a list of
-	methods to be excluded from being invoked, and a list of
-        exception types that should be treated as application exceptions.
-
-	All the parts are optional in the sense that they are
-	omitted if the lists represented by them are empty.
-
-	Providing an assembly-descriptor in the deployment
-	descriptor is optional for the ejb-jar file producer.
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:element name="security-role"
-		   type="javaee:security-roleType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="method-permission"
-		   type="javaee:method-permissionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="container-transaction"
-		   type="javaee:container-transactionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="interceptor-binding"
-                   type="javaee:interceptor-bindingType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="message-destination"
-		   type="javaee:message-destinationType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="exclude-list"
-		   type="javaee:exclude-listType"
-		   minOccurs="0"/>
-      <xsd:element name="application-exception"
-                   type="javaee:application-exceptionType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="cmp-fieldType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The cmp-fieldType describes a container-managed field. The
-	cmp-fieldType contains an optional description of the field,
-	and the name of the field.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description"
-		   type="javaee:descriptionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="field-name"
-		   type="javaee:java-identifierType">
-	<xsd:annotation>
-	  <xsd:documentation>
-
-	    The field-name element specifies the name of a
-	    container managed field.
-
-	    The name of the cmp-field of an entity bean with
-	    cmp-version 2.x must begin with a lowercase
-	    letter. This field is accessed by methods whose
-	    names consists of the name of the field specified by
-	    field-name in which the first letter is uppercased,
-	    prefixed by "get" or "set".
-
-	    The name of the cmp-field of an entity bean with
-	    cmp-version 1.x must denote a public field of the
-	    enterprise bean class or one of its superclasses.
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="cmp-versionType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The cmp-versionType specifies the version of an entity bean
-	with container-managed persistence. It is used by
-	cmp-version elements.
-
-	The value must be one of the two following:
-
-	    1.x
-	    2.x
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:simpleContent>
-      <xsd:restriction base="javaee:string">
-	<xsd:enumeration value="1.x"/>
-	<xsd:enumeration value="2.x"/>
-      </xsd:restriction>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="cmr-field-typeType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The cmr-field-type element specifies the class of a
-	collection-valued logical relationship field in the entity
-	bean class. The value of an element using cmr-field-typeType
-	must be either: java.util.Collection or java.util.Set.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:simpleContent>
-      <xsd:restriction base="javaee:string">
-	<xsd:enumeration value="java.util.Collection"/>
-	<xsd:enumeration value="java.util.Set"/>
-      </xsd:restriction>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="cmr-fieldType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The cmr-fieldType describes the bean provider's view of
-	a relationship. It consists of an optional description, and
-	the name and the class type of a field in the source of a
-	role of a relationship. The cmr-field-name element
-	corresponds to the name used for the get and set accessor
-	methods for the relationship. The cmr-field-type element is
-	used only for collection-valued cmr-fields. It specifies the
-	type of the collection that is used.
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:element name="description"
-		   type="javaee:descriptionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="cmr-field-name"
-		   type="javaee:string">
-	<xsd:annotation>
-	  <xsd:documentation>
-
-	    The cmr-field-name element specifies the name of a
-	    logical relationship field in the entity bean
-	    class. The name of the cmr-field must begin with a
-	    lowercase letter. This field is accessed by methods
-	    whose names consist of the name of the field
-	    specified by cmr-field-name in which the first
-	    letter is uppercased, prefixed by "get" or "set".
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-      <xsd:element name="cmr-field-type"
-		   type="javaee:cmr-field-typeType"
-		   minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="container-transactionType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The container-transactionType specifies how the container
-	must manage transaction scopes for the enterprise bean's
-	method invocations. It defines an optional description, a
-	list of method elements, and a transaction attribute. The
-	transaction attribute is to be applied to all the specified
-	methods.
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:element name="description"
-		   type="javaee:descriptionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="method"
-		   type="javaee:methodType"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="trans-attribute"
-		   type="javaee:trans-attributeType"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="ejb-classType">
-    <xsd:annotation>
-      <xsd:documentation>
-	<![CDATA[
-
-	  The ejb-classType contains the fully-qualified name of the
-	  enterprise bean's class. It is used by ejb-class elements.
-
-	  Example:
-
-	      <ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class>
-
-	  ]]>
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:simpleContent>
-      <xsd:restriction base="javaee:fully-qualified-classType"/>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="ejb-jarType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The ejb-jarType defines the root element of the EJB
-	deployment descriptor. It contains
-
-	    - an optional description of the ejb-jar file
-	    - an optional display name
-	    - an optional icon that contains a small and a large
-	      icon file name
-	    - structural information about all included
-	      enterprise beans that is not specified through
-              annotations
-            - structural information about interceptor classes
-	    - a descriptor for container managed relationships,
-	      if any.
-	    - an optional application-assembly descriptor
-	    - an optional name of an ejb-client-jar file for the
-	      ejb-jar.
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:group ref="javaee:descriptionGroup"/>
-      <xsd:element name="enterprise-beans"
-		   type="javaee:enterprise-beansType"
-                   minOccurs="0"/>
-      <xsd:element name="interceptors"
-		   type="javaee:interceptorsType"
-                   minOccurs="0"/>
-      <xsd:element name="relationships"
-		   type="javaee:relationshipsType"
-		   minOccurs="0">
-	<xsd:unique name="relationship-name-uniqueness">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The ejb-relation-name contains the name of a
-	      relation. The name must be unique within
-	      relationships.
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:selector xpath="javaee:ejb-relation"/>
-	  <xsd:field    xpath="javaee:ejb-relation-name"/>
-	</xsd:unique>
-      </xsd:element>
-      <xsd:element name="assembly-descriptor"
-		   type="javaee:assembly-descriptorType"
-		   minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
-
-	    Providing an assembly-descriptor in the deployment
-	    descriptor is optional for the ejb-jar file
-	    producer.
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-      <xsd:element name="ejb-client-jar"
-		   type="javaee:pathType"
-		   minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
-	    <![CDATA[
-
-	      The optional ejb-client-jar element specifies a JAR
-	      file that contains the class files necessary for a
-	      client program to access the
-	      enterprise beans in the ejb-jar file.
-
-	      Example:
-
-		  <ejb-client-jar>employee_service_client.jar
-		  </ejb-client-jar>
-
-	      ]]>
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="version"
-		   type="javaee:dewey-versionType"
-		   fixed="3.0"
-		   use="required">
-      <xsd:annotation>
-	<xsd:documentation>
-
-	  The version specifies the version of the
-	  EJB specification that the instance document must
-	  comply with. This information enables deployment tools
-	  to validate a particular EJB Deployment
-	  Descriptor with respect to a specific version of the EJB
-	  schema.
-
-	</xsd:documentation>
-      </xsd:annotation>
-    </xsd:attribute>
-    <xsd:attribute name="metadata-complete" type="xsd:boolean">
-      <xsd:annotation>
-	<xsd:documentation>
-
-	  The metadata-complete attribute defines whether this
-	  deployment descriptor and other related deployment
-	  descriptors for this module (e.g., web service
-	  descriptors) are complete, or whether the class
-	  files available to this module and packaged with
-	  this application should be examined for annotations
-	  that specify deployment information.
-
-	  If metadata-complete is set to "true", the deployment
-	  tool must ignore any annotations that specify deployment
-	  information, which might be present in the class files
-	  of the application.
-
-	  If metadata-complete is not specified or is set to
-	  "false", the deployment tool must examine the class
-	  files of the application for annotations, as
-	  specified by the specifications.
-
-	</xsd:documentation>
-      </xsd:annotation>
-
-    </xsd:attribute>
-
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="ejb-nameType">
-    <xsd:annotation>
-      <xsd:documentation>
-	<![CDATA[
-
-	  The ejb-nameType specifies an enterprise bean's name. It is
-	  used by ejb-name elements. This name is assigned by the
-	  ejb-jar file producer to name the enterprise bean in the
-	  ejb-jar file's deployment descriptor. The name must be
-	  unique among the names of the enterprise beans in the same
-	  ejb-jar file.
-
-	  There is no architected relationship between the used
-	  ejb-name in the deployment descriptor and the JNDI name that
-	  the Deployer will assign to the enterprise bean's home.
-
-	  The name for an entity bean must conform to the lexical
-	  rules for an NMTOKEN.
-
-	  Example:
-
-	  <ejb-name>EmployeeService</ejb-name>
-
-	  ]]>
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:simpleContent>
-      <xsd:restriction base="javaee:xsdNMTOKENType"/>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="ejb-relationType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The ejb-relationType describes a relationship between two
-	entity beans with container-managed persistence.  It is used
-	by ejb-relation elements. It contains a description; an
-	optional ejb-relation-name element; and exactly two
-	relationship role declarations, defined by the
-	ejb-relationship-role elements. The name of the
-	relationship, if specified, is unique within the ejb-jar
-	file.
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:element name="description"
-		   type="javaee:descriptionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="ejb-relation-name"
-		   type="javaee:string"
-		   minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
-
-	    The ejb-relation-name element provides a unique name
-	    within the ejb-jar file for a relationship.
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-      <xsd:element name="ejb-relationship-role"
-		   type="javaee:ejb-relationship-roleType"/>
-      <xsd:element name="ejb-relationship-role"
-		   type="javaee:ejb-relationship-roleType"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="ejb-relationship-roleType">
-    <xsd:annotation>
-      <xsd:documentation>
-	<![CDATA[
-
-	  The ejb-relationship-roleType describes a role within a
-	  relationship. There are two roles in each relationship.
-
-	  The ejb-relationship-roleType contains an optional
-	  description; an optional name for the relationship role; a
-	  specification of the multiplicity of the role; an optional
-	  specification of cascade-delete functionality for the role;
-	  the role source; and a declaration of the cmr-field, if any,
-	  by means of which the other side of the relationship is
-	  accessed from the perspective of the role source.
-
-	  The multiplicity and role-source element are mandatory.
-
-	  The relationship-role-source element designates an entity
-	  bean by means of an ejb-name element. For bidirectional
-	  relationships, both roles of a relationship must declare a
-	  relationship-role-source element that specifies a cmr-field
-	  in terms of which the relationship is accessed. The lack of
-	  a cmr-field element in an ejb-relationship-role specifies
-	  that the relationship is unidirectional in navigability and
-	  the entity bean that participates in the relationship is
-	  "not aware" of the relationship.
-
-	  Example:
-
-	  <ejb-relation>
-	      <ejb-relation-name>Product-LineItem</ejb-relation-name>
-	      <ejb-relationship-role>
-		  <ejb-relationship-role-name>product-has-lineitems
-		  </ejb-relationship-role-name>
-		  <multiplicity>One</multiplicity>
-		  <relationship-role-source>
-		  <ejb-name>ProductEJB</ejb-name>
-		  </relationship-role-source>
-	       </ejb-relationship-role>
-	  </ejb-relation>
-
-	  ]]>
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:element name="description"
-		   type="javaee:descriptionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="ejb-relationship-role-name"
-		   type="javaee:string"
-		   minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
-
-	    The ejb-relationship-role-name element defines a
-	    name for a role that is unique within an
-	    ejb-relation. Different relationships can use the
-	    same name for a role.
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-      <xsd:element name="multiplicity"
-		   type="javaee:multiplicityType"/>
-      <xsd:element name="cascade-delete"
-		   type="javaee:emptyType"
-		   minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
-
-	    The cascade-delete element specifies that, within a
-	    particular relationship, the lifetime of one or more
-	    entity beans is dependent upon the lifetime of
-	    another entity bean. The cascade-delete element can
-	    only be specified for an ejb-relationship-role
-	    element contained in an ejb-relation element in
-	    which the other ejb-relationship-role
-	    element specifies a multiplicity of One.
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-      <xsd:element name="relationship-role-source"
-		   type="javaee:relationship-role-sourceType"/>
-      <xsd:element name="cmr-field"
-		   type="javaee:cmr-fieldType"
-		   minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="enterprise-beansType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The enterprise-beansType declares one or more enterprise
-	beans. Each bean can be a session, entity or message-driven
-	bean.
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:choice maxOccurs="unbounded">
-      <xsd:element name="session"
-		   type="javaee:session-beanType">
-	<xsd:unique name="session-ejb-local-ref-name-uniqueness">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The ejb-ref-name element contains the name of
-	      an EJB reference. The EJB reference is an entry in
-	      the component's environment and is relative to the
-	      java:comp/env context.  The name must be unique within
-	      the component.
-
-	      It is recommended that name be prefixed with "ejb/".
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:selector xpath="javaee:ejb-local-ref"/>
-	  <xsd:field    xpath="javaee:ejb-ref-name"/>
-	</xsd:unique>
-
-	<xsd:unique name="session-ejb-ref-name-uniqueness">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The ejb-ref-name element contains the name of an EJB
-	      reference. The EJB reference is an entry in the
-	      component's environment and is relative to the
-	      java:comp/env context. The name must be unique
-	      within the component.
-
-	      It is recommended that name is prefixed with "ejb/".
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:selector xpath="javaee:ejb-ref"/>
-	  <xsd:field    xpath="javaee:ejb-ref-name"/>
-	</xsd:unique>
-
-	<xsd:unique name="session-resource-env-ref-uniqueness">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The resource-env-ref-name element specifies the name
-	      of a resource environment reference; its value is
-	      the environment entry name used in the component
-	      code. The name is a JNDI name relative to the
-	      java:comp/env context and must be unique within an
-	      component.
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:selector xpath="javaee:resource-env-ref"/>
-	  <xsd:field    xpath="javaee:resource-env-ref-name"/>
-	</xsd:unique>
-
-	<xsd:unique name="session-message-destination-ref-uniqueness">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The message-destination-ref-name element specifies the name
-	      of a message destination reference; its value is
-	      the message destination reference name used in the component
-	      code. The name is a JNDI name relative to the
-	      java:comp/env context and must be unique within an
-	      component.
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:selector xpath="javaee:message-destination-ref"/>
-	  <xsd:field    xpath="javaee:message-destination-ref-name"/>
-	</xsd:unique>
-
-	<xsd:unique name="session-res-ref-name-uniqueness">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The res-ref-name element specifies the name of a
-	      resource manager connection factory reference.  The name
-	      is a JNDI name relative to the java:comp/env context.
-	      The name must be unique within an component.
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:selector xpath="javaee:resource-ref"/>
-	  <xsd:field    xpath="javaee:res-ref-name"/>
-	</xsd:unique>
-
-	<xsd:unique name="session-env-entry-name-uniqueness">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The env-entry-name element contains the name of a
-	      component's environment entry.  The name is a JNDI
-	      name relative to the java:comp/env context.  The
-	      name must be unique within an component.
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:selector xpath="javaee:env-entry"/>
-	  <xsd:field    xpath="javaee:env-entry-name"/>
-	</xsd:unique>
-      </xsd:element>
-
-      <xsd:element name="entity"
-		   type="javaee:entity-beanType">
-	<xsd:unique name="entity-ejb-local-ref-name-uniqueness">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The ejb-ref-name element contains the name of
-	      an EJB reference. The EJB reference is an entry in
-	      the component's environment and is relative to the
-	      java:comp/env context.  The name must be unique within
-	      the component.
-
-	      It is recommended that name be prefixed with "ejb/".
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:selector xpath="javaee:ejb-local-ref"/>
-	  <xsd:field    xpath="javaee:ejb-ref-name"/>
-	</xsd:unique>
-
-	<xsd:unique name="entity-ejb-ref-name-uniqueness">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The ejb-ref-name element contains the name of an EJB
-	      reference. The EJB reference is an entry in the
-	      component's environment and is relative to the
-	      java:comp/env context. The name must be unique
-	      within the component.
-
-	      It is recommended that name is prefixed with "ejb/".
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:selector xpath="javaee:ejb-ref"/>
-	  <xsd:field    xpath="javaee:ejb-ref-name"/>
-	</xsd:unique>
-
-	<xsd:unique name="entity-resource-env-ref-uniqueness">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The resource-env-ref-name element specifies the name
-	      of a resource environment reference; its value is
-	      the environment entry name used in the component
-	      code. The name is a JNDI name relative to the
-	      java:comp/env context and must be unique within an
-	      component.
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:selector xpath="javaee:resource-env-ref"/>
-	  <xsd:field    xpath="javaee:resource-env-ref-name"/>
-	</xsd:unique>
-
-	<xsd:unique name="entity-message-destination-ref-uniqueness">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The message-destination-ref-name element specifies the name
-	      of a message destination reference; its value is
-	      the message destination reference name used in the component
-	      code. The name is a JNDI name relative to the
-	      java:comp/env context and must be unique within an
-	      component.
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:selector xpath="javaee:message-destination-ref"/>
-	  <xsd:field    xpath="javaee:message-destination-ref-name"/>
-	</xsd:unique>
-
-	<xsd:unique name="entity-res-ref-name-uniqueness">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The res-ref-name element specifies the name of a
-	      resource manager connection factory reference.  The name
-	      is a JNDI name relative to the java:comp/env context.
-	      The name must be unique within an component.
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:selector xpath="javaee:resource-ref"/>
-	  <xsd:field    xpath="javaee:res-ref-name"/>
-	</xsd:unique>
-
-	<xsd:unique name="entity-env-entry-name-uniqueness">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The env-entry-name element contains the name of a
-	      component's environment entry.  The name is a JNDI
-	      name relative to the java:comp/env context.  The
-	      name must be unique within an component.
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:selector xpath="javaee:env-entry"/>
-	  <xsd:field    xpath="javaee:env-entry-name"/>
-	</xsd:unique>
-      </xsd:element>
-
-      <xsd:element name="message-driven"
-		   type="javaee:message-driven-beanType">
-	<xsd:unique name="messaged-ejb-local-ref-name-uniqueness">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The ejb-ref-name element contains the name of
-	      an EJB reference. The EJB reference is an entry in
-	      the component's environment and is relative to the
-	      java:comp/env context.  The name must be unique within
-	      the component.
-
-	      It is recommended that name be prefixed with "ejb/".
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:selector xpath="javaee:ejb-local-ref"/>
-	  <xsd:field    xpath="javaee:ejb-ref-name"/>
-	</xsd:unique>
-
-	<xsd:unique name="messaged-ejb-ref-name-uniqueness">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The ejb-ref-name element contains the name of an EJB
-	      reference. The EJB reference is an entry in the
-	      component's environment and is relative to the
-	      java:comp/env context. The name must be unique
-	      within the component.
-
-	      It is recommended that name is prefixed with "ejb/".
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:selector xpath="javaee:ejb-ref"/>
-	  <xsd:field    xpath="javaee:ejb-ref-name"/>
-	</xsd:unique>
-
-	<xsd:unique name="messaged-resource-env-ref-uniqueness">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The resource-env-ref-name element specifies the name
-	      of a resource environment reference; its value is
-	      the environment entry name used in the component
-	      code. The name is a JNDI name relative to the
-	      java:comp/env context and must be unique within an
-	      component.
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:selector xpath="javaee:resource-env-ref"/>
-	  <xsd:field    xpath="javaee:resource-env-ref-name"/>
-	</xsd:unique>
-
-	<xsd:unique name="messaged-message-destination-ref-uniqueness">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The message-destination-ref-name element specifies the name
-	      of a message destination reference; its value is
-	      the message destination reference name used in the component
-	      code. The name is a JNDI name relative to the
-	      java:comp/env context and must be unique within an
-	      component.
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:selector xpath="javaee:message-destination-ref"/>
-	  <xsd:field    xpath="javaee:message-destination-ref-name"/>
-	</xsd:unique>
-
-	<xsd:unique name="messaged-res-ref-name-uniqueness">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The res-ref-name element specifies the name of a
-	      resource manager connection factory reference.  The name
-	      is a JNDI name relative to the java:comp/env context.
-	      The name must be unique within an component.
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:selector xpath="javaee:resource-ref"/>
-	  <xsd:field    xpath="javaee:res-ref-name"/>
-	</xsd:unique>
-
-	<xsd:unique name="messaged-env-entry-name-uniqueness">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The env-entry-name element contains the name of a
-	      component's environment entry.  The name is a JNDI
-	      name relative to the java:comp/env context.  The
-	      name must be unique within an component.
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:selector xpath="javaee:env-entry"/>
-	  <xsd:field    xpath="javaee:env-entry-name"/>
-	</xsd:unique>
-      </xsd:element>
-
-    </xsd:choice>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="entity-beanType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The entity-beanType declares an entity bean. The declaration
-	consists of:
-
-	    - an optional description
-	    - an optional display name
-	    - an optional icon element that contains a small and a large
-	      icon file name
-	    - a unique name assigned to the enterprise bean
-	      in the deployment descriptor
-            - an optional mapped-name element that can be used to provide
-              vendor-specific deployment information such as the physical
-              jndi-name of the entity bean's remote home interface. This
-              element is not required to be supported by all implementations.
-              Any use of this element is non-portable.
-	    - the names of the entity bean's remote home
-	      and remote interfaces, if any
-	    - the names of the entity bean's local home and local
-	      interfaces, if any
-	    - the entity bean's implementation class
-	    - the optional entity bean's persistence management type. If
-              this element is not specified it is defaulted to Container.
-	    - the entity bean's primary key class name
-	    - an indication of the entity bean's reentrancy
-	    - an optional specification of the
-	      entity bean's cmp-version
-	    - an optional specification of the entity bean's
-	      abstract schema name
-	    - an optional list of container-managed fields
-	    - an optional specification of the primary key
-	      field
-	    - an optional declaration of the bean's environment
-	      entries
-	    - an optional declaration of the bean's EJB
-	      references
-	    - an optional declaration of the bean's local
-	      EJB references
-	    - an optional declaration of the bean's web
-	      service references
-	    - an optional declaration of the security role
-	      references
-	    - an optional declaration of the security identity
-	      to be used for the execution of the bean's methods
-	    - an optional declaration of the bean's
-	      resource manager connection factory references
-	    - an optional declaration of the bean's
-	      resource environment references
-	    - an optional declaration of the bean's message
-	      destination references
-	    - an optional set of query declarations
-	      for finder and select methods for an entity
-	      bean with cmp-version 2.x.
-
-	The optional abstract-schema-name element must be specified
-	for an entity bean with container-managed persistence and
-	cmp-version 2.x.
-
-	The optional primkey-field may be present in the descriptor
-	if the entity's persistence-type is Container.
-
-	The optional cmp-version element may be present in the
-	descriptor if the entity's persistence-type is Container. If
-	the persistence-type is Container and the cmp-version
-	element is not specified, its value defaults to 2.x.
-
-	The optional home and remote elements must be specified if
-	the entity bean cmp-version is 1.x.
-
-	The optional home and remote elements must be specified if
-	the entity bean has a remote home and remote interface.
-
-	The optional local-home and local elements must be specified
-	if the entity bean has a local home and local interface.
-
-	Either both the local-home and the local elements or both
-	the home and the remote elements must be specified.
-
-	The optional query elements must be present if the
-	persistence-type is Container and the cmp-version is 2.x and
-	query methods other than findByPrimaryKey have been defined
-	for the entity bean.
-
-	The other elements that are optional are "optional" in the
-	sense that they are omitted if the lists represented by them
-	are empty.
-
-	At least one cmp-field element must be present in the
-	descriptor if the entity's persistence-type is Container and
-	the cmp-version is 1.x, and none must not be present if the
-	entity's persistence-type is Bean.
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:group ref="javaee:descriptionGroup"/>
-      <xsd:element name="ejb-name"
-		   type="javaee:ejb-nameType"/>
-      <xsd:element name="mapped-name"
-		   type="javaee:xsdStringType"
-		   minOccurs="0"/>
-      <xsd:element name="home"
-		   type="javaee:homeType"
-		   minOccurs="0"/>
-      <xsd:element name="remote"
-		   type="javaee:remoteType"
-		   minOccurs="0"/>
-      <xsd:element name="local-home"
-		   type="javaee:local-homeType"
-		   minOccurs="0"/>
-      <xsd:element name="local"
-		   type="javaee:localType"
-		   minOccurs="0"/>
-      <xsd:element name="ejb-class"
-		   type="javaee:ejb-classType"/>
-      <xsd:element name="persistence-type"
-		   type="javaee:persistence-typeType"/>
-      <xsd:element name="prim-key-class"
-		   type="javaee:fully-qualified-classType">
-	<xsd:annotation>
-	  <xsd:documentation>
-
-	    The prim-key-class element contains the
-	    fully-qualified name of an
-	    entity bean's primary key class.
-
-	    If the definition of the primary key class is
-	    deferred to deployment time, the prim-key-class
-	    element should specify java.lang.Object.
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-      <xsd:element name="reentrant"
-		   type="javaee:true-falseType">
-	<xsd:annotation>
-	  <xsd:documentation>
-
-	    The reentrant element specifies whether an entity
-	    bean is reentrant or not.
-
-	    The reentrant element must be one of the two
-	    following: true or false
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-      <xsd:element name="cmp-version"
-		   type="javaee:cmp-versionType"
-		   minOccurs="0"/>
-      <xsd:element name="abstract-schema-name"
-		   type="javaee:java-identifierType"
-		   minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
-
-	    The abstract-schema-name element specifies the name
-	    of the abstract schema type of an entity bean with
-	    cmp-version 2.x. It is used in EJB QL queries.
-
-	    For example, the abstract-schema-name for an entity
-	    bean whose local interface is
-	    com.acme.commerce.Order might be Order.
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-      <xsd:element name="cmp-field"
-		   type="javaee:cmp-fieldType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="primkey-field"
-		   type="javaee:string"
-		   minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
-
-	    The primkey-field element is used to specify the
-	    name of the primary key field for an entity with
-	    container-managed persistence.
-
-	    The primkey-field must be one of the fields declared
-	    in the cmp-field element, and the type of the field
-	    must be the same as the primary key type.
-
-	    The primkey-field element is not used if the primary
-	    key maps to multiple container-managed fields
-	    (i.e. the key is a compound key). In this case, the
-	    fields of the primary key class must be public, and
-	    their names must correspond to the field names of
-	    the entity bean class that comprise the key.
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-      <xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
-      <xsd:element name="security-role-ref"
-		   type="javaee:security-role-refType"
-		   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="security-identity"
-		   type="javaee:security-identityType"
-		   minOccurs="0"/>
-      <xsd:element name="query"
-		   type="javaee:queryType"
-		   minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="exclude-listType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The exclude-listType specifies one or more methods which
-	the Assembler marks to be uncallable.
-
-	If the method permission relation contains methods that are
-	in the exclude list, the Deployer should consider those
-	methods to be uncallable.
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:element name="description"
-		   type="javaee:descriptionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="method"
-		   type="javaee:methodType"
-		   maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="init-methodType">
-    <xsd:sequence>
-      <xsd:element name="create-method"
-		   type="javaee:named-methodType"/>
-      <xsd:element name="bean-method"
-		   type="javaee:named-methodType"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="interceptor-bindingType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The interceptor-bindingType element describes the binding of
-        interceptor classes to beans within the ejb-jar.
-        It consists of :
-
-          - An optional description.
-          - The name of an ejb within the ejb-jar or the wildcard value "*",
-            which is used to define interceptors that are bound to all
-            beans in the ejb-jar.
-          - A list of interceptor classes that are bound to the contents of
-            the ejb-name element or a specification of the total ordering
-            over the interceptors defined for the given level and above.
-          - An optional exclude-default-interceptors element.  If set to true,
-            specifies that default interceptors are not to be applied to
-            a bean-class and/or business method.
-          - An optional exclude-class-interceptors element.  If set to true,
-            specifies that class interceptors are not to be applied to
-            a business method.
-          - An optional set of method elements for describing the name/params
-            of a method-level interceptor.
-
-         Interceptors bound to all classes using the wildcard syntax
-         "*" are default interceptors for the components in the ejb-jar.
-         In addition, interceptors may be bound at the level of the bean
-         class (class-level interceptors) or business methods (method-level
-         interceptors ).
-
-         The binding of interceptors to classes is additive.  If interceptors
-         are bound at the class-level and/or default-level as well as the
-         method-level, both class-level and/or default-level as well as
-         method-level will apply.
-
-         There are four possible styles of the interceptor element syntax :
-
-         1.
-         <interceptor-binding>
-           <ejb-name>*</ejb-name>
-           <interceptor-class>INTERCEPTOR</interceptor-class>
-         </interceptor-binding>
-
-         Specifying the ejb-name as the wildcard value "*" designates
-         default interceptors (interceptors that apply to all session and
-         message-driven beans contained in the ejb-jar).
-
-         2.
-         <interceptor-binding>
-           <ejb-name>EJBNAME</ejb-name>
-           <interceptor-class>INTERCEPTOR</interceptor-class>
-         </interceptor-binding>
-
-         This style is used to refer to interceptors associated with the
-         specified enterprise bean(class-level interceptors).
-
-         3.
-         <interceptor-binding>
-           <ejb-name>EJBNAME</ejb-name>
-           <interceptor-class>INTERCEPTOR</interceptor-class>
-           <method>
-             <method-name>METHOD</method-name>
-           </method>
-         </interceptor-binding>
-
-         This style is used to associate a method-level interceptor with
-         the specified enterprise bean.  If there are multiple methods
-         with the same overloaded name, the element of this style refers
-         to all the methods with the overloaded name.  Method-level
-         interceptors can only be associated with business methods of the
-         bean class.   Note that the wildcard value "*" cannot be used
-         to specify method-level interceptors.
-
-         4.
-         <interceptor-binding>
-           <ejb-name>EJBNAME</ejb-name>
-           <interceptor-class>INTERCEPTOR</interceptor-class>
-           <method>
-             <method-name>METHOD</method-name>
-             <method-params>
-               <method-param>PARAM-1</method-param>
-               <method-param>PARAM-2</method-param>
-               ...
-               <method-param>PARAM-N</method-param>
-             </method-params>
-           </method>
-         </interceptor-binding>
-
-         This style is used to associate a method-level interceptor with
-         the specified method of the specified enterprise bean.  This
-         style is used to refer to a single method within a set of methods
-         with an overloaded name.  The values PARAM-1 through PARAM-N
-         are the fully-qualified Java types of the method's input parameters
-         (if the method has no input arguments, the method-params element
-         contains no method-param elements). Arrays are specified by the
-         array element's type, followed by one or more pair of square
-         brackets (e.g. int[][]).
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description"
-		   type="javaee:descriptionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="ejb-name"
-		   type="javaee:string"/>
-      <xsd:choice>
-        <xsd:element name="interceptor-class"
-                     type="javaee:fully-qualified-classType"
-		     minOccurs="0"
-                     maxOccurs="unbounded"/>
-        <xsd:element name="interceptor-order"
-		     type="javaee:interceptor-orderType"
-		     minOccurs="1"/>
-      </xsd:choice>
-      <xsd:element name="exclude-default-interceptors"
-		   type="javaee:true-falseType"
-		   minOccurs="0"/>
-      <xsd:element name="exclude-class-interceptors"
-		   type="javaee:true-falseType"
-		   minOccurs="0"/>
-      <xsd:element name="method"
-		   type="javaee:named-methodType"
-                   minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="interceptor-orderType">
-    <xsd:annotation>
-      <xsd:documentation>
-        The interceptor-orderType element describes a total ordering
-        of interceptor classes.
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-
-      <xsd:element name="interceptor-class"
-                   type="javaee:fully-qualified-classType"
-		   minOccurs="1"
-                   maxOccurs="unbounded"/>
-
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="interceptorType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The interceptorType element declares information about a single
-        interceptor class.  It consists of :
-
-            - An optional description.
-            - The fully-qualified name of the interceptor class.
-            - An optional list of around invoke methods declared on the
-              interceptor class and/or its super-classes.
-            - An optional list environment dependencies for the interceptor
-              class and/or its super-classes.
-            - An optional list of post-activate methods declared on the
-              interceptor class and/or its super-classes.
-            - An optional list of pre-passivate methods declared on the
-              interceptor class and/or its super-classes.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description"
-		   type="javaee:descriptionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="interceptor-class"
-		   type="javaee:fully-qualified-classType"/>
-      <xsd:element name="around-invoke"
-                   type="javaee:around-invokeType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
-      <xsd:element name="post-activate"
-                   type="javaee:lifecycle-callbackType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="pre-passivate"
-                   type="javaee:lifecycle-callbackType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="interceptorsType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-        The interceptorsType element declares one or more interceptor
-        classes used by components within this ejb-jar.  The declaration
-        consists of :
-
-            - An optional description.
-            - One or more interceptor elements.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="description"
-		   type="javaee:descriptionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="interceptor"
-		   type="javaee:interceptorType"
-		   maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="message-driven-beanType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The message-driven element declares a message-driven
-	bean. The declaration consists of:
-
-	    - an optional description
-	    - an optional display name
-	    - an optional icon element that contains a small and a large
-	      icon file name.
-	    - a name assigned to the enterprise bean in
-	      the deployment descriptor
-            - an optional mapped-name element that can be used to provide
-              vendor-specific deployment information such as the physical
-              jndi-name of destination from which this message-driven bean
-              should consume.  This element is not required to be supported
-              by all implementations.  Any use of this element is non-portable.
-	    - the message-driven bean's implementation class
-	    - an optional declaration of the bean's messaging
-	      type
-            - an optional declaration of the bean's timeout method.
-	    - the optional message-driven bean's transaction management
-              type. If it is not defined, it is defaulted to Container.
-	    - an optional declaration of the bean's
-	      message-destination-type
-	    - an optional declaration of the bean's
-	      message-destination-link
-	    - an optional declaration of the message-driven bean's
-	      activation configuration properties
-            - an optional list of the message-driven bean class and/or
-              superclass around-invoke methods.
-	    - an optional declaration of the bean's environment
-	      entries
-	    - an optional declaration of the bean's EJB references
-	    - an optional declaration of the bean's local EJB
-	      references
-	    - an optional declaration of the bean's web service
-	      references
-	    - an optional declaration of the security
-	      identity to be used for the execution of the bean's
-	      methods
-	    - an optional declaration of the bean's
-	      resource manager connection factory
-	      references
-	    - an optional declaration of the bean's resource
-	      environment references.
-	    - an optional declaration of the bean's message
-	      destination references
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:group ref="javaee:descriptionGroup"/>
-      <xsd:element name="ejb-name"
-		   type="javaee:ejb-nameType"/>
-      <xsd:element name="mapped-name"
-		   type="javaee:xsdStringType"
-		   minOccurs="0"/>
-      <xsd:element name="ejb-class"
-		   type="javaee:ejb-classType"
-                   minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>
-
-             The ejb-class element specifies the fully qualified name
-             of the bean class for this ejb.  It is required unless
-             there is a component-defining annotation for the same
-             ejb-name.
-
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="messaging-type"
-		   type="javaee:fully-qualified-classType"
-		   minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
-
-	    The messaging-type element specifies the message
-	    listener interface of the message-driven bean.
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-      <xsd:element name="timeout-method"
-                   type="javaee:named-methodType"
-                   minOccurs="0"/>
-      <xsd:element name="transaction-type"
-		   type="javaee:transaction-typeType"
-                   minOccurs="0"/>
-      <xsd:element name="message-destination-type"
-		   type="javaee:message-destination-typeType"
-		   minOccurs="0"/>
-      <xsd:element name="message-destination-link"
-		   type="javaee:message-destination-linkType"
-		   minOccurs="0"/>
-      <xsd:element name="activation-config"
-		   type="javaee:activation-configType"
-		   minOccurs="0"/>
-      <xsd:element name="around-invoke"
-                   type="javaee:around-invokeType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
-      <xsd:element name="security-identity"
-		   type="javaee:security-identityType"
-		   minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="method-intfType">
-
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The method-intf element allows a method element to
-	differentiate between the methods with the same name and
-	signature that are multiply defined across the home and
-	component interfaces (e.g, in both an enterprise bean's
-	remote and local interfaces or in both an enterprise bean's
-	home and remote interfaces, etc.); the component and web
-	service endpoint interfaces, and so on. The Local applies to
-        both local component interface and local business interface.
-        Similarly, Remote applies to both remote component interface
-        and the remote business interface.
-
-	The method-intf element must be one of the following:
-
-	    Home
-	    Remote
-	    LocalHome
-	    Local
-	    ServiceEndpoint
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:simpleContent>
-      <xsd:restriction base="javaee:string">
-	<xsd:enumeration value="Home"/>
-	<xsd:enumeration value="Remote"/>
-	<xsd:enumeration value="LocalHome"/>
-	<xsd:enumeration value="Local"/>
-	<xsd:enumeration value="ServiceEndpoint"/>
-      </xsd:restriction>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="method-nameType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The method-nameType contains a name of an enterprise
-	bean method or the asterisk (*) character. The asterisk is
-	used when the element denotes all the methods of an
-	enterprise bean's client view interfaces.
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:simpleContent>
-      <xsd:restriction base="javaee:string"/>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="method-paramsType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The method-paramsType defines a list of the
-	fully-qualified Java type names of the method parameters.
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:element name="method-param"
-		   type="javaee:java-typeType"
-		   minOccurs="0"
-		   maxOccurs="unbounded">
-	<xsd:annotation>
-	  <xsd:documentation>
-
-	    The method-param element contains a primitive
-	    or a fully-qualified Java type name of a method
-	    parameter.
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="method-permissionType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The method-permissionType specifies that one or more
-	security roles are allowed to invoke one or more enterprise
-	bean methods. The method-permissionType consists of an
-	optional description, a list of security role names or an
-	indicator to state that the method is unchecked for
-	authorization, and a list of method elements.
-
-	The security roles used in the method-permissionType
-	must be defined in the security-role elements of the
-	deployment descriptor, and the methods must be methods
-	defined in the enterprise bean's business, home, component
-        and/or web service endpoint interfaces.
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:element name="description"
-		   type="javaee:descriptionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:choice>
-	<xsd:element name="role-name"
-		     type="javaee:role-nameType"
-		     maxOccurs="unbounded"/>
-	<xsd:element name="unchecked"
-		     type="javaee:emptyType">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The unchecked element specifies that a method is
-	      not checked for authorization by the container
-	      prior to invocation of the method.
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	</xsd:element>
-      </xsd:choice>
-      <xsd:element name="method"
-		   type="javaee:methodType"
-		   maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="methodType">
-    <xsd:annotation>
-      <xsd:documentation>
-	<![CDATA[
-
-	  The methodType is used to denote a method of an enterprise
-	  bean's business, home, component, and/or web service endpoint
-	  interface, or, in the case of a message-driven bean, the
-	  bean's message listener method, or a set of such
-	  methods. The ejb-name element must be the name of one of the
-	  enterprise beans declared in the deployment descriptor; the
-	  optional method-intf element allows to distinguish between a
-	  method with the same signature that is multiply defined
-	  across the business, home, component, and/or web service
-          endpoint nterfaces; the method-name element specifies the
-          method name; and the optional method-params elements identify
-          a single method among multiple methods with an overloaded
-	  method name.
-
-	  There are three possible styles of using methodType element
-	  within a method element:
-
-	  1.
-	  <method>
-	      <ejb-name>EJBNAME</ejb-name>
-	      <method-name>*</method-name>
-	  </method>
-
-	     This style is used to refer to all the methods of the
-	     specified enterprise bean's business, home, component,
-             and/or web service endpoint interfaces.
-
-	  2.
-	  <method>
-	      <ejb-name>EJBNAME</ejb-name>
-	      <method-name>METHOD</method-name>
-	  </method>
-
-	     This style is used to refer to the specified method of
-	     the specified enterprise bean. If there are multiple
-	     methods with the same overloaded name, the element of
-	     this style refers to all the methods with the overloaded
-	     name.
-
-	  3.
-	  <method>
-	      <ejb-name>EJBNAME</ejb-name>
-	      <method-name>METHOD</method-name>
-	      <method-params>
-		  <method-param>PARAM-1</method-param>
-		  <method-param>PARAM-2</method-param>
-		  ...
-		  <method-param>PARAM-n</method-param>
-	      </method-params>
-	  </method>
-
-	     This style is used to refer to a single method within a
-	     set of methods with an overloaded name. PARAM-1 through
-	     PARAM-n are the fully-qualified Java types of the
-	     method's input parameters (if the method has no input
-	     arguments, the method-params element contains no
-	     method-param elements). Arrays are specified by the
-	     array element's type, followed by one or more pair of
-	     square brackets (e.g. int[][]). If there are multiple
-	     methods with the same overloaded name, this style refers
-	     to all of the overloaded methods.
-
-	  Examples:
-
-	  Style 1: The following method element refers to all the
-	  methods of the EmployeeService bean's business, home,
-          component, and/or web service endpoint interfaces:
-
-	  <method>
-	      <ejb-name>EmployeeService</ejb-name>
-	      <method-name>*</method-name>
-	  </method>
-
-	  Style 2: The following method element refers to all the
-	  create methods of the EmployeeService bean's home
-	  interface(s).
-
-	  <method>
-	      <ejb-name>EmployeeService</ejb-name>
-	      <method-name>create</method-name>
-	  </method>
-
-	  Style 3: The following method element refers to the
-	  create(String firstName, String LastName) method of the
-	  EmployeeService bean's home interface(s).
-
-	  <method>
-	      <ejb-name>EmployeeService</ejb-name>
-	      <method-name>create</method-name>
-	      <method-params>
-		  <method-param>java.lang.String</method-param>
-		  <method-param>java.lang.String</method-param>
-	      </method-params>
-	  </method>
-
-	  The following example illustrates a Style 3 element with
-	  more complex parameter types. The method
-	  foobar(char s, int i, int[] iar, mypackage.MyClass mycl,
-	  mypackage.MyClass[][] myclaar) would be specified as:
-
-	  <method>
-	      <ejb-name>EmployeeService</ejb-name>
-	      <method-name>foobar</method-name>
-	      <method-params>
-		  <method-param>char</method-param>
-		  <method-param>int</method-param>
-		  <method-param>int[]</method-param>
-		  <method-param>mypackage.MyClass</method-param>
-		  <method-param>mypackage.MyClass[][]</method-param>
-	      </method-params>
-	  </method>
-
-	  The optional method-intf element can be used when it becomes
-	  necessary to differentiate between a method that is multiply
-	  defined across the enterprise bean's business, home, component,
-          and/or web service endpoint interfaces with the same name and
-	  signature. However, if the same method is a method of both the
-          local business interface, and the local component interface,
-          the same attribute applies to the method for both interfaces.
-          Likewise, if the same method is a method of both the remote
-          business interface and the remote component interface, the same
-          attribute applies to the method for both interfaces.
-
-	  For example, the method element
-
-	  <method>
-	      <ejb-name>EmployeeService</ejb-name>
-	      <method-intf>Remote</method-intf>
-	      <method-name>create</method-name>
-	      <method-params>
-		  <method-param>java.lang.String</method-param>
-		  <method-param>java.lang.String</method-param>
-	      </method-params>
-	  </method>
-
-	  can be used to differentiate the create(String, String)
-	  method defined in the remote interface from the
-	  create(String, String) method defined in the remote home
-	  interface, which would be defined as
-
-	  <method>
-	      <ejb-name>EmployeeService</ejb-name>
-	      <method-intf>Home</method-intf>
-	      <method-name>create</method-name>
-	      <method-params>
-		  <method-param>java.lang.String</method-param>
-		  <method-param>java.lang.String</method-param>
-	      </method-params>
-	  </method>
-
-	  and the create method that is defined in the local home
-	  interface which would be defined as
-
-	  <method>
-	      <ejb-name>EmployeeService</ejb-name>
-	      <method-intf>LocalHome</method-intf>
-	      <method-name>create</method-name>
-	      <method-params>
-		  <method-param>java.lang.String</method-param>
-		  <method-param>java.lang.String</method-param>
-	      </method-params>
-	  </method>
-
-	  The method-intf element can be used with all three Styles
-	  of the method element usage. For example, the following
-	  method element example could be used to refer to all the
-	  methods of the EmployeeService bean's remote home interface
-          and the remote business interface.
-
-	  <method>
-	      <ejb-name>EmployeeService</ejb-name>
-	      <method-intf>Home</method-intf>
-	      <method-name>*</method-name>
-	  </method>
-
-	  ]]>
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:element name="description"
-		   type="javaee:descriptionType"
-		   minOccurs="0" maxOccurs="unbounded"/>
-      <xsd:element name="ejb-name"
-		   type="javaee:ejb-nameType"/>
-      <xsd:element name="method-intf"
-		   type="javaee:method-intfType"
-		   minOccurs="0">
-      </xsd:element>
-      <xsd:element name="method-name"
-		   type="javaee:method-nameType"/>
-      <xsd:element name="method-params"
-		   type="javaee:method-paramsType"
-		   minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="multiplicityType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The multiplicityType describes the multiplicity of the
-	role that participates in a relation.
-
-	The value must be one of the two following:
-
-	    One
-	    Many
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:simpleContent>
-      <xsd:restriction base="javaee:string">
-	<xsd:enumeration value="One"/>
-	<xsd:enumeration value="Many"/>
-      </xsd:restriction>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="named-methodType">
-    <xsd:sequence>
-      <xsd:element name="method-name"
-		   type="javaee:string"/>
-      <xsd:element name="method-params"
-		   type="javaee:method-paramsType"
-		   minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="persistence-typeType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The persistence-typeType specifies an entity bean's persistence
-	management type.
-
-	The persistence-type element must be one of the two following:
-
-	    Bean
-	    Container
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:simpleContent>
-      <xsd:restriction base="javaee:string">
-	<xsd:enumeration value="Bean"/>
-	<xsd:enumeration value="Container"/>
-      </xsd:restriction>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="query-methodType">
-    <xsd:annotation>
-      <xsd:documentation>
-	<![CDATA[
-
-	  The query-method specifies the method for a finder or select
-	  query.
-
-	  The method-name element specifies the name of a finder or select
-	  method in the entity bean's implementation class.
-
-	  Each method-param must be defined for a query-method using the
-	  method-params element.
-
-	  It is used by the query-method element.
-
-	  Example:
-
-	  <query>
-	      <description>Method finds large orders</description>
-	      <query-method>
-		  <method-name>findLargeOrders</method-name>
-		  <method-params></method-params>
-	      </query-method>
-	      <ejb-ql>
-		SELECT OBJECT(o) FROM Order o
-		  WHERE o.amount &gt; 1000
-	      </ejb-ql>
-	  </query>
-
-	  ]]>
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:element name="method-name"
-		   type="javaee:method-nameType"/>
-      <xsd:element name="method-params"
-		   type="javaee:method-paramsType"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="queryType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The queryType defines a finder or select
-	query. It contains
-	    - an optional description of the query
-	    - the specification of the finder or select
-	      method it is used by
-		- an optional specification of the result type
-		  mapping, if the query is for a select method
-		  and entity objects are returned.
-		- the EJB QL query string that defines the query.
-
-	Queries that are expressible in EJB QL must use the ejb-ql
-	element to specify the query. If a query is not expressible
-	in EJB QL, the description element should be used to
-	describe the semantics of the query and the ejb-ql element
-	should be empty.
-
-	The result-type-mapping is an optional element. It can only
-	be present if the query-method specifies a select method
-	that returns entity objects.  The default value for the
-	result-type-mapping element is "Local".
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:element name="description"
-		   type="javaee:descriptionType" minOccurs="0"/>
-      <xsd:element name="query-method"
-		   type="javaee:query-methodType"/>
-      <xsd:element name="result-type-mapping"
-		   type="javaee:result-type-mappingType"
-		   minOccurs="0"/>
-      <xsd:element name="ejb-ql"
-		   type="javaee:xsdStringType"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="relationship-role-sourceType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The relationship-role-sourceType designates the source of a
-	role that participates in a relationship. A
-	relationship-role-sourceType is used by
-	relationship-role-source elements to uniquely identify an
-	entity bean.
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:element name="description"
-		   type="javaee:descriptionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="ejb-name"
-		   type="javaee:ejb-nameType"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="relationshipsType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The relationshipsType describes the relationships in
-	which entity beans with container-managed persistence
-	participate. The relationshipsType contains an optional
-	description; and a list of ejb-relation elements, which
-	specify the container managed relationships.
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:element name="description"
-		   type="javaee:descriptionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:element name="ejb-relation"
-		   type="javaee:ejb-relationType"
-		   maxOccurs="unbounded">
-
-	<xsd:unique name="role-name-uniqueness">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The ejb-relationship-role-name contains the name of a
-	      relationship role. The name must be unique within
-	      a relationship, but can be reused in different
-	      relationships.
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	  <xsd:selector
-	       xpath=".//javaee:ejb-relationship-role-name"/>
-	  <xsd:field
-	       xpath="."/>
-	</xsd:unique>
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="remove-methodType">
-    <xsd:sequence>
-      <xsd:element name="bean-method"
-		   type="javaee:named-methodType"/>
-      <xsd:element name="retain-if-exception"
-		   type="javaee:true-falseType"
-		   minOccurs="0"/>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="result-type-mappingType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The result-type-mappingType is used in the query element to
-	specify whether an abstract schema type returned by a query
-	for a select method is to be mapped to an EJBLocalObject or
-	EJBObject type.
-
-	The value must be one of the following:
-
-	    Local
-	    Remote
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:simpleContent>
-      <xsd:restriction base="javaee:string">
-	<xsd:enumeration value="Local"/>
-	<xsd:enumeration value="Remote"/>
-      </xsd:restriction>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="security-identityType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The security-identityType specifies whether the caller's
-	security identity is to be used for the execution of the
-	methods of the enterprise bean or whether a specific run-as
-	identity is to be used. It contains an optional description
-	and a specification of the security identity to be used.
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:element name="description"
-		   type="javaee:descriptionType"
-		   minOccurs="0"
-		   maxOccurs="unbounded"/>
-      <xsd:choice>
-	<xsd:element name="use-caller-identity"
-		     type="javaee:emptyType">
-	  <xsd:annotation>
-	    <xsd:documentation>
-
-	      The use-caller-identity element specifies that
-	      the caller's security identity be used as the
-	      security identity for the execution of the
-	      enterprise bean's methods.
-
-	    </xsd:documentation>
-	  </xsd:annotation>
-	</xsd:element>
-	<xsd:element name="run-as"
-		     type="javaee:run-asType"/>
-      </xsd:choice>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="session-beanType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The session-beanType declares an session bean. The
-	declaration consists of:
-
-	    - an optional description
-	    - an optional display name
-	    - an optional icon element that contains a small and a large
-	      icon file name
-	    - a name assigned to the enterprise bean
-	      in the deployment description
-            - an optional mapped-name element that can be used to provide
-              vendor-specific deployment information such as the physical
-              jndi-name of the session bean's remote home/business interface.
-              This element is not required to be supported by all
-              implementations. Any use of this element is non-portable.
-            - the names of all the remote or local business interfaces,
-              if any
-	    - the names of the session bean's remote home and
-	      remote interfaces, if any
-	    - the names of the session bean's local home and
-	      local interfaces, if any
-	    - the name of the session bean's web service endpoint
-	      interface, if any
-	    - the session bean's implementation class
-	    - the session bean's state management type
-            - an optional declaration of the session bean's timeout method.
-	    - the optional session bean's transaction management type.
-              If it is not present, it is defaulted to Container.
-            - an optional list of the session bean class and/or
-              superclass around-invoke methods.
-	    - an optional declaration of the bean's
-	      environment entries
-	    - an optional declaration of the bean's EJB references
-	    - an optional declaration of the bean's local
-	      EJB references
-	    - an optional declaration of the bean's web
-	      service references
-	    - an optional declaration of the security role
-	      references
-	    - an optional declaration of the security identity
-	      to be used for the execution of the bean's methods
-	    - an optional declaration of the bean's resource
-	      manager connection factory references
-	    - an optional declaration of the bean's resource
-	      environment references.
-	    - an optional declaration of the bean's message
-	      destination references
-
-	The elements that are optional are "optional" in the sense
-	that they are omitted when if lists represented by them are
-	empty.
-
-	Either both the local-home and the local elements or both
-	the home and the remote elements must be specified for the
-	session bean.
-
-	The service-endpoint element may only be specified if the
-	bean is a stateless session bean.
-
-      </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:sequence>
-      <xsd:group ref="javaee:descriptionGroup"/>
-      <xsd:element name="ejb-name"
-		   type="javaee:ejb-nameType"/>
-      <xsd:element name="mapped-name"
-		   type="javaee:xsdStringType"
-		   minOccurs="0"/>
-      <xsd:element name="home"
-		   type="javaee:homeType"
-		   minOccurs="0"/>
-      <xsd:element name="remote"
-		   type="javaee:remoteType"
-		   minOccurs="0"/>
-      <xsd:element name="local-home"
-		   type="javaee:local-homeType"
-		   minOccurs="0"/>
-      <xsd:element name="local"
-		   type="javaee:localType"
-		   minOccurs="0"/>
-      <xsd:element name="business-local"
-		   type="javaee:fully-qualified-classType"
-		   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="business-remote"
-		   type="javaee:fully-qualified-classType"
-		   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="service-endpoint"
-		   type="javaee:fully-qualified-classType"
-		   minOccurs="0">
-	<xsd:annotation>
-	  <xsd:documentation>
-
-	    The service-endpoint element contains the
-	    fully-qualified name of the enterprise bean's web
-	    service endpoint interface. The service-endpoint
-	    element may only be specified for a stateless
-	    session bean. The specified interface must be a
-	    valid JAX-RPC service endpoint interface.
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-      <xsd:element name="ejb-class"
-		   type="javaee:ejb-classType"
-                   minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>
-
-             The ejb-class element specifies the fully qualified name
-             of the bean class for this ejb.  It is required unless
-             there is a component-defining annotation for the same
-             ejb-name.
-
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="session-type"
-		   type="javaee:session-typeType"
-                   minOccurs="0"/>
-      <xsd:element name="timeout-method"
-                   type="javaee:named-methodType"
-                   minOccurs="0"/>
-      <xsd:element name="init-method"
-                   type="javaee:init-methodType"
-                   minOccurs="0"
-                   maxOccurs="unbounded">
-        <xsd:annotation>
-	  <xsd:documentation>
-
-	    The init-method element specifies the mappings for
-	    EJB 2.x style create methods for an EJB 3.0 bean.
-	    This element can only be specified for stateful
-            session beans.
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-      <xsd:element name="remove-method"
-                   type="javaee:remove-methodType"
-                   minOccurs="0"
-                   maxOccurs="unbounded">
-        <xsd:annotation>
-	  <xsd:documentation>
-
-	    The remove-method element specifies the mappings for
-	    EJB 2.x style remove methods for an EJB 3.0 bean.
-	    This element can only be specified for stateful
-            session beans.
-
-	  </xsd:documentation>
-	</xsd:annotation>
-      </xsd:element>
-      <xsd:element name="transaction-type"
-		   type="javaee:transaction-typeType"
-                   minOccurs="0"/>
-      <xsd:element name="around-invoke"
-                   type="javaee:around-invokeType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
-      <xsd:element name="post-activate"
-                   type="javaee:lifecycle-callbackType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="pre-passivate"
-                   type="javaee:lifecycle-callbackType"
-                   minOccurs="0"
-                   maxOccurs="unbounded"/>
-      <xsd:element name="security-role-ref"
-		   type="javaee:security-role-refType"
-		   minOccurs="0"
-		   maxOccurs="unbounded">
-      </xsd:element>
-      <xsd:element name="security-identity"
-		   type="javaee:security-identityType"
-		   minOccurs="0">
-      </xsd:element>
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:ID"/>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="session-typeType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The session-typeType describes whether the session bean is a
-	stateful session or stateless session. It is used by
-	session-type elements.
-
-	The value must be one of the two following:
-
-	    Stateful
-	    Stateless
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:simpleContent>
-      <xsd:restriction base="javaee:string">
-	<xsd:enumeration value="Stateful"/>
-	<xsd:enumeration value="Stateless"/>
-      </xsd:restriction>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="trans-attributeType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The trans-attributeType specifies how the container must
-	manage the transaction boundaries when delegating a method
-	invocation to an enterprise bean's business method.
-
-	The value must be one of the following:
-
-	    NotSupported
-	    Supports
-	    Required
-	    RequiresNew
-	    Mandatory
-	    Never
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:simpleContent>
-      <xsd:restriction base="javaee:string">
-	<xsd:enumeration value="NotSupported"/>
-	<xsd:enumeration value="Supports"/>
-	<xsd:enumeration value="Required"/>
-	<xsd:enumeration value="RequiresNew"/>
-	<xsd:enumeration value="Mandatory"/>
-	<xsd:enumeration value="Never"/>
-      </xsd:restriction>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-<!-- **************************************************** -->
-
-  <xsd:complexType name="transaction-typeType">
-    <xsd:annotation>
-      <xsd:documentation>
-
-	The transaction-typeType specifies an enterprise bean's
-	transaction management type.
-
-	The transaction-type must be one of the two following:
-
-	    Bean
-	    Container
-
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:simpleContent>
-      <xsd:restriction base="javaee:string">
-	<xsd:enumeration value="Bean"/>
-	<xsd:enumeration value="Container"/>
-      </xsd:restriction>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-</xsd:schema>
-

Added: branches/Branch_4_0/server/src/resources/schema/javaee_web_services_1_2.xsd
===================================================================
--- branches/Branch_4_0/server/src/resources/schema/javaee_web_services_1_2.xsd	2006-09-08 02:29:37 UTC (rev 56626)
+++ branches/Branch_4_0/server/src/resources/schema/javaee_web_services_1_2.xsd	2006-09-08 02:30:13 UTC (rev 56627)
@@ -0,0 +1,747 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+	    targetNamespace="http://java.sun.com/xml/ns/javaee"
+	    xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+	    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+	    elementFormDefault="qualified"
+	    attributeFormDefault="unqualified"
+	    version="1.2">
+  <xsd:annotation>
+    <xsd:documentation>
+      @(#)javaee_web_services_1_2.xsds	1.18 02/13/06
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+
+      Copyright 2003-2006 Sun Microsystems, Inc.
+      4150 Network Circle
+      Santa Clara, California 95054
+      U.S.A
+      All rights reserved.
+
+      Sun Microsystems, Inc. has intellectual property rights
+      relating to technology described in this document. In
+      particular, and without limitation, these intellectual
+      property rights may include one or more of the U.S. patents
+      listed at http://www.sun.com/patents and one or more
+      additional patents or pending patent applications in the
+      U.S. and other countries.
+
+      This document and the technology which it describes are
+      distributed under licenses restricting their use, copying,
+      distribution, and decompilation. No part of this document
+      may be reproduced in any form by any means without prior
+      written authorization of Sun and its licensors, if any.
+
+      Third-party software, including font technology, is
+      copyrighted and licensed from Sun suppliers.
+
+      Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
+      JavaServer Pages, Enterprise JavaBeans and the Java Coffee
+      Cup logo are trademarks or registered trademarks of Sun
+      Microsystems, Inc. in the U.S. and other countries.
+
+      Federal Acquisitions: Commercial Software - Government Users
+      Subject to Standard License Terms and Conditions.
+
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+
+      (C) Copyright International Business Machines Corporation 2002
+
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+      <![CDATA[
+
+	The webservices element is the root element for the web services
+	deployment descriptor.  It specifies the set of web service
+	descriptions that are to be deployed into the Java EE Application
+	Server and the dependencies they have on container resources and
+	services.  The deployment descriptor must be named
+	"META-INF/webservices.xml" in the web services' jar file.
+
+	Used in: webservices.xml
+
+	All webservices deployment descriptors must indicate the
+	webservices schema by using the Java EE namespace:
+
+	http://java.sun.com/xml/ns/javaee
+
+	and by indicating the version of the schema by using the version
+	element as shown below:
+
+	    <webservices xmlns="http://java.sun.com/xml/ns/javaee"
+	      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+		http://java.sun.com/xml/ns/javaee/javaee_web_services_1_2.xsd"
+	      version="1.2">
+	      ...
+	    </webservices>
+
+	The instance documents may indicate the published version of the
+	schema using the xsi:schemaLocation attribute for the Java EE
+	namespace with the following location:
+
+	http://java.sun.com/xml/ns/javaee/javaee_web_services_1_2.xsd
+
+	]]>
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+
+      The following conventions apply to all Java EE
+      deployment descriptor elements unless indicated otherwise.
+
+      - In elements that specify a pathname to a file within the
+	same JAR file, relative filenames (i.e., those not
+	starting with "/") are considered relative to the root of
+	the JAR file's namespace.  Absolute filenames (i.e., those
+	starting with "/") also specify names in the root of the
+	JAR file's namespace.  In general, relative names are
+	preferred.  The exception is .war files where absolute
+	names are preferred for consistency with the Servlet API.
+
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:include schemaLocation="javaee_5.xsd"/>
+
+
+<!-- **************************************************** -->
+
+  <xsd:element name="webservices" type="javaee:webservicesType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The webservices element is the root element for the web services
+	deployment descriptor.  It specifies the set of web service
+	descriptions that are to be deployed into the Java EE Application Server
+	and the dependencies they have on container resources and services.
+
+	Used in: webservices.xml
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:key name="webservice-description-name-key">
+      <xsd:annotation>
+	<xsd:documentation>
+
+	  The webservice-description-name identifies the collection of
+	  port-components associated with a WSDL file and JAX-RPC mapping. The
+	  name must be unique within the deployment descriptor.
+
+	</xsd:documentation>
+      </xsd:annotation>
+      <xsd:selector xpath="javaee:webservice-description"/>
+      <xsd:field xpath="javaee:webservice-description-name"/>
+    </xsd:key>
+  </xsd:element>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="handler-chainType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+      The handler-chain element defines the handlerchain.
+      Handlerchain can be defined such that the handlers in the
+      handlerchain operate,all ports of a service, on a specific
+      port or on a list of protocol-bindings. The choice of elements
+      service-name-pattern, port-name-pattern and protocol-bindings
+      are used to specify whether the handlers in handler-chain are
+      for a service, port or protocol binding. If none of these
+      choices are specified with the handler-chain element then the
+      handlers specified in the handler-chain will be applied on
+      everything.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+
+      <xsd:choice minOccurs="0" maxOccurs="1">
+         <xsd:element name="service-name-pattern"
+		      type="javaee:qname-pattern" />
+         <xsd:element name="port-name-pattern"
+		      type="javaee:qname-pattern" />
+         <xsd:element name="protocol-bindings"
+		      type="javaee:protocol-bindingListType"/>
+      </xsd:choice>
+
+      <xsd:element name="handler"
+                   type="javaee:port-component_handlerType"
+		   minOccurs="1" maxOccurs="unbounded"/>
+    </xsd:sequence>
+
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="handler-chainsType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+      The handler-chains element defines the handlerchains associated
+      with this service or service endpoint.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="handler-chain"
+                   type="javaee:handler-chainType"
+		   minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="port-componentType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The port-component element associates a WSDL port with a web service
+	interface and implementation.  It defines the name of the port as a
+	component, optional description, optional display name, optional iconic
+	representations, WSDL port QName, Service Endpoint Interface, Service
+	Implementation Bean.
+
+	This element also associates a WSDL service with a JAX-WS Provider
+	implementation.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="description"
+		   type="javaee:descriptionType"
+		   minOccurs="0" maxOccurs="1"/>
+      <xsd:element name="display-name"
+		   type="javaee:display-nameType"
+		   minOccurs="0" maxOccurs="1"/>
+      <xsd:element name="icon"
+		   type="javaee:iconType"
+		   minOccurs="0" maxOccurs="1"/>
+      <xsd:element name="port-component-name"
+		   type="javaee:string">
+	<xsd:annotation>
+	  <xsd:documentation>
+	    <![CDATA[
+
+	      The port-component-name element specifies a port component's
+	      name.  This name is assigned by the module producer to name
+	      the service implementation bean in the module's deployment
+	      descriptor. The name must be unique among the port component
+	      names defined in the same module.
+
+	      Used in: port-component
+
+	      Example:
+		      <port-component-name>EmployeeService
+		      </port-component-name>
+
+	      ]]>
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="wsdl-service"
+		   type="javaee:xsdQNameType"
+		   minOccurs="0" maxOccurs="1">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    Defines the name space and local name part of the WSDL
+	    service QName. This is required to be specified for
+	    port components that are JAX-WS Provider implementations.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="wsdl-port"
+		   type="javaee:xsdQNameType"
+		   minOccurs="0" maxOccurs="1">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    Defines the name space and local name part of the WSDL
+	    port QName. This is not required to be specified for port
+	    components that are JAX-WS Provider implementations
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="enable-mtom"
+                   type="javaee:true-falseType"
+		   minOccurs="0" maxOccurs="1">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Used to enable or disable SOAP MTOM/XOP mechanism for an
+            endpoint implementation.
+
+	    Not to be specified for JAX-RPC runtime
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+      <xsd:element name="protocol-binding"
+                   type="javaee:protocol-bindingType"
+		   minOccurs="0" maxOccurs="1">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Used to specify the protocol binding used by the port-component.
+	    If this element is not specified, then the default binding is
+            used (SOAP 1.1 over HTTP)
+
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="service-endpoint-interface"
+		   type="javaee:fully-qualified-classType"
+		   minOccurs="0" maxOccurs="1">
+	<xsd:annotation>
+	  <xsd:documentation>
+	    <![CDATA[
+
+	      The service-endpoint-interface element contains the
+	      fully-qualified name of the port component's Service Endpoint
+	      Interface.
+
+	      Used in: port-component
+
+	      Example:
+		      <remote>com.wombat.empl.EmployeeService</remote>
+
+	      This may not be specified in case there is no Service
+	      Enpoint Interface as is the case with directly using an
+	      implementation class with the @WebService annotation.
+
+	      When the port component is a Provider implementation
+	      this is not specified.
+
+	      ]]>
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="service-impl-bean"
+		   type="javaee:service-impl-beanType"/>
+
+      <xsd:choice>
+	<xsd:element name="handler"
+		     type="javaee:port-component_handlerType"
+		     minOccurs="0" maxOccurs="unbounded">
+	  <xsd:annotation>
+	    <xsd:documentation>
+		 To be used with JAX-RPC based runtime only.
+	    </xsd:documentation>
+	  </xsd:annotation>
+	</xsd:element>
+	<xsd:element name="handler-chains"
+		     type="javaee:handler-chainsType"
+		     minOccurs="0" maxOccurs="1">
+	  <xsd:annotation>
+	    <xsd:documentation>
+		 To be used with JAX-WS based runtime only.
+	    </xsd:documentation>
+	  </xsd:annotation>
+	</xsd:element>
+      </xsd:choice>
+
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="port-component_handlerType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	Declares the handler for a port-component. Handlers can access the
+	init-param name/value pairs using the HandlerInfo interface.
+
+	Used in: port-component
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="handler-name"
+		   type="javaee:string">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    Defines the name of the handler. The name must be unique within the
+	    module.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="handler-class"
+		   type="javaee:fully-qualified-classType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    Defines a fully qualified class name for the handler implementation.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="init-param"
+		   type="javaee:param-valueType"
+		   minOccurs="0" maxOccurs="unbounded"/>
+
+      <xsd:element name="soap-header"
+		   type="javaee:xsdQNameType"
+		   minOccurs="0" maxOccurs="unbounded">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    Defines the QName of a SOAP header that will be processed by the
+	    handler.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="soap-role"
+		   type="javaee:string"
+		   minOccurs="0" maxOccurs="unbounded">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The soap-role element contains a SOAP actor definition that the
+	    Handler will play as a role.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:simpleType name="protocol-URIAliasType">
+     <xsd:annotation>
+        <xsd:documentation>
+	   Defines the type that is used for specifying tokens that
+	   start with ## which are used to alias existing standard
+	   protocol bindings and support aliases for new standard
+	   binding URIs that are introduced in future specifications.
+
+	   The following tokens alias the standard protocol binding
+	   URIs:
+
+	   ##SOAP11_HTTP = "http://schemas.xmlsoap.org/wsdl/soap/http"
+	   ##SOAP11_HTTP_MTOM =
+                 "http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true"
+           ##SOAP12_HTTP = "http://www.w3.org/2003/05/soap/bindings/HTTP/"
+           ##SOAP12_HTTP_MTOM =
+		 "http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true"
+           ##XML_HTTP = "http://www.w3.org/2004/08/wsdl/http"
+
+        </xsd:documentation>
+     </xsd:annotation>
+     <xsd:restriction base="xsd:token">
+        <xsd:pattern value="##.+"/>
+     </xsd:restriction>
+  </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+  <xsd:simpleType name="protocol-bindingListType">
+     <xsd:annotation>
+        <xsd:documentation>
+	   Defines the type used for specifying a list of
+	   protocol-bindingType(s). For e.g.
+
+	    ##SOAP11_HTTP ##SOAP12_HTTP ##XML_HTTP
+
+        </xsd:documentation>
+     </xsd:annotation>
+     <xsd:list itemType="javaee:protocol-bindingType"/>
+  </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+  <xsd:simpleType name="protocol-bindingType">
+     <xsd:annotation>
+        <xsd:documentation>
+	   Defines the type used for specifying the URI for the
+	   protocol binding used by the port-component.  For
+	   portability one could use one of the following tokens that
+	   alias the standard binding types:
+
+	    ##SOAP11_HTTP
+	    ##SOAP11_HTTP_MTOM
+	    ##SOAP12_HTTP
+	    ##SOAP12_HTTP_MTOM
+	    ##XML_HTTP
+
+	   Other specifications could define tokens that start with ##
+	   to alias new standard binding URIs that are introduced.
+
+        </xsd:documentation>
+     </xsd:annotation>
+     <xsd:union memberTypes="xsd:anyURI javaee:protocol-URIAliasType"/>
+  </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+  <xsd:simpleType name="qname-pattern">
+     <xsd:annotation>
+        <xsd:documentation>
+	     This is used to specify the QName pattern in the
+	     attribute service-name-pattern and port-name-pattern in
+	     the handler-chain element
+
+	     For example, the various forms acceptable here for
+	     service-name-pattern attribute in handler-chain element
+	     are :
+
+	     Exact Name: service-name-pattern="ns1:EchoService"
+
+		 In this case, handlers specified in this
+		 handler-chain element will apply to all ports with
+		 this exact service name. The namespace prefix must
+		 have been declared in a namespace declaration
+		 attribute in either the start-tag of the element
+		 where the prefix is used or in an an ancestor
+		 element (i.e. an element in whose content the
+		 prefixed markup occurs)
+
+	     Pattern : service-name-pattern="ns1:EchoService*"
+
+		 In this case, handlers specified in this
+		 handler-chain element will apply to all ports whose
+		 Service names are like EchoService1, EchoServiceFoo
+		 etc. The namespace prefix must have been declared in
+		 a namespace declaration attribute in either the
+		 start-tag of the element where the prefix is used or
+		 in an an ancestor element (i.e. an element in whose
+		 content the prefixed markup occurs)
+
+	     Wild Card : service-name-pattern="*"
+
+		In this case, handlers specified in this handler-chain
+		element will apply to ports of all service names.
+
+	    The same can be applied to port-name attribute in
+	    handler-chain element.
+
+        </xsd:documentation>
+     </xsd:annotation>
+
+     <xsd:restriction base="xsd:token">
+        <xsd:pattern value="\*|([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*\*?"/>
+     </xsd:restriction>
+
+  </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="service-impl-beanType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The service-impl-bean element defines the web service implementation.
+	A service implementation can be an EJB bean class or JAX-RPC web
+	component.  Existing EJB implementations are exposed as a web service
+	using an ejb-link.
+
+	Used in: port-component
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:choice>
+      <xsd:element name="ejb-link"
+		   type="javaee:ejb-linkType"/>
+      <xsd:element name="servlet-link"
+		   type="javaee:servlet-linkType"/>
+    </xsd:choice>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="servlet-linkType">
+    <xsd:annotation>
+      <xsd:documentation>
+	<![CDATA[
+
+	  The servlet-link element is used in the service-impl-bean element
+	  to specify that a Service Implementation Bean is defined as a
+	  JAX-RPC Service Endpoint.
+
+	  The value of the servlet-link element must be the servlet-name of
+	  a JAX-RPC Service Endpoint in the same WAR file.
+
+	  Used in: service-impl-bean
+
+	  Example:
+		  <servlet-link>StockQuoteService</servlet-link>
+
+	  ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:simpleContent>
+      <xsd:restriction base="javaee:string"/>
+    </xsd:simpleContent>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="webservice-descriptionType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The webservice-description element defines a WSDL document file
+	and the set of Port components associated with the WSDL ports
+	defined in the WSDL document.  There may be multiple
+	webservice-descriptions defined within a module.
+
+	All WSDL file ports must have a corresponding port-component element
+	defined.
+
+	Used in: webservices
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="description"
+		   type="javaee:descriptionType"
+		   minOccurs="0" maxOccurs="1"/>
+      <xsd:element name="display-name"
+		   type="javaee:display-nameType"
+		   minOccurs="0" maxOccurs="1"/>
+      <xsd:element name="icon"
+		   type="javaee:iconType"
+		   minOccurs="0" maxOccurs="1"/>
+      <xsd:element name="webservice-description-name"
+		   type="javaee:string">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The webservice-description-name identifies the collection of
+	    port-components associated with a WSDL file and JAX-RPC
+	    mapping. The name must be unique within the deployment descriptor.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="wsdl-file"
+		   type="javaee:pathType"
+		   minOccurs="0" maxOccurs="1">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The wsdl-file element contains the name of a WSDL file in the
+	    module.  The file name is a relative path within the module.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="jaxrpc-mapping-file"
+		   type="javaee:pathType"
+		   minOccurs="0" maxOccurs="1">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The jaxrpc-mapping-file element contains the name of a file that
+	    describes the JAX-RPC mapping between the Java interaces used by
+	    the application and the WSDL description in the wsdl-file.  The
+	    file name is a relative path within the module.
+
+	    This is not required when JAX-WS based runtime is used.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="port-component"
+		   type="javaee:port-componentType"
+		   minOccurs="1" maxOccurs="unbounded">
+	<xsd:key name="port-component_handler-name-key">
+	  <xsd:annotation>
+	    <xsd:documentation>
+
+	      Defines the name of the handler. The name must be unique
+	      within the module.
+
+	    </xsd:documentation>
+	  </xsd:annotation>
+	  <xsd:selector xpath="javaee:handler"/>
+	  <xsd:field xpath="javaee:handler-name"/>
+	</xsd:key>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="webservicesType">
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="webservice-description"
+		   type="javaee:webservice-descriptionType"
+		   minOccurs="1" maxOccurs="unbounded">
+	<xsd:key name="port-component-name-key">
+	  <xsd:annotation>
+	    <xsd:documentation>
+	      <![CDATA[
+
+		The port-component-name element specifies a port
+		component's name.  This name is assigned by the module
+		producer to name the service implementation bean in the
+		module's deployment descriptor. The name must be unique
+		among the port component names defined in the same module.
+
+		Used in: port-component
+
+		Example:
+			<port-component-name>EmployeeService
+			</port-component-name>
+
+		]]>
+	    </xsd:documentation>
+	  </xsd:annotation>
+	  <xsd:selector xpath="javaee:port-component"/>
+	  <xsd:field xpath="javaee:port-component-name"/>
+	</xsd:key>
+      </xsd:element>
+    </xsd:sequence>
+
+    <xsd:attribute name="version"
+		   type="javaee:dewey-versionType"
+		   fixed="1.2"
+		   use="required">
+      <xsd:annotation>
+	<xsd:documentation>
+
+	  The required value for the version is 1.2.
+
+	</xsd:documentation>
+      </xsd:annotation>
+    </xsd:attribute>
+
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+</xsd:schema>
+

Added: branches/Branch_4_0/server/src/resources/schema/javaee_web_services_client_1_2.xsd
===================================================================
--- branches/Branch_4_0/server/src/resources/schema/javaee_web_services_client_1_2.xsd	2006-09-08 02:29:37 UTC (rev 56626)
+++ branches/Branch_4_0/server/src/resources/schema/javaee_web_services_client_1_2.xsd	2006-09-08 02:30:13 UTC (rev 56627)
@@ -0,0 +1,578 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+	    targetNamespace="http://java.sun.com/xml/ns/javaee"
+	    xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+	    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+	    elementFormDefault="qualified"
+	    attributeFormDefault="unqualified"
+	    version="1.2">
+  <xsd:annotation>
+    <xsd:documentation>
+      @(#)javaee_web_services_client_1_2.xsds	1.19 02/13/06
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+
+      Copyright 2003-2006 Sun Microsystems, Inc.
+      4150 Network Circle
+      Santa Clara, California 95054
+      U.S.A
+      All rights reserved.
+
+      Sun Microsystems, Inc. has intellectual property rights
+      relating to technology described in this document. In
+      particular, and without limitation, these intellectual
+      property rights may include one or more of the U.S. patents
+      listed at http://www.sun.com/patents and one or more
+      additional patents or pending patent applications in the
+      U.S. and other countries.
+
+      This document and the technology which it describes are
+      distributed under licenses restricting their use, copying,
+      distribution, and decompilation. No part of this document
+      may be reproduced in any form by any means without prior
+      written authorization of Sun and its licensors, if any.
+
+      Third-party software, including font technology, is
+      copyrighted and licensed from Sun suppliers.
+
+      Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
+      JavaServer Pages, Enterprise JavaBeans and the Java Coffee
+      Cup logo are trademarks or registered trademarks of Sun
+      Microsystems, Inc. in the U.S. and other countries.
+
+      Federal Acquisitions: Commercial Software - Government Users
+      Subject to Standard License Terms and Conditions.
+
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:annotation>
+    <xsd:documentation>
+
+      (C) Copyright International Business Machines Corporation 2002
+
+    </xsd:documentation>
+  </xsd:annotation>
+
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="port-component-refType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The port-component-ref element declares a client dependency
+	on the container for resolving a Service Endpoint Interface
+	to a WSDL port. It optionally associates the Service Endpoint
+	Interface with a particular port-component. This is only used
+	by the container for a Service.getPort(Class) method call.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="service-endpoint-interface"
+		   type="javaee:fully-qualified-classType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The service-endpoint-interface element defines a fully qualified
+	    Java class that represents the Service Endpoint Interface of a
+	    WSDL port.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="enable-mtom"
+                   type="javaee:true-falseType"
+		   minOccurs="0" maxOccurs="1">
+        <xsd:annotation>
+          <xsd:documentation>
+
+            Used to enable or disable SOAP MTOM/XOP mechanism on the client
+	    side for a port-component.
+
+	    Not to be specified for JAX-RPC runtime
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="port-component-link"
+		   type="javaee:string"
+		   minOccurs="0" maxOccurs="1">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The port-component-link element links a port-component-ref
+	    to a specific port-component required to be made available
+	    by a service reference.
+
+	    The value of a port-component-link must be the
+	    port-component-name of a port-component in the same module
+	    or another module in the same application unit. The syntax
+	    for specification follows the syntax defined for ejb-link
+	    in the EJB 2.0 specification.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:group name="service-refGroup">
+    <xsd:sequence>
+      <xsd:element name="service-ref"
+		   type="javaee:service-refType"
+		   minOccurs="0" maxOccurs="unbounded">
+	<xsd:key name="service-ref_handler-name-key">
+	  <xsd:annotation>
+	    <xsd:documentation>
+
+	      Defines the name of the handler. The name must be unique
+	      within the module.
+
+	    </xsd:documentation>
+	  </xsd:annotation>
+	  <xsd:selector xpath="javaee:handler"/>
+	  <xsd:field xpath="javaee:handler-name"/>
+	</xsd:key>
+      </xsd:element>
+    </xsd:sequence>
+  </xsd:group>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="service-refType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	The service-ref element declares a reference to a Web
+	service. It contains optional description, display name and
+	icons, a declaration of the required Service interface,
+	an optional WSDL document location, an optional set
+	of JAX-RPC mappings, an optional QName for the service element,
+	an optional set of Service Endpoint Interfaces to be resolved
+	by the container to a WSDL port, and an optional set of handlers.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="service-ref-name"
+		   type="javaee:jndi-nameType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The service-ref-name element declares logical name that the
+	    components in the module use to look up the Web service. It
+	    is recommended that all service reference names start with
+	    "service/".
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="service-interface"
+		   type="javaee:fully-qualified-classType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The service-interface element declares the fully qualified class
+	    name of the JAX-RPC Service interface the client depends on.
+	    In most cases the value will be javax.xml.rpc.Service.  A JAX-RPC
+	    generated Service Interface class may also be specified.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="service-ref-type"
+		   type="javaee:fully-qualified-classType"
+		   minOccurs="0" maxOccurs="1">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The service-ref-type element declares the type of the service-ref
+	    element that is injected or returned when a JNDI lookup is done.
+	    This must be either a fully qualified name of Service class or
+	    the fully qualified name of service endpoint interface class.
+	    This is only used with JAX-WS runtime where the corresponding
+	    @WebServiceRef annotation can be used to denote both a Service
+	    or a Port.
+
+	    If this is not specified, then the type of service-ref element
+	    that is injected or returned when a JNDI lookup is done is
+	    always a Service interface/class.
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="wsdl-file"
+		   type="javaee:xsdAnyURIType"
+		   minOccurs="0" maxOccurs="1">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The wsdl-file element contains the URI location of a WSDL
+	    file. The location is relative to the root of the module.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="jaxrpc-mapping-file"
+		   type="javaee:pathType"
+		   minOccurs="0" maxOccurs="1">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The jaxrpc-mapping-file element contains the name of a file that
+	    describes the JAX-RPC mapping between the Java interaces used by
+	    the application and the WSDL description in the wsdl-file.  The
+	    file name is a relative path within the module file.
+
+	    This is not required when JAX-WS based runtime is used.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="service-qname"
+		   type="javaee:xsdQNameType"
+		   minOccurs="0" maxOccurs="1">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The service-qname element declares the specific WSDL service
+	    element that is being refered to.  It is not specified if no
+	    wsdl-file is declared.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="port-component-ref"
+		   type="javaee:port-component-refType"
+		   minOccurs="0" maxOccurs="unbounded">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The port-component-ref element declares a client dependency
+	    on the container for resolving a Service Endpoint Interface
+	    to a WSDL port. It optionally associates the Service Endpoint
+	    Interface with a particular port-component. This is only used
+	    by the container for a Service.getPort(Class) method call.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:choice>
+	  <xsd:element name="handler"
+		       type="javaee:service-ref_handlerType"
+		       minOccurs="0" maxOccurs="unbounded">
+	    <xsd:annotation>
+	      <xsd:documentation>
+
+		Declares the handler for a port-component. Handlers can
+		access the init-param name/value pairs using the
+		HandlerInfo interface. If port-name is not specified, the
+		handler is assumed to be associated with all ports of the
+		service.
+
+		To be used with JAX-RPC based runtime only.
+
+	      </xsd:documentation>
+	    </xsd:annotation>
+	  </xsd:element>
+	  <xsd:element name="handler-chains"
+		       type="javaee:service-ref_handler-chainsType"
+		       minOccurs="0" maxOccurs="1">
+	    <xsd:annotation>
+	      <xsd:documentation>
+		 To be used with JAX-WS based runtime only.
+	      </xsd:documentation>
+	    </xsd:annotation>
+	  </xsd:element>
+      </xsd:choice>
+
+      <xsd:group ref="javaee:resourceGroup"/>
+
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="service-ref_handler-chainType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+      The handler-chain element defines the handlerchain.
+      Handlerchain can be defined such that the handlers in the
+      handlerchain operate,all ports of a service, on a specific
+      port or on a list of protocol-bindings. The choice of elements
+      service-name-pattern, port-name-pattern and protocol-bindings
+      are used to specify whether the handlers in handler-chain are
+      for a service, port or protocol binding. If none of these
+      choices are specified with the handler-chain element then the
+      handlers specified in the handler-chain will be applied on
+      everything.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+
+      <xsd:choice minOccurs="0" maxOccurs="1">
+         <xsd:element name="service-name-pattern"
+		      type="javaee:service-ref_qname-pattern" />
+         <xsd:element name="port-name-pattern"
+	              type="javaee:service-ref_qname-pattern" />
+         <xsd:element name="protocol-bindings"
+	              type="javaee:service-ref_protocol-bindingListType"/>
+      </xsd:choice>
+
+      <xsd:element name="handler"
+                   type="javaee:service-ref_handlerType"
+		   minOccurs="1" maxOccurs="unbounded"/>
+    </xsd:sequence>
+
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="service-ref_handler-chainsType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+      The handler-chains element defines the handlerchains associated with this
+      service or service endpoint.
+
+      </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:sequence>
+      <xsd:element name="handler-chain"
+                   type="javaee:service-ref_handler-chainType"
+		   minOccurs="0" maxOccurs="unbounded"/>
+    </xsd:sequence>
+
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:complexType name="service-ref_handlerType">
+    <xsd:annotation>
+      <xsd:documentation>
+
+	Declares the handler for a port-component. Handlers can access the
+	init-param name/value pairs using the HandlerInfo interface. If
+	port-name is not specified, the handler is assumed to be associated
+	with all ports of the service.
+
+	Used in: service-ref
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:sequence>
+      <xsd:group ref="javaee:descriptionGroup"/>
+      <xsd:element name="handler-name"
+		   type="javaee:string">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    Defines the name of the handler. The name must be unique
+	    within the module.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="handler-class"
+		   type="javaee:fully-qualified-classType">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    Defines a fully qualified class name for the handler
+	    implementation.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+      <xsd:element name="init-param"
+		   type="javaee:param-valueType"
+		   minOccurs="0" maxOccurs="unbounded"/>
+
+      <xsd:element name="soap-header"
+		   type="javaee:xsdQNameType"
+		   minOccurs="0" maxOccurs="unbounded">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    Defines the QName of a SOAP header that will be processed
+	    by the handler.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="soap-role"
+		   type="javaee:string"
+		   minOccurs="0" maxOccurs="unbounded">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The soap-role element contains a SOAP actor definition that
+	    the Handler will play as a role.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="port-name"
+		   type="javaee:string"
+		   minOccurs="0" maxOccurs="unbounded">
+	<xsd:annotation>
+	  <xsd:documentation>
+
+	    The port-name element defines the WSDL port-name that a
+	    handler should be associated with.
+
+	  </xsd:documentation>
+	</xsd:annotation>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+
+<!-- **************************************************** -->
+
+  <xsd:simpleType name="service-ref_protocol-URIAliasType">
+     <xsd:annotation>
+        <xsd:documentation>
+	   Defines the type that is used for specifying tokens that
+	   start with ## which are used to alias existing standard
+	   protocol bindings and support aliases for new standard
+	   binding URIs that are introduced in future specifications.
+
+	   The following tokens alias the standard protocol binding
+	   URIs:
+
+	   ##SOAP11_HTTP = "http://schemas.xmlsoap.org/wsdl/soap/http"
+	   ##SOAP11_HTTP_MTOM =
+                 "http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true"
+           ##SOAP12_HTTP = "http://www.w3.org/2003/05/soap/bindings/HTTP/"
+           ##SOAP12_HTTP_MTOM =
+                 "http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true"
+           ##XML_HTTP = "http://www.w3.org/2004/08/wsdl/http"
+
+        </xsd:documentation>
+     </xsd:annotation>
+     <xsd:restriction base="xsd:token">
+        <xsd:pattern value="##.+"/>
+     </xsd:restriction>
+  </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+  <xsd:simpleType name="service-ref_protocol-bindingListType">
+     <xsd:annotation>
+        <xsd:documentation>
+	   Defines the type used for specifying a list of
+	   protocol-bindingType(s). For e.g.
+
+	    ##SOAP11_HTTP ##SOAP12_HTTP ##XML_HTTP
+
+        </xsd:documentation>
+     </xsd:annotation>
+     <xsd:list itemType="javaee:service-ref_protocol-bindingType"/>
+  </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+  <xsd:simpleType name="service-ref_protocol-bindingType">
+     <xsd:annotation>
+        <xsd:documentation>
+	   Defines the type used for specifying the URI for the
+	   protocol binding used by the port-component.  For
+	   portability one could use one of the following tokens that
+	   alias the standard binding types:
+
+	    ##SOAP11_HTTP
+	    ##SOAP11_HTTP_MTOM
+            ##SOAP12_HTTP
+            ##SOAP12_HTTP_MTOM
+            ##XML_HTTP
+
+	   Other specifications could define tokens that start with ##
+	   to alias new standard binding URIs that are introduced.
+
+        </xsd:documentation>
+     </xsd:annotation>
+     <xsd:union memberTypes="xsd:anyURI javaee:service-ref_protocol-URIAliasType"/>
+  </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+  <xsd:simpleType name="service-ref_qname-pattern">
+     <xsd:annotation>
+        <xsd:documentation>
+	     This is used to specify the QName pattern in the
+	     attribute service-name-pattern and port-name-pattern in
+	     the handler-chain element
+
+	     For example, the various forms acceptable here for
+	     service-name-pattern attribute in handler-chain element
+	     are :
+
+	     Exact Name: service-name-pattern="ns1:EchoService"
+
+		 In this case, handlers specified in this
+		 handler-chain element will apply to all ports with
+		 this exact service name. The namespace prefix must
+		 have been declared in a namespace declaration
+		 attribute in either the start-tag of the element
+		 where the prefix is used or in an an ancestor
+		 element (i.e. an element in whose content the
+		 prefixed markup occurs)
+
+	     Pattern : service-name-pattern="ns1:EchoService*"
+
+		 In this case, handlers specified in this
+		 handler-chain element will apply to all ports whose
+		 Service names are like EchoService1, EchoServiceFoo
+		 etc. The namespace prefix must have been declared in
+		 a namespace declaration attribute in either the
+		 start-tag of the element where the prefix is used or
+		 in an an ancestor element (i.e. an element in whose
+		 content the prefixed markup occurs)
+
+	     Wild Card : service-name-pattern="*"
+
+		In this case, handlers specified in this handler-chain
+		element will apply to ports of all service names.
+
+	    The same can be applied to port-name attribute in
+	    handler-chain element.
+
+        </xsd:documentation>
+     </xsd:annotation>
+
+     <xsd:restriction base="xsd:token">
+        <xsd:pattern value="\*|([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*\*?"/>
+     </xsd:restriction>
+
+  </xsd:simpleType>
+
+</xsd:schema>
+




More information about the jboss-cvs-commits mailing list