<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.omg.org/spec/PAGE-OM/20090722/snp" xmlns:snp="http://www.omg.org/spec/PAGE-OM/20090722/snp" xmlns:page="http://www.omg.org/spec/PAGE-OM/20090722/page" xmlns:bref="http://www.omg.org/spec/PAGE-OM/20090722/bref" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fuge="http://www.omg.org/spec/PAGE-OM/20090722/fuge">
        <xs:annotation>
                <xs:documentation>Module replicating part of OMG specification SNP (Single Nucleotide Polymorphism).</xs:documentation>
        </xs:annotation>
        <xs:import namespace="http://www.omg.org/spec/PAGE-OM/20090722/bref" schemaLocation="bref.xsd"/>
        <xs:import namespace="http://www.omg.org/spec/PAGE-OM/20090722/page" schemaLocation="page-om.xsd"/>
        <xs:element name="Reference_genomic_assembly" type="snp:Reference_genomic_assembly"/>
        <xs:complexType name="Reference_genomic_assembly">
                <xs:annotation>
                        <xs:documentation>Set of reference sequences (Reference_genomic_landmarks) with an algorithm to define the genome and its constituents.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Sequence_map">
                                <xs:choice minOccurs="0" maxOccurs="unbounded">
                                        <xs:element name="present_in" type="snp:Genomic_reference_allele" minOccurs="0" maxOccurs="unbounded"/>
                                        <xs:element name="Taxon" type="snp:Taxon" minOccurs="0" maxOccurs="1"/>
                                        <xs:element name="Reference_genomic_landmark" type="snp:Reference_genomic_landmark" minOccurs="0" maxOccurs="unbounded"/>
                                </xs:choice>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Reference_genomic_landmark" type="snp:Reference_genomic_landmark"/>
        <xs:complexType name="Reference_genomic_landmark">
                <xs:annotation>
                        <xs:documentation>An accessioned genomic sequence which can be unambiguously assigned to a location in an assembly based on information
in public databases.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Sequence">
                                <xs:choice minOccurs="0" maxOccurs="unbounded"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Genomic_reference_allele" type="snp:Genomic_reference_allele"/>
        <xs:complexType name="Genomic_reference_allele">
                <xs:annotation>
                        <xs:documentation>The DNA sequence of a Genomic_variation as it appears in the public database.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="page:Genomic_allele">
                                <xs:choice minOccurs="0" maxOccurs="unbounded">
                                        <xs:element name="Genomic_allele" type="page:Genomic_allele" minOccurs="0" maxOccurs="1"/>
                                </xs:choice>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Taxon" type="snp:Taxon"/>
        <xs:complexType name="Taxon">
                <xs:annotation>
                        <xs:documentation>Taxonomic unit. The UID is typically a species TaxID from the Taxonomy Database (http://www.ncbi.nih.gov/
Taxonomy/)</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Identifiable">
                                <xs:choice minOccurs="0" maxOccurs="unbounded">
                                        <xs:element name="rank" type="xs:string" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>Rank (taxonomic category) of the taxon in the hierarchy. Typically 'species' or 'family'.</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                        <xs:element name="scientific_name" type="xs:string" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>Scientific name, e.g. Homo sapiens.</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                </xs:choice>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Genetic_map" type="snp:Genetic_map"/>
        <xs:complexType name="Genetic_map">
                <xs:annotation>
                        <xs:documentation>A map containing the order and non-metric distance between genetic markers for identifiable sequence features. Unit:
centiMorgan.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Ordered_map">
                                <xs:choice minOccurs="0" maxOccurs="unbounded"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Cytogenetic_map" type="snp:Cytogenetic_map"/>
        <xs:complexType name="Cytogenetic_map">
                <xs:annotation>
                        <xs:documentation>Map of cytogenetic bands describing their relative order.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Ordered_map">
                                <xs:choice minOccurs="0" maxOccurs="unbounded"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Oligo" type="snp:Oligo"/>
        <xs:complexType name="Oligo">
                <xs:annotation>
                        <xs:documentation>A DNA oligonucleotide used for detection and assay of Genomic_variations in Variation_assays. Synonym: primer</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Sequence">
                                <xs:choice minOccurs="0" maxOccurs="unbounded"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Db_xref" type="snp:Db_xref"/>
        <xs:complexType name="Db_xref">
                <xs:annotation>
                        <xs:documentation>Cross reference between two Identifiables in different databases.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Identifiable">
                                <xs:choice minOccurs="0" maxOccurs="unbounded">
                                        <xs:element name="db" type="xs:string" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>The remote database name or abbreviation.</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                        <xs:element name="db_version" type="xs:string" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>Version of the database</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                        <xs:element name="field" type="xs:string" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>Field in the remote database where the UID value is found. E.g. ID or AC in EMBL. Optional</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                        <xs:element name="uid" type="xs:string" minOccurs="1" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>Unique identifier in the remote database.</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                        <xs:element name="url" type="xs:string" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>Full URL to the cross-referenced entry</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                </xs:choice>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Annotation" type="snp:Annotation"/>
        <xs:complexType name="Annotation">
                <xs:annotation>
                        <xs:documentation>A free text of name and value pair. Note: name should be Ontology_term</xs:documentation>
                </xs:annotation>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>Name of the annotation feature</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="value" type="page:Value" minOccurs="0" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>Value of annotation feature</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                </xs:choice>
        </xs:complexType>
        <xs:element name="Exon" type="snp:Exon"/>
        <xs:complexType name="Exon">
                <xs:annotation>
                        <xs:documentation>Region in a reference sequence that determines the start, end and strand of the transcript that is not spliced away.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Sequence">
                                <xs:choice minOccurs="0" maxOccurs="unbounded"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="CDS" type="snp:CDS"/>
        <xs:complexType name="CDS">
                <xs:annotation>
                        <xs:documentation>Region in a reference sequence that determines the start, end and strand of the gene coding region.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Sequence">
                                <xs:choice minOccurs="0" maxOccurs="unbounded"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Cytogenetic_location" type="snp:Cytogenetic_location"/>
        <xs:complexType name="Cytogenetic_location">
                <xs:annotation>
                        <xs:documentation>A location in a cytogenetic map expressed as a band or a range of bands.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Ordered_location">
                                <xs:choice minOccurs="0" maxOccurs="unbounded">
                                        <xs:element name="Cytogenetic_map" type="snp:Cytogenetic_map" minOccurs="0" maxOccurs="1"/>
                                </xs:choice>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Genetic_location" type="snp:Genetic_location"/>
        <xs:complexType name="Genetic_location">
                <xs:annotation>
                        <xs:documentation>A relative location of a marker in a genetic map based on recombination.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Ordered_location">
                                <xs:choice minOccurs="0" maxOccurs="unbounded">
                                        <xs:element name="Genetic_map" type="snp:Genetic_map" minOccurs="0" maxOccurs="1"/>
                                </xs:choice>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Anatomic_location" type="snp:Anatomic_location"/>
        <xs:complexType name="Anatomic_location">
                <xs:annotation>
                        <xs:documentation>Description of the anatomical location the molecular sample is derived from. Best expressed as a controlled vocabulary of anatomical terms.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Identifiable">
                                <xs:choice minOccurs="0" maxOccurs="unbounded"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Location" type="snp:Location"/>
        <xs:complexType name="Location" abstract="true">
                <xs:annotation>
                        <xs:documentation>A position in an abstract map.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Identifiable">
                                <xs:choice minOccurs="0" maxOccurs="unbounded">
                                        <xs:element name="Map" type="snp:Map" minOccurs="0" maxOccurs="1"/>
                                        <xs:element name="Location" type="snp:Location" minOccurs="0" maxOccurs="1"/>
                                </xs:choice>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Ordered_location" type="snp:Ordered_location"/>
        <xs:complexType name="Ordered_location" abstract="true">
                <xs:annotation>
                        <xs:documentation>A location on a secondary map that gives ordering information. That map can be a genetic or a cytogenetic map.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Location">
                                <xs:choice minOccurs="0" maxOccurs="unbounded">
                                        <xs:element name="position" type="xs:string" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>Location description</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                </xs:choice>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Ordered_map" type="snp:Ordered_map"/>
        <xs:complexType name="Ordered_map" abstract="true">
                <xs:annotation>
                        <xs:documentation>A non-metric map category.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Map">
                                <xs:choice minOccurs="0" maxOccurs="unbounded"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Physical_map" type="snp:Physical_map"/>
        <xs:complexType name="Physical_map" abstract="true">
                <xs:annotation>
                        <xs:documentation>Map of physical entities, e.g. clones, contigs.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Map">
                                <xs:choice minOccurs="0" maxOccurs="unbounded"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Sequence" type="snp:Sequence"/>
        <xs:complexType name="Sequence" abstract="true">
                <xs:annotation>
                        <xs:documentation>Biological sequence. A sequence accessioned by a public database and associated with an accessioned taxon, a version number and a release date.</xs:documentation>
                </xs:annotation>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element name="Location" type="snp:Location" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="creation_date" type="xs:string" minOccurs="0" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>Date of creation of the object.</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="delete_date" type="xs:string" minOccurs="0" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>Date of deletion of the object.</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="lsid" type="xs:string" minOccurs="1" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>Life Science Identifier.</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="modify_date" type="xs:string" minOccurs="0" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>Date of last modification of the object.</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>Name can be non unique. Display name</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="Annotation" type="snp:Annotation" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="Publication" type="bref:Publication" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="Db_xref" type="snp:Db_xref" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="Source" type="bref:Source" minOccurs="0" maxOccurs="1"/>
                        <xs:element name="molecule" type="xs:string" minOccurs="0" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>Indicates the alphabet of the sequence molecule e.g. 'DNA', 'RNA', 'protein'</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="sequence" type="xs:string" minOccurs="0" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>The residue sequence string.</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                </xs:choice>
        </xs:complexType>
        <xs:element name="Sequence_map" type="snp:Sequence_map"/>
        <xs:complexType name="Sequence_map" abstract="true">
                <xs:annotation>
                        <xs:documentation>A map composed of one or more biological sequences.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Physical_map">
                                <xs:choice minOccurs="0" maxOccurs="unbounded"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Identifiable" type="snp:Identifiable"/>
        <xs:complexType name="Identifiable" abstract="true">
                <xs:annotation>
                        <xs:documentation>Anything with a unique identifier.</xs:documentation>
                </xs:annotation>
                <xs:choice minOccurs="0" maxOccurs="unbounded">
                        <xs:element name="creation_date" type="xs:string" minOccurs="0" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>Date of creation of the object.</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="delete_date" type="xs:string" minOccurs="0" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>Date of deletion of the object.</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="lsid" type="xs:string" minOccurs="1" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>Life Science Identifier.</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="modify_date" type="xs:string" minOccurs="0" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>Date of last modification of the object.</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>Name can be non unique. Display name</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="Annotation" type="snp:Annotation" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="Publication" type="bref:Publication" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="Db_xref" type="snp:Db_xref" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="Source" type="bref:Source" minOccurs="0" maxOccurs="1"/>
                </xs:choice>
        </xs:complexType>
        <xs:element name="Methodology" type="snp:Methodology"/>
        <xs:complexType name="Methodology" abstract="true">
                <xs:annotation>
                        <xs:documentation>Abstract class for a laboratory method or a computational protocol.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Identifiable">
                                <xs:choice minOccurs="0" maxOccurs="unbounded"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Locatable" type="snp:Locatable"/>
        <xs:complexType name="Locatable" abstract="true">
                <xs:annotation>
                        <xs:documentation>Abstract class for anything that can be placed on a sequence, i.e. can act as a sequence feature.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Identifiable">
                                <xs:choice minOccurs="0" maxOccurs="unbounded">
                                        <xs:element name="Location" type="snp:Location" minOccurs="0" maxOccurs="unbounded"/>
                                </xs:choice>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Residue_change" type="snp:Residue_change"/>
        <xs:complexType name="Residue_change" abstract="true">
                <xs:annotation>
                        <xs:documentation>Abstract superclass for classes describing residue changes in gene-related sequences.</xs:documentation>
                </xs:annotation>
                <xs:choice minOccurs="0" maxOccurs="unbounded">

                        <xs:element name="label" type="xs:string" minOccurs="0" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>Human understandable term for the change. E.g. missense, truncation.</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="creation_date" type="xs:string" minOccurs="0" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>Date of creation of the object.</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="delete_date" type="xs:string" minOccurs="0" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>Date of deletion of the object.</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="lsid" type="xs:string" minOccurs="1" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>Life Science Identifier.</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="modify_date" type="xs:string" minOccurs="0" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>Date of last modification of the object.</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>Name can be non unique. Display name</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="Annotation" type="snp:Annotation" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="Publication" type="bref:Publication" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="Db_xref" type="snp:Db_xref" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="Source" type="bref:Source" minOccurs="0" maxOccurs="1"/>
                        <xs:element name="Location" type="snp:Location" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="changed_residue" type="xs:string" minOccurs="0" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>The new residue in the reference sequence.</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                        <xs:element name="original_residue" type="xs:string" minOccurs="0" maxOccurs="1">
                                <xs:annotation>
                                        <xs:documentation>The affected residue in the reference sequence.</xs:documentation>
                                </xs:annotation>
                        </xs:element>
                </xs:choice>
        </xs:complexType>
        <xs:element name="Gene_product_change" type="snp:Gene_product_change"/>
        <xs:complexType name="Gene_product_change" abstract="true">
                <xs:annotation>
                        <xs:documentation>Free form description of change in  gene product</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Identifiable">
                                <xs:choice minOccurs="0" maxOccurs="unbounded">
                                        <xs:element name="label" type="xs:string" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>Human understandable term for the change. E.g. missense, truncation.</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                </xs:choice>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Map" type="snp:Map"/>
        <xs:complexType name="Map" abstract="true">
                <xs:annotation>
                        <xs:documentation>An abstract map.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Identifiable">
                                <xs:choice minOccurs="0" maxOccurs="unbounded"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Geographic_location" type="snp:Geographic_location"/>
        <xs:complexType name="Geographic_location">
                <xs:annotation>
                        <xs:documentation>Location of an individual or population in a geographic map. Locations are expressed in decimal degrees. Northern
