<?xml version="1.0" ?>
<!-- Generated on 16.Feb.2001 13:23 by Diversity Workbench: Diversity Information Model Documenter, Vers. 1.4 (G. Hagedorn) -->
<xsd:schema
  xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
  xmlns="http://www.DiversityCampus.net/schema/DiversityTaxonomy"
  targetNamespace="http://www.DiversityCampus.net/schema/DiversityTaxonomy"
  version="draft 0.5"
>
<xsd:annotation>
<xsd:documentation xml:lang="en">Diversity Workbench: Schema for DiversityTaxonomy, version 'draft 0.5'.<br />Document last revised on 16.Feb.2001 13:23<br />Copyright 2001 G. Hagedorn. All rights reserved.<br />Suggestions how to correct or improve the schema are welcome!</xsd:documentation>
</xsd:annotation>

<xsd:simpleType name="string255">
  <xsd:restriction base="xsd:string">
    <xsd:maxLength value="255" />
  </xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="string1">
  <xsd:restriction base="xsd:string">
    <xsd:maxLength value="1" />
  </xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="string20">
  <xsd:restriction base="xsd:string">
    <xsd:maxLength value="20" />
  </xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="string50">
  <xsd:restriction base="xsd:string">
    <xsd:maxLength value="50" />
  </xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="string25">
  <xsd:restriction base="xsd:string">
    <xsd:maxLength value="25" />
  </xsd:restriction>
</xsd:simpleType>



<xsd:complexType name="TaxonomyName">
  <xsd:annotation>
  <xsd:documentation xml:lang="en">Taxonomy: Supertype entity, providing a nomenclatural ID for all names introduced as taxa (infraspecific, species, genus, family, etc.). Contains only objective information; all scientific opinion is placed in ...Opinion, ...Synonymy, &amp; ...Hierarchy.</xsd:documentation>
  </xsd:annotation>
