<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by Kevin Toohill (AOHunt, LLC) -->
<xs:schema targetNamespace="http://www.mytopo.com/oem/0/1" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.mytopo.com/oem/0/1">
	<xs:element name="mytopo_order">
		<xs:annotation>
			<xs:documentation>Root element of the MyTopo OEM print XML file.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="orderID" type="xs:string">
					<xs:annotation>
						<xs:documentation>Vendor supplied order identification number.</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="mytopoID" type="xs:string" minOccurs="0">
					<xs:annotation>
						<xs:documentation>MyTopo order identification number (unique)</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="orderDate" type="xs:string"/>
				<xs:element name="shipTo">
					<xs:annotation>
						<xs:documentation>Order shipping address.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="shipToID" type="xs:string" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Customer identification code (for vendor use).</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="firstName" type="xs:string"/>
							<xs:element name="lastName" type="xs:string"/>
							<xs:element name="company" type="xs:string" minOccurs="0"/>
							<xs:element name="address1" type="xs:string"/>
							<xs:element name="address2" type="xs:string" minOccurs="0"/>
							<xs:element name="city" type="xs:string"/>
							<xs:element name="state" type="xs:string"/>
							<xs:element name="zip" type="xs:string"/>
							<xs:element name="country" type="xs:string"/>
							<xs:element name="email" type="xs:string" minOccurs="0"/>
							<xs:element name="phone" type="xs:string" minOccurs="0"/>
							<xs:element name="message" type="xs:string" minOccurs="0">
								<xs:annotation>
									<xs:documentation>Message printed on order packing slip.</xs:documentation>
								</xs:annotation>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="billTo">
					<xs:annotation>
						<xs:documentation>Billing account.</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:sequence>
							<xs:element name="account" type="xs:string">
								<xs:annotation>
									<xs:documentation>MyTopo OEM customer account number (assigned).</xs:documentation>
								</xs:annotation>
							</xs:element>
							<xs:element name="password" type="xs:string">
								<xs:annotation>
									<xs:documentation>MyTopo OEM customer password.</xs:documentation>
								</xs:annotation>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="shipType">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:enumeration value="USPSPM"/>
							<xs:enumeration value="UPSG"/>
							<xs:enumeration value="UPS2"/>
							<xs:enumeration value="UPS1"/>
							<xs:enumeration value="USPSGPM"/>
							<xs:enumeration value="USPSPP"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element name="shipQuoteID" minOccurs="0"/>
				<xs:element name="oemPrint" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>Image print request(s).</xs:documentation>
					</xs:annotation>
					<xs:complexType>
						<xs:complexContent>
							<xs:extension base="oemPrintType"/>
						</xs:complexContent>
					</xs:complexType>
				</xs:element>
				<xs:element name="oemMap" type="oemMapType" minOccurs="0" maxOccurs="unbounded">
					<xs:annotation>
						<xs:documentation>Collared map request(s).</xs:documentation>
					</xs:annotation>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="oemPrintType">
		<xs:annotation>
			<xs:documentation>Defines a MyTopo.com print.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="itemID" minOccurs="0"/>
			<xs:element name="qty" type="xs:integer" default="1">
				<xs:annotation>
					<xs:documentation>Number of copies of this print.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="width" type="xs:integer" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Width of the output print.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="height" type="xs:integer" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Height of the output print.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="output" type="outputType">
				<xs:annotation>
					<xs:documentation>Print output (paper) type.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="source" type="xs:anyURI">
				<xs:annotation>
					<xs:documentation>Source image URL.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="oemMapType">
		<xs:annotation>
			<xs:documentation>Defines a MyTopo.com map print (collared map).</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="itemID" minOccurs="0"/>
			<xs:element name="qty" type="xs:integer" default="1">
				<xs:annotation>
					<xs:documentation>Number of copies of this print.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="sourceMap" type="sourcemapType">
				<xs:annotation>
					<xs:documentation>Customer-supplied map image.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="width" type="xs:integer">
				<xs:annotation>
					<xs:documentation>Width of the output print.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="height" type="xs:integer">
				<xs:annotation>
					<xs:documentation>Height of the output print.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="output" type="outputType">
				<xs:annotation>
					<xs:documentation>Print output (paper) type.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="scale" type="xs:positiveInteger" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Requested output print scale denominator. MyTopo OEM print system will scale map image to this print scale, if specified. If not specified, scale will be auto-calcluated for a best fit in the map window.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="custom" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Map customizations.</xs:documentation>
				</xs:annotation>
				<xs:complexType>
					<xs:sequence>
						<xs:element name="title" type="xs:string"/>
						<xs:element name="subtitle" type="xs:string" minOccurs="0"/>
						<xs:element name="owner" type="xs:string" minOccurs="0"/>
						<xs:element name="date" type="xs:date" minOccurs="0"/>
						<xs:element name="brand" minOccurs="0">
							<xs:annotation>
								<xs:documentation>URL for custom brand image.</xs:documentation>
							</xs:annotation>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="grids">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="graticule">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="graticule_type" default="TICS">
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:enumeration value="NONE"/>
												<xs:enumeration value="TICS"/>
												<xs:enumeration value="LINES"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:element>
									<xs:element name="graticule_spacing" minOccurs="0"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="grid">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="grid_type" default="TICS">
										<xs:simpleType>
											<xs:restriction base="xs:string">
												<xs:enumeration value="NONE"/>
												<xs:enumeration value="TICS"/>
												<xs:enumeration value="LINES"/>
											</xs:restriction>
										</xs:simpleType>
									</xs:element>
									<xs:element name="grid_spacing" minOccurs="0"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:simpleType name="outputType">
		<xs:annotation>
			<xs:documentation>Defines a MyTopo output type. Values include S (Standard Bond), G (Glossy), W (Waterproof), L (Laminated), C (Canvas), CM (Canvas - Mounted), CD (CD-ROM), DVD (DVD-ROM)</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="S"/>
			<xs:enumeration value="G"/>
			<xs:enumeration value="W"/>
			<xs:enumeration value="L"/>
			<xs:enumeration value="C"/>
			<xs:enumeration value="CM"/>
			<xs:enumeration value="CD"/>
			<xs:enumeration value="DVD"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="sourcemapType">
		<xs:annotation>
			<xs:documentation>Defines the map source.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="location" type="xs:anyURI">
				<xs:annotation>
					<xs:documentation>URL for source map image.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="georef" type="georefType">
				<xs:annotation>
					<xs:documentation>Source image georeferencing information.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="georefType">
		<xs:annotation>
			<xs:documentation>Defines a source map georeferencing.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="coordsys" type="xs:positiveInteger">
				<xs:annotation>
					<xs:documentation>EPSG code for the image coordinate system/units.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="x_tiepoint" type="xs:anySimpleType">
				<xs:annotation>
					<xs:documentation>Upper left map x position (in coordsys units).</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="y_tiepoint" type="xs:anySimpleType">
				<xs:annotation>
					<xs:documentation>Upper left map y position (in coordsys units).</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="resolution" type="xs:double">
				<xs:annotation>
					<xs:documentation>Image units resolution (pixel size).</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="mytopomapType">
		<xs:annotation>
			<xs:documentation>Defines a MyTopo map source (topo or aerial photo).</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="mapType">
				<xs:annotation>
					<xs:documentation>Type of base map (topo or aerial photo).</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="topo"/>
						<xs:enumeration value="aerial"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="centerPoint" type="coordinateType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="coordinateType">
		<xs:annotation>
			<xs:documentation>Defines a coordinate point.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="coordsys" type="xs:positiveInteger">
				<xs:annotation>
					<xs:documentation>EPSG code for the coordinate system/units.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="zone" type="xs:positiveInteger" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Coordinate system zone (most commonly used for UTM and State Plane systems).</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="x_coordinate" type="xs:anySimpleType">
				<xs:annotation>
					<xs:documentation>X coordinate in map units</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="y_coordinate" type="xs:anySimpleType">
				<xs:annotation>
					<xs:documentation>Y coordinate in map units</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
