<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You 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$ -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
  targetNamespace="http://xmlgraphics.apache.org/fop/intermediate"
  xmlns:mf="http://xmlgraphics.apache.org/fop/intermediate">
  <xs:simpleType name="colorType">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:simpleType name="lengthType">
    <xs:restriction base="xs:int"/>
  </xs:simpleType>
  <xs:simpleType name="fontStyleType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="normal"/>
      <xs:enumeration value="italic"/>
      <xs:enumeration value="oblique"/>
      <xs:enumeration value="backslant"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="fontVariantType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="normal"/>
      <xs:enumeration value="small-caps"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="fontWeightType">
    <xs:restriction base="xs:positiveInteger">
      <xs:enumeration value="100"/>
      <xs:enumeration value="200"/>
      <xs:enumeration value="300"/>
      <xs:enumeration value="400"/>
      <xs:enumeration value="500"/>
      <xs:enumeration value="600"/>
      <xs:enumeration value="700"/>
      <xs:enumeration value="800"/>
      <xs:enumeration value="900"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="fontStretchType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="ultra-condensed"/>
      <xs:enumeration value="extra-condensed"/>
      <xs:enumeration value="condensed"/>
      <xs:enumeration value="semi-condensed"/>
      <xs:enumeration value="normal"/>
      <xs:enumeration value="semi-expanded"/>
      <xs:enumeration value="expanded"/>
      <xs:enumeration value="extra-expanded"/>
      <xs:enumeration value="ultra-expanded"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="borderStyle">
    <xs:restriction base="xs:string">
      <xs:enumeration value="solid"/>
      <xs:enumeration value="dotted"/>
      <xs:enumeration value="dashed"/>
      <xs:enumeration value="double"/>
      <xs:enumeration value="groove"/>
      <xs:enumeration value="ridge"/>
      <xs:enumeration value="inset"/>
      <xs:enumeration value="outset"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ruleStyle">
    <xs:restriction base="xs:string">
      <xs:enumeration value="solid"/>
      <xs:enumeration value="dotted"/>
      <xs:enumeration value="dashed"/>
      <xs:enumeration value="double"/>
      <xs:enumeration value="groove"/>
      <xs:enumeration value="ridge"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="borderDef">
    <xs:restriction base="xs:string">
      <!-- TODO refine me: \w+ will not be good enough for CMYK color, for example
      <xs:pattern value="\((solid|dotted|dashed|double|groove|ridge|inset|outset),\w+,\d+(,collapse-(inner|outer))?"/>
      -->
      <xs:pattern value="\((solid|dotted|dashed|double|groove|ridge|inset|outset),.+\)"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="lengthListType">
    <xs:list itemType="mf:lengthType"/>
  </xs:simpleType>
  <xs:simpleType name="rectangleType">
    <xs:restriction base="mf:lengthListType">
      <xs:length value="4"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="dpListType">
    <xs:list itemType="mf:dpItemType"/>
  </xs:simpleType>
  <xs:simpleType name="dpItemType">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="mf:lengthType"/>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="mf:dpZeroesType"/>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="dpZeroesType">
    <xs:restriction base="xs:string">
      <xs:pattern value="Z(\d)+"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