<xsd:all>

  <xsd:element name="NomID" type="xsd:int" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Unique ID code for the nomenclatural name (primary key).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="TaxonomicRank" type="xsd:unsignedByte" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Taxonomic rank of the taxon (var., subsp., species, genus, family, order, etc.). The rank must be selected from the associated list of ranks (= TaxonomyRank).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="HigherTaxonName" type="string255" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If rank is above species: Name of taxon above species level (currently accepted spelling). Includes infrageneric taxon names, genera, families, etc.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="SpeciesGenusID" type="xsd:int" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If rank is species or below: NomID code of the Genus name. Refers to TaxonomyName (= foreign key) where TaxonomicRank = genus.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="SpeciesEpithet" type="string255" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If rank is species or below: Species epithet, for example 'alba' in 'Abies alba Miller' (currently accepted spelling).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="CreationType" type="string1" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">T: New taxon; C: new combination based on a previously publ. other name ('comb. nov.'), N: new name ('nom.nov.') introduced to replace a homonym (may occur for genera!), V: validation of previously invalidly published taxon name ('ex'), or U: for unknown.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="BasionymNomID" type="xsd:int" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Basionym if CreationType is 'comb. nov.' or replacement ('nom. nov.'), of another name based on the same type material. Refers to ID code of TaxonomyName (= foreign key).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="ValidatedNomID" type="xsd:int" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Validated name if CreationType is validation ('ex') of another name based on the same type material. Refers to ID code of TaxonomyName (= foreign key).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="InfraspecificEpithet" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If rank is infraspecific: Infraspecific epithet (currently accepted spelling). Note: the rank is known from required attribute TaxonomicRank in TaxonomyName (= the supertype entity).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="InfraspecificAutonym" type="xsd:boolean" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If rank is infraspecific: The infraspecific name is an autonym (example: 'Abies alba Miller ssp. alba'; normal infraspecific example: 'Abies alba ssp. nebrodensis (Lojac.) Nitz.', note the placement of author names!).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="TaxonAuthors" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">For all taxonomic ranks: Author(s) of the taxon, abbreviated according to authors standard, including basionym authors in '()', validating authors ('ex'), optionally including sanctioning authors or &quot;in&quot; authors.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="ConceptSuffix" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">'sensu' or 'emend.' author, or 's.str.'/'s.lat.'. Provided as sep. attribute to simplify later changes (multiple taxon concepts can be based on a single name, so this really belongs into a separate entity). Compare 'potential taxon' sensu Berendsohn!</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="TypeGenus_NomID" type="xsd:int" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If rank is suprageneric: Type genus of taxon. Refers to the ID code of TaxonomyName (= foreign key).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="TypeSpecies_NomID" type="xsd:int" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If rank is genus or infrageneric: Type species of genus or infrageneric taxon. Refers to the ID code of TaxonomyName (= foreign key).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="TypeSpecimenDeposition" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If rank is species or below: Information on deposition of type material in a collection, entered exactly as written in the protologue (original taxon description).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="TypeSpecimenLocation" type="xsd:string" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If rank is species or below: Optional information on the geographic location of type material, entered exactly as written in the protologue (i.e. not as known from type specimen studied elsewhere!).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="TypeSpecimenSubstrate" type="xsd:string" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If rank is species or below: Optional information on substrate (anorganic, or living/dead plant, animal, or fungus) of type material, entered exactly as written in the protologue (i.e. not as known from type specimen studied elsewhere!).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="TypeSpecimenCollectors" type="xsd:string" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If rank is species or below: Optional information on collector(s) of type material  (separate multiple collectors with a &quot;;&quot;), entered exactly as written in the protologue (i.e. not as known from type specimen studied elsewhere!).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="TypeSpecimenInformation" type="xsd:string" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If rank is species or below: Optional further information on type material, esp. collection date and number, entered exactly as written in the protologue (i.e. not as known from type specimen studied elsewhere!).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="GenusIsAsexual" type="xsd:boolean" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If rank is genus: Checked (or true) -&gt; this an anamorph genus, containing asexual forms only (relevant for fungi). The information can also be obtained from the taxonomic hierarchy; it is always added here to be available when the hierarchy is incomplete.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="ProtologueReportedCitation" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Optional text of citation; used only when default reference description is unsatisfactorily (esp. abbreviated tax. literature book titles, exsiccata references). If present, this information is used in preference over the ProtologueRefDescription.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="ProtologueRefID" type="string20" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Reference ID of the original description/protologue. Refers to the ID code of the main ReferenceTitle table in the reference module  (= foreign key).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="ProtologueRefDescriptionCache" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Calculated: cached reference description, obtained through the ProtologueRefID from the references subsystems.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="ProtologueRefPage" type="string50" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">First page of protologue (original description) in the reference.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="ProtologueRefReprintPagination" type="xsd:boolean" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If checked (or 'True'), the true page number of the protologue page is unknown and only a reprint page number (pagination starting w. 1...) can be given. In tax. monographs this situation is often indicated by 'extr.' or 'extractum' after the page number.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="OriginalNameSpelling" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Original spelling of taxonomic name in the protologue publication. Recorded only, if different from current taxon name.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="OriginalTaxonPlacement" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Taxonomic placement (e.g. family or division) mentioned in the original description. This is NOT the current taxonomic placement!</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="OriginalDiagnosisLatin" type="xsd:string" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Optional: The full text of the Latin description/diagnosis in the protologue.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="OriginalDiagnosisOther" type="xsd:string" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Optional: The full text of the original description/diagnosis in the protologue, if a diagnosis in another language than Latin was provided. To be entered into the database only if no copyright is violated.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="IndexingReference" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Optional: A secondary reference indexing this taxon, e.g. Saccardo, Index of Fungi, etc. Entered as text, not as reference ID!</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="ImportedFrom" type="string50" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If imported from another database: The name of the database system or provider. Otherwise empty.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="ImportedID" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If imported from another database: An ID value to later re-identify the record in that database may be stored here.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="IneditedResponsible" type="string50" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Empty for published names, filled w. the name of the responsible person for unpublished ('inedited') names entered in the database. These may not appear in any reports, until specifically requested for a report that will be used to publish the name.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="Problem" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Problem with data entry (not with the taxon).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="LogCreated_User" type="string50" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Name of user who first entered (typed or imported) the data. This is the operator (or typist) name, which may be different from the person responsible.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="LogCreated_Date" type="xsd:timeInstant" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Date and time when record was first entered (typed or imported) into this system.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="NameCache" type="string255" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Calculated: Full, standardized name for the new taxon, calculated from genus, species and infraspecific epithet and authors. The value is unique, since it includes the author for higher taxa (genera, families) as well as for species.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="NameCache_html" type="string255" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Calculated: Like NameCache, but italic and plain text is formatted using xhtml markup (&lt;i&gt;/&lt;/i&gt;).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="NameCache_NoAuthors" type="string255" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Calculated: Like NameCache, but without any authors. Duplicates may occur here, and taxa with homonyms can be detected using this attribute. Where no homonyms are found, names from other data sources may be compared based on this field alone.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="NameCache_inverted" type="string255" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Calculated: Like NameCache, but for species or infraspecific taxa the lowest rank name is printed first ('species-epitheton, Genus' or 'variety (var.) species-epitheton, Genus').</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

