You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

fop-configuration.xsd 18KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed to the Apache Software Foundation (ASF) under one or more
  4. contributor license agreements. See the NOTICE file distributed with
  5. this work for additional information regarding copyright ownership.
  6. The ASF licenses this file to You under the Apache License, Version 2.0
  7. (the "License"); you may not use this file except in compliance with
  8. the License. You may obtain a copy of the License at
  9. http://www.apache.org/licenses/LICENSE-2.0
  10. Unless required by applicable law or agreed to in writing, software
  11. distributed under the License is distributed on an "AS IS" BASIS,
  12. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. See the License for the specific language governing permissions and
  14. limitations under the License.
  15. -->
  16. <!-- $Id$ -->
  17. <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  18. elementFormDefault="qualified">
  19. <xsd:annotation>
  20. <xsd:documentation>This W3C schema document documents and validates the expected
  21. structure of a configuration file for FOP.</xsd:documentation>
  22. </xsd:annotation>
  23. <xsd:element name="fop">
  24. <xsd:complexType>
  25. <xsd:all>
  26. <xsd:element name="base" type="xsd:anyURI" minOccurs="0"/>
  27. <xsd:element name="font-base" type="xsd:anyURI" minOccurs="0"/>
  28. <xsd:element name="fonts" minOccurs="0">
  29. <xsd:complexType>
  30. <xsd:sequence>
  31. <xsd:element name="substitutions" maxOccurs="1" minOccurs="0"/>
  32. <xsd:element name="font" type="fontType" maxOccurs="unbounded" minOccurs="0"/>
  33. <xsd:element name="referenced-fonts" type="referenceFontType" minOccurs="0" maxOccurs="unbounded"/>
  34. </xsd:sequence>
  35. </xsd:complexType>
  36. </xsd:element>
  37. <xsd:element name="hyphenation-base" type="xsd:anyURI" minOccurs="0"/>
  38. <xsd:element name="source-resolution" type="xsd:positiveInteger" minOccurs="0"/>
  39. <xsd:element name="target-resolution" type="xsd:positiveInteger" minOccurs="0"/>
  40. <xsd:element name="strict-validation" type="xsd:boolean" minOccurs="0"/>
  41. <xsd:element name="image-loading" minOccurs="0">
  42. <xsd:complexType>
  43. <xsd:sequence>
  44. <xsd:element name="penalty">
  45. <xsd:complexType>
  46. <xsd:attribute name="value" type="xsd:positiveInteger" use="required"/>
  47. <xsd:attribute name="class" type="xsd:string" use="required"/>
  48. </xsd:complexType>
  49. </xsd:element>
  50. </xsd:sequence>
  51. </xsd:complexType>
  52. </xsd:element>
  53. <xsd:element name="strict-configuration" type="xsd:boolean" minOccurs="0"/>
  54. <xsd:element name="break-indent-inheritance" type="xsd:boolean" minOccurs="0"/>
  55. <xsd:element name="accessibility" type="xsd:boolean" minOccurs="0"/>
  56. <xsd:element name="use-cache" type="xsd:boolean" minOccurs="0"/>
  57. <xsd:element name="default-page-settings" minOccurs="0">
  58. <xsd:complexType>
  59. <xsd:attribute name="width" type="xsd:string" use="optional"/>
  60. <xsd:attribute name="height" type="xsd:string" use="optional"/>
  61. </xsd:complexType>
  62. </xsd:element>
  63. <xsd:element name="complex-scripts" minOccurs="0">
  64. <xsd:complexType>
  65. <xsd:attribute name="disabled" type="xsd:boolean"/>
  66. </xsd:complexType>
  67. </xsd:element>
  68. <xsd:element name="renderers" minOccurs="0">
  69. <xsd:complexType>
  70. <xsd:sequence>
  71. <xsd:element name="renderer" maxOccurs="unbounded" type="rendererType"/>
  72. </xsd:sequence>
  73. </xsd:complexType>
  74. </xsd:element>
  75. </xsd:all>
  76. <xsd:attribute name="version" use="optional">
  77. <xsd:simpleType>
  78. <xsd:restriction base="xsd:string">
  79. <xsd:enumeration value="1.0"/>
  80. </xsd:restriction>
  81. </xsd:simpleType>
  82. </xsd:attribute>
  83. </xsd:complexType>
  84. </xsd:element>
  85. <xsd:complexType name="rendererType">
  86. <xsd:annotation>
  87. <xsd:documentation>This type is stricter than required by FOP, in that it imposes an
  88. order of the elements, which is not required by FOP.</xsd:documentation>
  89. </xsd:annotation>
  90. <xsd:sequence minOccurs="0" maxOccurs="unbounded">
  91. <xsd:choice>
  92. <xsd:element name="pdf-a-mode" type="xsd:string" minOccurs="0"/>
  93. <xsd:element name="pdf-x-mode" type="xsd:string" minOccurs="0"/>
  94. <xsd:element name="pdf-vt-mode" type="xsd:string" minOccurs="0"/>
  95. <xsd:element name="version" type="xsd:float" minOccurs="0"/>
  96. <xsd:element name="endianness" type="xsd:string" minOccurs="0">
  97. <xsd:annotation>
  98. <xsd:documentation>endianness is used by the TIFF renderer, MIME type image/tiff.</xsd:documentation>
  99. </xsd:annotation>
  100. </xsd:element>
  101. <xsd:element name="color-mode" type="xsd:string" minOccurs="0"/>
  102. <xsd:element name="single-strip" type="xsd:boolean" minOccurs="0">
  103. <xsd:annotation>
  104. <xsd:documentation>single-strip is used by the TIFF renderer, MIME type image/tiff.</xsd:documentation>
  105. </xsd:annotation>
  106. </xsd:element>
  107. <xsd:element name="line-width-correction" type="xsd:float" minOccurs="0">
  108. <xsd:annotation>
  109. <xsd:documentation>line-width-correction is used by the AFP renderer, MIME type application/x-afp.</xsd:documentation>
  110. </xsd:annotation>
  111. </xsd:element>
  112. <xsd:element name="border-rendering-mode" type="xsd:string" minOccurs="0"/>
  113. <xsd:element name="filterList" minOccurs="0" maxOccurs="unbounded">
  114. <xsd:annotation>
  115. <xsd:documentation>filterLists are used by the PDF renderer, MIME type
  116. application/pdf.</xsd:documentation>
  117. </xsd:annotation>
  118. <xsd:complexType>
  119. <xsd:sequence>
  120. <xsd:element name="value" type="xsd:string" maxOccurs="unbounded"/>
  121. </xsd:sequence>
  122. <xsd:attribute name="type" use="optional">
  123. <xsd:simpleType>
  124. <xsd:restriction base="xsd:string">
  125. <xsd:enumeration value="default"/>
  126. <xsd:enumeration value="content"/>
  127. <xsd:enumeration value="image"/>
  128. <xsd:enumeration value="jpeg"/>
  129. <xsd:enumeration value="tiff"/>
  130. <xsd:enumeration value="font"/>
  131. <xsd:enumeration value="metadata"/>
  132. <!-- Available values: see PDFFilterList.java -->
  133. </xsd:restriction>
  134. </xsd:simpleType>
  135. </xsd:attribute>
  136. </xsd:complexType>
  137. </xsd:element>
  138. <xsd:element name="encryption-params" minOccurs="0" maxOccurs="1">
  139. <xsd:annotation>
  140. <xsd:documentation>Optional parameters used by the PDF renderer.</xsd:documentation>
  141. </xsd:annotation>
  142. <xsd:complexType>
  143. <xsd:sequence>
  144. <xsd:element name="user-password" type="xsd:string" minOccurs="0" maxOccurs="1"></xsd:element>
  145. <xsd:element name="owner-password" type="xsd:string" minOccurs="0" maxOccurs="1"></xsd:element>
  146. <xsd:element name="noprint" minOccurs="0" maxOccurs="1"></xsd:element>
  147. <xsd:element name="nocopy" minOccurs="0" maxOccurs="1"></xsd:element>
  148. <xsd:element name="noedit" minOccurs="0" maxOccurs="1"></xsd:element>
  149. <xsd:element name="noannotations" minOccurs="0" maxOccurs="1"></xsd:element>
  150. <xsd:element name="encryption-length" type="xsd:positiveInteger" minOccurs="0" maxOccurs="1"></xsd:element>
  151. <xsd:element name="encrypt-metadata" type="xsd:boolean" minOccurs="0" maxOccurs="1"></xsd:element>
  152. </xsd:sequence>
  153. </xsd:complexType>
  154. </xsd:element>
  155. <xsd:element name="output-profile" type="xsd:string" minOccurs="0">
  156. <xsd:annotation>
  157. <xsd:documentation>Output color profile used by the PDF renderer. Specifies a
  158. filename to an ICC file.</xsd:documentation>
  159. </xsd:annotation>
  160. </xsd:element>
  161. <xsd:element name="auto-rotate-landscape" type="xsd:boolean" default="false" minOccurs="0">
  162. <xsd:annotation>
  163. <xsd:documentation>When set to "true" a landscape page is automatically
  164. rotated and specified as a landscape page in PostScript.</xsd:documentation>
  165. </xsd:annotation>
  166. </xsd:element>
  167. <xsd:element name="language-level" default="3" minOccurs="0">
  168. <xsd:annotation>
  169. <xsd:documentation>Specifies the PostScript language level to use when
  170. generating PostScript code.
  171. language-level is used by the PostScript renderer,
  172. MIME type application/postscript.</xsd:documentation>
  173. </xsd:annotation>
  174. <xsd:simpleType>
  175. <xsd:restriction base="xsd:positiveInteger">
  176. <xsd:enumeration value="2"/>
  177. <xsd:enumeration value="3"/>
  178. </xsd:restriction>
  179. </xsd:simpleType>
  180. </xsd:element>
  181. <xsd:element name="optimize-resources" type="xsd:boolean" default="false" minOccurs="0">
  182. <xsd:annotation>
  183. <xsd:documentation>When set to "true" PostScript resources are optimized by making a
  184. second pass over the PostScript file (rewriting it). Optimized means that no duplicate
  185. images are written to the stream and only used fonts are added to the PostScript file.</xsd:documentation>
  186. </xsd:annotation>
  187. </xsd:element>
  188. <xsd:element name="rendering" minOccurs="0">
  189. <xsd:simpleType>
  190. <xsd:restriction base="xsd:string">
  191. <xsd:enumeration value="speed"/>
  192. <xsd:enumeration value="quality"/>
  193. </xsd:restriction>
  194. </xsd:simpleType>
  195. </xsd:element>
  196. <xsd:element name="text-rendering" minOccurs="0">
  197. <xsd:simpleType>
  198. <xsd:restriction base="xsd:string">
  199. <xsd:enumeration value="auto"/>
  200. <xsd:enumeration value="bitmap"/>
  201. </xsd:restriction>
  202. </xsd:simpleType>
  203. </xsd:element>
  204. <xsd:element name="transparent-page-background" type="xsd:boolean" default="false" minOccurs="0"/>
  205. <xsd:element name="encoding" type="xsd:string" default="UTF-8" minOccurs="0"/>
  206. <xsd:element name="compression" type="xsd:string" minOccurs="0"/>
  207. <xsd:element name="images" minOccurs="0">
  208. <xsd:complexType>
  209. <xsd:sequence>
  210. <xsd:element name="jpeg" minOccurs="0"/>
  211. </xsd:sequence>
  212. <xsd:attribute name="mode" type="xsd:string" use="optional"/>
  213. <xsd:attribute name="bits-per-pixel" type="xsd:positiveInteger" use="optional"/>
  214. <xsd:attribute name="fs45" type="xsd:boolean" use="optional"/>
  215. <xsd:attribute name="cmyk" type="xsd:boolean" use="optional"/>
  216. <xsd:attribute name="pseg" type="xsd:boolean" use="optional"/>
  217. <xsd:attribute name="f11x-pseg" type="xsd:boolean" use="optional"/>
  218. </xsd:complexType>
  219. </xsd:element>
  220. <xsd:element name="shading" minOccurs="0" type="xsd:string"/>
  221. <xsd:element name="renderer-resolution" type="xsd:positiveInteger" minOccurs="0"/>
  222. <xsd:element name="fonts" minOccurs="1">
  223. <xsd:complexType>
  224. <xsd:sequence>
  225. <xsd:element name="font" type="fontType" maxOccurs="unbounded" minOccurs="0"/>
  226. <xsd:element name="referenced-fonts" type="referenceFontType" maxOccurs="unbounded" minOccurs="0"/>
  227. </xsd:sequence>
  228. </xsd:complexType>
  229. </xsd:element>
  230. <xsd:element name="xmlHandler" minOccurs="1" maxOccurs="1">
  231. <xsd:complexType>
  232. <xsd:attribute name="mime" use="required">
  233. <xsd:simpleType>
  234. <xsd:restriction base="xsd:string">
  235. <xsd:enumeration value="text/svg+xml"/>
  236. <xsd:enumeration value="image/svg+xml"/>
  237. </xsd:restriction>
  238. </xsd:simpleType>
  239. </xsd:attribute>
  240. </xsd:complexType>
  241. </xsd:element>
  242. <xsd:element name="xml-handler" minOccurs="0" maxOccurs="unbounded">
  243. <xsd:complexType>
  244. <xsd:complexContent>
  245. <xsd:extension base="xsd:anyType"/>
  246. </xsd:complexContent>
  247. </xsd:complexType>
  248. </xsd:element>
  249. <xsd:element name="dsc-compliant" type="xsd:boolean" minOccurs="0"/>
  250. <xsd:element name="format" minOccurs="0">
  251. <xsd:complexType>
  252. <xsd:attribute name="type" type="xsd:string" use="required"/>
  253. </xsd:complexType>
  254. </xsd:element>
  255. <xsd:element name="link" minOccurs="0">
  256. <xsd:complexType>
  257. <xsd:attribute name="value" type="xsd:boolean" use="required"/>
  258. </xsd:complexType>
  259. </xsd:element>
  260. <xsd:element name="strokeText" minOccurs="0">
  261. <xsd:complexType>
  262. <xsd:attribute name="value" type="xsd:boolean" use="required"/>
  263. </xsd:complexType>
  264. </xsd:element>
  265. <xsd:element name="pageSize" minOccurs="0">
  266. <xsd:complexType>
  267. <xsd:attribute name="columns" type="xsd:positiveInteger" use="required"/>
  268. </xsd:complexType>
  269. </xsd:element>
  270. <xsd:element name="resource-group-file" type="xsd:string" minOccurs="0"/>
  271. <xsd:element name="default-resource-levels" minOccurs="0"/>
  272. <xsd:element name="merge-fonts" minOccurs="0"/>
  273. </xsd:choice>
  274. </xsd:sequence>
  275. <xsd:attribute name="mime" type="MimeConstants" use="required"/>
  276. </xsd:complexType>
  277. <xsd:complexType name="fontType">
  278. <xsd:sequence>
  279. <xsd:element name="afp-font" type="afpFontType" minOccurs="0" maxOccurs="unbounded"/>
  280. <xsd:element name="font-triplet" type="fontTripletType" minOccurs="0" maxOccurs="unbounded"/>
  281. </xsd:sequence>
  282. <xsd:attribute name="metrics-url" type="xsd:anyURI" use="optional"/>
  283. <xsd:attribute name="embed-url" type="xsd:anyURI" use="optional"/>
  284. <xsd:attribute name="embed-url-afm" type="xsd:anyURI" use="optional"/>
  285. <xsd:attribute name="embed-url-pfm" type="xsd:anyURI" use="optional"/>
  286. <xsd:attribute name="sub-font" type="xsd:string" use="optional"/>
  287. <xsd:attribute name="name" type="xsd:string" use="optional"/>
  288. <xsd:attribute name="embedding-mode" use="optional">
  289. <xsd:simpleType>
  290. <xsd:restriction base="xsd:string">
  291. <xsd:enumeration value="full"/>
  292. <xsd:enumeration value="subset"/>
  293. </xsd:restriction>
  294. </xsd:simpleType>
  295. </xsd:attribute>
  296. <xsd:attribute name="kerning" use="optional" default="no">
  297. <xsd:simpleType>
  298. <xsd:restriction base="xsd:string">
  299. <xsd:enumeration value="yes"/>
  300. <xsd:enumeration value="no"/>
  301. </xsd:restriction>
  302. </xsd:simpleType>
  303. </xsd:attribute>
  304. <xsd:attribute name="encoding-mode" use="optional" default="auto">
  305. <xsd:simpleType>
  306. <xsd:restriction base="xsd:string">
  307. <xsd:enumeration value="auto"/>
  308. <xsd:enumeration value="single-byte"/>
  309. <xsd:enumeration value="cid"/>
  310. </xsd:restriction>
  311. </xsd:simpleType>
  312. </xsd:attribute>
  313. </xsd:complexType>
  314. <xsd:complexType name="fontTripletType">
  315. <xsd:attribute name="name" type="xsd:string" use="required"/>
  316. <xsd:attribute name="style" type="xsd:string" use="required"/>
  317. <xsd:attribute name="weight" type="xsd:string" use="required"/>
  318. </xsd:complexType>
  319. <xsd:complexType name="referenceFontType">
  320. <xsd:sequence>
  321. <xsd:element name="match">
  322. <xsd:complexType>
  323. <xsd:attribute name="font-family" type="xsd:string" use="optional"/>
  324. </xsd:complexType>
  325. </xsd:element>
  326. </xsd:sequence>
  327. </xsd:complexType>
  328. <xsd:complexType name="afpFontType">
  329. <xsd:sequence>
  330. <xsd:element name="afp-raster-font" type="afpRasterFont" minOccurs="0" maxOccurs="unbounded"/>
  331. </xsd:sequence>
  332. <xsd:attribute name="encoding" type="xsd:string" use="required"/>
  333. <xsd:attribute name="codepage" type="xsd:string" use="required"/>
  334. <xsd:attribute name="type" type="xsd:string" use="required"/>
  335. <xsd:attribute name="name" type="xsd:string" use="optional"/>
  336. <xsd:attribute name="characterset" type="xsd:string" use="optional"/>
  337. <xsd:attribute name="base-uri" type="xsd:anyURI" use="optional"/>
  338. <xsd:attribute name="embed-uri" type="xsd:anyURI" use="optional"/>
  339. <xsd:attribute name="base14-font" type="xsd:string" use="optional"/>
  340. <xsd:attribute name="ebcdic-dbcs" type="xsd:boolean" use="optional"/>
  341. </xsd:complexType>
  342. <xsd:complexType name="afpRasterFont">
  343. <xsd:attribute name="size" type="xsd:float" use="required"/>
  344. <xsd:attribute name="base14-font" type="xsd:string" use="optional"/>
  345. <xsd:attribute name="characterset" type="xsd:string" use="required"/>
  346. </xsd:complexType>
  347. <xsd:simpleType name="MimeConstants">
  348. <xsd:restriction base="xsd:string">
  349. <xsd:enumeration value="application/pdf"/>
  350. <xsd:enumeration value="application/postscript"/>
  351. <xsd:enumeration value="application/x-pcl"/>
  352. <xsd:enumeration value="application/vnd.hp-PCL"/>
  353. <xsd:enumeration value="application/x-afp"/>
  354. <xsd:enumeration value="application/vnd.ibm.modcap"/>
  355. <xsd:enumeration value="application/awt"/>
  356. <xsd:enumeration value="text/plain"/>
  357. <xsd:enumeration value="application/rtf"/>
  358. <xsd:enumeration value="text/richtext"/>
  359. <xsd:enumeration value="text/rtf"/>
  360. <xsd:enumeration value="text/xml"/>
  361. <xsd:enumeration value="application/mif"/>
  362. <xsd:enumeration value="application/X-fop-awt-preview"/>
  363. <xsd:enumeration value="application/X-fop-print"/>
  364. <xsd:enumeration value="application/X-fop-areatree"/>
  365. <xsd:enumeration value="image/png"/>
  366. <xsd:enumeration value="image/tiff"/>
  367. <xsd:enumeration value="image/svg+xml"/>
  368. <xsd:enumeration value="application/X-fop-intermediate-format"/>
  369. </xsd:restriction>
  370. </xsd:simpleType>
  371. </xsd:schema>