dwc/xsd/tdwg_dwcterms.xsd

415 lines
28 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://rs.tdwg.org/dwc/terms/"
2014-11-13 10:54:11 +00:00
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:dcelem="http://purl.org/dc/elements/1.1/"
xmlns:dwctype="http://rs.tdwg.org/dwc/terms/type-vocabulary/"
xmlns:dwc="http://rs.tdwg.org/dwc/terms/">
<xs:annotation>
<xs:documentation xml:lang="en">
The Generic Darwin Core schema defining all property terms as global elements.
Domain classes are not defined here, but in a separate schema (tdwg_dwcclasses.xsd) with the same namespace.
There are two ways in which references to domains can be defined:
a) through an abstract base term anyXXXTerm, which is derived from the type dwc:anyPropery and which all properties
for that domain use as their substitution group. If you refer to dwc:anyXXXTerm in your schema, you will be able
to reference any of the terms, but it will be impossible to create a sequence of all terms occurring only once.
b) through a group of elements called XXXTerms, which reference properties exactly once as a sequence.
This group can be used to refer to all the domain properties only once. In order to make a property required, you
must create your own group referring to the individual dwc terms.
If you want to specify every term once at most and in any order, you will also have to refer to the individual dwc
term yourself - a limitation of the xs:all model.
</xs:documentation>
</xs:annotation>
<xs:include schemaLocation="tdwg_basetypes.xsd"/>
<xs:import namespace="http://purl.org/dc/terms/" schemaLocation="dublin_core.xsd"/>
<xs:import namespace="http://purl.org/dc/elements/1.1/" schemaLocation="http://dublincore.org/schemas/xmls/qdc/dc.xsd"/>
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
<xs:import namespace="http://rs.tdwg.org/dwc/terms/type-vocabulary/" schemaLocation="tdwg_dwctypes.xsd"/>
<!-- ANY DWC TERM -->
<xs:element name="any" abstract="true"/>
<!-- ANY DWC IDENTIFIER -->
<xs:element name="anyIdentifier" abstract="true" substitutionGroup="dwc:any"/>
2014-11-13 10:54:11 +00:00
<xs:group name="IdentifierTerms">
<xs:annotation>
<xs:documentation>Group of all darwin core identifier terms as a convenience to construct other schemas</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element ref="dwc:datasetID" minOccurs="0"/>
<xs:element ref="dwc:occurrenceID" minOccurs="0"/>
<xs:element ref="dwc:taxonNameID" minOccurs="0"/>
<xs:element ref="dwc:identificationID" minOccurs="0"/>
<xs:element ref="dwc:locationID" minOccurs="0"/>
<xs:element ref="dwc:eventID" minOccurs="0"/>
<xs:element ref="dwc:resourceRelationshipID" minOccurs="0"/>
<xs:element ref="dwc:measurementID" minOccurs="0"/>
</xs:sequence>
</xs:group>
<!-- ANY DWC PROPERTY TERM -->
<xs:element name="anyProperty" abstract="true" substitutionGroup="dwc:any"/> <!-- type="dwc:simpleProperty" -->
<!-- ANY DWC CLASS TERM -->
<xs:element name="anyClass" abstract="true" substitutionGroup="dwc:any"/>
<!--
All TERMS listed BY domain
Every domain has its own substitutiongroup
-->
2014-11-13 10:54:11 +00:00
<!-- RECORD LEVEL domainless terms -->
<xs:element name="anyRecordLevelTerm" abstract="true" substitutionGroup="dwc:anyProperty"/>
<!-- domain properties -->
<!-- the dublin core terms applicable for darwin core are defined in the dublin_core.xsd and use this substitution group -->
<xs:element name="basisOfRecord" substitutionGroup="dwc:anyRecordLevelTerm" type="dwctype:BasisOfRecordEnum"/>
<xs:element name="informationWithheld" substitutionGroup="dwc:anyRecordLevelTerm" type="xs:string"/>
<xs:element name="dataGeneralizations" substitutionGroup="dwc:anyRecordLevelTerm" type="xs:string"/>
<xs:element name="dynamicProperties" substitutionGroup="dwc:anyRecordLevelTerm" type="xs:string"/>
<xs:group name="RecordLevelTerms">
<xs:sequence>
<xs:element ref="dcterms:type" minOccurs="0"/>
<xs:element ref="dcterms:modified" minOccurs="0"/>
<xs:element ref="dcterms:language" minOccurs="0"/>
<xs:element ref="dcterms:rights" minOccurs="0"/>
<xs:element ref="dcterms:rightsHolder" minOccurs="0"/>
<xs:element ref="dcterms:accessRights" minOccurs="0"/>
<xs:element ref="dcterms:bibliographicCitation" minOccurs="0"/>
<xs:element ref="dwc:basisOfRecord" minOccurs="0"/>
<xs:element ref="dwc:informationWithheld" minOccurs="0"/>
<xs:element ref="dwc:dataGeneralizations" minOccurs="0"/>
<xs:element ref="dwc:dynamicProperties" minOccurs="0"/>
</xs:sequence>
</xs:group>
<!-- DATASET domain -->
<xs:element name="anyDatasetTerm" abstract="true" substitutionGroup="dwc:anyProperty"/>
2014-11-13 10:54:11 +00:00
<xs:element name="datasetID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyIdentifier"/>
<xs:group name="DatasetTerms">
<xs:sequence>
</xs:sequence>
</xs:group>
2014-11-13 10:54:11 +00:00
<!-- OCCURRENCE domain -->
<xs:element name="anyOccurrenceTerm" abstract="true" substitutionGroup="dwc:anyProperty"/>
<xs:element name="occurrenceID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyIdentifier"/>
<!-- domain properties -->
2014-11-13 10:54:11 +00:00
<xs:element name="institutionCode" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="collectionCode" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="collectionID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="occurrenceDetails" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="occurrenceRemarks" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="catalogNumber" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="individualID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="individualCount" type="xs:positiveInteger" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="sex" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="lifeStage" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="reproductiveCondition" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="behavior" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="establishmentMeans" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="preparations" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="disposition" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="otherCatalogNumbers" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="associatedMedia" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="associatedReferences" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="associatedOccurrences" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="associatedSequences" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:element name="associatedTaxa" type="xs:string" substitutionGroup="dwc:anyOccurrenceTerm"/>
<xs:group name="OccurrenceTerms">
<xs:sequence>
2014-11-13 10:54:11 +00:00
<xs:element ref="dwc:institutionCode" minOccurs="0"/>
<xs:element ref="dwc:collectionCode" minOccurs="0"/>
<xs:element ref="dwc:collectionID" minOccurs="0"/>
<xs:element ref="dwc:occurrenceDetails" minOccurs="0"/>
<xs:element ref="dwc:occurrenceRemarks" minOccurs="0"/>
<xs:element ref="dwc:catalogNumber" minOccurs="0"/>
<xs:element ref="dwc:individualID" minOccurs="0"/>
<xs:element ref="dwc:individualCount" minOccurs="0"/>
<xs:element ref="dwc:sex" minOccurs="0"/>
<xs:element ref="dwc:lifeStage" minOccurs="0"/>
<xs:element ref="dwc:reproductiveCondition" minOccurs="0"/>
<xs:element ref="dwc:behavior" minOccurs="0"/>
<xs:element ref="dwc:establishmentMeans" minOccurs="0"/>
<xs:element ref="dwc:preparations" minOccurs="0"/>
<xs:element ref="dwc:disposition" minOccurs="0"/>
<xs:element ref="dwc:otherCatalogNumbers" minOccurs="0"/>
<xs:element ref="dwc:associatedMedia" minOccurs="0"/>
<xs:element ref="dwc:associatedReferences" minOccurs="0"/>
<xs:element ref="dwc:associatedOccurrences" minOccurs="0"/>
<xs:element ref="dwc:associatedSequences" minOccurs="0"/>
<xs:element ref="dwc:associatedTaxa" minOccurs="0"/>
</xs:sequence>
</xs:group>
2014-11-13 10:54:11 +00:00
<!-- EVENT domain -->
<xs:element name="anyEventTerm" abstract="true" substitutionGroup="dwc:anyProperty"/>
<xs:element name="eventID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyIdentifier"/>
<!-- domain properties -->
2014-11-13 10:54:11 +00:00
<xs:element name="samplingProtocol" type="xs:string" substitutionGroup="dwc:anyEventTerm"/>
<xs:element name="verbatimEventDate" type="xs:string" substitutionGroup="dwc:anyEventTerm"/>
<xs:element name="eventDate" type="xs:date" substitutionGroup="dwc:anyEventTerm"/>
<xs:element name="eventTime" type="xs:time" substitutionGroup="dwc:anyEventTerm"/>
<xs:element name="startDayOfYear" type="dwc:dayOfYearDataType" substitutionGroup="dwc:anyEventTerm"/>
<xs:element name="endDayOfYear" type="dwc:dayOfYearDataType" substitutionGroup="dwc:anyEventTerm"/>
<xs:element name="year" type="xs:gYear" substitutionGroup="dwc:anyEventTerm"/>
<xs:element name="month" type="xs:gMonth" substitutionGroup="dwc:anyEventTerm"/>
<xs:element name="day" type="xs:gDay" substitutionGroup="dwc:anyEventTerm"/>
<xs:element name="habitat" type="xs:string" substitutionGroup="dwc:anyEventTerm"/>
<xs:element name="recordedBy" type="xs:string" substitutionGroup="dwc:anyEventTerm"/>
<xs:element name="recordNumber" type="xs:string" substitutionGroup="dwc:anyEventTerm"/>
<xs:element name="fieldNumber" type="xs:string" substitutionGroup="dwc:anyEventTerm"/>
<xs:element name="fieldNotes" type="xs:string" substitutionGroup="dwc:anyEventTerm"/>
<xs:element name="eventRemarks" type="xs:string" substitutionGroup="dwc:anyEventTerm"/>
<xs:group name="EventTerms">
<xs:sequence>
2014-11-13 10:54:11 +00:00
<xs:element ref="dwc:samplingProtocol" minOccurs="0"/>
<xs:element ref="dwc:verbatimEventDate" minOccurs="0"/>
<xs:element ref="dwc:eventDate" minOccurs="0"/>
<xs:element ref="dwc:eventTime" minOccurs="0"/>
<xs:element ref="dwc:startDayOfYear" minOccurs="0"/>
<xs:element ref="dwc:endDayOfYear" minOccurs="0"/>
<xs:element ref="dwc:year" minOccurs="0"/>
<xs:element ref="dwc:month" minOccurs="0"/>
<xs:element ref="dwc:day" minOccurs="0"/>
<xs:element ref="dwc:habitat" minOccurs="0"/>
<xs:element ref="dwc:recordedBy" minOccurs="0"/>
<xs:element ref="dwc:recordNumber" minOccurs="0"/>
<xs:element ref="dwc:fieldNumber" minOccurs="0"/>
<xs:element ref="dwc:fieldNotes" minOccurs="0"/>
<xs:element ref="dwc:eventRemarks" minOccurs="0"/>
</xs:sequence>
</xs:group>
2014-11-13 10:54:11 +00:00
<!-- dcterms:LOCATION domain -->
<xs:element name="anyLocationTerm" abstract="true" substitutionGroup="dwc:anyProperty"/>
<xs:element name="locationID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyIdentifier"/>
<!-- domain properties -->
2014-11-13 10:54:11 +00:00
<xs:element name="higherGeographyID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="higherGeography" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="continent" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="waterbody" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="islandGroup" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="island" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="country" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="countryCode" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="stateProvince" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="county" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="locality" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="verbatimLocality" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="verbatimElevation" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="minimumElevationInMeters" type="xs:double" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="maximumElevationInMeters" type="xs:double" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="verbatimDepth" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="minimumDepthInMeters" type="xs:double" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="maximumDepthInMeters" type="xs:double" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="minimumDistanceAboveSurfaceInMeters" type="xs:double" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="maximumDistanceAboveSurfaceInMeters" type="xs:double" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="decimalLatitude" type="dwc:decimalLatitudeDataType" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="decimalLongitude" type="dwc:decimalLongitudeDataType" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="geodeticDatum" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="coordinateUncertaintyInMeters" type="xs:double" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="coordinatePrecision" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="pointRadiusSpatialFit" type="dwc:spatialFitDataType" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="verbatimCoordinates" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="verbatimLatitude" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="verbatimLongitude" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="georeferencedBy" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="georeferenceProtocol" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="verbatimCoordinateSystem" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="georeferenceSources" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="georeferenceVerificationStatus" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="georeferenceRemarks" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="footprintWKT" type="dwc:spatialFitDataType" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="footprintSpatialFit" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:element name="locationRemarks" type="xs:string" substitutionGroup="dwc:anyLocationTerm"/>
<xs:group name="LocationTerms">
<xs:sequence>
2014-11-13 10:54:11 +00:00
<xs:element ref="dwc:higherGeographyID" minOccurs="0"/>
<xs:element ref="dwc:higherGeography" minOccurs="0"/>
<xs:element ref="dwc:continent" minOccurs="0"/>
<xs:element ref="dwc:waterbody" minOccurs="0"/>
<xs:element ref="dwc:islandGroup" minOccurs="0"/>
<xs:element ref="dwc:island" minOccurs="0"/>
<xs:element ref="dwc:country" minOccurs="0"/>
<xs:element ref="dwc:countryCode" minOccurs="0"/>
<xs:element ref="dwc:stateProvince" minOccurs="0"/>
<xs:element ref="dwc:county" minOccurs="0"/>
<xs:element ref="dwc:locality" minOccurs="0"/>
<xs:element ref="dwc:verbatimLocality" minOccurs="0"/>
<xs:element ref="dwc:verbatimElevation" minOccurs="0"/>
<xs:element ref="dwc:minimumElevationInMeters" minOccurs="0"/>
<xs:element ref="dwc:maximumElevationInMeters" minOccurs="0"/>
<xs:element ref="dwc:verbatimDepth" minOccurs="0"/>
<xs:element ref="dwc:minimumDepthInMeters" minOccurs="0"/>
<xs:element ref="dwc:maximumDepthInMeters" minOccurs="0"/>
<xs:element ref="dwc:minimumDistanceAboveSurfaceInMeters" minOccurs="0"/>
<xs:element ref="dwc:maximumDistanceAboveSurfaceInMeters" minOccurs="0"/>
<xs:element ref="dwc:decimalLatitude" minOccurs="0"/>
<xs:element ref="dwc:decimalLongitude" minOccurs="0"/>
<xs:element ref="dwc:geodeticDatum" minOccurs="0"/>
<xs:element ref="dwc:coordinateUncertaintyInMeters" minOccurs="0"/>
<xs:element ref="dwc:coordinatePrecision" minOccurs="0"/>
<xs:element ref="dwc:pointRadiusSpatialFit" minOccurs="0"/>
<xs:element ref="dwc:verbatimCoordinates" minOccurs="0"/>
<xs:element ref="dwc:verbatimLatitude" minOccurs="0"/>
<xs:element ref="dwc:verbatimLongitude" minOccurs="0"/>
<xs:element ref="dwc:georeferencedBy" minOccurs="0"/>
<xs:element ref="dwc:georeferenceProtocol" minOccurs="0"/>
<xs:element ref="dwc:verbatimCoordinateSystem" minOccurs="0"/>
<xs:element ref="dwc:georeferenceSources" minOccurs="0"/>
<xs:element ref="dwc:georeferenceVerificationStatus" minOccurs="0"/>
<xs:element ref="dwc:georeferenceRemarks" minOccurs="0"/>
<xs:element ref="dwc:footprintWKT" minOccurs="0"/>
<xs:element ref="dwc:footprintSpatialFit" minOccurs="0"/>
<xs:element ref="dwc:locationRemarks" minOccurs="0"/>
</xs:sequence>
</xs:group>
2014-11-13 10:54:11 +00:00
<!-- IDENTIFICATION domain -->
<xs:element name="anyIdentificationTerm" abstract="true" substitutionGroup="dwc:anyProperty"/>
<xs:element name="identificationID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyIdentifier"/>
<!-- domain properties -->
2014-11-13 10:54:11 +00:00
<xs:element name="identifiedBy" type="xs:string" substitutionGroup="dwc:anyIdentificationTerm"/>
<xs:element name="dateIdentified" type="xs:date" substitutionGroup="dwc:anyIdentificationTerm"/>
<xs:element name="identificationReferences" type="xs:string" substitutionGroup="dwc:anyIdentificationTerm"/>
<xs:element name="identificationRemarks" type="xs:string" substitutionGroup="dwc:anyIdentificationTerm"/>
<xs:element name="previousIdentifications" type="xs:string" substitutionGroup="dwc:anyIdentificationTerm"/>
<xs:element name="identificationQualifier" type="xs:string" substitutionGroup="dwc:anyIdentificationTerm"/>
<xs:element name="typeStatus" type="xs:string" substitutionGroup="dwc:anyIdentificationTerm"/>
<xs:group name="IdentificationTerms">
<xs:sequence>
2014-11-13 10:54:11 +00:00
<xs:element ref="dwc:identifiedBy" minOccurs="0"/>
<xs:element ref="dwc:dateIdentified" minOccurs="0"/>
<xs:element ref="dwc:identificationReferences" minOccurs="0"/>
<xs:element ref="dwc:identificationRemarks" minOccurs="0"/>
<xs:element ref="dwc:previousIdentifications" minOccurs="0"/>
<xs:element ref="dwc:identificationQualifier" minOccurs="0"/>
<xs:element ref="dwc:typeStatus" minOccurs="0"/>
</xs:sequence>
</xs:group>
2014-11-13 10:54:11 +00:00
<!-- TAXON domain -->
<xs:element name="anyTaxonTerm" abstract="true" substitutionGroup="dwc:anyProperty"/>
<xs:element name="taxonNameID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyIdentifier"/>
<!-- domain properties -->
2014-11-13 10:54:11 +00:00
<xs:element name="higherTaxonNameID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="scientificName" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="higherTaxonName" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="taxonConceptID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="higherTaxonConceptID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="kingdom" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="phylum" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="class" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="order" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="family" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="genus" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="subgenus" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="specificEpithet" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="taxonRank" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="infraspecificEpithet" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="scientificNameAuthorship" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="nomenclaturalCode" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="taxonAccordingTo" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="namePublishedIn" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="taxonomicStatus" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="nomenclaturalStatus" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="acceptedTaxonNameID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="acceptedTaxonName" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="basionymID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="basionym" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:element name="taxonRemarks" type="xs:string" substitutionGroup="dwc:anyTaxonTerm"/>
<xs:group name="TaxonTerms">
<xs:sequence>
2014-11-13 10:54:11 +00:00
<xs:element ref="dwc:higherTaxonNameID" minOccurs="0"/>
<xs:element ref="dwc:scientificName" minOccurs="0"/>
<xs:element ref="dwc:higherTaxonName" minOccurs="0"/>
<xs:element ref="dwc:taxonConceptID" minOccurs="0"/>
<xs:element ref="dwc:higherTaxonConceptID" minOccurs="0"/>
<xs:element ref="dwc:kingdom" minOccurs="0"/>
<xs:element ref="dwc:phylum" minOccurs="0"/>
<xs:element ref="dwc:class" minOccurs="0"/>
<xs:element ref="dwc:order" minOccurs="0"/>
<xs:element ref="dwc:family" minOccurs="0"/>
<xs:element ref="dwc:genus" minOccurs="0"/>
<xs:element ref="dwc:subgenus" minOccurs="0"/>
<xs:element ref="dwc:specificEpithet" minOccurs="0"/>
<xs:element ref="dwc:taxonRank" minOccurs="0"/>
<xs:element ref="dwc:infraspecificEpithet" minOccurs="0"/>
<xs:element ref="dwc:scientificNameAuthorship" minOccurs="0"/>
<xs:element ref="dwc:nomenclaturalCode" minOccurs="0"/>
<xs:element ref="dwc:taxonAccordingTo" minOccurs="0"/>
<xs:element ref="dwc:namePublishedIn" minOccurs="0"/>
<xs:element ref="dwc:taxonomicStatus" minOccurs="0"/>
<xs:element ref="dwc:nomenclaturalStatus" minOccurs="0"/>
<xs:element ref="dwc:acceptedTaxonNameID" minOccurs="0"/>
<xs:element ref="dwc:acceptedTaxonName" minOccurs="0"/>
<xs:element ref="dwc:basionymID" minOccurs="0"/>
<xs:element ref="dwc:basionym" minOccurs="0"/>
<xs:element ref="dwc:taxonRemarks" minOccurs="0"/>
</xs:sequence>
</xs:group>
2014-11-13 10:54:11 +00:00
<!-- RESOURCE RELATIONSHIP domain -->
<xs:element name="anyResourceRelationshipTerm" abstract="true" substitutionGroup="dwc:anyProperty"/>
2014-11-13 10:54:11 +00:00
<xs:element name="resourceRelationshipID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyIdentifier"/>
<!-- domain properties -->
2014-11-13 10:54:11 +00:00
<xs:element name="resourceID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyResourceRelationshipTerm"/>
<xs:element name="relatedResourceID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyResourceRelationshipTerm"/>
<xs:element name="relationshipOfResource" type="xs:string" substitutionGroup="dwc:anyResourceRelationshipTerm"/>
<xs:element name="relationshipAccordingTo" type="xs:string" substitutionGroup="dwc:anyResourceRelationshipTerm"/>
<xs:element name="relationshipEstablishedDate" type="xs:date" substitutionGroup="dwc:anyResourceRelationshipTerm"/>
<xs:element name="relationshipRemarks" type="xs:string" substitutionGroup="dwc:anyResourceRelationshipTerm"/>
<xs:group name="ResourceRelationshipTerms">
<xs:sequence>
2014-11-13 10:54:11 +00:00
<xs:element ref="dwc:resourceID" minOccurs="0"/>
<xs:element ref="dwc:relatedResourceID" minOccurs="0"/>
<xs:element ref="dwc:relationshipOfResource" minOccurs="0"/>
<xs:element ref="dwc:relationshipAccordingTo" minOccurs="0"/>
<xs:element ref="dwc:relationshipEstablishedDate" minOccurs="0"/>
<xs:element ref="dwc:relationshipRemarks" minOccurs="0"/>
</xs:sequence>
</xs:group>
2014-11-13 10:54:11 +00:00
<!-- MEASUREMENT OR FACT domain -->
<xs:element name="anyMeasurementTerm" abstract="true" substitutionGroup="dwc:anyProperty"/>
<xs:element name="measurementID" type="dwc:nonEmptyString" substitutionGroup="dwc:anyIdentifier"/>
<!-- domain properties -->
<xs:element name="measurementType" type="xs:string" substitutionGroup="dwc:anyMeasurementTerm"/>
<xs:element name="measurementValue" type="xs:string" substitutionGroup="dwc:anyMeasurementTerm"/>
<xs:element name="measurementAccuracy" type="xs:string" substitutionGroup="dwc:anyMeasurementTerm"/>
<xs:element name="measurementUnit" type="xs:string" substitutionGroup="dwc:anyMeasurementTerm"/>
<xs:element name="measurementDeterminedDate" type="xs:dateTime" substitutionGroup="dwc:anyMeasurementTerm"/>
<xs:element name="measurementDeterminedBy" type="xs:string" substitutionGroup="dwc:anyMeasurementTerm"/>
<xs:element name="measurementMethod" type="xs:string" substitutionGroup="dwc:anyMeasurementTerm"/>
<xs:element name="measurementRemarks" type="xs:string" substitutionGroup="dwc:anyMeasurementTerm"/>
<xs:group name="MeasurementTerms">
<xs:sequence>
2014-11-13 10:54:11 +00:00
<xs:element ref="dwc:measurementType" minOccurs="0"/>
<xs:element ref="dwc:measurementValue" minOccurs="0"/>
<xs:element ref="dwc:measurementAccuracy" minOccurs="0"/>
<xs:element ref="dwc:measurementUnit" minOccurs="0"/>
<xs:element ref="dwc:measurementDeterminedDate" minOccurs="0"/>
<xs:element ref="dwc:measurementDeterminedBy" minOccurs="0"/>
<xs:element ref="dwc:measurementMethod" minOccurs="0"/>
<xs:element ref="dwc:measurementRemarks" minOccurs="0"/>
</xs:sequence>
</xs:group>
2014-11-13 10:54:11 +00:00
</xs:schema>