</xsd:all>
</xsd:complexType>

<xsd:complexType name="TaxonomyActionOnName">
  <xsd:annotation>
  <xsd:documentation xml:lang="en">Taxonomy: Secondary action, affecting the status of a taxon. Examples are neo-, lecto- or epitypifications and conservation/rejection.</xsd:documentation>
  </xsd:annotation>
<xsd:all>

  <xsd:element name="ActionID" type="xsd:int" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Unique ID for this record.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="NomID" type="xsd:int" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">The taxon concerning this action. Refers to the NomID code of TaxonomyName (= foreign key).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="ActionType" type="string1" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Type of nomenclatural action: conservation, rejection, neo-, lecto- or epitypification, emendation. The sanctioning of a name should not be recorded here.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="InternalNote" type="xsd:string" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Additional information regarding the typification or conservation/rejection.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="RefID" type="string20" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Reference ID of the reference containing the nomenclatural action defined in ActionType. Refers to the ID code of the main ReferenceTitle table in the reference module  (= foreign key).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="RefDescriptionCache" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Calculated: cached reference description, obtained through the RefID from the references subsystems.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="RefPage" type="string50" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Relevant detail in a nomenclatural action reference; usually number of the page on which the action is described.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="LogCreated_User" type="string50" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Name of user who first entered (typed or imported) the data. This is the operator (or typist) name, which may be different from the person responsible.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="LogCreated_Date" type="xsd:timeInstant" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Date and time when record was first entered (typed or imported) into this system.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="TypificationSpecimenDescription" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Only for typification actions: A user readable description of the specimen to which the typification refers (collection acronym + storage code / name under which specimen is stored).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="TypificationSpecimenID" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Only for typification actions: If a specimen collection database subsystem is available, the relevant specimen unit identifier in that system is stored here (added in addition to a user readable TypificationSpecimenDescription).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

</xsd:all>
</xsd:complexType>

<xsd:complexType name="TaxonomyOpinion">
  <xsd:annotation>
  <xsd:documentation xml:lang="en">Taxonomy: Opinion or comment relating to the status (valid, accepted, etc.) of a nomenclatural name.</xsd:documentation>
  </xsd:annotation>
