web-app_2_2.dtd 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639
  1. <!--
  2. Copyright 1999 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 1999 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. The web-app element is the root of the deployment descriptor for
  59. a web application
  60. -->
  61. <!ELEMENT web-app (icon?, display-name?, description?, distributable?,
  62. context-param*, servlet*, servlet-mapping*, session-config?,
  63. mime-mapping*, welcome-file-list?, error-page*, taglib*,
  64. resource-ref*, security-constraint*, login-config?, security-role*,
  65. env-entry*, ejb-ref*)>
  66. <!--
  67. The icon element contains a small-icon and a large-icon element
  68. which specify the location within the web application for a small and
  69. large image used to represent the web application in a GUI tool. At a
  70. minimum, tools must accept GIF and JPEG format images.
  71. -->
  72. <!ELEMENT icon (small-icon?, large-icon?)>
  73. <!--
  74. The small-icon element contains the location within the web
  75. application of a file containing a small (16x16 pixel) icon image.
  76. -->
  77. <!ELEMENT small-icon (#PCDATA)>
  78. <!--
  79. The large-icon element contains the location within the web
  80. application of a file containing a large (32x32 pixel) icon image.
  81. -->
  82. <!ELEMENT large-icon (#PCDATA)>
  83. <!--
  84. The display-name element contains a short name that is intended
  85. to be displayed by GUI tools
  86. -->
  87. <!ELEMENT display-name (#PCDATA)>
  88. <!--
  89. The description element is used to provide descriptive text about
  90. the parent element.
  91. -->
  92. <!ELEMENT description (#PCDATA)>
  93. <!--
  94. The distributable element, by its presence in a web application
  95. deployment descriptor, indicates that this web application is
  96. programmed appropriately to be deployed into a distributed servlet
  97. container
  98. -->
  99. <!ELEMENT distributable EMPTY>
  100. <!--
  101. The context-param element contains the declaration of a web
  102. application's servlet context initialization parameters.
  103. -->
  104. <!ELEMENT context-param (param-name, param-value, description?)>
  105. <!--
  106. The param-name element contains the name of a parameter.
  107. -->
  108. <!ELEMENT param-name (#PCDATA)>
  109. <!--
  110. The param-value element contains the value of a parameter.
  111. -->
  112. <!ELEMENT param-value (#PCDATA)>
  113. <!--
  114. The servlet element contains the declarative data of a
  115. servlet. If a jsp-file is specified and the load-on-startup element is
  116. present, then the JSP should be precompiled and loaded.
  117. -->
  118. <!ELEMENT servlet (icon?, servlet-name, display-name?, description?,
  119. (servlet-class|jsp-file), init-param*, load-on-startup?, security-role-ref*)>
  120. <!--
  121. The servlet-name element contains the canonical name of the
  122. servlet.
  123. -->
  124. <!ELEMENT servlet-name (#PCDATA)>
  125. <!--
  126. The servlet-class element contains the fully qualified class name
  127. of the servlet.
  128. -->
  129. <!ELEMENT servlet-class (#PCDATA)>
  130. <!--
  131. The jsp-file element contains the full path to a JSP file within
  132. the web application.
  133. -->
  134. <!ELEMENT jsp-file (#PCDATA)>
  135. <!--
  136. The init-param element contains a name/value pair as an
  137. initialization param of the servlet
  138. -->
  139. <!ELEMENT init-param (param-name, param-value, description?)>
  140. <!--
  141. The load-on-startup element indicates that this servlet should be
  142. loaded on the startup of the web application. The optional contents of
  143. these element must be a positive integer indicating the order in which
  144. the servlet should be loaded. Lower integers are loaded before higher
  145. integers. If no value is specified, or if the value specified is not a
  146. positive integer, the container is free to load it at any time in the
  147. startup sequence.
  148. -->
  149. <!ELEMENT load-on-startup (#PCDATA)>
  150. <!--
  151. The servlet-mapping element defines a mapping between a servlet
  152. and a url pattern
  153. -->
  154. <!ELEMENT servlet-mapping (servlet-name, url-pattern)>
  155. <!--
  156. The url-pattern element contains the url pattern of the
  157. mapping. Must follow the rules specified in Section 10 of the Servlet
  158. API Specification.
  159. -->
  160. <!ELEMENT url-pattern (#PCDATA)>
  161. <!--
  162. The session-config element defines the session parameters for
  163. this web application.
  164. -->
  165. <!ELEMENT session-config (session-timeout?)>
  166. <!--
  167. The session-timeout element defines the default session timeout
  168. interval for all sessions created in this web application. The
  169. specified timeout must be expressed in a whole number of minutes.
  170. -->
  171. <!ELEMENT session-timeout (#PCDATA)>
  172. <!--
  173. The mime-mapping element defines a mapping between an extension
  174. and a mime type.
  175. -->
  176. <!ELEMENT mime-mapping (extension, mime-type)>
  177. <!--
  178. The extension element contains a string describing an
  179. extension. example: "txt"
  180. -->
  181. <!ELEMENT extension (#PCDATA)>
  182. <!--
  183. The mime-type element contains a defined mime type. example:
  184. "text/plain"
  185. -->
  186. <!ELEMENT mime-type (#PCDATA)>
  187. <!--
  188. The welcome-file-list contains an ordered list of welcome files
  189. elements.
  190. -->
  191. <!ELEMENT welcome-file-list (welcome-file+)>
  192. <!--
  193. The welcome-file element contains file name to use as a default
  194. welcome file, such as index.html
  195. -->
  196. <!ELEMENT welcome-file (#PCDATA)>
  197. <!--
  198. The taglib element is used to describe a JSP tag library.
  199. -->
  200. <!ELEMENT taglib (taglib-uri, taglib-location)>
  201. <!--
  202. The taglib-uri element describes a URI, relative to the location
  203. of the web.xml document, identifying a Tag Library used in the Web
  204. Application.
  205. -->
  206. <!ELEMENT taglib-uri (#PCDATA)>
  207. <!--
  208. the taglib-location element contains the location (as a resource
  209. relative to the root of the web application) where to find the Tag
  210. Libary Description file for the tag library.
  211. -->
  212. <!ELEMENT taglib-location (#PCDATA)>
  213. <!--
  214. The error-page element contains a mapping between an error code
  215. or exception type to the path of a resource in the web application
  216. -->
  217. <!ELEMENT error-page ((error-code | exception-type), location)>
  218. <!--
  219. The error-code contains an HTTP error code, ex: 404
  220. -->
  221. <!ELEMENT error-code (#PCDATA)>
  222. <!--
  223. The exception type contains a fully qualified class name of a
  224. Java exception type.
  225. -->
  226. <!ELEMENT exception-type (#PCDATA)>
  227. <!--
  228. The location element contains the location of the resource in the
  229. web application
  230. -->
  231. <!ELEMENT location (#PCDATA)>
  232. <!--
  233. The resource-ref element contains a declaration of a Web
  234. Application's reference to an external resource.
  235. -->
  236. <!ELEMENT resource-ref (description?, res-ref-name, res-type, res-auth)>
  237. <!--
  238. The res-ref-name element specifies the name of the resource
  239. factory reference name.
  240. -->
  241. <!ELEMENT res-ref-name (#PCDATA)>
  242. <!--
  243. The res-type element specifies the (Java class) type of the data
  244. source.
  245. -->
  246. <!ELEMENT res-type (#PCDATA)>
  247. <!--
  248. The res-auth element indicates whether the application component
  249. code performs resource signon programmatically or whether the
  250. container signs onto the resource based on the principle mapping
  251. information supplied by the deployer. Must be CONTAINER or SERVLET
  252. -->
  253. <!ELEMENT res-auth (#PCDATA)>
  254. <!--
  255. The security-constraint element is used to associate security
  256. constraints with one or more web resource collections
  257. -->
  258. <!ELEMENT security-constraint (web-resource-collection+,
  259. auth-constraint?, user-data-constraint?)>
  260. <!--
  261. The web-resource-collection element is used to identify a subset
  262. of the resources and HTTP methods on those resources within a web
  263. application to which a security constraint applies. If no HTTP methods
  264. are specified, then the security constraint applies to all HTTP
  265. methods.
  266. -->
  267. <!ELEMENT web-resource-collection (web-resource-name, description?,
  268. url-pattern*, http-method*)>
  269. <!--
  270. The web-resource-name contains the name of this web resource
  271. collection
  272. -->
  273. <!ELEMENT web-resource-name (#PCDATA)>
  274. <!--
  275. The http-method contains an HTTP method (GET | POST |...)
  276. -->
  277. <!ELEMENT http-method (#PCDATA)>
  278. <!--
  279. The user-data-constraint element is used to indicate how data
  280. communicated between the client and container should be protected
  281. -->
  282. <!ELEMENT user-data-constraint (description?, transport-guarantee)>
  283. <!--
  284. The transport-guarantee element specifies that the communication
  285. between client and server should be NONE, INTEGRAL, or
  286. CONFIDENTIAL. NONE means that the application does not require any
  287. transport guarantees. A value of INTEGRAL means that the application
  288. requires that the data sent between the client and server be sent in
  289. such a way that it can't be changed in transit. CONFIDENTIAL means
  290. that the application requires that the data be transmitted in a
  291. fashion that prevents other entities from observing the contents of
  292. the transmission. In most cases, the presence of the INTEGRAL or
  293. CONFIDENTIAL flag will indicate that the use of SSL is required.
  294. -->
  295. <!ELEMENT transport-guarantee (#PCDATA)>
  296. <!--
  297. The auth-constraint element indicates the user roles that should
  298. be permitted access to this resource collection. The role used here
  299. must appear in a security-role-ref element.
  300. -->
  301. <!ELEMENT auth-constraint (description?, role-name*)>
  302. <!--
  303. The role-name element contains the name of a security role.
  304. -->
  305. <!ELEMENT role-name (#PCDATA)>
  306. <!--
  307. The login-config element is used to configure the authentication
  308. method that should be used, the realm name that should be used for
  309. this application, and the attributes that are needed by the form login
  310. mechanism.
  311. -->
  312. <!ELEMENT login-config (auth-method?, realm-name?, form-login-config?)>
  313. <!--
  314. The realm name element specifies the realm name to use in HTTP
  315. Basic authorization
  316. -->
  317. <!ELEMENT realm-name (#PCDATA)>
  318. <!--
  319. The form-login-config element specifies the login and error pages
  320. that should be used in form based login. If form based authentication
  321. is not used, these elements are ignored.
  322. -->
  323. <!ELEMENT form-login-config (form-login-page, form-error-page)>
  324. <!--
  325. The form-login-page element defines the location in the web app
  326. where the page that can be used for login can be found
  327. -->
  328. <!ELEMENT form-login-page (#PCDATA)>
  329. <!--
  330. The form-error-page element defines the location in the web app
  331. where the error page that is displayed when login is not successful
  332. can be found
  333. -->
  334. <!ELEMENT form-error-page (#PCDATA)>
  335. <!--
  336. The auth-method element is used to configure the authentication
  337. mechanism for the web application. As a prerequisite to gaining access
  338. to any web resources which are protected by an authorization
  339. constraint, a user must have authenticated using the configured
  340. mechanism. Legal values for this element are "BASIC", "DIGEST",
  341. "FORM", or "CLIENT-CERT".
  342. -->
  343. <!ELEMENT auth-method (#PCDATA)>
  344. <!--
  345. The security-role element contains the declaration of a security
  346. role which is used in the security-constraints placed on the web
  347. application.
  348. -->
  349. <!ELEMENT security-role (description?, role-name)>
  350. <!--
  351. The role-name element contains the name of a role. This element
  352. must contain a non-empty string.
  353. -->
  354. <!ELEMENT security-role-ref (description?, role-name, role-link)>
  355. <!--
  356. The role-link element is used to link a security role reference
  357. to a defined security role. The role-link element must contain the
  358. name of one of the security roles defined in the security-role
  359. elements.
  360. -->
  361. <!ELEMENT role-link (#PCDATA)>
  362. <!--
  363. The env-entry element contains the declaration of an
  364. application's environment entry. This element is required to be
  365. honored on in J2EE compliant servlet containers.
  366. -->
  367. <!ELEMENT env-entry (description?, env-entry-name, env-entry-value?,
  368. env-entry-type)>
  369. <!--
  370. The env-entry-name contains the name of an application's
  371. environment entry
  372. -->
  373. <!ELEMENT env-entry-name (#PCDATA)>
  374. <!--
  375. The env-entry-value element contains the value of an
  376. application's environment entry
  377. -->
  378. <!ELEMENT env-entry-value (#PCDATA)>
  379. <!--
  380. The env-entry-type element contains the fully qualified Java type
  381. of the environment entry value that is expected by the application
  382. code. The following are the legal values of env-entry-type:
  383. java.lang.Boolean, java.lang.String, java.lang.Integer,
  384. java.lang.Double, java.lang.Float.
  385. -->
  386. <!ELEMENT env-entry-type (#PCDATA)>
  387. <!--
  388. The ejb-ref element is used to declare a reference to an
  389. enterprise bean.
  390. -->
  391. <!ELEMENT ejb-ref (description?, ejb-ref-name, ejb-ref-type, home, remote,
  392. ejb-link?)>
  393. <!--
  394. The ejb-ref-name element contains the name of an EJB
  395. reference. This is the JNDI name that the servlet code uses to get a
  396. reference to the enterprise bean.
  397. -->
  398. <!ELEMENT ejb-ref-name (#PCDATA)>
  399. <!--
  400. The ejb-ref-type element contains the expected java class type of
  401. the referenced EJB.
  402. -->
  403. <!ELEMENT ejb-ref-type (#PCDATA)>
  404. <!--
  405. The ejb-home element contains the fully qualified name of the
  406. EJB's home interface
  407. -->
  408. <!ELEMENT home (#PCDATA)>
  409. <!--
  410. The ejb-remote element contains the fully qualified name of the
  411. EJB's remote interface
  412. -->
  413. <!ELEMENT remote (#PCDATA)>
  414. <!--
  415. The ejb-link element is used in the ejb-ref element to specify
  416. that an EJB reference is linked to an EJB in an encompassing Java2
  417. Enterprise Edition (J2EE) application package. The value of the
  418. ejb-link element must be the ejb-name of and EJB in the J2EE
  419. application package.
  420. -->
  421. <!ELEMENT ejb-link (#PCDATA)>
  422. <!--
  423. The ID mechanism is to allow tools to easily make tool-specific
  424. references to the elements of the deployment descriptor. This allows
  425. tools that produce additional deployment information (i.e information
  426. beyond the standard deployment descriptor information) to store the
  427. non-standard information in a separate file, and easily refer from
  428. these tools-specific files to the information in the standard web-app
  429. deployment descriptor.
  430. -->
  431. <!ATTLIST web-app id ID #IMPLIED>
  432. <!ATTLIST icon id ID #IMPLIED>
  433. <!ATTLIST small-icon id ID #IMPLIED>
  434. <!ATTLIST large-icon id ID #IMPLIED>
  435. <!ATTLIST display-name id ID #IMPLIED>
  436. <!ATTLIST description id ID #IMPLIED>
  437. <!ATTLIST distributable id ID #IMPLIED>
  438. <!ATTLIST context-param id ID #IMPLIED>
  439. <!ATTLIST param-name id ID #IMPLIED>
  440. <!ATTLIST param-value id ID #IMPLIED>
  441. <!ATTLIST servlet id ID #IMPLIED>
  442. <!ATTLIST servlet-name id ID #IMPLIED>
  443. <!ATTLIST servlet-class id ID #IMPLIED>
  444. <!ATTLIST jsp-file id ID #IMPLIED>
  445. <!ATTLIST init-param id ID #IMPLIED>
  446. <!ATTLIST load-on-startup id ID #IMPLIED>
  447. <!ATTLIST servlet-mapping id ID #IMPLIED>
  448. <!ATTLIST url-pattern id ID #IMPLIED>
  449. <!ATTLIST session-config id ID #IMPLIED>
  450. <!ATTLIST session-timeout id ID #IMPLIED>
  451. <!ATTLIST mime-mapping id ID #IMPLIED>
  452. <!ATTLIST extension id ID #IMPLIED>
  453. <!ATTLIST mime-type id ID #IMPLIED>
  454. <!ATTLIST welcome-file-list id ID #IMPLIED>
  455. <!ATTLIST welcome-file id ID #IMPLIED>
  456. <!ATTLIST taglib id ID #IMPLIED>
  457. <!ATTLIST taglib-uri id ID #IMPLIED>
  458. <!ATTLIST taglib-location id ID #IMPLIED>
  459. <!ATTLIST error-page id ID #IMPLIED>
  460. <!ATTLIST error-code id ID #IMPLIED>
  461. <!ATTLIST exception-type id ID #IMPLIED>
  462. <!ATTLIST location id ID #IMPLIED>
  463. <!ATTLIST resource-ref id ID #IMPLIED>
  464. <!ATTLIST res-ref-name id ID #IMPLIED>
  465. <!ATTLIST res-type id ID #IMPLIED>
  466. <!ATTLIST res-auth id ID #IMPLIED>
  467. <!ATTLIST security-constraint id ID #IMPLIED>
  468. <!ATTLIST web-resource-collection id ID #IMPLIED>
  469. <!ATTLIST web-resource-name id ID #IMPLIED>
  470. <!ATTLIST http-method id ID #IMPLIED>
  471. <!ATTLIST user-data-constraint id ID #IMPLIED>
  472. <!ATTLIST transport-guarantee id ID #IMPLIED>
  473. <!ATTLIST auth-constraint id ID #IMPLIED>
  474. <!ATTLIST role-name id ID #IMPLIED>
  475. <!ATTLIST login-config id ID #IMPLIED>
  476. <!ATTLIST realm-name id ID #IMPLIED>
  477. <!ATTLIST form-login-config id ID #IMPLIED>
  478. <!ATTLIST form-login-page id ID #IMPLIED>
  479. <!ATTLIST form-error-page id ID #IMPLIED>
  480. <!ATTLIST auth-method id ID #IMPLIED>
  481. <!ATTLIST security-role id ID #IMPLIED>
  482. <!ATTLIST security-role-ref id ID #IMPLIED>
  483. <!ATTLIST role-link id ID #IMPLIED>
  484. <!ATTLIST env-entry id ID #IMPLIED>
  485. <!ATTLIST env-entry-name id ID #IMPLIED>
  486. <!ATTLIST env-entry-value id ID #IMPLIED>
  487. <!ATTLIST env-entry-type id ID #IMPLIED>
  488. <!ATTLIST ejb-ref id ID #IMPLIED>
  489. <!ATTLIST ejb-ref-name id ID #IMPLIED>
  490. <!ATTLIST ejb-ref-type id ID #IMPLIED>
  491. <!ATTLIST home id ID #IMPLIED>
  492. <!ATTLIST remote id ID #IMPLIED>
  493. <!ATTLIST ejb-link id ID #IMPLIED>