PageRenderTime 58ms CodeModel.GetById 25ms RepoModel.GetById 0ms app.codeStats 0ms

/java/javax/servlet/resources/web-common_3_1.xsd

https://github.com/kanishin/tomcat
XML Schema | 1481 lines | 1187 code | 294 blank | 0 comment | 0 complexity | 97a62a11fc54eda02012d9a0876a223e MD5 | raw file
Possible License(s): Apache-2.0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
  3. targetNamespace="http://xmlns.jcp.org/xml/ns/javaee"
  4. xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee"
  5. xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  6. elementFormDefault="qualified"
  7. attributeFormDefault="unqualified"
  8. version="3.1">
  9. <xsd:annotation>
  10. <xsd:documentation>
  11. DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  12. Copyright (c) 2009-2013 Oracle and/or its affiliates. All rights reserved.
  13. The contents of this file are subject to the terms of either the GNU
  14. General Public License Version 2 only ("GPL") or the Common Development
  15. and Distribution License("CDDL") (collectively, the "License"). You
  16. may not use this file except in compliance with the License. You can
  17. obtain a copy of the License at
  18. https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
  19. or packager/legal/LICENSE.txt. See the License for the specific
  20. language governing permissions and limitations under the License.
  21. When distributing the software, include this License Header Notice in each
  22. file and include the License file at packager/legal/LICENSE.txt.
  23. GPL Classpath Exception:
  24. Oracle designates this particular file as subject to the "Classpath"
  25. exception as provided by Oracle in the GPL Version 2 section of the License
  26. file that accompanied this code.
  27. Modifications:
  28. If applicable, add the following below the License Header, with the fields
  29. enclosed by brackets [] replaced by your own identifying information:
  30. "Portions Copyright [year] [name of copyright owner]"
  31. Contributor(s):
  32. If you wish your version of this file to be governed by only the CDDL or
  33. only the GPL Version 2, indicate your decision by adding "[Contributor]
  34. elects to include this software in this distribution under the [CDDL or GPL
  35. Version 2] license." If you don't indicate a single choice of license, a
  36. recipient has the option to distribute your version of this file under
  37. either the CDDL, the GPL Version 2 or to extend the choice of license to
  38. its licensees as provided above. However, if you add GPL Version 2 code
  39. and therefore, elected the GPL Version 2 license, then the option applies
  40. only if the new code is made subject to such option by the copyright
  41. holder.
  42. </xsd:documentation>
  43. </xsd:annotation>
  44. <xsd:annotation>
  45. <xsd:documentation>
  46. The Apache Software Foundation elects to include this software under the
  47. CDDL license.
  48. </xsd:documentation>
  49. </xsd:annotation>
  50. <xsd:annotation>
  51. <xsd:documentation>
  52. <![CDATA[[
  53. This is the common XML Schema for the Servlet 3.1 deployment descriptor.
  54. This file is in turn used by web.xml and web-fragment.xml
  55. web application's war file. All Servlet deployment descriptors
  56. must indicate the web common schema by using the Java EE
  57. namespace:
  58. http://xmlns.jcp.org/xml/ns/javaee
  59. and by indicating the version of the schema by
  60. using the version element as shown below:
  61. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  62. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  63. xsi:schemaLocation="..."
  64. version="3.1">
  65. ...
  66. </web-app>
  67. The instance documents may indicate the published version of
  68. the schema using the xsi:schemaLocation attribute for Java EE
  69. namespace with the following location:
  70. http://xmlns.jcp.org/xml/ns/javaee/web-common_3_1.xsd
  71. ]]>
  72. </xsd:documentation>
  73. </xsd:annotation>
  74. <xsd:annotation>
  75. <xsd:documentation>
  76. The following conventions apply to all Java EE
  77. deployment descriptor elements unless indicated otherwise.
  78. - In elements that specify a pathname to a file within the
  79. same JAR file, relative filenames (i.e., those not
  80. starting with "/") are considered relative to the root of
  81. the JAR file's namespace. Absolute filenames (i.e., those
  82. starting with "/") also specify names in the root of the
  83. JAR file's namespace. In general, relative names are
  84. preferred. The exception is .war files where absolute
  85. names are preferred for consistency with the Servlet API.
  86. </xsd:documentation>
  87. </xsd:annotation>
  88. <xsd:include schemaLocation="javaee_7.xsd"/>
  89. <xsd:include schemaLocation="jsp_2_3.xsd"/>
  90. <xsd:group name="web-commonType">
  91. <xsd:choice>
  92. <xsd:group ref="javaee:descriptionGroup"/>
  93. <xsd:element name="distributable"
  94. type="javaee:emptyType"/>
  95. <xsd:element name="context-param"
  96. type="javaee:param-valueType">
  97. <xsd:annotation>
  98. <xsd:documentation>
  99. The context-param element contains the declaration
  100. of a web application's servlet context
  101. initialization parameters.
  102. </xsd:documentation>
  103. </xsd:annotation>
  104. </xsd:element>
  105. <xsd:element name="filter"
  106. type="javaee:filterType"/>
  107. <xsd:element name="filter-mapping"
  108. type="javaee:filter-mappingType"/>
  109. <xsd:element name="listener"
  110. type="javaee:listenerType"/>
  111. <xsd:element name="servlet"
  112. type="javaee:servletType"/>
  113. <xsd:element name="servlet-mapping"
  114. type="javaee:servlet-mappingType"/>
  115. <xsd:element name="session-config"
  116. type="javaee:session-configType"/>
  117. <xsd:element name="mime-mapping"
  118. type="javaee:mime-mappingType"/>
  119. <xsd:element name="welcome-file-list"
  120. type="javaee:welcome-file-listType"/>
  121. <xsd:element name="error-page"
  122. type="javaee:error-pageType"/>
  123. <xsd:element name="jsp-config"
  124. type="javaee:jsp-configType"/>
  125. <xsd:element name="security-constraint"
  126. type="javaee:security-constraintType"/>
  127. <xsd:element name="login-config"
  128. type="javaee:login-configType"/>
  129. <xsd:element name="security-role"
  130. type="javaee:security-roleType"/>
  131. <xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
  132. <xsd:element name="message-destination"
  133. type="javaee:message-destinationType"/>
  134. <xsd:element name="locale-encoding-mapping-list"
  135. type="javaee:locale-encoding-mapping-listType"/>
  136. </xsd:choice>
  137. </xsd:group>
  138. <xsd:attributeGroup name="web-common-attributes">
  139. <xsd:attribute name="version"
  140. type="javaee:web-app-versionType"
  141. use="required"/>
  142. <xsd:attribute name="id"
  143. type="xsd:ID"/>
  144. <xsd:attribute name="metadata-complete"
  145. type="xsd:boolean">
  146. <xsd:annotation>
  147. <xsd:documentation>
  148. The metadata-complete attribute defines whether this
  149. deployment descriptor and other related deployment
  150. descriptors for this module (e.g., web service
  151. descriptors) are complete, or whether the class
  152. files available to this module and packaged with
  153. this application should be examined for annotations
  154. that specify deployment information.
  155. If metadata-complete is set to "true", the deployment
  156. tool must ignore any annotations that specify deployment
  157. information, which might be present in the class files
  158. of the application.
  159. If metadata-complete is not specified or is set to
  160. "false", the deployment tool must examine the class
  161. files of the application for annotations, as
  162. specified by the specifications.
  163. </xsd:documentation>
  164. </xsd:annotation>
  165. </xsd:attribute>
  166. </xsd:attributeGroup>
  167. <!-- **************************************************** -->
  168. <xsd:complexType name="auth-constraintType">
  169. <xsd:annotation>
  170. <xsd:documentation>
  171. The auth-constraintType indicates the user roles that
  172. should be permitted access to this resource
  173. collection. The role-name used here must either correspond
  174. to the role-name of one of the security-role elements
  175. defined for this web application, or be the specially
  176. reserved role-name "*" that is a compact syntax for
  177. indicating all roles in the web application. If both "*"
  178. and rolenames appear, the container interprets this as all
  179. roles. If no roles are defined, no user is allowed access
  180. to the portion of the web application described by the
  181. containing security-constraint. The container matches
  182. role names case sensitively when determining access.
  183. </xsd:documentation>
  184. </xsd:annotation>
  185. <xsd:sequence>
  186. <xsd:element name="description"
  187. type="javaee:descriptionType"
  188. minOccurs="0"
  189. maxOccurs="unbounded"/>
  190. <xsd:element name="role-name"
  191. type="javaee:role-nameType"
  192. minOccurs="0"
  193. maxOccurs="unbounded"/>
  194. </xsd:sequence>
  195. <xsd:attribute name="id"
  196. type="xsd:ID"/>
  197. </xsd:complexType>
  198. <!-- **************************************************** -->
  199. <xsd:complexType name="auth-methodType">
  200. <xsd:annotation>
  201. <xsd:documentation>
  202. The auth-methodType is used to configure the authentication
  203. mechanism for the web application. As a prerequisite to
  204. gaining access to any web resources which are protected by
  205. an authorization constraint, a user must have authenticated
  206. using the configured mechanism. Legal values are "BASIC",
  207. "DIGEST", "FORM", "CLIENT-CERT", or a vendor-specific
  208. authentication scheme.
  209. Used in: login-config
  210. </xsd:documentation>
  211. </xsd:annotation>
  212. <xsd:simpleContent>
  213. <xsd:restriction base="javaee:string"/>
  214. </xsd:simpleContent>
  215. </xsd:complexType>
  216. <!-- **************************************************** -->
  217. <xsd:complexType name="dispatcherType">
  218. <xsd:annotation>
  219. <xsd:documentation>
  220. The dispatcher has five legal values: FORWARD, REQUEST,
  221. INCLUDE, ASYNC, and ERROR.
  222. A value of FORWARD means the Filter will be applied under
  223. RequestDispatcher.forward() calls.
  224. A value of REQUEST means the Filter will be applied under
  225. ordinary client calls to the path or servlet.
  226. A value of INCLUDE means the Filter will be applied under
  227. RequestDispatcher.include() calls.
  228. A value of ASYNC means the Filter will be applied under
  229. calls dispatched from an AsyncContext.
  230. A value of ERROR means the Filter will be applied under the
  231. error page mechanism.
  232. The absence of any dispatcher elements in a filter-mapping
  233. indicates a default of applying filters only under ordinary
  234. client calls to the path or servlet.
  235. </xsd:documentation>
  236. </xsd:annotation>
  237. <xsd:simpleContent>
  238. <xsd:restriction base="javaee:string">
  239. <xsd:enumeration value="FORWARD"/>
  240. <xsd:enumeration value="INCLUDE"/>
  241. <xsd:enumeration value="REQUEST"/>
  242. <xsd:enumeration value="ASYNC"/>
  243. <xsd:enumeration value="ERROR"/>
  244. </xsd:restriction>
  245. </xsd:simpleContent>
  246. </xsd:complexType>
  247. <!-- **************************************************** -->
  248. <xsd:complexType name="error-codeType">
  249. <xsd:annotation>
  250. <xsd:documentation>
  251. The error-code contains an HTTP error code, ex: 404
  252. Used in: error-page
  253. </xsd:documentation>
  254. </xsd:annotation>
  255. <xsd:simpleContent>
  256. <xsd:restriction base="javaee:xsdPositiveIntegerType">
  257. <xsd:pattern value="\d{3}"/>
  258. <xsd:attribute name="id"
  259. type="xsd:ID"/>
  260. </xsd:restriction>
  261. </xsd:simpleContent>
  262. </xsd:complexType>
  263. <!-- **************************************************** -->
  264. <xsd:complexType name="error-pageType">
  265. <xsd:annotation>
  266. <xsd:documentation>
  267. The error-pageType contains a mapping between an error code
  268. or exception type to the path of a resource in the web
  269. application.
  270. Error-page declarations using the exception-type element in
  271. the deployment descriptor must be unique up to the class name of
  272. the exception-type. Similarly, error-page declarations using the
  273. error-code element must be unique in the deployment descriptor
  274. up to the status code.
  275. If an error-page element in the deployment descriptor does not
  276. contain an exception-type or an error-code element, the error
  277. page is a default error page.
  278. Used in: web-app
  279. </xsd:documentation>
  280. </xsd:annotation>
  281. <xsd:sequence>
  282. <xsd:choice minOccurs="0"
  283. maxOccurs="1">
  284. <xsd:element name="error-code"
  285. type="javaee:error-codeType"/>
  286. <xsd:element name="exception-type"
  287. type="javaee:fully-qualified-classType">
  288. <xsd:annotation>
  289. <xsd:documentation>
  290. The exception-type contains a fully qualified class
  291. name of a Java exception type.
  292. </xsd:documentation>
  293. </xsd:annotation>
  294. </xsd:element>
  295. </xsd:choice>
  296. <xsd:element name="location"
  297. type="javaee:war-pathType">
  298. <xsd:annotation>
  299. <xsd:documentation>
  300. The location element contains the location of the
  301. resource in the web application relative to the root of
  302. the web application. The value of the location must have
  303. a leading `/'.
  304. </xsd:documentation>
  305. </xsd:annotation>
  306. </xsd:element>
  307. </xsd:sequence>
  308. <xsd:attribute name="id"
  309. type="xsd:ID"/>
  310. </xsd:complexType>
  311. <!-- **************************************************** -->
  312. <xsd:complexType name="filterType">
  313. <xsd:annotation>
  314. <xsd:documentation>
  315. The filterType is used to declare a filter in the web
  316. application. The filter is mapped to either a servlet or a
  317. URL pattern in the filter-mapping element, using the
  318. filter-name value to reference. Filters can access the
  319. initialization parameters declared in the deployment
  320. descriptor at runtime via the FilterConfig interface.
  321. Used in: web-app
  322. </xsd:documentation>
  323. </xsd:annotation>
  324. <xsd:sequence>
  325. <xsd:group ref="javaee:descriptionGroup"/>
  326. <xsd:element name="filter-name"
  327. type="javaee:filter-nameType"/>
  328. <xsd:element name="filter-class"
  329. type="javaee:fully-qualified-classType"
  330. minOccurs="0"
  331. maxOccurs="1">
  332. <xsd:annotation>
  333. <xsd:documentation>
  334. The fully qualified classname of the filter.
  335. </xsd:documentation>
  336. </xsd:annotation>
  337. </xsd:element>
  338. <xsd:element name="async-supported"
  339. type="javaee:true-falseType"
  340. minOccurs="0"/>
  341. <xsd:element name="init-param"
  342. type="javaee:param-valueType"
  343. minOccurs="0"
  344. maxOccurs="unbounded">
  345. <xsd:annotation>
  346. <xsd:documentation>
  347. The init-param element contains a name/value pair as
  348. an initialization param of a servlet filter
  349. </xsd:documentation>
  350. </xsd:annotation>
  351. </xsd:element>
  352. </xsd:sequence>
  353. <xsd:attribute name="id"
  354. type="xsd:ID"/>
  355. </xsd:complexType>
  356. <!-- **************************************************** -->
  357. <xsd:complexType name="filter-mappingType">
  358. <xsd:annotation>
  359. <xsd:documentation>
  360. Declaration of the filter mappings in this web
  361. application is done by using filter-mappingType.
  362. The container uses the filter-mapping
  363. declarations to decide which filters to apply to a request,
  364. and in what order. The container matches the request URI to
  365. a Servlet in the normal way. To determine which filters to
  366. apply it matches filter-mapping declarations either on
  367. servlet-name, or on url-pattern for each filter-mapping
  368. element, depending on which style is used. The order in
  369. which filters are invoked is the order in which
  370. filter-mapping declarations that match a request URI for a
  371. servlet appear in the list of filter-mapping elements.The
  372. filter-name value must be the value of the filter-name
  373. sub-elements of one of the filter declarations in the
  374. deployment descriptor.
  375. </xsd:documentation>
  376. </xsd:annotation>
  377. <xsd:sequence>
  378. <xsd:element name="filter-name"
  379. type="javaee:filter-nameType"/>
  380. <xsd:choice minOccurs="1"
  381. maxOccurs="unbounded">
  382. <xsd:element name="url-pattern"
  383. type="javaee:url-patternType"/>
  384. <xsd:element name="servlet-name"
  385. type="javaee:servlet-nameType"/>
  386. </xsd:choice>
  387. <xsd:element name="dispatcher"
  388. type="javaee:dispatcherType"
  389. minOccurs="0"
  390. maxOccurs="5"/>
  391. </xsd:sequence>
  392. <xsd:attribute name="id"
  393. type="xsd:ID"/>
  394. </xsd:complexType>
  395. <!-- **************************************************** -->
  396. <xsd:complexType name="nonEmptyStringType">
  397. <xsd:annotation>
  398. <xsd:documentation>
  399. This type defines a string which contains at least one
  400. character.
  401. </xsd:documentation>
  402. </xsd:annotation>
  403. <xsd:simpleContent>
  404. <xsd:restriction base="javaee:string">
  405. <xsd:minLength value="1"/>
  406. </xsd:restriction>
  407. </xsd:simpleContent>
  408. </xsd:complexType>
  409. <!-- **************************************************** -->
  410. <xsd:complexType name="filter-nameType">
  411. <xsd:annotation>
  412. <xsd:documentation>
  413. The logical name of the filter is declare
  414. by using filter-nameType. This name is used to map the
  415. filter. Each filter name is unique within the web
  416. application.
  417. Used in: filter, filter-mapping
  418. </xsd:documentation>
  419. </xsd:annotation>
  420. <xsd:simpleContent>
  421. <xsd:extension base="javaee:nonEmptyStringType"/>
  422. </xsd:simpleContent>
  423. </xsd:complexType>
  424. <!-- **************************************************** -->
  425. <xsd:complexType name="form-login-configType">
  426. <xsd:annotation>
  427. <xsd:documentation>
  428. The form-login-configType specifies the login and error
  429. pages that should be used in form based login. If form based
  430. authentication is not used, these elements are ignored.
  431. Used in: login-config
  432. </xsd:documentation>
  433. </xsd:annotation>
  434. <xsd:sequence>
  435. <xsd:element name="form-login-page"
  436. type="javaee:war-pathType">
  437. <xsd:annotation>
  438. <xsd:documentation>
  439. The form-login-page element defines the location in the web
  440. app where the page that can be used for login can be
  441. found. The path begins with a leading / and is interpreted
  442. relative to the root of the WAR.
  443. </xsd:documentation>
  444. </xsd:annotation>
  445. </xsd:element>
  446. <xsd:element name="form-error-page"
  447. type="javaee:war-pathType">
  448. <xsd:annotation>
  449. <xsd:documentation>
  450. The form-error-page element defines the location in
  451. the web app where the error page that is displayed
  452. when login is not successful can be found.
  453. The path begins with a leading / and is interpreted
  454. relative to the root of the WAR.
  455. </xsd:documentation>
  456. </xsd:annotation>
  457. </xsd:element>
  458. </xsd:sequence>
  459. <xsd:attribute name="id"
  460. type="xsd:ID"/>
  461. </xsd:complexType>
  462. <xsd:simpleType name="http-methodType">
  463. <xsd:annotation>
  464. <xsd:documentation>
  465. A HTTP method type as defined in HTTP 1.1 section 2.2.
  466. </xsd:documentation>
  467. </xsd:annotation>
  468. <xsd:restriction base="xsd:token">
  469. <xsd:pattern value="[!-~-[\(\)&#60;&#62;@,;:&#34;/\[\]?=\{\}\\\p{Z}]]+"/>
  470. </xsd:restriction>
  471. </xsd:simpleType>
  472. <xsd:simpleType name="load-on-startupType">
  473. <xsd:union memberTypes="javaee:null-charType xsd:integer"/>
  474. </xsd:simpleType>
  475. <xsd:simpleType name="null-charType">
  476. <xsd:restriction base="xsd:string">
  477. <xsd:enumeration value=""/>
  478. </xsd:restriction>
  479. </xsd:simpleType>
  480. <!-- **************************************************** -->
  481. <xsd:complexType name="login-configType">
  482. <xsd:annotation>
  483. <xsd:documentation>
  484. The login-configType is used to configure the authentication
  485. method that should be used, the realm name that should be
  486. used for this application, and the attributes that are
  487. needed by the form login mechanism.
  488. Used in: web-app
  489. </xsd:documentation>
  490. </xsd:annotation>
  491. <xsd:sequence>
  492. <xsd:element name="auth-method"
  493. type="javaee:auth-methodType"
  494. minOccurs="0"/>
  495. <xsd:element name="realm-name"
  496. type="javaee:string"
  497. minOccurs="0">
  498. <xsd:annotation>
  499. <xsd:documentation>
  500. The realm name element specifies the realm name to
  501. use in HTTP Basic authorization.
  502. </xsd:documentation>
  503. </xsd:annotation>
  504. </xsd:element>
  505. <xsd:element name="form-login-config"
  506. type="javaee:form-login-configType"
  507. minOccurs="0"/>
  508. </xsd:sequence>
  509. <xsd:attribute name="id"
  510. type="xsd:ID"/>
  511. </xsd:complexType>
  512. <!-- **************************************************** -->
  513. <xsd:complexType name="mime-mappingType">
  514. <xsd:annotation>
  515. <xsd:documentation>
  516. The mime-mappingType defines a mapping between an extension
  517. and a mime type.
  518. Used in: web-app
  519. </xsd:documentation>
  520. </xsd:annotation>
  521. <xsd:sequence>
  522. <xsd:annotation>
  523. <xsd:documentation>
  524. The extension element contains a string describing an
  525. extension. example: "txt"
  526. </xsd:documentation>
  527. </xsd:annotation>
  528. <xsd:element name="extension"
  529. type="javaee:string"/>
  530. <xsd:element name="mime-type"
  531. type="javaee:mime-typeType"/>
  532. </xsd:sequence>
  533. <xsd:attribute name="id"
  534. type="xsd:ID"/>
  535. </xsd:complexType>
  536. <!-- **************************************************** -->
  537. <xsd:complexType name="mime-typeType">
  538. <xsd:annotation>
  539. <xsd:documentation>
  540. The mime-typeType is used to indicate a defined mime type.
  541. Example:
  542. "text/plain"
  543. Used in: mime-mapping
  544. </xsd:documentation>
  545. </xsd:annotation>
  546. <xsd:simpleContent>
  547. <xsd:restriction base="javaee:string">
  548. <xsd:pattern value="[^\p{Cc}^\s]+/[^\p{Cc}^\s]+"/>
  549. </xsd:restriction>
  550. </xsd:simpleContent>
  551. </xsd:complexType>
  552. <!-- **************************************************** -->
  553. <xsd:complexType name="security-constraintType">
  554. <xsd:annotation>
  555. <xsd:documentation>
  556. The security-constraintType is used to associate
  557. security constraints with one or more web resource
  558. collections
  559. Used in: web-app
  560. </xsd:documentation>
  561. </xsd:annotation>
  562. <xsd:sequence>
  563. <xsd:element name="display-name"
  564. type="javaee:display-nameType"
  565. minOccurs="0"
  566. maxOccurs="unbounded"/>
  567. <xsd:element name="web-resource-collection"
  568. type="javaee:web-resource-collectionType"
  569. maxOccurs="unbounded"/>
  570. <xsd:element name="auth-constraint"
  571. type="javaee:auth-constraintType"
  572. minOccurs="0"/>
  573. <xsd:element name="user-data-constraint"
  574. type="javaee:user-data-constraintType"
  575. minOccurs="0"/>
  576. </xsd:sequence>
  577. <xsd:attribute name="id"
  578. type="xsd:ID"/>
  579. </xsd:complexType>
  580. <!-- **************************************************** -->
  581. <xsd:complexType name="servletType">
  582. <xsd:annotation>
  583. <xsd:documentation>
  584. The servletType is used to declare a servlet.
  585. It contains the declarative data of a
  586. servlet. If a jsp-file is specified and the load-on-startup
  587. element is present, then the JSP should be precompiled and
  588. loaded.
  589. Used in: web-app
  590. </xsd:documentation>
  591. </xsd:annotation>
  592. <xsd:sequence>
  593. <xsd:group ref="javaee:descriptionGroup"/>
  594. <xsd:element name="servlet-name"
  595. type="javaee:servlet-nameType"/>
  596. <xsd:choice minOccurs="0"
  597. maxOccurs="1">
  598. <xsd:element name="servlet-class"
  599. type="javaee:fully-qualified-classType">
  600. <xsd:annotation>
  601. <xsd:documentation>
  602. The servlet-class element contains the fully
  603. qualified class name of the servlet.
  604. </xsd:documentation>
  605. </xsd:annotation>
  606. </xsd:element>
  607. <xsd:element name="jsp-file"
  608. type="javaee:jsp-fileType"/>
  609. </xsd:choice>
  610. <xsd:element name="init-param"
  611. type="javaee:param-valueType"
  612. minOccurs="0"
  613. maxOccurs="unbounded"/>
  614. <xsd:element name="load-on-startup"
  615. type="javaee:load-on-startupType"
  616. minOccurs="0">
  617. <xsd:annotation>
  618. <xsd:documentation>
  619. The load-on-startup element indicates that this
  620. servlet should be loaded (instantiated and have
  621. its init() called) on the startup of the web
  622. application. The optional contents of these
  623. element must be an integer indicating the order in
  624. which the servlet should be loaded. If the value
  625. is a negative integer, or the element is not
  626. present, the container is free to load the servlet
  627. whenever it chooses. If the value is a positive
  628. integer or 0, the container must load and
  629. initialize the servlet as the application is
  630. deployed. The container must guarantee that
  631. servlets marked with lower integers are loaded
  632. before servlets marked with higher integers. The
  633. container may choose the order of loading of
  634. servlets with the same load-on-start-up value.
  635. </xsd:documentation>
  636. </xsd:annotation>
  637. </xsd:element>
  638. <xsd:element name="enabled"
  639. type="javaee:true-falseType"
  640. minOccurs="0"/>
  641. <xsd:element name="async-supported"
  642. type="javaee:true-falseType"
  643. minOccurs="0"/>
  644. <xsd:element name="run-as"
  645. type="javaee:run-asType"
  646. minOccurs="0"/>
  647. <xsd:element name="security-role-ref"
  648. type="javaee:security-role-refType"
  649. minOccurs="0"
  650. maxOccurs="unbounded"/>
  651. <xsd:element name="multipart-config"
  652. type="javaee:multipart-configType"
  653. minOccurs="0"
  654. maxOccurs="1"/>
  655. </xsd:sequence>
  656. <xsd:attribute name="id"
  657. type="xsd:ID"/>
  658. </xsd:complexType>
  659. <!-- **************************************************** -->
  660. <xsd:complexType name="servlet-mappingType">
  661. <xsd:annotation>
  662. <xsd:documentation>
  663. The servlet-mappingType defines a mapping between a
  664. servlet and a url pattern.
  665. Used in: web-app
  666. </xsd:documentation>
  667. </xsd:annotation>
  668. <xsd:sequence>
  669. <xsd:element name="servlet-name"
  670. type="javaee:servlet-nameType"/>
  671. <xsd:element name="url-pattern"
  672. type="javaee:url-patternType"
  673. minOccurs="1"
  674. maxOccurs="unbounded"/>
  675. </xsd:sequence>
  676. <xsd:attribute name="id"
  677. type="xsd:ID"/>
  678. </xsd:complexType>
  679. <!-- **************************************************** -->
  680. <xsd:complexType name="servlet-nameType">
  681. <xsd:annotation>
  682. <xsd:documentation>
  683. The servlet-name element contains the canonical name of the
  684. servlet. Each servlet name is unique within the web
  685. application.
  686. </xsd:documentation>
  687. </xsd:annotation>
  688. <xsd:simpleContent>
  689. <xsd:extension base="javaee:nonEmptyStringType"/>
  690. </xsd:simpleContent>
  691. </xsd:complexType>
  692. <!-- **************************************************** -->
  693. <xsd:complexType name="session-configType">
  694. <xsd:annotation>
  695. <xsd:documentation>
  696. The session-configType defines the session parameters
  697. for this web application.
  698. Used in: web-app
  699. </xsd:documentation>
  700. </xsd:annotation>
  701. <xsd:sequence>
  702. <xsd:element name="session-timeout"
  703. type="javaee:xsdIntegerType"
  704. minOccurs="0">
  705. <xsd:annotation>
  706. <xsd:documentation>
  707. The session-timeout element defines the default
  708. session timeout interval for all sessions created
  709. in this web application. The specified timeout
  710. must be expressed in a whole number of minutes.
  711. If the timeout is 0 or less, the container ensures
  712. the default behaviour of sessions is never to time
  713. out. If this element is not specified, the container
  714. must set its default timeout period.
  715. </xsd:documentation>
  716. </xsd:annotation>
  717. </xsd:element>
  718. <xsd:element name="cookie-config"
  719. type="javaee:cookie-configType"
  720. minOccurs="0">
  721. <xsd:annotation>
  722. <xsd:documentation>
  723. The cookie-config element defines the configuration of the
  724. session tracking cookies created by this web application.
  725. </xsd:documentation>
  726. </xsd:annotation>
  727. </xsd:element>
  728. <xsd:element name="tracking-mode"
  729. type="javaee:tracking-modeType"
  730. minOccurs="0"
  731. maxOccurs="3">
  732. <xsd:annotation>
  733. <xsd:documentation>
  734. The tracking-mode element defines the tracking modes
  735. for sessions created by this web application
  736. </xsd:documentation>
  737. </xsd:annotation>
  738. </xsd:element>
  739. </xsd:sequence>
  740. <xsd:attribute name="id"
  741. type="xsd:ID"/>
  742. </xsd:complexType>
  743. <!-- **************************************************** -->
  744. <xsd:complexType name="cookie-configType">
  745. <xsd:annotation>
  746. <xsd:documentation>
  747. The cookie-configType defines the configuration for the
  748. session tracking cookies of this web application.
  749. Used in: session-config
  750. </xsd:documentation>
  751. </xsd:annotation>
  752. <xsd:sequence>
  753. <xsd:element name="name"
  754. type="javaee:cookie-nameType"
  755. minOccurs="0">
  756. <xsd:annotation>
  757. <xsd:documentation>
  758. The name that will be assigned to any session tracking
  759. cookies created by this web application.
  760. The default is JSESSIONID
  761. </xsd:documentation>
  762. </xsd:annotation>
  763. </xsd:element>
  764. <xsd:element name="domain"
  765. type="javaee:cookie-domainType"
  766. minOccurs="0">
  767. <xsd:annotation>
  768. <xsd:documentation>
  769. The domain name that will be assigned to any session tracking
  770. cookies created by this web application.
  771. </xsd:documentation>
  772. </xsd:annotation>
  773. </xsd:element>
  774. <xsd:element name="path"
  775. type="javaee:cookie-pathType"
  776. minOccurs="0">
  777. <xsd:annotation>
  778. <xsd:documentation>
  779. The path that will be assigned to any session tracking
  780. cookies created by this web application.
  781. </xsd:documentation>
  782. </xsd:annotation>
  783. </xsd:element>
  784. <xsd:element name="comment"
  785. type="javaee:cookie-commentType"
  786. minOccurs="0">
  787. <xsd:annotation>
  788. <xsd:documentation>
  789. The comment that will be assigned to any session tracking
  790. cookies created by this web application.
  791. </xsd:documentation>
  792. </xsd:annotation>
  793. </xsd:element>
  794. <xsd:element name="http-only"
  795. type="javaee:true-falseType"
  796. minOccurs="0">
  797. <xsd:annotation>
  798. <xsd:documentation>
  799. Specifies whether any session tracking cookies created
  800. by this web application will be marked as HttpOnly
  801. </xsd:documentation>
  802. </xsd:annotation>
  803. </xsd:element>
  804. <xsd:element name="secure"
  805. type="javaee:true-falseType"
  806. minOccurs="0">
  807. <xsd:annotation>
  808. <xsd:documentation>
  809. Specifies whether any session tracking cookies created
  810. by this web application will be marked as secure.
  811. When true, all session tracking cookies must be marked
  812. as secure independent of the nature of the request that
  813. initiated the corresponding session.
  814. When false, the session cookie should only be marked secure
  815. if the request that initiated the session was secure.
  816. </xsd:documentation>
  817. </xsd:annotation>
  818. </xsd:element>
  819. <xsd:element name="max-age"
  820. type="javaee:xsdIntegerType"
  821. minOccurs="0">
  822. <xsd:annotation>
  823. <xsd:documentation>
  824. The lifetime (in seconds) that will be assigned to any
  825. session tracking cookies created by this web application.
  826. Default is -1
  827. </xsd:documentation>
  828. </xsd:annotation>
  829. </xsd:element>
  830. </xsd:sequence>
  831. <xsd:attribute name="id"
  832. type="xsd:ID"/>
  833. </xsd:complexType>
  834. <!-- **************************************************** -->
  835. <xsd:complexType name="cookie-nameType">
  836. <xsd:annotation>
  837. <xsd:documentation>
  838. The name that will be assigned to any session tracking
  839. cookies created by this web application.
  840. The default is JSESSIONID
  841. Used in: cookie-config
  842. </xsd:documentation>
  843. </xsd:annotation>
  844. <xsd:simpleContent>
  845. <xsd:extension base="javaee:nonEmptyStringType"/>
  846. </xsd:simpleContent>
  847. </xsd:complexType>
  848. <!-- **************************************************** -->
  849. <xsd:complexType name="cookie-domainType">
  850. <xsd:annotation>
  851. <xsd:documentation>
  852. The domain name that will be assigned to any session tracking
  853. cookies created by this web application.
  854. Used in: cookie-config
  855. </xsd:documentation>
  856. </xsd:annotation>
  857. <xsd:simpleContent>
  858. <xsd:extension base="javaee:nonEmptyStringType"/>
  859. </xsd:simpleContent>
  860. </xsd:complexType>
  861. <!-- **************************************************** -->
  862. <xsd:complexType name="cookie-pathType">
  863. <xsd:annotation>
  864. <xsd:documentation>
  865. The path that will be assigned to any session tracking
  866. cookies created by this web application.
  867. Used in: cookie-config
  868. </xsd:documentation>
  869. </xsd:annotation>
  870. <xsd:simpleContent>
  871. <xsd:extension base="javaee:nonEmptyStringType"/>
  872. </xsd:simpleContent>
  873. </xsd:complexType>
  874. <!-- **************************************************** -->
  875. <xsd:complexType name="cookie-commentType">
  876. <xsd:annotation>
  877. <xsd:documentation>
  878. The comment that will be assigned to any session tracking
  879. cookies created by this web application.
  880. Used in: cookie-config
  881. </xsd:documentation>
  882. </xsd:annotation>
  883. <xsd:simpleContent>
  884. <xsd:extension base="javaee:nonEmptyStringType"/>
  885. </xsd:simpleContent>
  886. </xsd:complexType>
  887. <!-- **************************************************** -->
  888. <xsd:complexType name="tracking-modeType">
  889. <xsd:annotation>
  890. <xsd:documentation>
  891. The tracking modes for sessions created by this web
  892. application
  893. Used in: session-config
  894. </xsd:documentation>
  895. </xsd:annotation>
  896. <xsd:simpleContent>
  897. <xsd:restriction base="javaee:string">
  898. <xsd:enumeration value="COOKIE"/>
  899. <xsd:enumeration value="URL"/>
  900. <xsd:enumeration value="SSL"/>
  901. </xsd:restriction>
  902. </xsd:simpleContent>
  903. </xsd:complexType>
  904. <!-- **************************************************** -->
  905. <xsd:complexType name="transport-guaranteeType">
  906. <xsd:annotation>
  907. <xsd:documentation>
  908. The transport-guaranteeType specifies that the communication
  909. between client and server should be NONE, INTEGRAL, or
  910. CONFIDENTIAL. NONE means that the application does not
  911. require any transport guarantees. A value of INTEGRAL means
  912. that the application requires that the data sent between the
  913. client and server be sent in such a way that it can't be
  914. changed in transit. CONFIDENTIAL means that the application
  915. requires that the data be transmitted in a fashion that
  916. prevents other entities from observing the contents of the
  917. transmission. In most cases, the presence of the INTEGRAL or
  918. CONFIDENTIAL flag will indicate that the use of SSL is
  919. required.
  920. Used in: user-data-constraint
  921. </xsd:documentation>
  922. </xsd:annotation>
  923. <xsd:simpleContent>
  924. <xsd:restriction base="javaee:string">
  925. <xsd:enumeration value="NONE"/>
  926. <xsd:enumeration value="INTEGRAL"/>
  927. <xsd:enumeration value="CONFIDENTIAL"/>
  928. </xsd:restriction>
  929. </xsd:simpleContent>
  930. </xsd:complexType>
  931. <!-- **************************************************** -->
  932. <xsd:complexType name="user-data-constraintType">
  933. <xsd:annotation>
  934. <xsd:documentation>
  935. The user-data-constraintType is used to indicate how
  936. data communicated between the client and container should be
  937. protected.
  938. Used in: security-constraint
  939. </xsd:documentation>
  940. </xsd:annotation>
  941. <xsd:sequence>
  942. <xsd:element name="description"
  943. type="javaee:descriptionType"
  944. minOccurs="0"
  945. maxOccurs="unbounded"/>
  946. <xsd:element name="transport-guarantee"
  947. type="javaee:transport-guaranteeType"/>
  948. </xsd:sequence>
  949. <xsd:attribute name="id"
  950. type="xsd:ID"/>
  951. </xsd:complexType>
  952. <!-- **************************************************** -->
  953. <xsd:complexType name="war-pathType">
  954. <xsd:annotation>
  955. <xsd:documentation>
  956. The elements that use this type designate a path starting
  957. with a "/" and interpreted relative to the root of a WAR
  958. file.
  959. </xsd:documentation>
  960. </xsd:annotation>
  961. <xsd:simpleContent>
  962. <xsd:restriction base="javaee:string">
  963. <xsd:pattern value="/.*"/>
  964. </xsd:restriction>
  965. </xsd:simpleContent>
  966. </xsd:complexType>
  967. <xsd:simpleType name="web-app-versionType">
  968. <xsd:annotation>
  969. <xsd:documentation>
  970. This type contains the recognized versions of
  971. web-application supported. It is used to designate the
  972. version of the web application.
  973. </xsd:documentation>
  974. </xsd:annotation>
  975. <xsd:restriction base="xsd:token">
  976. <xsd:enumeration value="3.1"/>
  977. </xsd:restriction>
  978. </xsd:simpleType>
  979. <!-- **************************************************** -->
  980. <xsd:complexType name="web-resource-collectionType">
  981. <xsd:annotation>
  982. <xsd:documentation>
  983. The web-resource-collectionType is used to identify the
  984. resources and HTTP methods on those resources to which a
  985. security constraint applies. If no HTTP methods are specified,
  986. then the security constraint applies to all HTTP methods.
  987. If HTTP methods are specified by http-method-omission
  988. elements, the security constraint applies to all methods
  989. except those identified in the collection.
  990. http-method-omission and http-method elements are never
  991. mixed in the same collection.
  992. Used in: security-constraint
  993. </xsd:documentation>
  994. </xsd:annotation>
  995. <xsd:sequence>
  996. <xsd:element name="web-resource-name"
  997. type="javaee:string">
  998. <xsd:annotation>
  999. <xsd:documentation>
  1000. The web-resource-name contains the name of this web
  1001. resource collection.
  1002. </xsd:documentation>
  1003. </xsd:annotation>
  1004. </xsd:element>
  1005. <xsd:element name="description"
  1006. type="javaee:descriptionType"
  1007. minOccurs="0"
  1008. maxOccurs="unbounded"/>
  1009. <xsd:element name="url-pattern"
  1010. type="javaee:url-patternType"
  1011. maxOccurs="unbounded"/>
  1012. <xsd:choice minOccurs="0"
  1013. maxOccurs="1">
  1014. <xsd:element name="http-method"
  1015. type="javaee:http-methodType"
  1016. minOccurs="1"
  1017. maxOccurs="unbounded">
  1018. <xsd:annotation>
  1019. <xsd:documentation>
  1020. Each http-method names an HTTP method to which the
  1021. constraint applies.
  1022. </xsd:documentation>
  1023. </xsd:annotation>
  1024. </xsd:element>
  1025. <xsd:element name="http-method-omission"
  1026. type="javaee:http-methodType"
  1027. minOccurs="1"
  1028. maxOccurs="unbounded">
  1029. <xsd:annotation>
  1030. <xsd:documentation>
  1031. Each http-method-omission names an HTTP method to
  1032. which the constraint does not apply.
  1033. </xsd:documentation>
  1034. </xsd:annotation>
  1035. </xsd:element>
  1036. </xsd:choice>
  1037. </xsd:sequence>
  1038. <xsd:attribute name="id"
  1039. type="xsd:ID"/>
  1040. </xsd:complexType>
  1041. <!-- **************************************************** -->
  1042. <xsd:complexType name="welcome-file-listType">
  1043. <xsd:annotation>
  1044. <xsd:documentation>
  1045. The welcome-file-list contains an ordered list of welcome
  1046. files elements.
  1047. Used in: web-app
  1048. </xsd:documentation>
  1049. </xsd:annotation>
  1050. <xsd:sequence>
  1051. <xsd:element name="welcome-file"
  1052. type="xsd:string"
  1053. maxOccurs="unbounded">
  1054. <xsd:annotation>
  1055. <xsd:documentation>
  1056. The welcome-file element contains file name to use
  1057. as a default welcome file, such as index.html
  1058. </xsd:documentation>
  1059. </xsd:annotation>
  1060. </xsd:element>
  1061. </xsd:sequence>
  1062. <xsd:attribute name="id"
  1063. type="xsd:ID"/>
  1064. </xsd:complexType>
  1065. <xsd:simpleType name="localeType">
  1066. <xsd:annotation>
  1067. <xsd:documentation>
  1068. The localeType defines valid locale defined by ISO-639-1
  1069. and ISO-3166.
  1070. </xsd:documentation>
  1071. </xsd:annotation>
  1072. <xsd:restriction base="xsd:string">
  1073. <xsd:pattern value="[a-z]{2}(_|-)?([\p{L}\-\p{Nd}]{2})?"/>
  1074. </xsd:restriction>
  1075. </xsd:simpleType>
  1076. <xsd:simpleType name="encodingType">
  1077. <xsd:annotation>
  1078. <xsd:documentation>
  1079. The encodingType defines IANA character sets.
  1080. </xsd:documentation>
  1081. </xsd:annotation>
  1082. <xsd:restriction base="xsd:string">
  1083. <xsd:pattern value="[^\s]+"/>
  1084. </xsd:restriction>
  1085. </xsd:simpleType>
  1086. <!-- **************************************************** -->
  1087. <xsd:complexType name="locale-encoding-mapping-listType">
  1088. <xsd:annotation>
  1089. <xsd:documentation>
  1090. The locale-encoding-mapping-list contains one or more
  1091. locale-encoding-mapping(s).
  1092. </xsd:documentation>
  1093. </xsd:annotation>
  1094. <xsd:sequence>
  1095. <xsd:element name="locale-encoding-mapping"
  1096. type="javaee:locale-encoding-mappingType"
  1097. maxOccurs="unbounded"/>
  1098. </xsd:sequence>
  1099. <xsd:attribute name="id"
  1100. type="xsd:ID"/>
  1101. </xsd:complexType>
  1102. <!-- **************************************************** -->
  1103. <xsd:complexType name="locale-encoding-mappingType">
  1104. <xsd:annotation>
  1105. <xsd:documentation>
  1106. The locale-encoding-mapping contains locale name and
  1107. encoding name. The locale name must be either "Language-code",
  1108. such as "ja", defined by ISO-639 or "Language-code_Country-code",
  1109. such as "ja_JP". "Country code" is defined by ISO-3166.
  1110. </xsd:documentation>
  1111. </xsd:annotation>
  1112. <xsd:sequence>
  1113. <xsd:element name="locale"
  1114. type="javaee:localeType"/>
  1115. <xsd:element name="encoding"
  1116. type="javaee:encodingType"/>
  1117. </xsd:sequence>
  1118. <xsd:attribute name="id"
  1119. type="xsd:ID"/>
  1120. </xsd:complexType>
  1121. <!-- **************************************************** -->
  1122. <xsd:complexType name="ordering-othersType">
  1123. <xsd:annotation>
  1124. <xsd:documentation>
  1125. This element indicates that the ordering sub-element in which
  1126. it was placed should take special action regarding the ordering
  1127. of this application resource relative to other application
  1128. configuration resources.
  1129. See section 8.2.2 of the specification for details.
  1130. </xsd:documentation>
  1131. </xsd:annotation>
  1132. <xsd:attribute name="id"
  1133. type="xsd:ID"/>
  1134. </xsd:complexType>
  1135. <!-- **************************************************** -->
  1136. <xsd:complexType name="multipart-configType">
  1137. <xsd:annotation>
  1138. <xsd:documentation>
  1139. This element specifies configuration information related to the
  1140. handling of multipart/form-data requests.
  1141. </xsd:documentation>
  1142. </xsd:annotation>
  1143. <xsd:sequence>
  1144. <xsd:element name="location"
  1145. type="javaee:string"
  1146. minOccurs="0"
  1147. maxOccurs="1">
  1148. <xsd:annotation>
  1149. <xsd:documentation>
  1150. The directory location where uploaded files will be stored
  1151. </xsd:documentation>
  1152. </xsd:annotation>
  1153. </xsd:element>
  1154. <xsd:element name="max-file-size"
  1155. type="xsd:long"
  1156. minOccurs="0"
  1157. maxOccurs="1">
  1158. <xsd:annotation>
  1159. <xsd:documentation>
  1160. The maximum size limit of uploaded files
  1161. </xsd:documentation>
  1162. </xsd:annotation>
  1163. </xsd:element>
  1164. <xsd:element name="max-request-size"
  1165. type="xsd:long"
  1166. minOccurs="0"
  1167. maxOccurs="1">
  1168. <xsd:annotation>
  1169. <xsd:documentation>
  1170. The maximum size limit of multipart/form-data requests
  1171. </xsd:documentation>
  1172. </xsd:annotation>
  1173. </xsd:element>
  1174. <xsd:element name="file-size-threshold"
  1175. type="xsd:integer"
  1176. minOccurs="0"
  1177. maxOccurs="1">
  1178. <xsd:annotation>
  1179. <xsd:documentation>
  1180. The size threshold after which an uploaded file will be
  1181. written to disk
  1182. </xsd:documentation>
  1183. </xsd:annotation>
  1184. </xsd:element>
  1185. </xsd:sequence>
  1186. </xsd:complexType>
  1187. </xsd:schema>