<xsd:all>

  <xsd:element name="OpinionID" type="xsd:int" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Unique ID code for the opinion (primary key). Note that the combination of NomID, ProjectMarker, and Responsible must also be unique and not null (candidate key).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="NomID" type="xsd:int" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">The taxon this opinion refers to. Refers to the NomID code of TaxonomyName (= foreign key).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="ProjectMarker" type="string25" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Each project can have a different opinion regarding synonmy. Refers to the common project definition in the user module.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="Responsible" type="string50" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">The person responsible for this opinion/assessment on a taxon.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="Status" type="string1" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Status of taxonomic name: A=accepted, D=Doubtful, E=Excluded, etc. Synonyms of accepted taxa should have status A. The report may be grouped by this attributes.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="ReportedTypes" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">List of known type specimens, use a '!' after collection name/abbreviation to indicate that this material has been studied by the responsible person. Included in the report.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="ReportedNote" type="xsd:string" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Taxonomic remarks that will be output after the taxon in a report.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="InternalNote" type="xsd:string" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">An internal note of the responsible person concerning this name. This information is NOT included in any report.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="RefID" type="string20" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If the opinion is based on a publication: the reference ID of that work.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="RefDescriptionCache" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If the opinion is based on a publication: the reference description of that work.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="RefPage" type="string50" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If the opinion is based on a publication: relevant detail; usually page number where the opinion is published.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="UserMarker1" type="string50" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">A temporary marker or keyword assigned by user for searching and sorting purposes while a group is reviewed. Any information can be entered here, but it will be visible only internally.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="UserMarker2" type="string50" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">A temporary marker or keyword assigned by user for searching and sorting purposes while a group is reviewed. Any information can be entered here, but it will be visible only internally.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="Problem" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Temporary problem with data entry (not with the taxon, cmp. ReportedNote/InternalNote for permanent notes on problems).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="CheckPlausible_User" type="string50" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Name of user responsible for a first plausibility or consistency check. User and Date are automatically filled if 'Original check' performed directly.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="CheckPlausible_Date" type="xsd:timeInstant" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Date and time when plausibility/consistency was checked (i.e. data entry rules and spelling errors checked, no comparison with original publication).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="CheckOriginal_User" type="string50" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Name of user responsible for comparison of taxon record with original publication.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="CheckOriginal_Date" type="xsd:timeInstant" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Date and time when entry was compared with the original publication.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="LogCreated_User" type="string50" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Name of user who first entered (typed or imported) the data. This is the operator (or typist) name, which may be different from the person responsible.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="LogCreated_Date" type="xsd:timeInstant" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Date and time when record was first entered (typed or imported) into this system.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

</xsd:all>
</xsd:complexType>

<xsd:complexType name="TaxonomySynonymy">
  <xsd:annotation>
  <xsd:documentation xml:lang="en">Taxonomy: Synonymization of species. Each responsible user can create an independent system.</xsd:documentation>
  </xsd:annotation>
<xsd:all>

  <xsd:element name="ProjectMarker" type="string25" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Each project can have a different opinion regarding synonmy. Refers to the common project definition in the user module.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="NomID" type="xsd:int" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Synonym name. Refers to the NomID code of TaxonomyName (= foreign key).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="ProParteMarker" type="xsd:unsignedByte" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">0 = only a single accepted name is possible for a given synonym. 1..255 = multiple valid names are allowed for pro parte ('p.p.') synonyms. Use 1 for the first pro parte name, 2 for the second, and so on. Please do not use 0 for 1st, 2nd, etc. name!</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="Accepted_NomID" type="xsd:int" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Accepted name within a project. Refers to the NomID code of TaxonomyName (= foreign key).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="ObligateSynonym" type="xsd:boolean" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">True (= checked) indicates an obligate synonym, based on the same type; False (= empty) a facultative (or taxonomic) synonym. Null (= gray checkbox) indicates that the synonymization status could not be decided.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="InternalNote" type="xsd:string" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">An internal note of the responsible person concerning this synonymization. This information is NOT included in any report.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="RefID" type="string20" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If the synonymization is based on a publication: the reference ID of that work. Refers to the ID code of the main ReferenceTitle table in the reference module  (= foreign key).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="RefDescriptionCache" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If the synonymization is based on a publication: the reference description of that work.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="RefPage" type="string50" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If the synonymization is based on a publication: relevant detail; usually page number where the synonymization is published.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="Responsible" type="string50" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">The person responsible for this synonymy opinion.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="LogCreated_User" type="string50" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Name of user who first entered (typed or imported) the data. This is the operator (or typist) name, which may be different from the person responsible.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="LogCreated_Date" type="xsd:timeInstant" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Date and time when record was first entered (typed or imported) into this system.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

</xsd:all>
</xsd:complexType>

<xsd:complexType name="TaxonomyHierarchy">
  <xsd:annotation>
  <xsd:documentation xml:lang="en">Taxonomy: Hierarchy above the species. Each responsible user can create an independent taxonomic system.</xsd:documentation>
  </xsd:annotation>