latitudes (if north of the equator) and eastern longitudes (if east of GM) have positive values by convention.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Identifiable">
                                <xs:choice minOccurs="0" maxOccurs="unbounded">
                                        <xs:element name="max_latitude" type="xs:double" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>Upper bound of a geographical location expressed in degrees from the equator.</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                        <xs:element name="max_longitude" type="xs:double" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>Upper bound of a geographical location expressed in degrees from the Greenwich meridian.</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                        <xs:element name="min_latitude" type="xs:double" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>Lower bound of a geographical location expressed in degrees from the equator</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                        <xs:element name="min_longitude" type="xs:double" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>Lower bound of a geographical location expressed in degrees from the Greenwich meridian</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                </xs:choice>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Contributor" type="snp:Contributor"/>
        <xs:complexType name="Contributor">
                <xs:annotation>
                        <xs:documentation>Person who has edited data in the data set. Synonym: curator.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="bref:Source">
                                <xs:choice minOccurs="0" maxOccurs="unbounded">
                                        <xs:element name="date" type="xs:string" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>Date of the editing.</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                </xs:choice>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Person" type="snp:Person"/>
        <xs:complexType name="Person">
                <xs:annotation>
                        <xs:documentation>An individual identified by name who is involved with creating or disseminating publications. Possible roles are author,
