ibm-ejb-jar-bnd_1_1.xsd 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsd:schema targetNamespace="http://websphere.ibm.com/xml/ns/javaee"
  3. xmlns="http://websphere.ibm.com/xml/ns/javaee"
  4. xmlns:bnd="http://websphere.ibm.com/xml/ns/javaee"
  5. xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  6. elementFormDefault="qualified" attributeFormDefault="unqualified"
  7. version="1.1">
  8. <!-- ******************************************************* -->
  9. <xsd:annotation>
  10. <xsd:documentation>
  11. Copyright (c) 2010 IBM Corporation and others.
  12. All rights reserved. This program and the accompanying materials
  13. are made available under the terms of the Eclipse Public License v1.0
  14. which accompanies this distribution, and is available at
  15. http://www.eclipse.org/legal/epl-v10.html
  16. Contributors:
  17. IBM Corporation - initial API and implementation
  18. </xsd:documentation>
  19. </xsd:annotation>
  20. <!-- ******************************************************* -->
  21. <xsd:include schemaLocation="ibm-common-bnd_1_1.xsd" />
  22. <!-- ******************************************************* -->
  23. <xsd:element name="ejb-jar-bnd" type="ejb-jar-bndType">
  24. <xsd:annotation>
  25. <xsd:documentation>
  26. The root of the ibm-ejb-jar-bnd deployment descriptor.
  27. </xsd:documentation>
  28. </xsd:annotation>
  29. <xsd:unique name="unique-ejb-name">
  30. <xsd:selector xpath="bnd:session | bnd:message-driven" />
  31. <xsd:field xpath="@name" />
  32. </xsd:unique>
  33. <xsd:unique name="unique-interceptor-class">
  34. <xsd:selector xpath="bnd:interceptor" />
  35. <xsd:field xpath="@class" />
  36. </xsd:unique>
  37. <xsd:unique name="unique-message-destination-name">
  38. <xsd:selector xpath="bnd:message-destination" />
  39. <xsd:field xpath="@name" />
  40. </xsd:unique>
  41. </xsd:element>
  42. <!-- ******************************************************* -->
  43. <xsd:complexType name="ejb-jar-bndType">
  44. <xsd:annotation>
  45. <xsd:documentation>
  46. <![CDATA[
  47. The ejb binding descriptor defines binding information for the EJB module
  48. which contains it. It consists of zero or more bindings for beans
  49. contained within the module.
  50. ]]>
  51. </xsd:documentation>
  52. </xsd:annotation>
  53. <xsd:sequence>
  54. <xsd:choice minOccurs="0" maxOccurs="unbounded">
  55. <xsd:element name="session" type="sessionType">
  56. <xsd:unique name="unique-session-interface-class">
  57. <xsd:selector xpath="bnd:interface" />
  58. <xsd:field xpath="@class" />
  59. </xsd:unique>
  60. <xsd:unique name="unique-session-ejb-ref-name">
  61. <xsd:selector xpath="bnd:ejb-ref" />
  62. <xsd:field xpath="@name" />
  63. </xsd:unique>
  64. <xsd:unique name="unique-session-resource-ref-name">
  65. <xsd:selector xpath="bnd:resource-ref" />
  66. <xsd:field xpath="@name" />
  67. </xsd:unique>
  68. <xsd:unique name="unique-session-resource-env-ref-name">
  69. <xsd:selector xpath="bnd:resource-env-ref" />
  70. <xsd:field xpath="@name" />
  71. </xsd:unique>
  72. <xsd:unique name="unique-session-message-destination-ref-name">
  73. <xsd:selector xpath="bnd:message-destination-ref" />
  74. <xsd:field xpath="@name" />
  75. </xsd:unique>
  76. </xsd:element>
  77. <xsd:element name="message-driven" type="message-drivenType">
  78. <xsd:unique name="unique-message-driven-ejb-ref-name">
  79. <xsd:selector xpath="bnd:ejb-ref" />
  80. <xsd:field xpath="@name" />
  81. </xsd:unique>
  82. <xsd:unique name="unique-message-driven-resource-ref-name">
  83. <xsd:selector xpath="bnd:resource-ref" />
  84. <xsd:field xpath="@name" />
  85. </xsd:unique>
  86. <xsd:unique name="unique-message-driven-resource-env-ref-name">
  87. <xsd:selector xpath="bnd:resource-env-ref" />
  88. <xsd:field xpath="@name" />
  89. </xsd:unique>
  90. <xsd:unique name="unique-message-driven-message-destination-ref-name">
  91. <xsd:selector xpath="bnd:message-destination-ref" />
  92. <xsd:field xpath="@name" />
  93. </xsd:unique>
  94. </xsd:element>
  95. <xsd:element name="interceptor" type="interceptorType">
  96. <xsd:unique name="unique-interceptor-ejb-ref-name">
  97. <xsd:selector xpath="bnd:ejb-ref" />
  98. <xsd:field xpath="@name" />
  99. </xsd:unique>
  100. <xsd:unique name="unique-interceptor-resource-ref-name">
  101. <xsd:selector xpath="bnd:resource-ref" />
  102. <xsd:field xpath="@name" />
  103. </xsd:unique>
  104. <xsd:unique name="unique-interceptor-resource-env-ref-name">
  105. <xsd:selector xpath="bnd:resource-env-ref" />
  106. <xsd:field xpath="@name" />
  107. </xsd:unique>
  108. <xsd:unique name="unique-interceptor-message-destination-ref-name">
  109. <xsd:selector xpath="bnd:message-destination-ref" />
  110. <xsd:field xpath="@name" />
  111. </xsd:unique>
  112. </xsd:element>
  113. <xsd:element name="message-destination" type="message-destinationType" />
  114. <xsd:element name="data-source" type="data-sourceType" minOccurs="0" maxOccurs="unbounded"/>
  115. <xsd:element name="env-entry" type="env-entryType" minOccurs="0" maxOccurs="unbounded"/>
  116. </xsd:choice>
  117. </xsd:sequence>
  118. <xsd:attribute name="version" type="xsd:string" fixed="1.1" use="required" />
  119. <xsd:attribute name="id" type="xsd:ID"/>
  120. </xsd:complexType>
  121. <!-- ******************************************************* -->
  122. <xsd:complexType name="sessionType">
  123. <xsd:annotation>
  124. <xsd:documentation>
  125. <![CDATA[
  126. Specifies the binding information for a session bean. The name attribute
  127. identifies the bean to which the binding information applies.
  128. The interface element allows the specification of a unique binding (jndi)
  129. name for zero or more business interfaces of the bean.
  130. The simple-binding-name is an optional binding name that may be used when only
  131. one binding name is needed -- when the bean has zero or one local homes, zero
  132. or one remote homes and zero or one business interfaces. This binding name
  133. then applies to all three interfaces (if they exist).
  134. The remote-home-binding-name allows a unique binding name to be specified for
  135. the remote home interface.
  136. The local-home-binding-name allows a unique binding name to be specified for
  137. the local home interface.
  138. Bindings may also be specified for ejb-refs, ejb-local-ref, resource-refs,
  139. resource-env-refs and message-destination-refs. See the ibm-common-bnd XSD
  140. for more details.
  141. ]]>
  142. </xsd:documentation>
  143. </xsd:annotation>
  144. <xsd:sequence>
  145. <xsd:element name="interface" type="interfaceType" minOccurs="0" maxOccurs="unbounded" />
  146. <xsd:group ref="ref-bindingsGroup"/>
  147. </xsd:sequence>
  148. <xsd:attribute name="id" type="xsd:ID"/>
  149. <xsd:attribute name="name" type="xsd:string" use="required" />
  150. <xsd:attribute name="simple-binding-name" type="xsd:string" use="optional" />
  151. <xsd:attribute name="component-id" type="xsd:string" use="optional" />
  152. <xsd:attribute name="remote-home-binding-name" type="xsd:string" use="optional" />
  153. <xsd:attribute name="local-home-binding-name" type="xsd:string" use="optional" />
  154. </xsd:complexType>
  155. <!-- ******************************************************* -->
  156. <xsd:complexType name="message-drivenType">
  157. <xsd:annotation>
  158. <xsd:documentation>
  159. <![CDATA[
  160. Specifies the binding information for a message driven bean. The name
  161. attribute identifies the bean to which the binding information applies.
  162. The bean can either be bound to a listener port, or to a JCA adapter.
  163. Bindings may also be specified for ejb-refs, resource-refs, resource-env-refs
  164. and message-destination-refs. See the ibm-common-bnd XSD for more details.
  165. ]]>
  166. </xsd:documentation>
  167. </xsd:annotation>
  168. <xsd:sequence>
  169. <xsd:choice>
  170. <xsd:element name="listener-port" type="listener-portType"/>
  171. <xsd:element name="jca-adapter" type="jca-adapterType"/>
  172. </xsd:choice>
  173. <xsd:group ref="ref-bindingsGroup"/>
  174. </xsd:sequence>
  175. <xsd:attribute name="id" type="xsd:ID"/>
  176. <xsd:attribute name="name" type="xsd:string" use="required" />
  177. </xsd:complexType>
  178. <!-- ******************************************************* -->
  179. <xsd:complexType name="interfaceType">
  180. <xsd:annotation>
  181. <xsd:documentation>
  182. Specifies the binding for a session bean business interface. The class
  183. attribute specifies the fully qualified name of the business interface.
  184. If no value is specified for the class, this will suggest a no-interface view.
  185. The binding-name attribute specifies the binding (jndi) name to be
  186. associated with the business interface.
  187. </xsd:documentation>
  188. </xsd:annotation>
  189. <xsd:attribute name="id" type="xsd:ID"/>
  190. <xsd:attribute name="binding-name" type="xsd:string" use="required" />
  191. <xsd:attribute name="class" type="xsd:string" use="required" />
  192. </xsd:complexType>
  193. <!-- ******************************************************* -->
  194. <xsd:complexType name="listener-portType">
  195. <xsd:annotation>
  196. <xsd:documentation>
  197. Specifies the name of the listener port for a message driven bean.
  198. </xsd:documentation>
  199. </xsd:annotation>
  200. <xsd:attribute name="id" type="xsd:ID"/>
  201. <xsd:attribute name="name" type="xsd:string" use="required" />
  202. </xsd:complexType>
  203. <!-- ******************************************************* -->
  204. <xsd:complexType name="jca-adapterType">
  205. <xsd:annotation>
  206. <xsd:documentation>
  207. Specifies the binding for a JCA adapter for a message driven bean. The
  208. required information is the binding (jndi) name for the activation
  209. specification, the authentication alias for the activation specification,
  210. and the binding name for the destination.
  211. </xsd:documentation>
  212. </xsd:annotation>
  213. <xsd:attribute name="id" type="xsd:ID"/>
  214. <xsd:attribute name="activation-spec-binding-name" type="xsd:string" use="required" />
  215. <xsd:attribute name="activation-spec-auth-alias" type="xsd:string" />
  216. <xsd:attribute name="destination-binding-name" type="xsd:string"/>
  217. </xsd:complexType>
  218. </xsd:schema>