<xsd:all>

  <xsd:element name="ProjectMarker" type="string25" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Each project can implement a different taxonomic hierarchy. Refers to the common project definition in the user module.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="NomID" type="xsd:int" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Unique ID code of the higher taxon. Refers to the NomID code of TaxonomyName (= foreign key).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="Parent_NomID" type="xsd:int" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Next higher taxon (e.g. the family or subfamily if this taxon is a genus).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="ReportedNote" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Taxonomic remarks that will be output after the taxon in a report.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="InternalNote" type="xsd:string" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">An internal note of the responsible person concerning this taxon. This information is NOT included in any report.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="RefID" type="string20" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If the classification is based on a publication: the reference ID of that work.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="RefDescriptionCache" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If the classification is based on a publication: the reference description of that work.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="RefPage" type="string50" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If the classification is based on a publication: relevant detail; usually page number where the opinion is published.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="Responsible" type="string50" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">The person responsible for grouping this taxon into a higher taxon.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="LogCreated_User" type="string50" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Name of user who first entered (typed or imported) the data. This is the operator (or typist) name, which may be different from the person responsible.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="LogCreated_Date" type="xsd:timeInstant" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Date and time when record was first entered (typed or imported) into this system.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="HierarchyListCache" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">CALCULATED FIELD: List of higher taxa for faster access: &quot;div.; class; ord.; fam.&quot;.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

</xsd:all>
</xsd:complexType>

<xsd:complexType name="TaxonomyChanges">
  <xsd:annotation>
  <xsd:documentation xml:lang="en">Taxonomy: A technical log of changes of taxonomic or nomenclatural information maintained automatically by the database (user, date, entities &amp; attributes affected).</xsd:documentation>
  </xsd:annotation>
<xsd:all>

  <xsd:element name="NomID" type="xsd:int" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">The ID of the taxon that was changed by the user. Refers to the NomID code of TaxonomyName (= foreign key).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="Changes" type="xsd:string" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Attributes and data affected by changes, details of changes.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="LogUpdated_User" type="string50" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Name of user who last updated the record. This is the operator (or typist) name, which may be different from the person responsible.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="LogUpdated_Date" type="xsd:timeInstant" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Date and time of last update of the record.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="s_GUID" type="xsd:string" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">(system attribute used in database replication).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="s_Generation" type="xsd:int" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">(system attribute used in database replication).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="s_Lineage" type="xsd:CDATA" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">(system attribute used in database replication).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

</xsd:all>
</xsd:complexType>

<xsd:complexType name="TaxonomyCitedSpecimen">
  <xsd:annotation>
  <xsd:documentation xml:lang="en">Taxonomy: Specimen (esp. type specimens) that have been studied or shall be cited in a taxonomic monograph.</xsd:documentation>
  </xsd:annotation>
<xsd:all>

  <xsd:element name="CitedSpecimenID" type="xsd:int" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Unique ID for the record (primary key).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="OpinionID" type="xsd:int" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">All cited specimens must refer to a taxonomic opinion that defines a NomID, project marker, and responsible scientist (foreign key).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="CollectionAcronym" type="string50" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Standard abbreviation of the specimen collection from which the studied specimen was obtained (e.g. 'B' for Berlin herbarium).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="CollectionSpecimenID" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Used only when a specimen record is available in a compatible collection database subsystem; refers to CollectionSpecimenID in that system (foreign key).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="TypeStatus" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Type, holotype, syntype, paratype, isotype, lectotype, neotype, epitype, etc.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="ReportedNote" type="xsd:string" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Annotation regarding the studied specimen that will be output after the taxon in a report.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="InternalNote" type="xsd:string" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">An internal note of the responsible person concerning the studied specimen. This information is NOT included in any report.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="Studied" type="xsd:boolean" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">False = the specimen is known to exist, but has not (perhaps not yet) been studied by the person named under Responsible.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="IncludeInReport" type="xsd:boolean" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">False = the information on the studied specimen is suppressed in reports, but can be maintained in the database.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

</xsd:all>
</xsd:complexType>

<xsd:complexType name="TaxonomyRank">
  <xsd:annotation>
  <xsd:documentation xml:lang="en">Taxonomy: tax. ranks ranging from subforma to superregnum.</xsd:documentation>
  </xsd:annotation>
