ejb-jar_2_0.dtd 54 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660
  1. <!--
  2. Copyright 2000-2001 Sun Microsystems, Inc. 901 San Antonio Road,
  3. Palo Alto, CA 94303, U.S.A. All rights reserved.
  4. This product or document is protected by copyright and distributed
  5. under licenses restricting its use, copying, distribution, and
  6. decompilation. No part of this product or documentation may be
  7. reproduced in any form by any means without prior written authorization
  8. of Sun and its licensors, if any.
  9. Third party software, including font technology, is copyrighted and
  10. licensed from Sun suppliers.
  11. Sun, Sun Microsystems, the Sun Logo, Solaris, Java, JavaServer Pages, Java
  12. Naming and Directory Interface, JDBC, JDK, JavaMail and Enterprise JavaBeans,
  13. are trademarks or registered trademarks of Sun Microsystems, Inc in the U.S.
  14. and other countries.
  15. All SPARC trademarks are used under license and are trademarks
  16. or registered trademarks of SPARC International, Inc.
  17. in the U.S. and other countries. Products bearing SPARC
  18. trademarks are based upon an architecture developed by Sun Microsystems, Inc.
  19. PostScript is a registered trademark of Adobe Systems, Inc.
  20. Federal Acquisitions: Commercial Software - Government Users Subject to
  21. Standard License Terms and Conditions.
  22. DOCUMENTATION IS PROVIDED "AS IS" AND ALL EXPRESS OR IMPLIED
  23. CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
  24. IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
  25. PURPOSE OR NON-INFRINGEMENT, ARE DISCLAIMED, EXCEPT
  26. TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY
  27. INVALID.
  28. _________________________________________________________________________
  29. Copyright 2000-2001 Sun Microsystems, Inc.,
  30. 901 San Antonio Road, Palo Alto, CA 94303, Etats-Unis.
  31. Tous droits re'serve's.
  32. Ce produit ou document est prote'ge' par un copyright et distribue' avec
  33. des licences qui en restreignent l'utilisation, la copie, la distribution,
  34. et la de'compilation. Aucune partie de ce produit ou de sa documentation
  35. associe'e ne peut e^tre reproduite sous aucune forme, par quelque moyen
  36. que ce soit, sans l'autorisation pre'alable et e'crite de Sun et de ses
  37. bailleurs de licence, s'il y en a.
  38. Le logiciel de'tenu par des tiers, et qui comprend la technologie
  39. relative aux polices de caracte`res, est prote'ge' par un copyright
  40. et licencie' par des fournisseurs de Sun.
  41. Sun, Sun Microsystems, le logo Sun, Solaris, Java, JavaServer Pages, Java
  42. Naming and Directory Interface, JDBC, JDK, JavaMail, et Enterprise JavaBeans,
  43. sont des marques de fabrique ou des marques de'pose'es de Sun
  44. Microsystems, Inc. aux Etats-Unis et dans d'autres pays.
  45. Toutes les marques SPARC sont utilise'es sous licence et sont
  46. des marques de fabrique ou des marques de'pose'es de SPARC
  47. International, Inc. aux Etats-Unis et dans
  48. d'autres pays. Les produits portant les marques SPARC sont
  49. base's sur une architecture de'veloppe'e par Sun Microsystems, Inc.
  50. Postcript est une marque enregistre'e d'Adobe Systems Inc.
  51. LA DOCUMENTATION EST FOURNIE "EN L'ETAT" ET TOUTES AUTRES CONDITIONS,
  52. DECLARATIONS ET GARANTIES EXPRESSES OU TACITES SONT FORMELLEMENT EXCLUES,
  53. DANS LA MESURE AUTORISEE PAR LA LOI APPLICABLE, Y COMPRIS NOTAMMENT
  54. TOUTE GARANTIE IMPLICITE RELATIVE A LA QUALITE MARCHANDE, A L'APTITUDE
  55. A UNE UTILISATION PARTICULIERE OU A L'ABSENCE DE CONTREFACON.
  56. -->
  57. <!--
  58. This is the XML DTD for the EJB 2.0 deployment descriptor.
  59. All EJB 2.0 deployment descriptors must include a DOCTYPE
  60. of the following form:
  61. <!DOCTYPE ejb-jar PUBLIC
  62. "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"
  63. "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
  64. -->
  65. <!--
  66. The following conventions apply to all J2EE deployment descriptor
  67. elements unless indicated otherwise.
  68. - In elements that contain PCDATA, leading and trailing whitespace
  69. in the data may be ignored.
  70. - In elements whose value is an "enumerated type", the value is
  71. case sensitive.
  72. - In elements that specify a pathname to a file within the same
  73. JAR file, relative filenames (i.e., those not starting with "/")
  74. are considered relative to the root of the JAR file's namespace.
  75. Absolute filenames (i.e., those starting with "/") also specify
  76. names in the root of the JAR file's namespace. In general, relative
  77. names are preferred. The exception is .war files where absolute
  78. names are preferred for consistency with the servlet API.
  79. -->
  80. <!--
  81. The ejb-jar element is the root element of the EJB deployment
  82. descriptor. It contains
  83. - an optional description of the ejb-jar file
  84. - an optional display name
  85. - an optional small icon file name
  86. - an optional large icon file name
  87. - mandatory structural information about all included
  88. enterprise beans
  89. - a descriptor for container managed relationships, if any
  90. - an optional application-assembly descriptor
  91. - an optional name of an ejb-client-jar file for the ejb-jar.
  92. -->
  93. <!ELEMENT ejb-jar (description?, display-name?, small-icon?,
  94. large-icon?, enterprise-beans, relationships?, assembly-descriptor?,
  95. ejb-client-jar?)>
  96. <!--
  97. The abstract-schema-name element specifies the name of the abstract
  98. schema type of an entity bean with cmp-version 2.x. It is used in EJB
  99. QL queries.
  100. For example, the abstract-schema-name for an entity bean whose local
  101. interface is com.acme.commerce.Order might be Order.
  102. Used in: entity
  103. -->
  104. <!ELEMENT abstract-schema-name (#PCDATA)>
  105. <!--
  106. The acknowledge-mode element specifies whether JMS AUTO_ACKNOWLEDGE or
  107. DUPS_OK_ACKNOWLEDGE message acknowledgment semantics should be used
  108. for the onMessage message of a message-driven bean that uses bean
  109. managed transaction demarcation.
  110. The acknowledge-mode element must be one of the two following:
  111. <acknowledge-mode>Auto-acknowledge</acknowledge-mode>
  112. <acknowledge-mode>Dups-ok-acknowledge</acknowledgemode>
  113. Used in: message-driven
  114. -->
  115. <!ELEMENT acknowledge-mode (#PCDATA)>
  116. <!--
  117. The assembly-descriptor element contains application-assembly information.
  118. The application-assembly information consists of the following parts:
  119. the definition of security roles, the definition of method
  120. permissions, the definition of transaction attributes for
  121. enterprise beans with container-managed transaction demarcation and
  122. a list of methods to be excluded from deployment.
  123. All the parts are optional in the sense that they are omitted if the
  124. lists represented by them are empty.
  125. Providing an assembly-descriptor in the deployment descriptor is
  126. optional for the ejb-jar file producer.
  127. Used in: ejb-jar
  128. -->
  129. <!ELEMENT assembly-descriptor (security-role*, method-permission*,
  130. container-transaction*, exclude-list?)>
  131. <!--
  132. The cascade-delete element specifies that, within a particular
  133. relationship, the lifetime of one or more entity beans is dependent
  134. upon the lifetime of another entity bean. The cascade-delete element
  135. can only be specified for an ejb-relationship-role element contained
  136. in an ejb-relation element in which the other ejb-relationship-role
  137. element specifies a multiplicity of One.
  138. Used in: ejb-relationship-role
  139. -->
  140. <!ELEMENT cascade-delete EMPTY>
  141. <!--
  142. The cmp-field element describes a container-managed field. The
  143. field element includes an optional description of the field, and the
  144. name of the field.
  145. Used in: entity
  146. -->
  147. <!ELEMENT cmp-field (description?, field-name)>
  148. <!--
  149. The cmp-version element specifies the version of an entity bean
  150. with container-managed persistence.
  151. The cmp-version element must be one of the two following:
  152. <cmp-version>1.x</cmp-version>
  153. <cmp-version>2.x</cmp-version>
  154. The default value of the cmp-version element is 2.x.
  155. Used in: entity
  156. -->
  157. <!ELEMENT cmp-version (#PCDATA)>
  158. <!--
  159. The cmr-field element describes the bean provider's view of a
  160. relationship. It consists of an optional description, and the name and
  161. the class type of a field in the source of a role of a
  162. relationship. The cmr-field-name element corresponds to the name used
  163. for the get and set accessor methods for the relationship. The
  164. cmr-field-type element is used only for collection-valued
  165. cmr-fields. It specifies the type of the collection that is used.
  166. Used in: ejb-relationship-role
  167. -->
  168. <!ELEMENT cmr-field (description?, cmr-field-name, cmr-field-type?)>
  169. <!--
  170. The cmr-field-name element specifies the name of a logical
  171. relationship field in the entity bean class. The name of the cmr-field
  172. must begin with a lowercase letter. This field is accessed by methods
  173. whose names consists of the name of the field specified by
  174. cmr-field-name in which the first letter is uppercased, prefixed by
  175. "get" or "set".
  176. Used in: cmr-field
  177. -->
  178. <!ELEMENT cmr-field-name (#PCDATA)>
  179. <!--
  180. The cmr-field-type element specifies the class of a
  181. collection-valued logical relationship field in the entity bean
  182. class. The value of the cmr-field-type element must be either:
  183. java.util.Collection or java.util.Set.
  184. Used in: cmr-field
  185. -->
  186. <!ELEMENT cmr-field-type (#PCDATA)>
  187. <!--
  188. The container-transaction element specifies how the container
  189. must manage transaction scopes for the enterprise bean's method
  190. invocations. The element consists of an optional description, a list
  191. of method elements, and a transaction attribute. The transaction
  192. attribute is to be applied to all the specified methods.
  193. Used in: assembly-descriptor
  194. -->
  195. <!ELEMENT container-transaction (description?, method+, trans-attribute)>
  196. <!--
  197. The description element is used to provide text describing the parent
  198. element. The description element should include any information that
  199. the enterprise bean ejb-jar file producer wants to provide to the consumer of
  200. the enterprise bean ejb-jar file (i.e., to the Deployer). Typically, the tools
  201. used by the enterprise bean ejb-jar file consumer will display the description
  202. when processing the parent element that contains the description.
  203. Used in: cmp-field, cmr-field, container-transaction, ejb-jar,
  204. ejb-local-ref, ejb-ref, ejb-relation, ejb-relationship-role, entity,
  205. env-entry, exclude-list, message-driven, method, method-permission,
  206. query, relationship-role-source, relationships, resource-env-ref,
  207. resource-ref, run-as, security-identity, security-role,
  208. security-role-ref, session
  209. -->
  210. <!ELEMENT description (#PCDATA)>
  211. <!--
  212. The destination-type element specifies the type of the JMS
  213. destination. The type is specified by the Java interface expected to
  214. be implemented by the destination.
  215. The destination-type element must be one of the two following:
  216. <destination-type>javax.jms.Queue</destination-type>
  217. <destination-type>javax.jms.Topic</destination-type>
  218. Used in: message-driven-destination
  219. -->
  220. <!ELEMENT destination-type (#PCDATA)>
  221. <!--
  222. The display-name element contains a short name that is intended to be
  223. displayed by tools. The display name need not be unique.
  224. Used in: ejb-jar, entity, message-driven, session
  225. Example:
  226. <display-name>Employee Self Service</display-name>
  227. -->
  228. <!ELEMENT display-name (#PCDATA)>
  229. <!--
  230. The ejb-class element contains the fully-qualified name of the
  231. enterprise bean's class.
  232. Used in: entity, message-driven, session
  233. Example:
  234. <ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class>
  235. -->
  236. <!ELEMENT ejb-class (#PCDATA)>
  237. <!--
  238. The optional ejb-client-jar element specifies a JAR file that contains
  239. the class files necessary for a client program to access the
  240. enterprise beans in the ejb-jar file.
  241. Used in: ejb-jar
  242. Example:
  243. <ejb-client-jar>employee_service_client.jar</ejb-client-jar>
  244. -->
  245. <!ELEMENT ejb-client-jar (#PCDATA)>
  246. <!--
  247. The ejb-link element is used in the ejb-ref or ejb-local-ref
  248. elements to specify that an EJB reference is linked to an
  249. enterprise bean.
  250. The value of the ejb-link element must be the ejb-name of an
  251. enterprise bean in the same ejb-jar file or in another ejb-jar
  252. file in the same J2EE application unit.
  253. Alternatively, the name in the ejb-link element may be composed of a
  254. path name specifying the ejb-jar containing the referenced enterprise
  255. bean with the ejb-name of the target bean appended and separated from
  256. the path name by "#". The path name is relative to the ejb-jar file
  257. containing the enterprise bean that is referencing the enterprise bean.
  258. This allows multiple enterprise beans with the same ejb-name to be
  259. uniquely identified.
  260. Used in: ejb-local-ref, ejb-ref
  261. Examples:
  262. <ejb-link>EmployeeRecord</ejb-link>
  263. <ejb-link>../products/product.jar#ProductEJB</ejb-link>
  264. -->
  265. <!ELEMENT ejb-link (#PCDATA)>
  266. <!--
  267. The ejb-local-ref element is used for the declaration of a reference to
  268. an enterprise bean's local home. The declaration consists of:
  269. - an optional description
  270. - the EJB reference name used in the code of the enterprise bean
  271. that's referencing the enterprise bean
  272. - the expected type of the referenced enterprise bean
  273. - the expected local home and local interfaces of the referenced
  274. enterprise bean
  275. - optional ejb-link information, used to specify the referenced
  276. enterprise bean
  277. Used in: entity, message-driven, session
  278. -->
  279. <!ELEMENT ejb-local-ref (description?, ejb-ref-name, ejb-ref-type,
  280. local-home, local, ejb-link?)>
  281. <!--
  282. The ejb-name element specifies an enterprise bean's name. This name is
  283. assigned by the ejb-jar file producer to name the enterprise bean in
  284. the ejb-jar file's deployment descriptor. The name must be unique
  285. among the names of the enterprise beans in the same ejb-jar file.
  286. There is no architected relationship between the ejb-name in the
  287. deployment descriptor and the JNDI name that the Deployer will assign
  288. to the enterprise bean's home.
  289. The name for an entity bean with cmp-version 2.x must conform to the
  290. lexical rules for an NMTOKEN. The name for an entity bean with
  291. cmp-version 2.x must not be a reserved literal in EJB QL.
  292. Used in: entity, message-driven, method, relationship-role-source,
  293. session
  294. Example:
  295. <ejb-name>EmployeeService</ejb-name>
  296. -->
  297. <!ELEMENT ejb-name (#PCDATA)>
  298. <!--
  299. The ejb-ql element contains the EJB QL query string that defines
  300. a finder or select query. This element is defined within the scope of
  301. a query element whose contents specify the finder or the select method
  302. that uses the query. The content must be a valid EJB QL query string
  303. for the entity bean for which the query is specified.
  304. The ejb-ql element must be specified for all queries that are
  305. expressible in EJB QL.
  306. Used in: query
  307. Example:
  308. <query>
  309. <query-method>
  310. <method-name>ejbSelectPendingLineitems</method-name>
  311. <method-params/>
  312. </query-method>
  313. <ejb-ql>SELECT ENTITY(l) FROM LineItems l WHERE l.shipped <> TRUE
  314. </ejb-ql>
  315. </query>
  316. -->
  317. <!ELEMENT ejb-ql (#PCDATA)>
  318. <!--
  319. The ejb-ref element is used for the declaration of a reference to
  320. an enterprise bean's home. The declaration consists of:
  321. - an optional description
  322. - the EJB reference name used in the code of
  323. the enterprise bean that's referencing the enterprise bean
  324. - the expected type of the referenced enterprise bean
  325. - the expected home and remote interfaces of the referenced
  326. enterprise bean
  327. - optional ejb-link information, used to specify the referenced
  328. enterprise bean
  329. Used in: entity, message-driven, session
  330. -->
  331. <!ELEMENT ejb-ref (description?, ejb-ref-name, ejb-ref-type,
  332. home, remote, ejb-link?)>
  333. <!--
  334. The ejb-ref-name element contains the name of an EJB reference. The
  335. EJB reference is an entry in the enterprise bean's environment and is
  336. relative to the java:comp/env context. The name must be unique
  337. within the enterprise bean.
  338. It is recommended that name is prefixed with "ejb/".
  339. Used in: ejb-local-ref, ejb-ref
  340. Example:
  341. <ejb-ref-name>ejb/Payroll</ejb-ref-name>
  342. -->
  343. <!ELEMENT ejb-ref-name (#PCDATA)>
  344. <!--
  345. The ejb-ref-type element contains the expected type of the
  346. referenced enterprise bean.
  347. The ejb-ref-type element must be one of the following:
  348. <ejb-ref-type>Entity</ejb-ref-type>
  349. <ejb-ref-type>Session</ejb-ref-type>
  350. Used in: ejb-local-ref, ejb-ref
  351. -->
  352. <!ELEMENT ejb-ref-type (#PCDATA)>
  353. <!--
  354. The ejb-relation element describes a relationship between two
  355. entity beans with container managed persistence. An ejb-relation
  356. element contains a description; an optional ejb-relation-name element;
  357. and exactly two relationship role declarations, defined by the
  358. ejb-relationship-role elements. The name of the relationship, if
  359. specified, is unique within the ejb-jar file.
  360. Used in: relationships
  361. -->
  362. <!ELEMENT ejb-relation (description?, ejb-relation-name?, ejb-relationship-role,
  363. ejb-relationship-role)>
  364. <!--
  365. The ejb-relation-name element provides a unique name for a relationship.
  366. Used in: ejb-relation
  367. -->
  368. <!ELEMENT ejb-relation-name (#PCDATA)>
  369. <!--
  370. The ejb-relationship-role element describes a role within a
  371. relationship. There are two roles in each relationship.
  372. The ejb-relationship-role element contains an optional description; an
  373. optional name for the relationship role; a specification of the
  374. multiplicity of the role; an optional specification of cascade-delete
  375. functionality for the role; the role source; and a declaration of the
  376. cmr-field, if any, by means of which the other side of the
  377. relationship is accessed from the perspective of the role source.
  378. The multiplicity and role-source element are mandatory.
  379. The relationship-role-source element designates an entity bean by
  380. means of an ejb-name element. For bidirectional relationships, both
  381. roles of a relationship must declare a relationship-role-source
  382. element that specifies a cmr-field in terms of which the relationship
  383. is accessed. The lack of a cmr-field element in an
  384. ejb-relationship-role specifies that the relationship is
  385. unidirectional in navigability and the entity bean that participates
  386. in the relationship is "not aware" of the relationship.
  387. Used in: ejb-relation
  388. Example:
  389. <ejb-relation>
  390. <ejb-relation-name>Product-LineItem</ejb-relation-name>
  391. <ejb-relationship-role>
  392. <ejb-relationship-role-name>product-has-lineitems
  393. </ejb-relationship-role-name>
  394. <multiplicity>One</multiplicity>
  395. <relationship-role-source>
  396. <ejb-name>ProductEJB</ejb-name>
  397. </relationship-role-source>
  398. </ejb-relationship-role>
  399. ...
  400. -->
  401. <!ELEMENT ejb-relationship-role (description?, ejb-relationship-role-name?,
  402. multiplicity, cascade-delete?, relationship-role-source, cmr-field?)>
  403. <!--
  404. The ejb-relationship-role-name element defines a name for a role that
  405. is unique within an ejb-relation. Different relationships can use the
  406. same name for a role.
  407. Used in: ejb-relationship-role
  408. -->
  409. <!ELEMENT ejb-relationship-role-name (#PCDATA)>
  410. <!--
  411. The enterprise-beans element contains the declarations of one or more
  412. enterprise beans.
  413. -->
  414. <!ELEMENT enterprise-beans (session | entity | message-driven)+>
  415. <!--
  416. The entity element declares an entity bean. The declaration
  417. consists of:
  418. - an optional description
  419. - an optional display name
  420. - an optional small icon file name
  421. - an optional large icon file name
  422. - a unique name assigned to the enterprise bean
  423. in the deployment descriptor
  424. - the names of the entity bean's home and component interfaces, if any
  425. - the names of the entity bean's local home and local
  426. interface, if any
  427. - the entity bean's implementation class
  428. - the entity bean's persistence management type
  429. - the entity bean's primary key class name
  430. - an indication of the entity bean's reentrancy
  431. - an optional specification of the entity bean's cmp-version
  432. - an optional specification of the entity bean's abstract
  433. schema name
  434. - an optional list of container-managed fields
  435. - an optional specification of the primary key field
  436. - an optional declaration of the bean's environment entries
  437. - an optional declaration of the bean's EJB references
  438. - an optional declaration of the bean's local EJB references
  439. - an optional declaration of the security role references
  440. - an optional declaration of the security identity
  441. to be used for the execution of the bean's methods
  442. - an optional declaration of the bean's resource manager
  443. connection factory references
  444. - an optional declaration of the bean's
  445. resource environment references
  446. - an optional set of query declarations
  447. for finder and select methods for an entity
  448. bean with cmp-version 2.x.
  449. The optional abstract-schema-name element must be specified for an
  450. entity bean with container managed persistence and cmp-version 2.x.
  451. The optional primkey-field may be present in the descriptor if the
  452. entity's persistence-type is Container.
  453. The optional cmp-version element may be present in the descriptor if
  454. the entity's persistence-type is Container. If the persistence-type is
  455. Container and the cmp-version element is not specified, its value
  456. defaults to 2.x.
  457. The optional home and remote elements must be specified if the entity
  458. bean cmp-version is 1.x.
  459. The optional local-home and local elements must be specified if the
  460. entity bean has a local home and local interface.
  461. Either both the local-home and the local elements or both the
  462. home and the remote elements must be specified.
  463. The optional query elements must be present if the persistence-type is
  464. Container and the cmp-version is 2.x and query methods other than
  465. findByPrimaryKey have been defined for the entity bean.
  466. The other elements that are optional are "optional" in the sense that
  467. they are omitted if the lists represented by them are empty.
  468. At least one cmp-field element must be present in the descriptor if
  469. the entity's persistence-type is Container and the cmp-version is 1.x,
  470. and none must not be present if the entity's persistence-type is Bean.
  471. Used in: enterprise-beans
  472. -->
  473. <!ELEMENT entity (description?, display-name?, small-icon?,
  474. large-icon?, ejb-name, home?, remote?, local-home?,
  475. local?, ejb-class, persistence-type, prim-key-class,
  476. reentrant, cmp-version?, abstract-schema-name?,
  477. cmp-field*, primkey-field?, env-entry*, ejb-ref*,
  478. ejb-local-ref*, security-role-ref*, security-identity?,
  479. resource-ref*, resource-env-ref*, query*)>
  480. <!--
  481. The env-entry element contains the declaration of an enterprise bean's
  482. environment entry. The declaration consists of an optional
  483. description, the name of the environment entry, and an optional
  484. value. If a value is not specified, one must be supplied
  485. during deployment.
  486. Used in: entity, message-driven, session
  487. -->
  488. <!ELEMENT env-entry (description?, env-entry-name, env-entry-type,
  489. env-entry-value?)>
  490. <!--
  491. The env-entry-name element contains the name of an enterprise bean's
  492. environment entry. The name is a JNDI name relative to the
  493. java:comp/env context. The name must be unique within an enterprise bean.
  494. Used in: env-entry
  495. Example:
  496. <env-entry-name>minAmount</env-entry-name>
  497. -->
  498. <!ELEMENT env-entry-name (#PCDATA)>
  499. <!--
  500. The env-entry-type element contains the fully-qualified Java type of
  501. the environment entry value that is expected by the enterprise bean's
  502. code.
  503. The following are the legal values of env-entry-type:
  504. java.lang.Boolean
  505. java.lang.Byte
  506. java.lang.Character
  507. java.lang.String
  508. java.lang.Short
  509. java.lang.Integer
  510. java.lang.Long
  511. java.lang.Float
  512. java.lang.Double
  513. Used in: env-entry
  514. Example:
  515. <env-entry-type>java.lang.Boolean</env-entry-type>
  516. -->
  517. <!ELEMENT env-entry-type (#PCDATA)>
  518. <!--
  519. The env-entry-value element contains the value of an enterprise bean's
  520. environment entry. The value must be a String that is valid for the
  521. constructor of the specified type that takes a single String
  522. parameter, or for java.lang.Character, a single character.
  523. Used in: env-entry
  524. Example:
  525. <env-entry-value>100.00</env-entry-value>
  526. -->
  527. <!ELEMENT env-entry-value (#PCDATA)>
  528. <!--
  529. The exclude list element defines a set of methods which the Assembler marks to
  530. be uncallable. It contains one or more methods.
  531. If the method permission relation contains methods that are in the
  532. exclude list, the Deployer must consider those methods to be
  533. uncallable.
  534. Used in: assembly-descriptor
  535. -->
  536. <!ELEMENT exclude-list (description?, method+)>
  537. <!--
  538. The field-name element specifies the name of a container managed
  539. field. The name must be a public field of the enterprise bean class or
  540. one of its superclasses.
  541. The name of the cmp-field of an entity bean with cmp-version 2.x must
  542. begin with a lowercase letter. This field is accessed by methods whose
  543. names consists of the name of the field specified by field-name in
  544. which the first letter is uppercased, prefixed by "get" or "set".
  545. Used in: cmp-field
  546. Example:
  547. <field-name>firstName</field-Name>
  548. -->
  549. <!ELEMENT field-name (#PCDATA)>
  550. <!--
  551. The home element contains the fully-qualified name of the enterprise
  552. bean's home interface.
  553. Used in: ejb-ref, entity, session
  554. Example:
  555. <home>com.aardvark.payroll.PayrollHome</home>
  556. -->
  557. <!ELEMENT home (#PCDATA)>
  558. <!--
  559. The large-icon element contains the name of a file
  560. containing a large (32 x 32) icon image. The file
  561. name is a relative path within the enterprise bean's
  562. ejb-jar file.
  563. The image may be either in the JPEG or GIF format.
  564. The icon can be used by tools.
  565. Used in: ejb-jar, entity, message-driven, session
  566. Example:
  567. <large-icon>employee-service-icon32x32.jpg</large-icon>
  568. -->
  569. <!ELEMENT large-icon (#PCDATA)>
  570. <!--
  571. The local element contains the fully-qualified name of the
  572. enterprise bean's local interface.
  573. Used in: ejb-local-ref, entity, session
  574. -->
  575. <!ELEMENT local (#PCDATA)>
  576. <!--
  577. The local-home element contains the fully-qualified name of the
  578. enterprise bean's local home interface.
  579. Used in: ejb-local-ref, entity, session
  580. -->
  581. <!ELEMENT local-home (#PCDATA)>
  582. <!--
  583. The message-driven element declares a message-driven bean. The
  584. declaration consists of:
  585. - an optional description
  586. - an optional display name
  587. - an optional small icon file name
  588. - an optional large icon file name
  589. - a name assigned to the enterprise bean in
  590. the deployment descriptor
  591. - the message-driven bean's implementation class
  592. - the message-driven bean's transaction management type
  593. - an optional declaration of the message-driven bean's
  594. message selector
  595. - an optional declaration of the
  596. acknowledgment mode for the message-driven bean
  597. if bean-managed transaction demarcation is used
  598. - an optional declaration of the
  599. intended destination type of the message-driven bean
  600. - an optional declaration of the bean's environment entries
  601. - an optional declaration of the bean's EJB references
  602. - an optional declaration of the bean's local EJB references
  603. - an optional declaration of the security
  604. identity to be used for the execution of the bean's methods
  605. - an optional declaration of the bean's resource manager
  606. connection factory references
  607. - an optional declaration of the bean's resource
  608. environment references.
  609. Used in: enterprise-beans
  610. -->
  611. <!ELEMENT message-driven (description?, display-name?, small-icon?,
  612. large-icon?, ejb-name, ejb-class, transaction-type,
  613. message-selector?, acknowledge-mode?,
  614. message-driven-destination?, env-entry*, ejb-ref*,
  615. ejb-local-ref*, security-identity?, resource-ref*,
  616. resource-env-ref*)>
  617. <!--
  618. The message-driven-destination element provides advice to the Deployer
  619. as to whether a message-driven bean is intended for a Queue or a
  620. Topic. The declaration consists of: the type of the message-driven
  621. bean's intended destination and an optional declaration of whether a
  622. durable or non-durable subscription should be used if the
  623. destination-type is javax.jms.Topic.
  624. Used in: message-driven
  625. -->
  626. <!ELEMENT message-driven-destination (destination-type,
  627. subscription-durability?)>
  628. <!--
  629. The message-selector element is used to specify the JMS message
  630. selector to be used in determining which messages a message-driven
  631. bean is to receive.
  632. Example:
  633. <message-selector>JMSType = `car' AND color = `blue' AND weight &gt; 2500
  634. </message-selector>
  635. Used in: message-driven
  636. -->
  637. <!ELEMENT message-selector (#PCDATA)>
  638. <!--
  639. The method element is used to denote a method of an enterprise
  640. bean's home or component interface, or, in the case of a message-driven
  641. bean, the bean's onMessage method, or a set of methods. The ejb-name
  642. element must be the name of one of the enterprise beans declared in
  643. the deployment descriptor; the optional method-intf element allows to
  644. distinguish between a method with the same signature that is multiply
  645. defined across in both the home and component interfaces; the
  646. method-name element specifies the method name; and the optional
  647. method-params elements identify a single method among multiple methods
  648. with an overloaded method name.
  649. There are three possible styles of the method element syntax:
  650. 1.
  651. <method>
  652. <ejb-name>EJBNAME</ejb-name>
  653. <method-name>*</method-name>
  654. </method>
  655. This style is used to refer to all the methods of the specified
  656. enterprise bean's home and component interfaces.
  657. 2.
  658. <method>
  659. <ejb-name>EJBNAME</ejb-name>
  660. <method-name>METHOD</method-name>
  661. </method>>
  662. This style is used to refer to the specified method of the
  663. specified enterprise bean. If there are multiple methods with
  664. the same overloaded name, the element of this style refers to
  665. all the methods with the overloaded name.
  666. 3.
  667. <method>
  668. <ejb-name>EJBNAME</ejb-name>
  669. <method-name>METHOD</method-name>
  670. <method-params>
  671. <method-param>PARAM-1</method-param>
  672. <method-param>PARAM-2</method-param>
  673. ...
  674. <method-param>PARAM-n</method-param>
  675. </method-params>
  676. <method>
  677. This style is used to refer to a single method within a set of
  678. methods with an overloaded name. PARAM-1 through PARAM-n are the
  679. fully-qualified Java types of the method's input parameters (if
  680. the method has no input arguments, the method-params element
  681. contains no method-param elements). Arrays are specified by the
  682. array element's type, followed by one or more pair of square
  683. brackets (e.g. int[][]).
  684. Used in: container-transaction, exclude-list, method-permission
  685. Examples:
  686. Style 1: The following method element refers to all the methods of
  687. the EmployeeService bean's home and component interfaces:
  688. <method>
  689. <ejb-name>EmployeeService</ejb-name>
  690. <method-name>*</method-name>
  691. </method>
  692. Style 2: The following method element refers to all the create
  693. methods of the EmployeeService bean's home interface(s).
  694. <method>
  695. <ejb-name>EmployeeService</ejb-name>
  696. <method-name>create</method-name>
  697. </method>
  698. Style 3: The following method element refers to the
  699. create(String firstName, String LastName) method of the
  700. EmployeeService bean's home interface(s).
  701. <method>
  702. <ejb-name>EmployeeService</ejb-name>
  703. <method-name>create</method-name>
  704. <method-params>
  705. <method-param>java.lang.String</method-param>
  706. <method-param>java.lang.String</method-param>
  707. </method-params>
  708. </method>
  709. The following example illustrates a Style 3 element with
  710. more complex parameter types. The method
  711. foobar(char s, int i, int[] iar, mypackage.MyClass mycl,
  712. mypackage.MyClass[][] myclaar) would be specified as:
  713. <method>
  714. <ejb-name>EmployeeService</ejb-name>
  715. <method-name>foobar</method-name>
  716. <method-params>
  717. <method-param>char</method-param>
  718. <method-param>int</method-param>
  719. <method-param>int[]</method-param>
  720. <method-param>mypackage.MyClass</method-param>
  721. <method-param>mypackage.MyClass[][]</method-param>
  722. </method-params>
  723. </method>
  724. The optional method-intf element can be used when it becomes necessary
  725. to differentiate between a method that is multiply defined across the
  726. enterprise bean's home and component interfaces with the same name and
  727. signature.
  728. For example, the method element
  729. <method>
  730. <ejb-name>EmployeeService</ejb-name>
  731. <method-intf>Remote</method-intf>
  732. <method-name>create</method-name>
  733. <method-params>
  734. <method-param>java.lang.String</method-param>
  735. <method-param>java.lang.String</method-param>
  736. </method-params>
  737. </method>
  738. can be used to differentiate the create(String, String) method defined
  739. in the remote interface from the create(String, String) method defined
  740. in the remote home interface, which would be defined as
  741. <method>
  742. <ejb-name>EmployeeService</ejb-name>
  743. <method-intf>Home</method-intf>
  744. <method-name>create</method-name>
  745. <method-params>
  746. <method-param>java.lang.String</method-param>
  747. <method-param>java.lang.String</method-param>
  748. </method-params>
  749. </method>
  750. and the create method that is defined in the local home interface
  751. which would be defined as
  752. <method>
  753. <ejb-name>EmployeeService</ejb-name>
  754. <method-intf>LocalHome</method-intf>
  755. <method-name>create</method-name>
  756. <method-params>
  757. <method-param>java.lang.String</method-param>
  758. <method-param>java.lang.String</method-param>
  759. </method-params>
  760. </method>
  761. The method-intf element can be used with all three Styles of the
  762. method element usage. For example, the following method element
  763. example could be used to refer to all the methods of the
  764. EmployeeService bean's remote home interface.
  765. <method>
  766. <ejb-name>EmployeeService</ejb-name>
  767. <method-intf>Home</method-intf>
  768. <method-name>*</method-name>
  769. </method>
  770. -->
  771. <!ELEMENT method (description?, ejb-name, method-intf?, method-name,
  772. method-params?)>
  773. <!--
  774. The method-intf element allows a method element to differentiate
  775. between the methods with the same name and signature that are multiply
  776. defined across the component and home interfaces (e.g, in both an
  777. enterprise bean's remote and local interfaces; in both an enterprise bean's
  778. home and remote interfaces, etc.)
  779. The method-intf element must be one of the following:
  780. <method-intf>Home</method-intf>
  781. <method-intf>Remote</method-intf>
  782. <method-intf>LocalHome</method-intf>
  783. <method-intf>Local</method-intf>
  784. Used in: method, query-method
  785. -->
  786. <!ELEMENT method-intf (#PCDATA)>
  787. <!--
  788. The method-name element contains a name of an enterprise bean method
  789. or the asterisk (*) character. The asterisk is used when the element
  790. denotes all the methods of an enterprise bean's component and home
  791. interfaces.
  792. Used in: method, query-method
  793. -->
  794. <!ELEMENT method-name (#PCDATA)>
  795. <!--
  796. The method-param element contains the fully-qualified Java type name
  797. of a method parameter.
  798. Used in: method-params
  799. -->
  800. <!ELEMENT method-param (#PCDATA)>
  801. <!--
  802. The method-params element contains a list of the fully-qualified Java
  803. type names of the method parameters.
  804. Used in: method, query-method
  805. -->
  806. <!ELEMENT method-params (method-param*)>
  807. <!--
  808. The method-permission element specifies that one or more security
  809. roles are allowed to invoke one or more enterprise bean methods. The
  810. method-permission element consists of an optional description, a list
  811. of security role names or an indicator to state that the method is
  812. unchecked for authorization, and a list of method elements.
  813. The security roles used in the method-permission element must be
  814. defined in the security-role element of the deployment descriptor, and
  815. the methods must be methods defined in the enterprise bean's component
  816. and/or home interfaces.
  817. Used in: assembly-descriptor
  818. -->
  819. <!ELEMENT method-permission (description?, (role-name+|unchecked), method+)>
  820. <!--
  821. The multiplicity element describes the multiplicity of the role that
  822. participates in a relation.
  823. The multiplicity element must be one of the two following:
  824. <multiplicity>One</multiplicity>
  825. <multiplicity>Many</multiplicity>
  826. Used in: ejb-relationship-role
  827. -->
  828. <!ELEMENT multiplicity (#PCDATA)>
  829. <!--
  830. The persistence-type element specifies an entity bean's persistence
  831. management type.
  832. The persistence-type element must be one of the two following:
  833. <persistence-type>Bean</persistence-type>
  834. <persistence-type>Container</persistence-type>
  835. Used in: entity
  836. -->
  837. <!ELEMENT persistence-type (#PCDATA)>
  838. <!--
  839. The prim-key-class element contains the fully-qualified name of an
  840. entity bean's primary key class.
  841. If the definition of the primary key class is deferred to deployment
  842. time, the prim-key-class element should specify java.lang.Object.
  843. Used in: entity
  844. Examples:
  845. <prim-key-class>java.lang.String</prim-key-class>
  846. <prim-key-class>com.wombat.empl.EmployeeID</prim-key-class>
  847. <prim-key-class>java.lang.Object</prim-key-class>
  848. -->
  849. <!ELEMENT prim-key-class (#PCDATA)>
  850. <!--
  851. The primkey-field element is used to specify the name of the primary
  852. key field for an entity with container-managed persistence.
  853. The primkey-field must be one of the fields declared in the cmp-field
  854. element, and the type of the field must be the same as the primary key
  855. type.
  856. The primkey-field element is not used if the primary key maps to
  857. multiple container-managed fields (i.e. the key is a compound key). In
  858. this case, the fields of the primary key class must be public, and
  859. their names must correspond to the field names of the entity bean
  860. class that comprise the key.
  861. Used in: entity
  862. Example:
  863. <primkey-field>EmployeeId</primkey-field>
  864. -->
  865. <!ELEMENT primkey-field (#PCDATA)>
  866. <!--
  867. The query element is used to specify a finder or select query. It
  868. contains
  869. - an optional description of the query
  870. - the specification of the finder or select
  871. method it is used by
  872. - an optional indicator which specifies how the abstract
  873. schema type instance(s) must be mapped when results are
  874. returned.
  875. - the EJB QL query string that defines the query.
  876. Queries that are expressible in EJB QL must use the ejb-ql element to
  877. specify the query. If a query is not expressible in EJB QL, the
  878. description element should be used to describe the semantics of the
  879. query and the ejb-ql element should be empty.
  880. The result-type-mapping is an optional element. It can only be present
  881. when the query-method describes an ejbSelect query. The default value
  882. for the result-type-mapping element is "Local".
  883. Used in: entity
  884. -->
  885. <!ELEMENT query (description?, query-method, result-type-mapping?, ejb-ql)>
  886. <!--
  887. The query-method element is used to specify the method for a finder or
  888. select query.
  889. The method-name element specifies the name of a finder or select
  890. method in the entity bean's implementation class.
  891. Each method-param must be defined for a query-method using the
  892. method-params element.
  893. Used in: query
  894. Example:
  895. <query>
  896. <description>Method finds large orders</description>
  897. <query-method>
  898. <method-name>findLargeOrders</method-name>
  899. <method-params></method-params>
  900. </query-method>
  901. <ejb-ql>SELECT ENTITY(o) FROM Order o WHERE o.amount &gt; 1000</ejb-ql>
  902. </query>
  903. -->
  904. <!ELEMENT query-method (method-name, method-intf?, method-params)>
  905. <!--
  906. The reentrant element specifies whether an entity bean is reentrant or
  907. not.
  908. The reentrant element must be one of the two following:
  909. <reentrant>True</reentrant>
  910. <reentrant>False</reentrant>
  911. Used in: entity
  912. -->
  913. <!ELEMENT reentrant (#PCDATA)>
  914. <!--
  915. The relationship-role-source element designates the source of a role
  916. that participates in a relationship. A relationship-role-source
  917. element uniquely identifies an entity bean.
  918. Used in: ejb-relationship-role
  919. -->
  920. <!ELEMENT relationship-role-source (description?, ejb-name)>
  921. <!--
  922. The relationships element describes the relationships in which
  923. entity beans with container managed persistence participate. The
  924. relationships element contains an optional description; and a list of
  925. ejb-relation elements, which specify the container managed
  926. relationships.
  927. Used in: ejb-jar
  928. -->
  929. <!ELEMENT relationships (description?, ejb-relation+)>
  930. <!--
  931. The remote element contains the fully-qualified name of the enterprise
  932. bean's remote interface.
  933. Used in: ejb-ref, entity, session
  934. Example:
  935. <remote>com.wombat.empl.EmployeeService</remote>
  936. -->
  937. <!ELEMENT remote (#PCDATA)>
  938. <!--
  939. The res-auth element specifies whether the enterprise bean code signs
  940. on programmatically to the resource manager, or whether the Container
  941. will sign on to the resource manager on behalf of the enterprise bean. In the
  942. latter case, the Container uses information that is supplied by the
  943. Deployer.
  944. The value of this element must be one of the two following:
  945. <res-auth>Application</res-auth>
  946. <res-auth>Container</res-auth>
  947. Used in: resource-ref
  948. -->
  949. <!ELEMENT res-auth (#PCDATA)>
  950. <!--
  951. The res-ref-name element specifies the name of a resource manager
  952. connection factory reference. The name is a JNDI name relative to the
  953. java:comp/env context. The name must be unique within an enterprise bean.
  954. Used in: resource-ref
  955. -->
  956. <!ELEMENT res-ref-name (#PCDATA)>
  957. <!--
  958. The res-sharing-scope element specifies whether connections obtained
  959. through the given resource manager connection factory reference can be
  960. shared. The value of this element, if specified, must be one of the
  961. two following:
  962. <res-sharing-scope>Shareable</res-sharing-scope>
  963. <res-sharing-scope>Unshareable</res-sharing-scope>
  964. The default value is Shareable.
  965. Used in: resource-ref
  966. -->
  967. <!ELEMENT res-sharing-scope (#PCDATA)>
  968. <!--
  969. The res-type element specifies the type of the data source. The type
  970. is specified by the fully qualified Java language class or interface
  971. expected to be implemented by the data source.
  972. Used in: resource-ref
  973. -->
  974. <!ELEMENT res-type (#PCDATA)>
  975. <!--
  976. The resource-env-ref element contains a declaration of an enterprise bean's
  977. reference to an administered object associated with a resource
  978. in the enterprise bean's environment. It consists of an optional
  979. description, the resource environment reference name, and an
  980. indication of the resource environment reference type expected by
  981. the enterprise bean code.
  982. Used in: entity, message-driven, session
  983. Example:
  984. <resource-env-ref>
  985. <resource-env-ref-name>jms/StockQueue</resource-env-ref-name>
  986. <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type>
  987. </resource-env-ref>
  988. -->
  989. <!ELEMENT resource-env-ref (description?, resource-env-ref-name,
  990. resource-env-ref-type)>
  991. <!--
  992. The resource-env-ref-name element specifies the name of a resource
  993. environment reference; its value is the environment entry name used in
  994. the enterprise bean code. The name is a JNDI name relative to the
  995. java:comp/env context and must be unique within an enterprise bean.
  996. Used in: resource-env-ref
  997. -->
  998. <!ELEMENT resource-env-ref-name (#PCDATA)>
  999. <!--
  1000. The resource-env-ref-type element specifies the type of a resource
  1001. environment reference. It is the fully qualified name of a Java
  1002. language class or interface.
  1003. Used in: resource-env-ref
  1004. -->
  1005. <!ELEMENT resource-env-ref-type (#PCDATA)>
  1006. <!--
  1007. The resource-ref element contains a declaration of an enterprise bean's
  1008. reference to an external resource. It consists of an optional
  1009. description, the resource manager connection factory reference name,
  1010. the indication of the resource manager connection factory type
  1011. expected by the enterprise bean code, the type of authentication
  1012. (Application or Container), and an optional specification of the
  1013. shareability of connections obtained from the resource (Shareable or
  1014. Unshareable).
  1015. Used in: entity, message-driven, session
  1016. Example:
  1017. <resource-ref>
  1018. <res-ref-name>jdbc/EmployeeAppDB</res-ref-name>
  1019. <res-type>javax.sql.DataSource</res-type>
  1020. <res-auth>Container</res-auth>
  1021. <res-sharing-scope>Shareable</res-sharing-scope>
  1022. </resource-ref>
  1023. -->
  1024. <!ELEMENT resource-ref (description?, res-ref-name, res-type, res-auth,
  1025. res-sharing-scope?)>
  1026. <!--
  1027. The result-type-mapping element designates the mapping of the return
  1028. value(s) of an select query.
  1029. When the result type of a select query is an abstract schema type, the
  1030. value of this element determines whether the select
  1031. query returns remote or local entity objects.
  1032. The result-type-mapping element must have one of the following:
  1033. <result-type-mapping>Local</result-type-mapping>
  1034. <result-type-mapping>Remote</result-type-mapping>
  1035. Used in: query
  1036. -->
  1037. <!ELEMENT result-type-mapping (#PCDATA)>
  1038. <!--
  1039. The role-link element is a reference to a defined security role. The
  1040. role-link element must contain the name of one of the security roles
  1041. defined in the security-role elements.
  1042. Used in: security-role-ref
  1043. -->
  1044. <!ELEMENT role-link (#PCDATA)>
  1045. <!--
  1046. The role-name element contains the name of a security role.
  1047. The name must conform to the lexical rules for an NMTOKEN.
  1048. Used in: method-permission, run-as, security-role, security-role-ref
  1049. -->
  1050. <!ELEMENT role-name (#PCDATA)>
  1051. <!--
  1052. The run-as element specifies the run-as identity to be used for the
  1053. execution of the enterprise bean. It contains an optional description, and
  1054. the name of a security role.
  1055. Used in: security-identity
  1056. -->
  1057. <!ELEMENT run-as (description?, role-name)>
  1058. <!--
  1059. The security-identity element specifies whether the caller's
  1060. security identity is to be used for the execution of the methods of
  1061. the enterprise bean or whether a specific run-as identity is to be
  1062. used. It contains an optional description and a specification of the
  1063. security identity to be used.
  1064. Used in: entity, message-driven, session
  1065. -->
  1066. <!ELEMENT security-identity (description?, (use-caller-identity|run-as))>
  1067. <!--
  1068. The security-role element contains the definition of a security
  1069. role. The definition consists of an optional description of the
  1070. security role, and the security role name.
  1071. Used in: assembly-descriptor
  1072. Example:
  1073. <security-role>
  1074. <description>
  1075. This role includes all employees who are authorized
  1076. to access the employee service application.
  1077. </description>
  1078. <role-name>employee</role-name>
  1079. </security-role>
  1080. -->
  1081. <!ELEMENT security-role (description?, role-name)>
  1082. <!--
  1083. The security-role-ref element contains the declaration of a security
  1084. role reference in the enterprise bean's code. The declaration consists
  1085. of an optional description, the security role name used in the code,
  1086. and an optional link to a security role. If the security role is not
  1087. specified, the Deployer must choose an appropriate security role.
  1088. The value of the role-name element must be the String used as the
  1089. parameter to the EJBContext.isCallerInRole(String roleName) method
  1090. or the HttpServletRequest.isUserInRole(String role) method.
  1091. Used in: entity, session
  1092. -->
  1093. <!ELEMENT security-role-ref (description?, role-name, role-link?)>
  1094. <!--
  1095. The session element declares an session bean. The declaration consists
  1096. of:
  1097. - an optional description
  1098. - an optional display name
  1099. - an optional small icon file name
  1100. - an optional large icon file name
  1101. - a name assigned to the enterprise bean
  1102. in the deployment description
  1103. - the names of the session bean's remote home and
  1104. remote interfaces, if any
  1105. - the names of the session bean's local home and
  1106. local interfaces, if any
  1107. - the session bean's implementation class
  1108. - the session bean's state management type
  1109. - the session bean's transaction management type
  1110. - an optional declaration of the bean's environment entries
  1111. - an optional declaration of the bean's EJB references
  1112. - an optional declaration of the bean's local EJB references
  1113. - an optional declaration of the security role references
  1114. - an optional declaration of the security identity to be
  1115. used for the execution of the bean's methods
  1116. - an optional declaration of the bean's resource manager
  1117. connection factory references
  1118. - an optional declaration of the bean's resource environment
  1119. references.
  1120. The elements that are optional are "optional" in the sense that they
  1121. are omitted when if lists represented by them are empty.
  1122. Either both the local-home and the local elements or both the
  1123. home and the remote elements must be specified for the session bean.
  1124. Used in: enterprise-beans
  1125. -->
  1126. <!ELEMENT session (description?, display-name?, small-icon?,
  1127. large-icon?, ejb-name, home?, remote?, local-home? , local?,
  1128. ejb-class, session-type, transaction-type, env-entry*, ejb-ref*,
  1129. ejb-local-ref*, security-role-ref*, security-identity?, resource-ref*,
  1130. resource-env-ref*)>
  1131. <!--
  1132. The session-type element describes whether the session bean is a
  1133. stateful session or stateless session.
  1134. The session-type element must be one of the two following:
  1135. <session-type>Stateful</session-type>
  1136. <session-type>Stateless</session-type>
  1137. -->
  1138. <!ELEMENT session-type (#PCDATA)>
  1139. <!--
  1140. The small-icon element contains the name of a file
  1141. containing a small (16 x 16) icon image. The file
  1142. name is a relative path within the enterprise bean's
  1143. ejb-jar file.
  1144. The image may be either in the JPEG or GIF format.
  1145. The icon can be used by tools.
  1146. Used in: ejb-jar, entity, message-driven, session
  1147. Example:
  1148. <small-icon>employee-service-icon16x16.jpg</small-icon>
  1149. -->
  1150. <!ELEMENT small-icon (#PCDATA)>
  1151. <!--
  1152. The subscription-durability element specifies whether a JMS topic
  1153. subscription is intended to be durable or nondurable.
  1154. The subscription-durability element must be one of the two following:
  1155. <subscription-durability>Durable</subscription-durability>
  1156. <subscription-durability>NonDurable</subscription-durability>
  1157. Used in: message-driven-destination
  1158. -->
  1159. <!ELEMENT subscription-durability (#PCDATA)>
  1160. <!--
  1161. The trans-attribute element specifies how the container must manage
  1162. the transaction boundaries when delegating a method invocation to an
  1163. enterprise bean's business method.
  1164. The value of trans-attribute must be one of the following:
  1165. <trans-attribute>NotSupported</trans-attribute>
  1166. <trans-attribute>Supports</trans-attribute>
  1167. <trans-attribute>Required</trans-attribute>
  1168. <trans-attribute>RequiresNew</trans-attribute>
  1169. <trans-attribute>Mandatory</trans-attribute>
  1170. <trans-attribute>Never</trans-attribute>
  1171. Used in: container-transaction
  1172. -->
  1173. <!ELEMENT trans-attribute (#PCDATA)>
  1174. <!--
  1175. The transaction-type element specifies an enterprise bean's
  1176. transaction management type.
  1177. The transaction-type element must be one of the two following:
  1178. <transaction-type>Bean</transaction-type>
  1179. <transaction-type>Container</transaction-type>
  1180. Used in: message-driven, session
  1181. -->
  1182. <!ELEMENT transaction-type (#PCDATA)>
  1183. <!--
  1184. The unchecked element specifies that a method is not checked for authorization
  1185. by the container prior to invocation of the method.
  1186. Used in: method-permission
  1187. -->
  1188. <!ELEMENT unchecked EMPTY>
  1189. <!--
  1190. The use-caller-identity element specifies that the caller's security
  1191. identity be used as the security identity for the execution of the
  1192. enterprise bean's methods.
  1193. Used in: security-identity
  1194. -->
  1195. <!ELEMENT use-caller-identity EMPTY>
  1196. <!--
  1197. The ID mechanism is to allow tools that produce additional deployment
  1198. information (i.e., information beyond the standard deployment
  1199. descriptor information) to store the non-standard information in a
  1200. separate file, and easily refer from these tool-specific files to the
  1201. information in the standard deployment descriptor.
  1202. Tools are not allowed to add the non-standard information into the
  1203. standard deployment descriptor.
  1204. -->
  1205. <!ATTLIST abstract-schema-name id ID #IMPLIED>
  1206. <!ATTLIST acknowledge-mode id ID #IMPLIED>
  1207. <!ATTLIST assembly-descriptor id ID #IMPLIED>
  1208. <!ATTLIST cascade-delete id ID #IMPLIED>
  1209. <!ATTLIST cmp-field id ID #IMPLIED>
  1210. <!ATTLIST cmp-version id ID #IMPLIED>
  1211. <!ATTLIST cmr-field id ID #IMPLIED>
  1212. <!ATTLIST cmr-field-name id ID #IMPLIED>
  1213. <!ATTLIST cmr-field-type id ID #IMPLIED>
  1214. <!ATTLIST container-transaction id ID #IMPLIED>
  1215. <!ATTLIST description id ID #IMPLIED>
  1216. <!ATTLIST destination-type id ID #IMPLIED>
  1217. <!ATTLIST display-name id ID #IMPLIED>
  1218. <!ATTLIST ejb-class id ID #IMPLIED>
  1219. <!ATTLIST ejb-client-jar id ID #IMPLIED>
  1220. <!ATTLIST ejb-jar id ID #IMPLIED>
  1221. <!ATTLIST ejb-link id ID #IMPLIED>
  1222. <!ATTLIST ejb-local-ref id ID #IMPLIED>
  1223. <!ATTLIST ejb-name id ID #IMPLIED>
  1224. <!ATTLIST ejb-ql id ID #IMPLIED>
  1225. <!ATTLIST ejb-ref id ID #IMPLIED>
  1226. <!ATTLIST ejb-ref-name id ID #IMPLIED>
  1227. <!ATTLIST ejb-ref-type id ID #IMPLIED>
  1228. <!ATTLIST ejb-relation id ID #IMPLIED>
  1229. <!ATTLIST ejb-relation-name id ID #IMPLIED>
  1230. <!ATTLIST ejb-relationship-role id ID #IMPLIED>
  1231. <!ATTLIST ejb-relationship-role-name id ID #IMPLIED>
  1232. <!ATTLIST enterprise-beans id ID #IMPLIED>
  1233. <!ATTLIST entity id ID #IMPLIED>
  1234. <!ATTLIST env-entry id ID #IMPLIED>
  1235. <!ATTLIST env-entry-name id ID #IMPLIED>
  1236. <!ATTLIST env-entry-type id ID #IMPLIED>
  1237. <!ATTLIST env-entry-value id ID #IMPLIED>
  1238. <!ATTLIST exclude-list id ID #IMPLIED>
  1239. <!ATTLIST field-name id ID #IMPLIED>
  1240. <!ATTLIST home id ID #IMPLIED>
  1241. <!ATTLIST large-icon id ID #IMPLIED>
  1242. <!ATTLIST local id ID #IMPLIED>
  1243. <!ATTLIST local-home id ID #IMPLIED>
  1244. <!ATTLIST message-driven id ID #IMPLIED>
  1245. <!ATTLIST message-driven-destination id ID #IMPLIED>
  1246. <!ATTLIST message-selector id ID #IMPLIED>
  1247. <!ATTLIST method id ID #IMPLIED>
  1248. <!ATTLIST method-intf id ID #IMPLIED>
  1249. <!ATTLIST method-name id ID #IMPLIED>
  1250. <!ATTLIST method-param id ID #IMPLIED>
  1251. <!ATTLIST method-params id ID #IMPLIED>
  1252. <!ATTLIST method-permission id ID #IMPLIED>
  1253. <!ATTLIST multiplicity id ID #IMPLIED>
  1254. <!ATTLIST persistence-type id ID #IMPLIED>
  1255. <!ATTLIST prim-key-class id ID #IMPLIED>
  1256. <!ATTLIST primkey-field id ID #IMPLIED>
  1257. <!ATTLIST query id ID #IMPLIED>
  1258. <!ATTLIST query-method id ID #IMPLIED>
  1259. <!ATTLIST reentrant id ID #IMPLIED>
  1260. <!ATTLIST relationship-role-source id ID #IMPLIED>
  1261. <!ATTLIST relationships id ID #IMPLIED>
  1262. <!ATTLIST remote id ID #IMPLIED>
  1263. <!ATTLIST res-auth id ID #IMPLIED>
  1264. <!ATTLIST res-ref-name id ID #IMPLIED>
  1265. <!ATTLIST res-sharing-scope id ID #IMPLIED>
  1266. <!ATTLIST res-type id ID #IMPLIED>
  1267. <!ATTLIST resource-env-ref id ID #IMPLIED>
  1268. <!ATTLIST resource-env-ref-name id ID #IMPLIED>
  1269. <!ATTLIST resource-env-ref-type id ID #IMPLIED>
  1270. <!ATTLIST resource-ref id ID #IMPLIED>
  1271. <!ATTLIST result-type-mapping id ID #IMPLIED>
  1272. <!ATTLIST role-link id ID #IMPLIED>
  1273. <!ATTLIST role-name id ID #IMPLIED>
  1274. <!ATTLIST run-as id ID #IMPLIED>
  1275. <!ATTLIST security-identity id ID #IMPLIED>
  1276. <!ATTLIST security-role id ID #IMPLIED>
  1277. <!ATTLIST security-role-ref id ID #IMPLIED>
  1278. <!ATTLIST session id ID #IMPLIED>
  1279. <!ATTLIST session-type id ID #IMPLIED>
  1280. <!ATTLIST small-icon id ID #IMPLIED>
  1281. <!ATTLIST subscription-durability id ID #IMPLIED>
  1282. <!ATTLIST trans-attribute id ID #IMPLIED>
  1283. <!ATTLIST transaction-type id ID #IMPLIED>
  1284. <!ATTLIST unchecked id ID #IMPLIED>
  1285. <!ATTLIST use-caller-identity id ID #IMPLIED>