<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="print-config">
<xs:complexType>
<xs:sequence>
<xs:element ref="scale" maxOccurs="unbounded"/>
<xs:element ref="resolution" maxOccurs="unbounded"/>
<xs:element ref="template" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:key name="UNIQUE_RESOLUTION_DESCRIPTION_CHECK">
<xs:selector xpath="./resolution"/>
<xs:field xpath="@description"/>
</xs:key>
<xs:key name="UNIQUE_RESOLUTION_VALUE_CHECK">
<xs:selector xpath="./resolution"/>
<xs:field xpath="@value"/>
</xs:key>
<xs:key name="UNIQUE_SCALE_DESCRIPTION_CHECK">
<xs:selector xpath="./scale"/>
<xs:field xpath="@description"/>
</xs:key>
<xs:key name="UNIQUE_SCALE_VALUE_CHECK">
<xs:selector xpath="./scale"/>
<xs:field xpath="@value"/>
</xs:key>
<xs:key name="UNIQUE_TEMPLATE_NAME_CHECK">
<xs:selector xpath="./template"/>
<xs:field xpath="@name"/>
</xs:key>
</xs:element>
<xs:element name="box">
<xs:complexType>
<xs:attribute name="position" type="TYPE_XY" use="required"/>
<xs:attribute name="size" type="TYPE_XY" use="required"/>
<xs:attribute name="fill-color" type="TYPE_COLOR" use="optional"/>
<xs:attribute name="outline-color" type="TYPE_COLOR" use="optional" default="0,0,0"/>
<xs:attribute name="outline-width" type="TYPE_POSITIVE_DECIMAL" use="optional" default="1"/>
</xs:complexType>
</xs:element>
<xs:element name="centercoordinatetext">
<xs:complexType>
<xs:attribute name="position" type="TYPE_XY" use="required"/>
<xs:attribute name="alignment" type="TYPE_ALIGNMENT" use="required"/>
<xs:attribute name="font" type="TYPE_FONT" use="optional" default="helvetica_bold"/>
<xs:attribute name="font-size" type="xs:positiveInteger" use="optional" default="18"/>
</xs:complexType>
</xs:element>
<xs:element name="datetext">
<xs:complexType>
<xs:attribute name="position" type="TYPE_XY" use="required"/>
<xs:attribute name="alignment" type="TYPE_ALIGNMENT" use="required"/>
<xs:attribute name="format" type="TYPE_DATE" use="optional" default="date_medium"/>
<xs:attribute name="font" type="TYPE_FONT" use="optional" default="helvetica"/>
<xs:attribute name="font-size" type="xs:positiveInteger" use="optional" default="9"/>
<xs:attribute name="prefix" type="xs:string" use="optional"/>
<xs:attribute name="suffix" type="xs:string" use="optional"/>
<xs:attribute name="locale-language" type="xs:string" use="optional" default="en"/>
<xs:attribute name="locale-country" type="xs:string" use="optional" default="US"/>
<xs:attribute name="locale-variant" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="image">
<xs:complexType>
<xs:attribute name="position" type="TYPE_XY" use="required"/>
<xs:attribute name="size" type="TYPE_XY" use="optional"/>
<xs:attribute name="url" type="xs:token" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="indexmap">
<xs:complexType>
<xs:attribute name="position" type="TYPE_XY" use="required"/>
<xs:attribute name="size" type="TYPE_XY" use="required"/>
<xs:attribute name="type" type="TYPE_INDEXMAP" use="optional" default="crosshair"/>
<xs:attribute name="dpi" type="xs:positiveInteger" use="optional" default="72"/>
</xs:complexType>
</xs:element>
<xs:element name="latlongraticule">
<xs:complexType>
<xs:attribute name="maximum-intervals" type="xs:positiveInteger" use="optional" default="6"/>
</xs:complexType>
</xs:element>
<xs:element name="legend">
<xs:complexType>
<xs:attribute name="position" type="TYPE_XY" use="required"/>
<xs:attribute name="size" type="TYPE_XY" use="required"/>
<xs:attribute name="dpi" type="xs:positiveInteger" use="optional" default="72"/>
<xs:attribute name="columns" type="xs:positiveInteger" use="optional" default="1"/>
<xs:attribute name="layer-font-size" type="xs:positiveInteger" use="optional" default="10"/>
<xs:attribute name="value-font-size" type="xs:positiveInteger" use="optional" default="9"/>
<xs:attribute name="swatch-width" type="xs:decimal" use="optional"/>
<xs:attribute name="swatch-height" type="xs:decimal" use="optional"/>
<xs:attribute name="cell-spacing" type="xs:positiveInteger" use="optional" default="3"/>
</xs:complexType>
</xs:element>
<xs:element name="line">
<xs:complexType>
<xs:attribute name="from" type="TYPE_XY" use="required"/>
<xs:attribute name="to" type="TYPE_XY" use="required"/>
<xs:attribute name="width" type="TYPE_POSITIVE_DECIMAL" use="optional" default="1"/>
<xs:attribute name="color" type="TYPE_COLOR" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="map">
<xs:complexType>
<xs:attribute name="position" type="TYPE_XY" use="required"/>
<xs:attribute name="size" type="TYPE_XY" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="northarrow">
<xs:complexType>
<xs:attribute name="position" type="TYPE_XY" use="required"/>
<xs:attribute name="size" type="TYPE_XY" use="optional"/>
<xs:attribute name="url" type="xs:token" use="required"/>
<xs:attribute name="maximum-scale" type="xs:decimal" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="paragraph">
<xs:complexType>
<xs:attribute name="alignment" type="TYPE_ALIGNMENT" use="optional" default="left"/>
<xs:attribute name="font" type="TYPE_FONT" use="optional" default="helvetica"/>
<xs:attribute name="position" type="TYPE_XY" use="required"/>
<xs:attribute name="size" type="TYPE_XY" use="required"/>
<xs:attribute name="font-size" type="xs:positiveInteger" use="optional" default="9"/>
<xs:attribute name="line-height" type="xs:positiveInteger" use="optional" default="12"/>
<xs:attribute name="text" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="prompt">
<xs:complexType>
<xs:attribute name="alignment" type="TYPE_ALIGNMENT" use="optional" default="left"/>
<xs:attribute name="font" type="TYPE_FONT" use="optional" default="helvetica"/>
<xs:attribute name="font-size" type="xs:positiveInteger" use="optional" default="9"/>
<xs:attribute name="line-height" type="xs:positiveInteger" use="optional" default="12"/>
<xs:attribute name="method" type="TYPE_PROMPT_METHOD" use="optional" default="input"/>
<xs:attribute name="select-options" type="xs:string" use="optional"/>
<xs:attribute name="name" type="xs:token" use="required"/>
<xs:attribute name="type" type="TYPE_PROMPT_TYPE" use="optional" default="text"/>
<xs:attribute name="position" type="TYPE_XY" use="required"/>
<xs:attribute name="size" type="TYPE_XY" use="optional"/>
<xs:attribute name="prefix" type="xs:string" use="optional"/>
<xs:attribute name="suffix" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="resolution">
<xs:complexType>
<xs:attribute name="description" type="xs:token" use="required"/>
<xs:attribute name="value" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="scale">
<xs:complexType>
<xs:attribute name="description" type="xs:token" use="required"/>
<xs:attribute name="value" type="xs:integer" use="required"/>
<xs:attribute name="default" type="TYPE_BOOLEAN" use="optional" default="false"/>
</xs:complexType>
</xs:element>
<xs:element name="scalebar">
<xs:complexType>
<xs:attribute name="divisions" type="xs:positiveInteger" use="optional" default="4"/>
<xs:attribute name="font" type="TYPE_FONT" use="optional" default="helvetica"/>
<xs:attribute name="font-size" type="xs:positiveInteger" use="optional" default="9"/>
<xs:attribute name="length" type="TYPE_POSITIVE_DECIMAL" use="required"/>
<xs:attribute name="locale-language" type="xs:string" use="optional" default="en"/>
<xs:attribute name="locale-country" type="xs:string" use="optional" default="US"/>
<xs:attribute name="locale-variant" type="xs:string" use="optional"/>
<xs:attribute name="position" type="TYPE_XY" use="required"/>
<xs:attribute name="text-position" type="TYPE_SCALEBAR_TEXT_POSITION" use="optional" default="top"/>
<xs:attribute name="units" type="TYPE_SCALEBAR_UNITS" use="optional" default="metric"/>
</xs:complexType>
</xs:element>
<xs:element name="scaletext">
<xs:complexType>
<xs:attribute name="position" type="TYPE_XY" use="required"/>
<xs:attribute name="alignment" type="TYPE_ALIGNMENT" use="required"/>
<xs:attribute name="font" type="TYPE_FONT" use="optional" default="helvetica"/>
<xs:attribute name="font-size" type="xs:positiveInteger" use="optional" default="9"/>
<xs:attribute name="prefix" type="xs:string" use="optional"/>
<xs:attribute name="suffix" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="template">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element ref="box"/>
<xs:element ref="centercoordinatetext"/>
<xs:element ref="datetext"/>
<xs:element ref="image"/>
<xs:element ref="indexmap"/>
<xs:element ref="latlongraticule"/>
<xs:element ref="legend"/>
<xs:element ref="line"/>
<xs:element ref="map"/>
<xs:element ref="northarrow"/>
<xs:element ref="paragraph"/>
<xs:element ref="prompt"/>
<xs:element ref="scalebar"/>
<xs:element ref="scaletext"/>
<xs:element ref="text"/>
<xs:element ref="titletext"/>
</xs:choice>
<xs:attribute name="name" type="xs:token" use="required"/>
<xs:attribute name="units" type="TYPE_UNITS" use="optional" default="points"/>
<xs:attribute name="page-size" type="TYPE_XY" use="required"/>
<xs:attribute name="border-width" type="xs:decimal" use="optional" default="36"/>
</xs:complexType>
</xs:element>
<xs:element name="text">
<xs:complexType>
<xs:attribute name="position" type="TYPE_XY" use="required"/>
<xs:attribute name="alignment" type="TYPE_ALIGNMENT" use="required"/>
<xs:attribute name="font" type="TYPE_FONT" use="optional" default="helvetica"/>
<xs:attribute name="font-size" type="xs:positiveInteger" use="optional" default="9"/>
<xs:attribute name="text" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="titletext">
<xs:complexType>
<xs:attribute name="position" type="TYPE_XY" use="required"/>
<xs:attribute name="alignment" type="TYPE_ALIGNMENT" use="required"/>
<xs:attribute name="font" type="TYPE_FONT" use="optional" default="helvetica_bold"/>
<xs:attribute name="font-size" type="xs:positiveInteger" use="optional" default="18"/>
<xs:attribute name="default" type="xs:token" use="optional"/>
</xs:complexType>
</xs:element>
<xs:simpleType name="TYPE_ALIGNMENT">
<xs:restriction base="xs:token">
<xs:enumeration value="left"/>
<xs:enumeration value="right"/>
<xs:enumeration value="center"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TYPE_BOOLEAN">
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TYPE_COLOR">
<xs:restriction base="xs:token">
<xs:pattern value="\d{1,3},\d{1,3},\d{1,3}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TYPE_DATE">
<xs:restriction base="xs:token">
<xs:enumeration value="date_long"/>
<xs:enumeration value="date_medium"/>
<xs:enumeration value="date_short"/>
<xs:enumeration value="datetime_long"/>
<xs:enumeration value="datetime_medium"/>
<xs:enumeration value="datetime_short"/>
<xs:enumeration value="time_long"/>
<xs:enumeration value="time_medium"/>
<xs:enumeration value="time_short"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TYPE_FONT">
<xs:restriction base="xs:token">
<xs:enumeration value="helvetica"/>
<xs:enumeration value="helvetica_bold"/>
<xs:enumeration value="helvetica_boldoblique"/>
<xs:enumeration value="helvetica_oblique"/>
<xs:enumeration value="times_roman"/>
<xs:enumeration value="times_bold"/>
<xs:enumeration value="times_bolditalic"/>
<xs:enumeration value="times_italic"/>
<xs:enumeration value="courier"/>
<xs:enumeration value="courier_bold"/>
<xs:enumeration value="courier_boldoblique"/>
<xs:enumeration value="courier_oblique"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TYPE_INDEXMAP">
<xs:restriction base="xs:token">
<xs:enumeration value="box"/>
<xs:enumeration value="crosshair"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TYPE_POSITIVE_DECIMAL">
<xs:restriction base="xs:decimal">
<xs:minExclusive value="0"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TYPE_PROMPT_METHOD">
<xs:restriction base="xs:token">
<xs:enumeration value="input"/>
<xs:enumeration value="select"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TYPE_PROMPT_TYPE">
<xs:restriction base="xs:token">
<xs:enumeration value="text"/>
<xs:enumeration value="paragraph"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TYPE_SCALEBAR_TEXT_POSITION">
<xs:restriction base="xs:token">
<xs:enumeration value="top"/>
<xs:enumeration value="bottom"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TYPE_SCALEBAR_UNITS">
<xs:restriction base="xs:token">
<xs:enumeration value="imperial"/>
<xs:enumeration value="metric"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TYPE_UNITS">
<xs:restriction base="xs:token">
<xs:enumeration value="points"/>
<xs:enumeration value="inches"/>
<xs:enumeration value="centimeters"/>
<xs:enumeration value="millimeters"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="TYPE_XY">
<xs:restriction base="xs:token">
<xs:pattern value="\d*(\.{0,1}\d{1,4})?,\d*(\.{0,1}\d{1,4})?"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>