<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema 
					xmlns:xs="http://www.w3.org/2001/XMLSchema"
					targetNamespace="http://trevize.net/abirproto"
					xmlns:abirproto="http://trevize.net/abirproto"
					xmlns:dc="http://purl.org/dc/elements/1.1/">

	<xs:import namespace="http://purl.org/dc/elements/1.1/" schemaLocation="simpledc20021212.xsd" />

	<xs:element name="imageLibrary" type="abirproto:imageLibrary_t" />
	
	<xs:element name="dublinCore" type="abirproto:dublinCore_t" />

	<xs:complexType name="imageLibrary_t">
		<xs:sequence maxOccurs="unbounded" minOccurs="0">
			<xs:element name="image" type="abirproto:image_t" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="image_t">
		<xs:sequence maxOccurs="1" minOccurs="1">

			<xs:element name="location" type="abirproto:location_t"
				maxOccurs="1" minOccurs="1" />

			<xs:element name="rgbHistogram"
				type="abirproto:rgbHistogram_t" maxOccurs="1" minOccurs="0" />

			<xs:element name="nearestNeighbor"
				type="abirproto:nearestNeighbor_t" maxOccurs="1" minOccurs="0" />

			<xs:element name="dublinCore" type="abirproto:dublinCore_t" maxOccurs="1" minOccurs="0" />

		</xs:sequence>
		<xs:attribute name="id" type="xs:positiveInteger" />
	</xs:complexType>

	<xs:complexType name="location_t">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="type" type="abirproto:locationType_t"
					use="required" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<xs:simpleType name="locationType_t">
		<xs:restriction base="xs:string">
			<xs:enumeration value="local" />
			<xs:enumeration value="www" />
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="rgbHistogram_t">
		<xs:sequence maxOccurs="1" minOccurs="1">
			<xs:element name="redHistogram" type="xs:string" />
			<xs:element name="greenHistogram" type="xs:string" />
			<xs:element name="blueHistogram" type="xs:string" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="nearestNeighbor_t">
		<xs:sequence maxOccurs="1" minOccurs="1">
			<xs:element name="location" type="abirproto:location_t" />
			<xs:element name="id" type="xs:positiveInteger" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="dublinCore_t">
		<xs:sequence maxOccurs="1" minOccurs="0">
				  <xs:element ref="dc:title" />
				  <xs:element ref="dc:creator" />
				  <xs:element ref="dc:subject" />
				  <xs:element ref="dc:description" />
				  <xs:element ref="dc:publisher" />
				  <xs:element ref="dc:contributor" />
				  <xs:element ref="dc:date" />
				  <xs:element ref="dc:type" />
				  <xs:element ref="dc:format" />
				  <xs:element ref="dc:identifier" />
				  <xs:element ref="dc:source" />
				  <xs:element ref="dc:language" />
				  <xs:element ref="dc:relation" />
				  <xs:element ref="dc:coverage"/>
				  <xs:element ref="dc:rights" />
		</xs:sequence>
	</xs:complexType>
</xs:schema>