editor, contributor, publisher, or applicant.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="bref:Provider">
                                <xs:choice minOccurs="0" maxOccurs="unbounded">
                                        <xs:element name="affiliation" type="xs:string" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>Name of the organization the person is affiliated with.</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                        <xs:element name="email" type="xs:string" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>Email address</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                        <xs:element name="et_al" type="xs:boolean" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>Indicator that there are more persons in the list of persons; used typically for the bibliographic reference that contains only an abbreviated author list. Last listed author should have et_al set to true.</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                        <xs:element name="first_name" type="xs:string" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>First name</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                        <xs:element name="mid_initials" type="xs:string" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>Initials of any subsequent personal names.</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                        <xs:element name="postal_address" type="xs:string" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>Full postal address</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                        <xs:element name="surname" type="xs:string" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>Last name.</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                </xs:choice>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Organization" type="snp:Organization"/>
        <xs:complexType name="Organization">
                <xs:annotation>
                        <xs:documentation>Affiliation of a group of unidentified persons.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="bref:Provider">
                                <xs:choice minOccurs="0" maxOccurs="unbounded"/>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
        <xs:element name="Subject_descriptor" type="snp:Subject_descriptor"/>
        <xs:complexType name="Subject_descriptor">
                <xs:annotation>
                        <xs:documentation>Subject term and vocabulary name container.</xs:documentation>
                </xs:annotation>
                <xs:complexContent>
                        <xs:extension base="snp:Identifiable">
                                <xs:choice minOccurs="0" maxOccurs="unbounded">
                                        <xs:element name="term" type="xs:string" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>The keyword, code or subject heading value string</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                        <xs:element name="vocabulary_name" type="xs:string" minOccurs="0" maxOccurs="1">
                                                <xs:annotation>
                                                        <xs:documentation>Name of the controlled vocabulary. E.g. Sears List of Subject
Headings (SEARS), Library of Congress Subject Headings (LCSH), or Medical Subject Headings (MeSH).</xs:documentation>
                                                </xs:annotation>
                                        </xs:element>
                                </xs:choice>
                        </xs:extension>
                </xs:complexContent>
        </xs:complexType>
</xs:schema>