<?xml version="1.0" encoding="UTF-8"?>
	<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
		xmlns:core="http://schema.omg.org/spec/CTS2/1.0/Core"
		xmlns:coreservice="http://schema.omg.org/spec/CTS2/1.0/CoreService"
		xmlns="http://schema.omg.org/spec/CTS2/1.0/MapCatalogServices"
		targetNamespace="http://schema.omg.org/spec/CTS2/1.0/MapCatalogServices" elementFormDefault="qualified">
		<xs:import namespace="http://schema.omg.org/spec/CTS2/1.0/Core" schemaLocation="http://informatics.mayo.edu/svn/trunk/cts2/spec/psm/rest/schema/Core.xsd"/>
		<xs:import namespace="http://schema.omg.org/spec/CTS2/1.0/CoreService" 
			schemaLocation="http://informatics.mayo.edu/svn/trunk/cts2/spec/psm/rest/serviceSchema/CoreService.xsd" />
		
	<xs:element name="MapCatalogHistoryService" type="MapCatalogHistoryService"/>
	<xs:complexType name="MapCatalogHistoryService">
		<xs:complexContent>
			<xs:extension base="coreservice:HistoryService">
				<xs:sequence/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	
	<xs:element name="MapCatalogMaintenanceService" type="MapCatalogMaintenanceService"/>
	<xs:complexType name="MapCatalogMaintenanceService">
		<xs:complexContent>
			<xs:extension base="coreservice:BaseMaintenanceService">
				<xs:sequence/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
		
	<xs:element name="UpdateMapCatalogRequest" type="UpdateMapCatalogRequest"/>
	<xs:complexType name="UpdateMapCatalogRequest">
		<xs:complexContent>
			<xs:extension base="coreservice:UpdateAbstractResourceDescription">
				<xs:sequence/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
		
	<xs:element name="MapCatalogQueryService" type="MapCatalogQueryService"/>
	<xs:complexType name="MapCatalogQueryService">
		<xs:complexContent>
			<xs:extension base="coreservice:BaseQueryService">
				<xs:attribute name="allMaps" type="core:MapCatalogDirectoryURI" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
		
	<xs:element name="MapCatalogReadService" type="MapCatalogReadService"/>
	<xs:complexType name="MapCatalogReadService">
		<xs:complexContent>
			<xs:extension base="coreservice:BaseReadService">
				<xs:sequence/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	

	<!-- Maintenance Exceptions -->
	<xs:element name="MapCatalogToReferenceException" type="MapCatalogToReferenceException"/>
	<xs:complexType name="MapCatalogToReferenceException">
		<xs:annotation>
			<xs:documentation>Exactly one of toCodeSystem and toValueSet must be supplied in a map catalog entry</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="coreservice:CTS2Exception">
				<xs:sequence/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	
	<xs:element name="MapCatalogFromReferenceException" type="MapCatalogFromReferenceException"/>
	<xs:complexType name="MapCatalogFromReferenceException">
		<xs:annotation>
			<xs:documentation>Exactly one of fromCodeSystem and fromValueSet must be supplied in a map catalog entry</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="coreservice:CTS2Exception">
				<xs:sequence/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	
	<xs:element name="DuplicateMapName" type="DuplicateMapName"/>
	<xs:complexType name="DuplicateMapName">
		<xs:annotation>
			<xs:documentation>The supplied mapName already exists in the service</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="coreservice:CTS2Exception">
				<xs:sequence/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<!-- End Maintenance Exceptions -->
	
</xs:schema>
