<?xml version="1.0" ?>
<!-- Generated on 19.Mai.2001 23:22 by Diversity Workbench: Diversity Information Model Documenter, Vers. 1.6 (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="0.6"
>
<xsd:annotation>
<xsd:documentation xml:lang="en">Diversity Workbench: Schema for DiversityTaxonomy, version '0.6'.<br />Document last revised on 19.Mai.2001 23:22<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="string1">
  <xsd:restriction base="xsd:string">
    <xsd:maxLength value="1" />
  </xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="string255">
  <xsd:restriction base="xsd:string">
    <xsd:maxLength value="255" />
  </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:simpleType name="int_Positive">
  <xsd:restriction base="xsd:int">
    <xsd:minExclusive value="0" />
  </xsd:restriction>
</xsd:simpleType>



<xsd:complexType name="TaxonomyName">
<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="CreationType" type="string1" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">T: taxon based on new type; C: combination based on a previously publ. name ('comb. nov.'), N: new name ('nom.nov.') introduced to replace a homonym (may occur for genera!), V: validation of previously invalidly publ. taxon name ('ex'), or U: for unknown.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="CreationCode" type="xsd:unsignedByte" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Code of Nomenclature under which this taxon was created: 1 = Bacteriology, 2 = Botany (incl. Mycology), 3 = Zoology, 4 = Biocode (for future use).</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="TaxonName1" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Genus name for species and lower ranks, else full taxon name (infrageneric taxon names, genera, families, etc.). Contains the currently accepted spelling.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="SpeciesEpithet" type="string255" minOccurs="0" 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="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 validating authors ('ex'), optionally including sanctioning authors or &quot;in&quot; authors, excluding basionym authors in '()' (see TaxonBasionymAuthors).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="TaxonBasionymAuthors" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">For all taxonomic ranks, only for 'comb. nov.' or 'nom. nov.': Author(s) of the basionym (will be displayed in in '()', do not enter the parentheses), abbreviated according to authors standard.</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 corresponding 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 invalidly publ. 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="InfraspecificIsAutonym" 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="ConceptSuffix" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">For example 'sensu' or 'emend.' author, or 's.str.'/'s.lat.'. Provided  to simplify later changes (multiple taxon concepts can be based on a single name, so this really belongs into a separate entity). Comp. '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 (without year); used only when default reference description is unsatisfactorily (esp. abbreviated tax. 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">A short human readable description of the reference, obtained through the ProtologueRefID from the references subsystem (calculated field).</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="ProtologueRefHasReprintPagination" 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="ProtologueRefYear" type="xsd:int" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Publication year of original description, will be automatically entered if a protologue reference is selected from the reference module. Synonym output is sorted by year.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="IsHybrid" type="xsd:boolean" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">If checked (or 'True'), the new taxon is a hybrid with or without a hybrid epithet.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="HybridANomID" type="xsd:int" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Hybrid species A name: if IsHybrid is set yes. Refers to ID code of publ. TaxonomyName (= foreign key).</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="HybridBNomID" type="xsd:int" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Hybrid species B name: if IsHybrid is set yes. Refers to ID code of publ. TaxonomyName (= foreign key).</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="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="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: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">A short human readable description of the reference, obtained through the RefID from the reference subsystem (calculated field).</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="TaxonomyRank">
<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:element name="DisplayOrder" type="xsd:int_Positive" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">The order in which the entries are displayed.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="DisplayEnable" type="xsd:boolean" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">The entries are displayed only if marked here.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

</xsd:all>
</xsd:complexType>

<xsd:complexType name="TaxonomyHierarchy">
<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="0" 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: a short human readable description of the reference, obtained through the RefID from the reference subsystem (calculated field).</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="TaxonomySynonymy">
<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="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="SynonymRefID" 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: a short human readable description of the reference, obtained through the RefID from the reference subsystem (calculated field).</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="TaxonomyOpinion">
<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="WorkingStatus" type="string1" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Working status of taxonomic name in current project: I=Included, D=Doubtful, E=Excluded, etc. Synonyms of accepted taxa should have status I. The report may be grouped by these attributes.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="NomenclaturalStatus" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">... categories for effective/valid/legitimate... esp. 'nom. illeg.', 'nom. inval.', 'nom. nudum', 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">Taxonomic remarks that will be output after the taxon in a report. This includes an explanation, esp. the relevant articles in the code of nomenclature.</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: a short human readable description of the reference, obtained through the RefID from the reference subsystem (calculated field).</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:element name="FinalCheck_User" type="string50" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Name of user responsible for final review of taxon name, the presence of a name here indicates that the record is ready for publication.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

  <xsd:element name="FinalCheck_Date" type="xsd:timeInstant" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Date and time when final check was performed.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

</xsd:all>
</xsd:complexType>

<xsd:complexType name="TaxonomyCitedSpecimen">
<xsd:all>

  <xsd:element name="CitedSpecimenID" type="xsd:int" minOccurs="1" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Unique ID for a cited specimen (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 collection from which the studied specimen was obtained (e.g. 'B' for Berlin herbarium). The full name is used if no acronym is available.</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="CollectionSpecimenDescription" type="string255" minOccurs="0" maxOccurs="1">
   <xsd:annotation>
   <xsd:documentation xml:lang="en">Optionally used for accession number or storage location name (which may be different from current scientific name!), esp. if CollectionSpecimenID can not be used because no compatible collection database subsystem is available.</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 is maintained in the database.</xsd:documentation>
   </xsd:annotation>
  </xsd:element>

</xsd:all>
</xsd:complexType>

<xsd:complexType name="TaxonomyChanges">
<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: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="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="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="TaxonomyNameValidatedNomIDIsKey">
    <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="TaxonomyNameTypeGenus_NomIDIsKey">
    <xsd:selector xpath="TaxonomyName" />
    <xsd:field xpath="NomID" />
  </xsd:keyref>
  <xsd:keyref name="TaxonomyNameNomIDIsKeyRef" refer="TaxonomyNameHybridANomIDIsKey">
    <xsd:selector xpath="TaxonomyName" />
    <xsd:field xpath="NomID" />
  </xsd:keyref>
  <xsd:keyref name="TaxonomyNameNomIDIsKeyRef" refer="TaxonomyNameHybridBNomIDIsKey">
    <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="TaxonomyRank" type="TaxonomyRank">
  <xsd:key name="TaxonomyRankRankIDIsKey">
    <xsd:selector xpath="TaxonomyRank" />
    <xsd:field xpath="RankID" />
  </xsd:key>
  <xsd:unique name="TaxonomyRankDisplayOrderIsUnique">
    <xsd:selector xpath="TaxonomyRank" />
    <xsd:field xpath="DisplayOrder" />
  </xsd:unique>
  <xsd:keyref name="TaxonomyRankRankIDIsKeyRef" refer="TaxonomyNameTaxonomicRankIsKey">
    <xsd:selector xpath="TaxonomyRank" />
    <xsd:field xpath="RankID" />
  </xsd:keyref>
</xsd:element>


<xsd:element name="TaxonomyHierarchy" type="TaxonomyHierarchy" />

<xsd:element name="TaxonomySynonymy" type="TaxonomySynonymy" />

<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="TaxonomyCitedSpecimen" type="TaxonomyCitedSpecimen">
  <xsd:key name="TaxonomyCitedSpecimenCitedSpecimenIDIsKey">
    <xsd:selector xpath="TaxonomyCitedSpecimen" />
    <xsd:field xpath="CitedSpecimenID" />
  </xsd:key>
</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="TaxonomyRank" />
   <xsd:element ref="TaxonomyHierarchy" />
   <xsd:element ref="TaxonomySynonymy" />
   <xsd:element ref="TaxonomyOpinion" />
   <xsd:element ref="TaxonomyCitedSpecimen" />
   <xsd:element ref="TaxonomyChanges" />
  </xsd:choice>
</xsd:complexType>
</xsd:element>

</xsd:schema>

