]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
A W3C schema for FOP user configuration files
authorSimon Pepping <spepping@apache.org>
Sun, 16 Jul 2006 19:31:52 +0000 (19:31 +0000)
committerSimon Pepping <spepping@apache.org>
Sun, 16 Jul 2006 19:31:52 +0000 (19:31 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@422509 13f79535-47bb-0310-9956-ffa450edef68

src/foschema/fop-configuration.xsd [new file with mode: 0644]

diff --git a/src/foschema/fop-configuration.xsd b/src/foschema/fop-configuration.xsd
new file mode 100644 (file)
index 0000000..a4abd35
--- /dev/null
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2006 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  elementFormDefault="qualified">
+
+  <xsd:annotation>
+    <xsd:documentation>This W3C schema document documents and validates the expected
+      structure of a configuration file for FOP.</xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:element name="fop">
+    <xsd:complexType>
+      <xsd:all>
+        <xsd:element name="base" type="xsd:anyURI" minOccurs="0"></xsd:element>
+        <xsd:element name="font-base" type="xsd:anyURI" minOccurs="0"></xsd:element>
+        <xsd:element name="hyphenation-base" type="xsd:anyURI" minOccurs="0"></xsd:element>
+        <xsd:element name="source-resolution"
+          type="xsd:positiveInteger" minOccurs="0">
+        </xsd:element>
+        <xsd:element name="target-resolution"
+          type="xsd:positiveInteger" minOccurs="0">
+        </xsd:element>
+        <xsd:element name="strict-validation" type="xsd:boolean" minOccurs="0"></xsd:element>
+        <xsd:element name="break-indent-inheritance"
+          type="xsd:boolean" minOccurs="0">
+        </xsd:element>
+        <xsd:element name="default-page-settings" minOccurs="0">
+          <xsd:complexType>
+            <xsd:attribute name="width" type="xsd:string"></xsd:attribute>
+            <xsd:attribute name="height" type="xsd:string"></xsd:attribute>
+          </xsd:complexType>
+        </xsd:element>
+        <xsd:element name="renderers" minOccurs="0">
+          <xsd:complexType>
+            <xsd:sequence>
+              <xsd:element name="renderer" maxOccurs="unbounded"
+                type="rendererType">
+              </xsd:element>
+            </xsd:sequence>
+          </xsd:complexType>
+        </xsd:element>
+      </xsd:all>
+      <xsd:attribute name="version" use="optional">
+        <xsd:simpleType>
+          <xsd:restriction base="xsd:string">
+            <xsd:enumeration value="1.0"></xsd:enumeration>
+          </xsd:restriction>
+        </xsd:simpleType>
+      </xsd:attribute>
+    </xsd:complexType>
+  </xsd:element>
+
+  <xsd:complexType name="rendererType">
+  <xsd:annotation>
+    <xsd:documentation>This type is stricter than required by FOP, in that it imposes an
+      order of the elements, which is not required by FOP.</xsd:documentation>
+  </xsd:annotation>
+  <xsd:sequence>
+      <xsd:choice minOccurs="0">
+        <xsd:element name="filterList" maxOccurs="2">
+        <xsd:annotation>
+          <xsd:documentation>filterLists are used by the PDF renderer, MIME type
+            application/pdf.</xsd:documentation>
+        </xsd:annotation>
+        <xsd:complexType>
+            <xsd:sequence>
+              <xsd:element name="value" type="xsd:string"
+                maxOccurs="unbounded">
+              </xsd:element>
+            </xsd:sequence>
+            <xsd:attribute name="type" use="optional">
+              <xsd:simpleType>
+                <xsd:restriction base="xsd:string">
+                  <xsd:enumeration value="image"></xsd:enumeration>
+                </xsd:restriction>
+              </xsd:simpleType>
+            </xsd:attribute>
+          </xsd:complexType>
+        </xsd:element>
+        <xsd:element name="auto-rotate-landscape">
+        <xsd:annotation>
+          <xsd:documentation>auto-rotate-landscape is used by the PostScript renderer,
+          MIME type application/postscript.</xsd:documentation>
+        </xsd:annotation>
+        <xsd:simpleType>
+            <xsd:restriction base="xsd:string">
+              <xsd:enumeration value="false"></xsd:enumeration>
+              <xsd:enumeration value="true"></xsd:enumeration>
+            </xsd:restriction>
+          </xsd:simpleType>
+        </xsd:element>
+        <xsd:sequence>
+        <xsd:annotation>
+          <xsd:documentation>rendering and text-rendering are used by the PCL renderer,
+          MIME type application/vnd.hp-PCL</xsd:documentation>
+        </xsd:annotation>
+        <xsd:element name="rendering" minOccurs="0">
+            <xsd:simpleType>
+              <xsd:restriction base="xsd:string">
+                <xsd:enumeration value="speed"></xsd:enumeration>
+                <xsd:enumeration value="quality"></xsd:enumeration>
+              </xsd:restriction>
+            </xsd:simpleType>
+          </xsd:element>
+          <xsd:element name="text-rendering" minOccurs="0">
+            <xsd:simpleType>
+              <xsd:restriction base="xsd:string">
+                <xsd:enumeration value="auto"></xsd:enumeration>
+                <xsd:enumeration value="bitmap"></xsd:enumeration>
+              </xsd:restriction>
+            </xsd:simpleType>
+          </xsd:element>
+        </xsd:sequence>
+      </xsd:choice>
+      <xsd:element name="fonts" minOccurs="0">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="font" type="fontType"
+              maxOccurs="unbounded">
+            </xsd:element>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="mime" type="MimeConstants" use="required"></xsd:attribute>
+  </xsd:complexType>
+
+  <xsd:complexType name="fontType">
+    <xsd:sequence>
+      <xsd:element name="font-triplet" type="fontTripletType" maxOccurs="unbounded"></xsd:element>
+    </xsd:sequence>
+    <xsd:attribute name="metrics-url" type="xsd:anyURI" use="required"></xsd:attribute>
+    <xsd:attribute name="embed-url" type="xsd:anyURI" use="optional"></xsd:attribute>
+    <xsd:attribute name="kerning" use="optional">
+      <xsd:simpleType>
+        <xsd:restriction base="xsd:string">
+          <xsd:enumeration value="yes"></xsd:enumeration>
+        </xsd:restriction>
+      </xsd:simpleType>
+    </xsd:attribute>
+  </xsd:complexType>
+
+  <xsd:complexType name="fontTripletType">
+    <xsd:attribute name="name" type="xsd:string" use="required"></xsd:attribute>
+    <xsd:attribute name="style" type="xsd:string" use="required"></xsd:attribute>
+    <xsd:attribute name="weight" type="xsd:string" use="required"></xsd:attribute>
+  </xsd:complexType>
+
+  <xsd:simpleType name="MimeConstants">
+    <xsd:restriction base="xsd:string">
+      <xsd:enumeration value="application/pdf"></xsd:enumeration>
+      <xsd:enumeration value="application/postscript"></xsd:enumeration>
+      <xsd:enumeration value="application/x-pcl"></xsd:enumeration>
+      <xsd:enumeration value="application/vnd.hp-PCL"></xsd:enumeration>
+      <xsd:enumeration value="application/x-afp"></xsd:enumeration>
+      <xsd:enumeration value="application/vnd.ibm.modcap"></xsd:enumeration>
+      <xsd:enumeration value="text/plain"></xsd:enumeration>
+      <xsd:enumeration value="application/rtf"></xsd:enumeration>
+      <xsd:enumeration value="text/richtext"></xsd:enumeration>
+      <xsd:enumeration value="text/rtf"></xsd:enumeration>
+      <xsd:enumeration value="application/mif"></xsd:enumeration>
+      <xsd:enumeration value="application/X-fop-awt-preview"></xsd:enumeration>
+      <xsd:enumeration value="application/X-fop-print"></xsd:enumeration>
+      <xsd:enumeration value="application/X-fop-areatree"></xsd:enumeration>
+    </xsd:restriction>
+  </xsd:simpleType>
+
+</xsd:schema>