<xsd:all>

  <xsd:element name="RankID" type="xsd:unsignedByte" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">The logical order of ranks (and display order), can be tested to find false hierarchizations or combinations Do not change the code, it is used in several restriction queries!</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="RankCode" type="string20" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">A unique user readable code for the taxonomic rank that is used in TaxonomyName.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="Description" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Single line description of the rank.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="Output" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Output elements for the rank, stored as a list of two elements (prefix string-semicolon-postfix string).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="Notes" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Internal development notes regarding the taxonomic rank.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

</xsd:all>
</xsd:complexType>



<xsd:element name="TaxonomyName" type="TaxonomyName">
  <xsd:key name="TaxonomyNameNomIDIsKey">
    <xsd:selector xpath="TaxonomyName" />
    <xsd:field xpath="NomID" />
  </xsd:key>
  <xsd:unique name="TaxonomyNameHigherTaxonNameIsUnique">
    <xsd:selector xpath="TaxonomyName" />
    <xsd:field xpath="HigherTaxonName" />
  </xsd:unique>
  <xsd:unique name="TaxonomyNameNameCacheIsUnique">
    <xsd:selector xpath="TaxonomyName" />
    <xsd:field xpath="NameCache" />
  </xsd:unique>
  <xsd:unique name="TaxonomyNameNameCache_invertedIsUnique">
    <xsd:selector xpath="TaxonomyName" />
    <xsd:field xpath="NameCache_inverted" />
  </xsd:unique>
  <xsd:keyref name="TaxonomyNameNomIDIsKeyRef" refer="TaxonomyHierarchyParent_NomIDIsKey">
    <xsd:selector xpath="TaxonomyName" />
    <xsd:field xpath="NomID" />
  </xsd:keyref>
  <xsd:keyref name="TaxonomyNameNomIDIsKeyRef" refer="TaxonomyNameTypeGenus_NomIDIsKey">
    <xsd:selector xpath="TaxonomyName" />
    <xsd:field xpath="NomID" />
  </xsd:keyref>
  <xsd:keyref name="TaxonomyNameNomIDIsKeyRef" refer="TaxonomyNameTypeSpecies_NomIDIsKey">
    <xsd:selector xpath="TaxonomyName" />
    <xsd:field xpath="NomID" />
  </xsd:keyref>
  <xsd:keyref name="TaxonomyNameNomIDIsKeyRef" refer="TaxonomyNameSpeciesGenusIDIsKey">
    <xsd:selector xpath="TaxonomyName" />
    <xsd:field xpath="NomID" />
  </xsd:keyref>
  <xsd:keyref name="TaxonomyNameNomIDIsKeyRef" refer="TaxonomyNameValidatedNomIDIsKey">
    <xsd:selector xpath="TaxonomyName" />
    <xsd:field xpath="NomID" />
  </xsd:keyref>
  <xsd:keyref name="TaxonomyNameNomIDIsKeyRef" refer="TaxonomyNameBasionymNomIDIsKey">
    <xsd:selector xpath="TaxonomyName" />
    <xsd:field xpath="NomID" />
  </xsd:keyref>
  <xsd:keyref name="TaxonomyNameNomIDIsKeyRef" refer="TaxonomySynonymyNomIDIsKey">
    <xsd:selector xpath="TaxonomyName" />
    <xsd:field xpath="NomID" />
  </xsd:keyref>
  <xsd:keyref name="TaxonomyNameNomIDIsKeyRef" refer="TaxonomySynonymyAccepted_NomIDIsKey">
    <xsd:selector xpath="TaxonomyName" />
    <xsd:field xpath="NomID" />
  </xsd:keyref>
  <xsd:keyref name="TaxonomyNameNomIDIsKeyRef" refer="TaxonomyActionOnNameNomIDIsKey">
    <xsd:selector xpath="TaxonomyName" />
    <xsd:field xpath="NomID" />
  </xsd:keyref>
  <xsd:keyref name="TaxonomyNameNomIDIsKeyRef" refer="TaxonomyHierarchyNomIDIsKey">
    <xsd:selector xpath="TaxonomyName" />
    <xsd:field xpath="NomID" />
  </xsd:keyref>
  <xsd:keyref name="TaxonomyNameNomIDIsKeyRef" refer="TaxonomyOpinionNomIDIsKey">
    <xsd:selector xpath="TaxonomyName" />
    <xsd:field xpath="NomID" />
  </xsd:keyref>
