<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.violinet.org/v-utilities/fpathogen" xmlns:ufp="http://www.violinet.org/v-utilities/fpathogen" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

    <xsd:element name="pathogen_id" type="xsd:string" />
    <xsd:element name="pathogen_name" type="xsd:string" />
    <xsd:element name="taxonomy_name" type="xsd:string" />
    <xsd:element name="pathogensis" type="xsd:string" />
    <xsd:element name="disease_name" type="xsd:string" />
    <xsd:element name="protective_immunity" type="xsd:string" />
    <xsd:element name="host_range" type="xsd:string" />
    <xsd:element name="introduction" type="xsd:string" />
    <xsd:element name="error" type="xsd:string" />

	<xsd:element name="gene_name" type="xsd:string" />
    <xsd:element name="ncbi_gene_id" type="xsd:string" />
    <xsd:element name="xrefs" type="xsd:string" />
    <xsd:element name="phi_annotation" type="xsd:string" />
    <xsd:element name="dna_sequence" type="xsd:string" />
    <xsd:element name="protein_sequence" type="xsd:string" />
    <xsd:element name="strain" type="xsd:string" />
    <xsd:element name="taxonomy_id" type="xsd:string" />
    <xsd:element name="ncbi_protein_id" type="xsd:string" />
    <xsd:element name="protein_refseq" type="xsd:string" />
    <xsd:element name="protein_name" type="xsd:string" />
    <xsd:element name="chromosome" type="xsd:string" />
    <xsd:element name="segment" type="xsd:string" />
    <xsd:element name="gene_locus_tag" type="xsd:string" />
    <xsd:element name="gene_start" type="xsd:string" />
    <xsd:element name="gene_end" type="xsd:string" />
    <xsd:element name="gene_strand" type="xsd:string" />
    <xsd:element name="gene_refseq" type="xsd:string" />
    <xsd:element name="protein_note" type="xsd:string" />
    <xsd:element name="protein_annotation" type="xsd:string" />
    <xsd:element name="protein_pi" type="xsd:string" />
    <xsd:element name="protein_weight" type="xsd:string" />
    <xsd:element name="protein_length" type="xsd:string" />
    <xsd:element name="phi_function" type="xsd:string" />
    <xsd:element name="plasmid" type="xsd:string" />
    <xsd:element name="vaccine_name" type="xsd:string" />
    <xsd:element name="type" type="xsd:string" />
    <xsd:element name="description" type="xsd:string" />
    <xsd:element name="adjuvant" type="xsd:string" />
    <xsd:element name="storage" type="xsd:string" />
    <xsd:element name="virulence" type="xsd:string" />
    <xsd:element name="preparation" type="xsd:string" />
    <xsd:element name="brand_name" type="xsd:string" />
    <xsd:element name="antigen" type="xsd:string" />
    <xsd:element name="reference_name" type="xsd:string" />
    <xsd:element name="reference_type" type="xsd:string" />
    <xsd:element name="authors" type="xsd:string" />
    <xsd:element name="title" type="xsd:string" />
    <xsd:element name="year" type="xsd:string" />
    <xsd:element name="volume" type="xsd:string" />
    <xsd:element name="issue" type="xsd:string" />
    <xsd:element name="pages" type="xsd:string" />
    <xsd:element name="journal_book_name" type="xsd:string" />
    <xsd:element name="publisher" type="xsd:string" />
    <xsd:element name="publisher_location" type="xsd:string" />
    <xsd:element name="book_editors" type="xsd:string" />
    <xsd:element name="isbn" type="xsd:string" />
    <xsd:element name="university" type="xsd:string" />
    <xsd:element name="university_location" type="xsd:string" />
    <xsd:element name="degree" type="xsd:string" />
    <xsd:element name="pmid" type="xsd:string" />
    <xsd:element name="url" type="xsd:string" />
    <xsd:element name="file_name" type="xsd:string" />
    
    <xsd:complexType name="geneType">
   		<xsd:sequence>
		    <xsd:element ref="ufp:gene_name" />
		    <xsd:element ref="ufp:ncbi_gene_id" />
		    <xsd:element ref="ufp:xrefs" />
		    <xsd:element ref="ufp:phi_annotation" />
		    <xsd:element ref="ufp:dna_sequence" />
		    <xsd:element ref="ufp:protein_sequence" />
		    <xsd:element ref="ufp:strain" />
		    <xsd:element ref="ufp:taxonomy_id" />
		    <xsd:element ref="ufp:ncbi_protein_id" />
		    <xsd:element ref="ufp:protein_refseq" />
		    <xsd:element ref="ufp:protein_name" />
		    <xsd:element ref="ufp:chromosome" />
		    <xsd:element ref="ufp:segment" />
		    <xsd:element ref="ufp:gene_locus_tag" />
		    <xsd:element ref="ufp:gene_start" />
		    <xsd:element ref="ufp:gene_end" />
		    <xsd:element ref="ufp:gene_strand" />
		    <xsd:element ref="ufp:gene_refseq" />
		    <xsd:element ref="ufp:protein_note" />
		    <xsd:element ref="ufp:protein_annotation" />
		    <xsd:element ref="ufp:protein_pi" />
		    <xsd:element ref="ufp:protein_weight" />
		    <xsd:element ref="ufp:protein_length" />
		    <xsd:element ref="ufp:phi_function" />
		    <xsd:element ref="ufp:plasmid" />
   		</xsd:sequence>
   	</xsd:complexType>
   	
   	<xsd:complexType name="vaccineType">
   		<xsd:sequence>
		    <xsd:element ref="ufp:vaccine_name" />
		    <xsd:element ref="ufp:type" />
		    <xsd:element ref="ufp:description" />
		    <xsd:element ref="ufp:adjuvant" />
		    <xsd:element ref="ufp:storage" />
		    <xsd:element ref="ufp:pathogen_id" />
		    <xsd:element ref="ufp:virulence" />
		    <xsd:element ref="ufp:preparation" />
		    <xsd:element ref="ufp:brand_name" />
		    <xsd:element ref="ufp:antigen" />
   		</xsd:sequence>
   	</xsd:complexType>
   	
   	<xsd:complexType name="refType">
   		<xsd:sequence>
		    <xsd:element ref="ufp:reference_name" />
		    <xsd:element ref="ufp:reference_type" />
		    <xsd:element ref="ufp:authors" />
		    <xsd:element ref="ufp:title" />
		    <xsd:element ref="ufp:year" />
		    <xsd:element ref="ufp:volume" />
		    <xsd:element ref="ufp:issue" />
		    <xsd:element ref="ufp:pages" />
		    <xsd:element ref="ufp:journal_book_name" />
		    <xsd:element ref="ufp:publisher" />
		    <xsd:element ref="ufp:publisher_location" />
		    <xsd:element ref="ufp:book_editors" />
		    <xsd:element ref="ufp:isbn" />
		    <xsd:element ref="ufp:university" />
		    <xsd:element ref="ufp:university_location" />
		    <xsd:element ref="ufp:degree" />
		    <xsd:element ref="ufp:pmid" />
		    <xsd:element ref="ufp:url" />
		    <xsd:element ref="ufp:file_name" />
   		</xsd:sequence>
   	</xsd:complexType>
    	
	<xsd:element name="pathogen_gene" type="ufp:geneType" />
    <xsd:element name="host_gene" type="ufp:geneType" />
    <xsd:element name="vaccine" type="ufp:vaccineType" />
    <xsd:element name="reference" type="ufp:refType" />
    
    <xsd:element name="utilityresults">
    	<xsd:complexType>
    		<xsd:sequence>
    			<xsd:element ref="ufp:disease_name" />
    			<xsd:element ref="ufp:host_range" />
    			<xsd:element ref="ufp:introduction" />
    			<xsd:element ref="ufp:pathogen_id" />
    			<xsd:element ref="ufp:pathogen_name" />
    			<xsd:element ref="ufp:pathogensis" />
    			<xsd:element ref="ufp:protective_immunity" />
    			<xsd:element ref="ufp:taxonomy_name" />
    			<xsd:element ref="ufp:pathogen_gene"  maxOccurs="unbounded"/>
    			<xsd:element ref="ufp:host_gene"  maxOccurs="unbounded" />
    			<xsd:element ref="ufp:vaccine" maxOccurs="unbounded" />
    			<xsd:element ref="ufp:reference" maxOccurs="unbounded" />
    			<xsd:element ref="ufp:error" maxOccurs="unbounded" />
    		</xsd:sequence>
    	</xsd:complexType>
    </xsd:element>

    <xsd:element name="utilityquery">
    	<xsd:complexType>
    		<xsd:sequence>
    			<xsd:element name="ptg" type="xsd:string" minOccurs="1"/>
			    <xsd:element name="datafield" type="xsd:string" minOccurs="1"/>
			    <xsd:element name="returntype" type="xsd:string"  minOccurs="0"/>
    		</xsd:sequence>
    	</xsd:complexType>
	</xsd:element>
	
</xsd:schema>
