<?xml version="1.0" encoding="UTF-8"?>
<!-- created by Kate Gould 21st February 2007 -->
<xs:schema xmlns="http://phospho.elm.eu.org/Substrate" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:instance="http://phospho.elm.eu.org/Instance" targetNamespace="http://phospho.elm.eu.org/Substrate" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:annotation>
		<xs:documentation>Substrate type schema for the phospho.ELM resource.</xs:documentation>
	</xs:annotation>
	<xs:import namespace="http://phospho.elm.eu.org/Instance" schemaLocation="http://phospho.elm.eu.org/webservice/schema/Instance.xsd"/>
	<xs:element name="Substrate" type="SubstrateType"/>
	<xs:complexType name="SubstrateType">
		<xs:annotation>
			<xs:documentation>Refers to a set of one or more orthologous proteins that are annotated to be phosphorylated in Phospho.ELM.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Name" type="xs:string">
				<xs:annotation>
					<xs:documentation>Name of the Substrate.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Description" type="xs:string">
				<xs:annotation>
					<xs:documentation>A description giving more detailed information on the substrate.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Instance" type="xs:string" nillable="true" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>An instance in the phospho.ELM database is the modified amino acid(S,T,Y) at a specific position in a given protein sequence.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Expression" type="xs:string" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Specifies in which tissue the substrate protein has been detected.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Synonym" type="xs:string" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Alternative names used in the literature for this substrate.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="DatabaseURL" type="xs:string" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>An external database reference specifying information about the signalling pathway for this Subsrate.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Interaction" type="InteractionType" nillable="true" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>Reference to an interacting partner of this substrate.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="GOterm" type="GOtermType" minOccurs="0" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>GO term used to annotate this Substrate in the phospho.ELM database.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="Accession" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>Substrate primary key.</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
	
	<xs:element name="GOterm" type="GOtermType"/>
	<xs:complexType name="GOtermType">
		<xs:annotation>
			<xs:documentation>A description of a GO term used by the phospho.ELM resource.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Ontology" type="OntologyType">
				<xs:annotation>
					<xs:documentation>denotes either the Molecular Function or Cellular Component ontology.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="GOAccession" type="xs:string">
				<xs:annotation>
					<xs:documentation>Gene Ontology Accession.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Term" type="xs:string">
				<xs:annotation>
					<xs:documentation>The descriptive term of the Gene Ontology Accession.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:element name="Ontology" type="OntologyType"/>
	<xs:simpleType name="OntologyType">
	   <xs:annotation>
	      <xs:documentation>A list of predefined values for the Ontology Type.</xs:documentation>
	   </xs:annotation>
	   <xs:restriction base="xs:string">
	      <xs:enumeration value="Cellular Component"/>
	      <xs:enumeration value="Molecular Function"/>
	   </xs:restriction>
	</xs:simpleType>
	
	<xs:element name="Interaction" type="InteractionType"/>
	<xs:complexType name="InteractionType">
		<xs:annotation>
			<xs:documentation>Reference to an interacting partner of a given substrate.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="MintID" type="instance:DBReferenceType">
				<xs:annotation>
					<xs:documentation>Reference to external MINT database outlining the substrate interactions.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="InteractorReference" type="instance:DBReferenceType">
				<xs:annotation>
					<xs:documentation>The UniPROT accession for protein interactor.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="InteractorIdentifier" type="xs:string">
				<xs:annotation>
					<xs:documentation>The UniPROT identifier for protein interactor.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
</xs:schema>