</xsd:element>


<xsd:element name="TaxonomyActionOnName" type="TaxonomyActionOnName">
  <xsd:key name="TaxonomyActionOnNameActionIDIsKey">
    <xsd:selector xpath="TaxonomyActionOnName" />
    <xsd:field xpath="ActionID" />
  </xsd:key>
</xsd:element>


<xsd:element name="TaxonomyOpinion" type="TaxonomyOpinion">
  <xsd:key name="TaxonomyOpinionOpinionIDIsKey">
    <xsd:selector xpath="TaxonomyOpinion" />
    <xsd:field xpath="OpinionID" />
  </xsd:key>
  <xsd:unique name="TaxonomyOpinionNomIDIsUnique">
    <xsd:selector xpath="TaxonomyOpinion" />
    <xsd:field xpath="NomID" />
  </xsd:unique>
  <xsd:unique name="TaxonomyOpinionProjectMarkerIsUnique">
    <xsd:selector xpath="TaxonomyOpinion" />
    <xsd:field xpath="ProjectMarker" />
  </xsd:unique>
  <xsd:unique name="TaxonomyOpinionResponsibleIsUnique">
    <xsd:selector xpath="TaxonomyOpinion" />
    <xsd:field xpath="Responsible" />
  </xsd:unique>
  <xsd:keyref name="TaxonomyOpinionOpinionIDIsKeyRef" refer="TaxonomyCitedSpecimenOpinionIDIsKey">
    <xsd:selector xpath="TaxonomyOpinion" />
    <xsd:field xpath="OpinionID" />
  </xsd:keyref>
</xsd:element>


<xsd:element name="TaxonomySynonymy" type="TaxonomySynonymy" />

<xsd:element name="TaxonomyHierarchy" type="TaxonomyHierarchy" />

<xsd:element name="TaxonomyChanges" type="TaxonomyChanges">
  <xsd:unique name="TaxonomyChangess_GUIDIsUnique">
    <xsd:selector xpath="TaxonomyChanges" />
    <xsd:field xpath="s_GUID" />
  </xsd:unique>
</xsd:element>


<xsd:element name="TaxonomyCitedSpecimen" type="TaxonomyCitedSpecimen">
  <xsd:key name="TaxonomyCitedSpecimenCitedSpecimenIDIsKey">
    <xsd:selector xpath="TaxonomyCitedSpecimen" />
    <xsd:field xpath="CitedSpecimenID" />
  </xsd:key>
</xsd:element>


<xsd:element name="TaxonomyRank" type="TaxonomyRank">
  <xsd:key name="TaxonomyRankRankIDIsKey">
    <xsd:selector xpath="TaxonomyRank" />
    <xsd:field xpath="RankID" />
  </xsd:key>
  <xsd:keyref name="TaxonomyRankRankIDIsKeyRef" refer="TaxonomyNameTaxonomicRankIsKey">
    <xsd:selector xpath="TaxonomyRank" />
    <xsd:field xpath="RankID" />
  </xsd:keyref>
</xsd:element>


<xsd:element name="DiversityTaxonomy">
 <xsd:annotation>
 <xsd:documentation xml:lang="en">(potential root element for the namespace of current database subsystem)</xsd:documentation>
 </xsd:annotation>
<xsd:complexType>
  <xsd:choice minOccurs="0" maxOccurs="unbounded">
   <xsd:element ref="TaxonomyName" />
   <xsd:element ref="TaxonomyActionOnName" />
   <xsd:element ref="TaxonomyOpinion" />
   <xsd:element ref="TaxonomySynonymy" />
   <xsd:element ref="TaxonomyHierarchy" />
   <xsd:element ref="TaxonomyChanges" />
   <xsd:element ref="TaxonomyCitedSpecimen" />
   <xsd:element ref="TaxonomyRank" />
  </xsd:choice>
</xsd:complexType>
</xsd:element>

</xsd:schema>
