jboss-as-web_1_4.xsd 18 KB

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