jboss-as-web_1_1.xsd 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. ~ JBoss, Home of Professional Open Source.
  4. ~ Copyright 2011, Red Hat, Inc., and individual contributors
  5. ~ as indicated by the @author tags. See the copyright.txt file in the
  6. ~ distribution for a full listing of individual contributors.
  7. ~
  8. ~ This is free software; you can redistribute it and/or modify it
  9. ~ under the terms of the GNU Lesser General Public License as
  10. ~ published by the Free Software Foundation; either version 2.1 of
  11. ~ the License, or (at your option) any later version.
  12. ~
  13. ~ This software is distributed in the hope that it will be useful,
  14. ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  16. ~ Lesser General Public License for more details.
  17. ~
  18. ~ You should have received a copy of the GNU Lesser General Public
  19. ~ License along with this software; if not, write to the Free
  20. ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  21. ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  22. -->
  23. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  24. targetNamespace="urn:jboss:domain:web:1.1"
  25. xmlns="urn:jboss:domain:web:1.1"
  26. elementFormDefault="qualified"
  27. attributeFormDefault="unqualified"
  28. version="1.1">
  29. <!-- The web subsystem root element -->
  30. <xs:element name="subsystem" type="web-containerType" />
  31. <!-- The web container configuration -->
  32. <xs:complexType name="web-containerType">
  33. <xs:annotation>
  34. <xs:documentation>
  35. <![CDATA[
  36. The web subsystem, used to configure jboss.web
  37. ]]>
  38. </xs:documentation>
  39. </xs:annotation>
  40. <xs:sequence>
  41. <xs:element minOccurs="0" maxOccurs="1" name="configuration" type="webConfigType" />
  42. <xs:element maxOccurs="unbounded" ref="connector" />
  43. <xs:element maxOccurs="unbounded" ref="virtual-server" />
  44. </xs:sequence>
  45. <xs:attribute name="default-virtual-server"/>
  46. <xs:attribute name="instance-id"/>
  47. <xs:attribute name="native" default="true" type="xs:boolean"/>
  48. </xs:complexType>
  49. <xs:complexType name="webConfigType">
  50. <xs:sequence>
  51. <xs:element name="static-resources" minOccurs="0" maxOccurs="1" type="static-resourcesType">
  52. <xs:annotation>
  53. <xs:documentation>
  54. <![CDATA[
  55. A default service for all web applications, that serves static resources.
  56. It processes all requests that are not mapped to other servlets with servlet mappings.
  57. ]]>
  58. </xs:documentation>
  59. </xs:annotation>
  60. </xs:element>
  61. <xs:element name="jsp-configuration" minOccurs="0" maxOccurs="1" type="jsp-configurationType" />
  62. <!--
  63. <xs:element minOccurs="0" maxOccurs="1" name="csrf"/>
  64. <xs:element minOccurs="0" maxOccurs="1" name="webdav-fix"/>
  65. -->
  66. <xs:element name="mime-mapping" minOccurs="0" maxOccurs="unbounded" type="mime-mappingType" />
  67. <xs:element name="welcome-file" minOccurs="0" maxOccurs="unbounded" type="xs:string" />
  68. </xs:sequence>
  69. </xs:complexType>
  70. <xs:complexType name="static-resourcesType">
  71. <xs:attribute name="listings" default="false" type="xs:boolean" />
  72. <xs:attribute name="sendfile" default="49152" />
  73. <xs:attribute name="file-encoding" />
  74. <xs:attribute name="read-only" default="true" type="xs:boolean" />
  75. <xs:attribute name="webdav" default="false" type="xs:boolean" />
  76. <xs:attribute name="secret" />
  77. <xs:attribute name="max-depth" default="3" />
  78. <xs:attribute name="disabled" default="false" type="xs:boolean" />
  79. </xs:complexType>
  80. <xs:complexType name="jsp-configurationType">
  81. <xs:attribute name="development" default="false" type="xs:boolean" />
  82. <xs:attribute name="disabled" default="false" type="xs:boolean" />
  83. <xs:attribute name="keep-generated" default="true" type="xs:boolean" />
  84. <xs:attribute name="trim-spaces" default="false" type="xs:boolean" />
  85. <xs:attribute name="tag-pooling" default="true" type="xs:boolean" />
  86. <xs:attribute name="mapped-file" default="true" type="xs:boolean" />
  87. <xs:attribute name="check-interval" default="0" />
  88. <xs:attribute name="modification-test-interval" default="4" />
  89. <xs:attribute name="recompile-on-fail" default="false" type="xs:boolean" />
  90. <xs:attribute name="smap" default="true" type="xs:boolean" />
  91. <xs:attribute name="dump-smap" default="false" type="xs:boolean" />
  92. <xs:attribute name="generate-strings-as-char-arrays" default="false" type="xs:boolean" />
  93. <xs:attribute name="error-on-use-bean-invalid-class-attribute" default="false" type="xs:boolean" />
  94. <xs:attribute name="scratch-dir" />
  95. <xs:attribute name="source-vm" default="1.5" />
  96. <xs:attribute name="target-vm" default="1.5" />
  97. <xs:attribute name="java-encoding" default="UTF8" />
  98. <xs:attribute name="x-powered-by" default="true" type="xs:boolean" />
  99. <xs:attribute name="display-source-fragment" default="true" type="xs:boolean" />
  100. </xs:complexType>
  101. <!--
  102. <xs:complexType name="cgi-servletType">
  103. <xs:attribute name="debug" default="0"/>
  104. <xs:attribute name="cgi-path-prefix"/>
  105. <xs:attribute name="pass-shell-environment" default="false" type="xs:boolean"/>
  106. <xs:attribute name="cgi-executable" default="perl"/>
  107. <xs:attribute name="parameter-encoding"/>
  108. </xs:complexType>
  109. <xs:complexType name="ssi-servletType">
  110. <xs:attribute name="debug" default="0"/>
  111. <xs:attribute name="webapp-relative" default="false" type="xs:boolean"/>
  112. <xs:attribute name="expires"/>
  113. <xs:attribute name="buffered" default="false" type="xs:boolean"/>
  114. <xs:attribute name="input-encoding"/>
  115. <xs:attribute name="output-encoding" default="UTF-8"/>
  116. </xs:complexType>
  117. <xs:complexType name="ssi-filterType">
  118. <xs:attribute name="debug" default="0"/>
  119. <xs:attribute name="webapp-relative" default="false" type="xs:boolean"/>
  120. <xs:attribute name="expires"/>
  121. <xs:attribute name="content-type-regex"/>
  122. </xs:complexType>
  123. -->
  124. <xs:element name="connector">
  125. <xs:complexType>
  126. <xs:sequence>
  127. <xs:element name="ssl" type="sslType" minOccurs="0" maxOccurs="1"/>
  128. <xs:element name="virtual-server" minOccurs="0" maxOccurs="unbounded">
  129. <xs:complexType>
  130. <xs:attribute name="name" type="xs:string" use="required" />
  131. </xs:complexType>
  132. </xs:element>
  133. </xs:sequence>
  134. <xs:attributeGroup ref="web-connector-attlist" />
  135. </xs:complexType>
  136. </xs:element>
  137. <xs:attributeGroup name="web-connector-attlist">
  138. <xs:attribute name="name" use="required" />
  139. <xs:attribute name="protocol" use="required" />
  140. <xs:attribute name="scheme" use="required" />
  141. <xs:attribute name="socket-binding" use="required" />
  142. <xs:attribute name="enable-lookups" default="false" type="xs:boolean" />
  143. <xs:attribute name="proxy-name" />
  144. <xs:attribute name="proxy-port" />
  145. <xs:attribute name="redirect-port" />
  146. <xs:attribute name="secure" default="false" type="xs:boolean" />
  147. <xs:attribute name="max-post-size" />
  148. <xs:attribute name="max-save-post-size" />
  149. <xs:attribute name="enabled" default="true" type="xs:boolean" />
  150. <xs:attribute name="executor" type="xs:string" />
  151. <xs:attribute name="max-connections" />
  152. </xs:attributeGroup>
  153. <xs:element name="virtual-server">
  154. <xs:complexType>
  155. <xs:sequence>
  156. <xs:element name="alias" minOccurs="0" maxOccurs="unbounded">
  157. <xs:annotation>
  158. <xs:documentation>Vhost aliases</xs:documentation>
  159. </xs:annotation>
  160. <xs:complexType>
  161. <xs:attribute name="name" type="xs:string" use="required" />
  162. </xs:complexType>
  163. </xs:element>
  164. <xs:element name="access-log" minOccurs="0" type="http-access-logType" />
  165. <xs:element name="rewrite" minOccurs="0" type="http-rewriteType" />
  166. <xs:element name="sso" minOccurs="0" maxOccurs="1" type="ssoType" />
  167. </xs:sequence>
  168. <xs:attributeGroup ref="virtual-server-attlist" />
  169. </xs:complexType>
  170. </xs:element>
  171. <xs:attributeGroup name="virtual-server-attlist">
  172. <xs:attribute name="name" use="required">
  173. <xs:annotation>
  174. <xs:documentation>Main vhost name</xs:documentation>
  175. </xs:annotation>
  176. </xs:attribute>
  177. <xs:attribute name="enable-welcome-root" type="xs:boolean">
  178. <xs:annotation>
  179. <xs:documentation>Whether or not the bundled welcome directory is used as the root web context</xs:documentation>
  180. </xs:annotation>
  181. </xs:attribute>
  182. <xs:attribute name="default-web-module" default="ROOT.war" />
  183. </xs:attributeGroup>
  184. <xs:complexType name="http-access-logType">
  185. <xs:sequence>
  186. <xs:element name="directory" type="directoryType" />
  187. </xs:sequence>
  188. <xs:attribute name="pattern" default="common" />
  189. <xs:attribute name="resolve-hosts" default="false" type="xs:boolean" />
  190. <xs:attribute name="extended" default="false" type="xs:boolean" />
  191. <xs:attribute name="prefix" default="access_log." />
  192. <xs:attribute name="rotate" default="true" type="xs:boolean" />
  193. </xs:complexType>
  194. <xs:complexType name="ssoType">
  195. <xs:attribute name="cache-container" type="xs:string">
  196. <xs:annotation>
  197. <xs:documentation>
  198. <![CDATA[
  199. Name of the cache container to use for clusterised sso
  200. ]]>
  201. </xs:documentation>
  202. </xs:annotation>
  203. </xs:attribute>
  204. <xs:attribute name="cache-name" type="xs:string">
  205. <xs:annotation>
  206. <xs:documentation>
  207. <![CDATA[
  208. Name of the cache to use for clusterised sso
  209. ]]>
  210. </xs:documentation>
  211. </xs:annotation>
  212. </xs:attribute>
  213. <xs:attribute name="domain" type="xs:string">
  214. <xs:annotation>
  215. <xs:documentation>
  216. <![CDATA[
  217. Cookie domain to use.
  218. ]]>
  219. </xs:documentation>
  220. </xs:annotation>
  221. </xs:attribute>
  222. <xs:attribute name="reauthenticate" type="xs:boolean">
  223. <xs:annotation>
  224. <xs:documentation>
  225. <![CDATA[
  226. Each request should cause a reauthentication.
  227. ]]>
  228. </xs:documentation>
  229. </xs:annotation>
  230. </xs:attribute>
  231. </xs:complexType>
  232. <xs:complexType name="http-rewriteType">
  233. <xs:sequence>
  234. <xs:element name="condition" type="rewrite-conditionType" />
  235. </xs:sequence>
  236. <xs:attribute name="pattern" use="required">
  237. <xs:annotation>
  238. <xs:documentation>
  239. <![CDATA[
  240. Pattern is a perl compatible regular expression, which is applied to the current URL
  241. ]]>
  242. </xs:documentation>
  243. </xs:annotation>
  244. </xs:attribute>
  245. <xs:attribute name="substitution" use="required">
  246. <xs:annotation>
  247. <xs:documentation>
  248. <![CDATA[
  249. The substitution of a rewrite rule is the string which is substituted for (or replaces)
  250. the original URL which Pattern matched
  251. ]]>
  252. </xs:documentation>
  253. </xs:annotation>
  254. </xs:attribute>
  255. <xs:attribute name="flags" use="required">
  256. <xs:annotation>
  257. <xs:documentation>Substitution options</xs:documentation>
  258. </xs:annotation>
  259. </xs:attribute>
  260. </xs:complexType>
  261. <xs:complexType name="rewrite-conditionType">
  262. <xs:attribute name="test" use="required">
  263. <xs:annotation>
  264. <xs:documentation>
  265. <![CDATA[
  266. The test string is first evaluated, before being matched against the specified pattern
  267. ]]>
  268. </xs:documentation>
  269. </xs:annotation>
  270. </xs:attribute>
  271. <xs:attribute name="pattern" use="required">
  272. <xs:annotation>
  273. <xs:documentation>
  274. <![CDATA[
  275. CondPattern is the condition pattern, a regular expression which is applied to the
  276. current instance of the test string
  277. ]]>
  278. </xs:documentation>
  279. </xs:annotation>
  280. </xs:attribute>
  281. <xs:attribute name="flags" use="required">
  282. <xs:annotation>
  283. <xs:documentation>Matching options</xs:documentation>
  284. </xs:annotation>
  285. </xs:attribute>
  286. </xs:complexType>
  287. <xs:complexType name="directoryType">
  288. <xs:annotation>
  289. <xs:documentation>
  290. <![CDATA[
  291. The "relative-to" references a global path configuration in the domain model.
  292. The "path" is the directory based on the referenced path. If "path" is not
  293. set, the name of the virtual-server is used.
  294. ]]>
  295. </xs:documentation>
  296. </xs:annotation>
  297. <xs:attribute name="path" type="xs:string" use="optional" />
  298. <xs:attribute name="relative-to" type="xs:string" use="optional" default="jboss.server.log.dir" />
  299. </xs:complexType>
  300. <xs:complexType name="mime-mappingType">
  301. <xs:attribute name="name" use="required"/>
  302. <xs:attribute name="value" use="optional"/>
  303. </xs:complexType>
  304. <!-- general SSL definitions -->
  305. <xs:complexType name="sslType">
  306. <xs:annotation>
  307. <xs:documentation>Configuration information for one SSL configuration.</xs:documentation>
  308. </xs:annotation>
  309. <xs:attribute name="name" type="xs:string" use="required"/>
  310. <xs:attribute name="key-alias" default="jboss"/>
  311. <xs:attribute name="password">
  312. <xs:annotation>
  313. <xs:documentation>Password for both keystore</xs:documentation>
  314. </xs:annotation>
  315. </xs:attribute>
  316. <xs:attribute name="certificate-key-file" default="${user.home}/.keystore">
  317. <xs:annotation>
  318. <xs:documentation>
  319. When using JSSE that could be the only file, with OpenSSL there several files
  320. Additionally we should have a logic to find the type of the file (PEM, PKCS12 or JKS) before using it.
  321. </xs:documentation>
  322. </xs:annotation>
  323. </xs:attribute>
  324. <xs:attribute name="cipher-suite" default="ALL">
  325. <xs:annotation>
  326. <xs:documentation>
  327. comma separated list of encryption ciphers the configuration is allowed to use, that MUST NOT be
  328. the JVM default in of JSSE as contains weak ciphers.
  329. that is SSLCipherSuite when using OpenSSL (APR).
  330. </xs:documentation>
  331. </xs:annotation>
  332. </xs:attribute>
  333. <xs:attribute name="protocol" default="ALL" type="SSlProtocolType"/>
  334. <xs:attribute name="verify-client" default="none">
  335. <xs:annotation>
  336. <xs:documentation>
  337. that is OpenSSL SSLVerifyClient (optional,require,optionalNoCA,none) and clientAuth (true=require/false=none)
  338. </xs:documentation>
  339. </xs:annotation>
  340. </xs:attribute>
  341. <xs:attribute name="verify-depth" default="10"/>
  342. <xs:attribute name="certificate-file">
  343. <xs:annotation>
  344. <xs:documentation>
  345. Only in the OpenSSL (JSSE keystore contains both key and certificate).
  346. </xs:documentation>
  347. </xs:annotation>
  348. </xs:attribute>
  349. <xs:attribute name="ca-certificate-file">
  350. <xs:annotation>
  351. <xs:documentation>
  352. The file containing the CA certificates, truststoreFile in JSSE, note the password it same as the keystore password.
  353. </xs:documentation>
  354. </xs:annotation>
  355. </xs:attribute>
  356. <xs:attribute name="ca-revocation-url">
  357. <xs:annotation>
  358. <xs:documentation>
  359. A file or URL to get the revocation list. (actually: crlFile is JSSE and SSLCARevocationFile in OpenSSL)
  360. </xs:documentation>
  361. </xs:annotation>
  362. </xs:attribute>
  363. <xs:attribute name="ca-certificate-password">
  364. <xs:annotation>
  365. <xs:documentation>
  366. Password of trust store for JSE
  367. </xs:documentation>
  368. </xs:annotation>
  369. </xs:attribute>
  370. <xs:attribute name="keystore-type" type="JSEStoreType">
  371. <xs:annotation>
  372. <xs:documentation>
  373. Type of keystore type for JSE value can be pkcs12 or jks
  374. </xs:documentation>
  375. </xs:annotation>
  376. </xs:attribute>
  377. <xs:attribute name="truststore-type" type="JSEStoreType">
  378. <xs:annotation>
  379. <xs:documentation>
  380. Type of keystore type for JSE value can be pkcs12 or jks
  381. </xs:documentation>
  382. </xs:annotation>
  383. </xs:attribute>
  384. <xs:attribute name="session-cache-size" default="0"/>
  385. <xs:attribute name="session-timeout" default="86400"/>
  386. </xs:complexType>
  387. <xs:simpleType name="SSlProtocolType">
  388. <xs:restriction base="xs:token">
  389. <xs:enumeration value="SSLv2"/>
  390. <xs:enumeration value="SSLv3"/>
  391. <xs:enumeration value="TLSv1"/>
  392. <xs:enumeration value="SSLv2+SSLv3"/>
  393. <xs:enumeration value="ALL"/>
  394. </xs:restriction>
  395. </xs:simpleType>
  396. <xs:simpleType name="JSEStoreType">
  397. <xs:restriction base="xs:token">
  398. <xs:enumeration value="JKS"/>
  399. <xs:enumeration value="PKCS12"/>
  400. </xs:restriction>
  401. </xs:simpleType>
  402. </xs:schema>