Committing large number of changes relating to versioning implementation (#108) ...
authorben.clark <ben.clark@localhost>
Wed, 25 Feb 2009 13:00:19 +0000 (13:00 +0000)
committerben.clark <ben.clark@localhost>
Wed, 25 Feb 2009 13:00:19 +0000 (13:00 +0000)
76 files changed:
.gitattributes
cdmlib-io/pom.xml
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/abcd206/AbcdIO.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/abcd206/UnitsGatheringEvent.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/berlinModel/BerlinModelAuthorImport.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/CdmDocumentBuilder.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/CdmResourceResolver.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/DataSet.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/DefaultErrorHandler.java [new file with mode: 0644]
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/JaxbExport.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/JaxbExportConfigurator.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/JaxbImport.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/JaxbImportConfigurator.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/WarningTolerantValidationEventHandler.java [new file with mode: 0644]
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/package-info.java [new file with mode: 0644]
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/sdd/SDDCdmExporter.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/sdd/SDDDataSet.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/sdd/SDDDescriptionIO.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/sdd/SDDDocumentBuilder.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/synthesys/UnitsGatheringEvent.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/taxonx/SimpleSpecimen.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/taxonx/TaxonXNomenclatureImport.java
cdmlib-io/src/main/resources/CatalogManager.properties [new file with mode: 0644]
cdmlib-io/src/main/resources/catalog.xml [new file with mode: 0644]
cdmlib-io/src/main/resources/schema/cdm/agent.xsd [new file with mode: 0644]
cdmlib-io/src/main/resources/schema/cdm/cdm.xsd [new file with mode: 0644]
cdmlib-io/src/main/resources/schema/cdm/common.xsd [new file with mode: 0644]
cdmlib-io/src/main/resources/schema/cdm/description.xsd [new file with mode: 0644]
cdmlib-io/src/main/resources/schema/cdm/location.xsd [new file with mode: 0644]
cdmlib-io/src/main/resources/schema/cdm/media.xsd [new file with mode: 0644]
cdmlib-io/src/main/resources/schema/cdm/molecular.xsd [new file with mode: 0644]
cdmlib-io/src/main/resources/schema/cdm/name.xsd [new file with mode: 0644]
cdmlib-io/src/main/resources/schema/cdm/occurrence.xsd [new file with mode: 0644]
cdmlib-io/src/main/resources/schema/cdm/reference.xsd [new file with mode: 0644]
cdmlib-io/src/main/resources/schema/cdm/taxon.xsd [new file with mode: 0644]
cdmlib-io/src/main/resources/schema/xml/XMLSchema.xsd [new file with mode: 0644]
cdmlib-io/src/main/resources/schema/xml/xml.xsd [new file with mode: 0644]
cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/AgentsTest.java [new file with mode: 0644]
cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/AnnotationTest.java [new file with mode: 0644]
cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/CdmDocumentBuilderTest.java [new file with mode: 0644]
cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/CdmImporterTest.java
cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/DescriptionTest.java [new file with mode: 0644]
cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/FeatureTest.java [new file with mode: 0644]
cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/LanguageStringTest.java [new file with mode: 0644]
cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/MediaTest.java [new file with mode: 0644]
cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/NamedAreaTest.java [new file with mode: 0644]
cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/ReferenceTest.java [new file with mode: 0644]
cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/SimpleMarshalTest.java [new file with mode: 0644]
cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/SpecimenTest.java [new file with mode: 0644]
cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/TaxonNameTest.java [new file with mode: 0644]
cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/TaxonTest.java [new file with mode: 0644]
cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/URIEncoder.java [new file with mode: 0644]
cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/sdd/SDDDescriptionIOTest.java
cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/test/function/TestDatabase.java
cdmlib-io/src/test/java/eu/etaxonomy/cdm/test/integration/TestCdmDbComparator.java
cdmlib-io/src/test/resources/dbscripts/001_cdm.ddl
cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/PUBLIC.xsd
cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/dataset.dtd
cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/dataset.xsd
cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/AgentsTest.xml [new file with mode: 0644]
cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/AnnotationTest.xml [new file with mode: 0644]
cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/CdmDocumentBuilderTest-agents.xml [new file with mode: 0644]
cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/CdmDocumentBuilderTest.xml [new file with mode: 0644]
cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/CdmImporterTest-input.xml
cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/CdmImporterTest.testImport-result.xml
cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/CdmImporterTest.xml
cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/DescriptionTest.xml [new file with mode: 0644]
cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/FeatureTest.xml [new file with mode: 0644]
cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/LanguageStringTest.xml [new file with mode: 0644]
cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/MediaTest.xml [new file with mode: 0644]
cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/NamedAreaTest.xml [new file with mode: 0644]
cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/ReferenceTest.xml [new file with mode: 0644]
cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/SpecimenTest.xml [new file with mode: 0644]
cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/TaxonNameTest.xml [new file with mode: 0644]
cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/TaxonTest.xml [new file with mode: 0644]
cdmlib-io/src/test/resources/unitils.properties

index 82fd04f1b02b2167ca1eab555cb3056311815076..8f18052f80be725669fbcf371cc750c6b2399496 100644 (file)
@@ -696,11 +696,14 @@ cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/CdmMarshallerListener.java -tex
 cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/CdmResourceResolver.java -text
 cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/CdmSchemaGenerator.java -text
 cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/DataSet.java -text
+cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/DefaultErrorHandler.java -text
 cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/JaxbExport.java -text
 cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/JaxbExportConfigurator.java -text
 cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/JaxbImport.java -text
 cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/JaxbImportConfigurator.java -text
 cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/LsInputImpl.java -text
+cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/WarningTolerantValidationEventHandler.java -text
+cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/package-info.java -text
 cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/sdd/SDDCdmExporter.java -text
 cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/sdd/SDDDataSet.java -text
 cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/sdd/SDDDescriptionIO.java -text
@@ -742,11 +745,40 @@ cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/tcsxml/TcsXmlTaxonNameImport.java -t
 cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/tcsxml/TcsXmlTaxonNameRelationsImport.java -text
 cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/tcsxml/TcsXmlTaxonRelationsImport.java -text
 cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/tcsxml/TcsXmlTransformer.java -text
+cdmlib-io/src/main/resources/CatalogManager.properties -text
+cdmlib-io/src/main/resources/catalog.xml -text
 cdmlib-io/src/main/resources/defaultIoApplicationContext.xml -text
 cdmlib-io/src/main/resources/log4j.properties -text
+cdmlib-io/src/main/resources/schema/cdm/agent.xsd -text
+cdmlib-io/src/main/resources/schema/cdm/cdm.xsd -text
+cdmlib-io/src/main/resources/schema/cdm/common.xsd -text
+cdmlib-io/src/main/resources/schema/cdm/description.xsd -text
+cdmlib-io/src/main/resources/schema/cdm/location.xsd -text
+cdmlib-io/src/main/resources/schema/cdm/media.xsd -text
+cdmlib-io/src/main/resources/schema/cdm/molecular.xsd -text
+cdmlib-io/src/main/resources/schema/cdm/name.xsd -text
+cdmlib-io/src/main/resources/schema/cdm/occurrence.xsd -text
+cdmlib-io/src/main/resources/schema/cdm/reference.xsd -text
+cdmlib-io/src/main/resources/schema/cdm/taxon.xsd -text
+cdmlib-io/src/main/resources/schema/xml/XMLSchema.xsd -text
+cdmlib-io/src/main/resources/schema/xml/xml.xsd -text
 cdmlib-io/src/site/site.xml -text
 cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/abcd206/SpecimenImportConfiguratorTest.java -text
+cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/AgentsTest.java -text
+cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/AnnotationTest.java -text
+cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/CdmDocumentBuilderTest.java -text
 cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/CdmImporterTest.java -text
+cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/DescriptionTest.java -text
+cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/FeatureTest.java -text
+cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/LanguageStringTest.java -text
+cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/MediaTest.java -text
+cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/NamedAreaTest.java -text
+cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/ReferenceTest.java -text
+cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/SimpleMarshalTest.java -text
+cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/SpecimenTest.java -text
+cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/TaxonNameTest.java -text
+cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/TaxonTest.java -text
+cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/URIEncoder.java -text
 cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/sdd/SDDCdmExporterTest.java -text
 cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/sdd/SDDDescriptionIOTest.java -text
 cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/taxonx/TaxonXImportConfiguratorTest.java -text
@@ -761,9 +793,22 @@ cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/PUBLIC.xsd -text
 cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/abcd206/SpecimenImportConfiguratorTest-input.xml -text
 cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/dataset.dtd -text
 cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/dataset.xsd -text
+cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/AgentsTest.xml -text
+cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/AnnotationTest.xml -text
+cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/CdmDocumentBuilderTest-agents.xml -text
+cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/CdmDocumentBuilderTest.xml -text
 cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/CdmImporterTest-input.xml -text
 cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/CdmImporterTest.testImport-result.xml -text
 cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/CdmImporterTest.xml -text
+cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/DescriptionTest.xml -text
+cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/FeatureTest.xml -text
+cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/LanguageStringTest.xml -text
+cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/MediaTest.xml -text
+cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/NamedAreaTest.xml -text
+cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/ReferenceTest.xml -text
+cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/SpecimenTest.xml -text
+cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/TaxonNameTest.xml -text
+cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/TaxonTest.xml -text
 cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/sdd/SDD-Test-Simple.xml -text
 cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/sdd/SDDDescriptionIOTest-input.xml -text
 cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/taxonx/TaxonXImportConfiguratorTest-input.xml -text
index b8a8e45e74c7874929e77df90b73077b03a1610c..2a6d999b1380ffd9a92efdfb88012f097ba069fe 100644 (file)
       <groupId>org.dbunit</groupId>\r
       <artifactId>dbunit</artifactId>\r
     </dependency>\r
+    <dependency>\r
+      <groupId>xmlunit</groupId>\r
+      <artifactId>xmlunit</artifactId>\r
+    </dependency>\r
     <dependency><!-- Required for TestingAuthenticationProvider etc until 2.5.0 [SEC-1010] -->\r
                <groupId>org.springframework.security</groupId>\r
        <artifactId>spring-security-core</artifactId>\r
index c8d47af5ce4ee71e43de6a0c26b01be382c90b72..f4749ebe3027525e8d5b5097247fc88018c9fdcb 100644 (file)
@@ -1078,7 +1078,7 @@ public class AbcdIO extends SpecimenIoBase implements ICdmIO<IImportConfigurator
                        else return taxonName;
                }
                if (this.nomenclatureCode.equals("Cultivar")){
-                       NonViralName<CultivarPlantName> taxonName = CultivarPlantName.NewInstance(null);
+                       CultivarPlantName taxonName = CultivarPlantName.NewInstance(null);
 
                        if (taxonName.hasProblem())
                                logger.info("pb ICNCP");
index 8add0550aa1939724f5d5b85d4f281bab9731217..e4572746c1e25fdb68fc7a43150b212d7eadd4ac 100644 (file)
@@ -17,7 +17,7 @@ import java.util.ListIterator;
 import org.apache.log4j.Logger;
 
 import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
-import eu.etaxonomy.cdm.model.agent.Agent;
+import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.agent.Person;
 import eu.etaxonomy.cdm.model.agent.Team;
 import eu.etaxonomy.cdm.model.common.Language;
@@ -114,7 +114,7 @@ public class UnitsGatheringEvent {
         */
        public void setCollector(ICdmApplicationConfiguration config, ArrayList<String> collectorNames,boolean getExisting){
                //create collector
-               Agent collector;
+               AgentBase collector;
                ListIterator<String> collectors = collectorNames.listIterator();
                //add the collectors
                String collName;
@@ -122,7 +122,7 @@ public class UnitsGatheringEvent {
                        collName = collectors.next();
                        /*check if the collector does already exist*/
                        try{
-                               List<Agent> col = config.getAgentService().findAgentsByTitle(collName);
+                               List<AgentBase> col = config.getAgentService().findAgentsByTitle(collName);
                                collector=col.get(0);
                        }catch (Exception e) {
                                collector = Person.NewInstance();
index 4b9c32c08023ba0903ff3723573bf16ffedaefb9..63d7a8859aff9ef1b32307ad8b33f2b7dde5e633 100644 (file)
@@ -20,7 +20,7 @@ import eu.etaxonomy.cdm.io.common.IImportConfigurator;
 import eu.etaxonomy.cdm.io.common.ImportHelper;\r
 import eu.etaxonomy.cdm.io.common.MapWrapper;\r
 import eu.etaxonomy.cdm.io.common.Source;\r
-import eu.etaxonomy.cdm.model.agent.Agent;\r
+import eu.etaxonomy.cdm.model.agent.AgentBase;\r
 import eu.etaxonomy.cdm.model.agent.Team;\r
 import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;\r
 import eu.etaxonomy.cdm.model.common.CdmBase;\r
@@ -61,7 +61,7 @@ public class BerlinModelAuthorImport extends BerlinModelImportBase {
        protected boolean doInvoke(IImportConfigurator config, \r
                        Map<String, MapWrapper<? extends CdmBase>> stores){ \r
 \r
-               MapWrapper<Agent> teamMap = (MapWrapper<Agent>)stores.get(ICdmIO.AUTHOR_STORE);\r
+               MapWrapper<AgentBase> teamMap = (MapWrapper<AgentBase>)stores.get(ICdmIO.AUTHOR_STORE);\r
                \r
                BerlinModelImportConfigurator bmiConfig = (BerlinModelImportConfigurator)config;\r
                Source source = bmiConfig.getSource();\r
index 642285bbfd25877c3f26db428eae13ab8efb58cd..2a73c031660a2314b0243ec107b4ca0850d682d1 100644 (file)
 package eu.etaxonomy.cdm.io.jaxb;\r
 \r
 import java.io.File;\r
+import java.io.FileInputStream;\r
+import java.io.FileNotFoundException;\r
 import java.io.IOException;\r
+import java.io.InputStreamReader;\r
+import java.io.Reader;\r
+import java.io.UnsupportedEncodingException;\r
 import java.io.Writer;\r
 \r
+import javax.xml.XMLConstants;\r
 import javax.xml.bind.JAXBContext;\r
 import javax.xml.bind.JAXBException;\r
 import javax.xml.bind.Marshaller;\r
 import javax.xml.bind.Unmarshaller;\r
-import javax.xml.bind.helpers.DefaultValidationEventHandler;\r
+import javax.xml.bind.UnmarshallerHandler;\r
+import javax.xml.parsers.ParserConfigurationException;\r
+import javax.xml.parsers.SAXParser;\r
+import javax.xml.parsers.SAXParserFactory;\r
+import javax.xml.transform.Source;\r
+import javax.xml.transform.sax.SAXSource;\r
+import javax.xml.transform.stream.StreamSource;\r
+import javax.xml.validation.Schema;\r
+import javax.xml.validation.SchemaFactory;\r
 \r
 import org.apache.log4j.Logger;\r
+import org.apache.xml.resolver.tools.CatalogResolver;\r
+import org.xml.sax.InputSource;\r
 import org.xml.sax.SAXException;\r
+import org.xml.sax.XMLReader;\r
+\r
+import eu.etaxonomy.cdm.jaxb.CdmNamespacePrefixMapper;\r
+import eu.etaxonomy.cdm.jaxb.FormattedText;\r
+import eu.etaxonomy.cdm.jaxb.MultilanguageTextElement;\r
+import eu.etaxonomy.cdm.model.agent.Person;\r
 \r
 /**\r
  * Initializes a JaxbContext with one class (eu.etaxonomy.cdm.model.DataSet). \r
@@ -36,72 +58,108 @@ public class CdmDocumentBuilder {
        \r
        private JAXBContext jaxbContext;\r
        private boolean formattedOutput = Boolean.TRUE;\r
-       private String encoding = "UTF-8"; \r
+       private String encoding = "UTF-8";\r
+    private Marshaller marshaller;\r
+    private Unmarshaller unmarshaller;\r
+    private XMLReader xmlReader;\r
        \r
-//     public static String CDM_NAMESPACE = "eu.etaxonomy.cdm.model";\r
-//     public static String[] CDM_SCHEMA_FILES = { "/schema/cdm/common.xsd",\r
-//                                                     "/schema/cdm/name.xsd",\r
-//                                                     "/schema/cdm/cdm.xsd" };\r
+       public static String CDM_NAMESPACE = "eu.etaxonomy.cdm.model";\r
+       public static String[] CDM_SCHEMA_FILES = { "/schema/cdm/agent.xsd",\r
+                                                       "/schema/cdm/cdm.xsd",\r
+                                                       "/schema/cdm/common.xsd",\r
+                                                       "/schema/cdm/description.xsd",\r
+                                                       "/schema/cdm/location.xsd",\r
+                                                       "/schema/cdm/media.xsd",\r
+                                                       "/schema/cdm/molecular.xsd",\r
+                                                       "/schema/cdm/name.xsd",\r
+                                                       "/schema/cdm/occurrence.xsd",\r
+                                                       "/schema/cdm/reference.xsd",\r
+                                                       "/schema/cdm/taxon.xsd"};\r
                                                        \r
-       public CdmDocumentBuilder() throws SAXException, JAXBException, IOException {\r
+       public CdmDocumentBuilder() throws SAXException, JAXBException, IOException, ParserConfigurationException {\r
                \r
-//             SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);\r
-//             schemaFactory.setResourceResolver(new CdmResourceResolver());\r
-//             Source[] sources = new Source[CdmDocumentBuilder.CDM_SCHEMA_FILES.length];\r
-//             \r
-//             for(int i = 0; i < CdmDocumentBuilder.CDM_SCHEMA_FILES.length; i++) {\r
-//                     String schemaName = CdmDocumentBuilder.CDM_SCHEMA_FILES[i];\r
-//                     sources[i] = new StreamSource(this.getClass().getResourceAsStream(schemaName));\r
-//             }\r
-//             Schema cdmSchema = schemaFactory.newSchema(sources);\r
-                                       \r
-               jaxbContext = JAXBContext.newInstance(new Class[] {DataSet.class});\r
-               if (logger.isDebugEnabled()) { logger.debug(jaxbContext.toString()); }\r
-\r
-       }\r
-       \r
-       public CdmDocumentBuilder(boolean formattedOutput, String encoding) \r
-       throws SAXException, JAXBException, IOException {\r
+               SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);\r
+               schemaFactory.setResourceResolver(new CdmResourceResolver());\r
+               Source[] sources = new Source[CdmDocumentBuilder.CDM_SCHEMA_FILES.length];\r
                \r
-               this();\r
-               this.formattedOutput = formattedOutput;\r
-               this.encoding = encoding;\r
-       }\r
-       \r
-       public void marshal(DataSet dataSet, Writer writer) throws JAXBException {\r
+               for(int i = 0; i < CdmDocumentBuilder.CDM_SCHEMA_FILES.length; i++) {\r
+                       String schemaName = CdmDocumentBuilder.CDM_SCHEMA_FILES[i];\r
+                       sources[i] = new StreamSource(this.getClass().getResourceAsStream(schemaName));\r
+               }\r
+               Schema cdmSchema = schemaFactory.newSchema(sources);\r
                \r
-               Marshaller marshaller;\r
-               marshaller = jaxbContext.createMarshaller();\r
+           jaxbContext = JAXBContext.newInstance(new Class[]{DataSet.class,FormattedText.class,MultilanguageTextElement.class});\r
                \r
+        unmarshaller = jaxbContext.createUnmarshaller();\r
+        unmarshaller.setSchema(cdmSchema);\r
+        \r
+        UnmarshallerHandler unmarshallerHandler = unmarshaller.getUnmarshallerHandler();\r
+           \r
+        SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();\r
+       \r
+        saxParserFactory.setNamespaceAware(true);\r
+        saxParserFactory.setXIncludeAware(true);\r
+        saxParserFactory.setValidating(true);\r
+        \r
+        SAXParser saxParser = saxParserFactory.newSAXParser();\r
+        saxParser.setProperty("http://java.sun.com/xml/jaxp/properties/schemaLanguage",\r
+                                     "http://www.w3.org/2001/XMLSchema");\r
+           xmlReader = saxParser.getXMLReader();\r
+           xmlReader.setEntityResolver(new CatalogResolver());\r
+           xmlReader.setErrorHandler(new DefaultErrorHandler());\r
+        unmarshaller.setEventHandler(new WarningTolerantValidationEventHandler());\r
+           \r
+        marshaller = jaxbContext.createMarshaller();\r
+        marshaller.setProperty("com.sun.xml.bind.namespacePrefixMapper", new CdmNamespacePrefixMapper() );\r
+               marshaller.setSchema(cdmSchema);\r
+        \r
                // For test purposes insert newlines to make the XML output readable\r
                marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, formattedOutput);\r
-               \r
+               marshaller.setProperty(Marshaller.JAXB_SCHEMA_LOCATION,"http://etaxonomy.eu/cdm/model/1.0 schema/cdm/cdm.xsd");\r
                marshaller.setProperty(Marshaller.JAXB_ENCODING, encoding);\r
                \r
                CdmMarshallerListener marshallerListener = new CdmMarshallerListener();\r
-               marshaller.setListener(marshallerListener);\r
-               \r
-               // validate with explicit schema\r
-               //marshaller.setSchema(cdmSchema);\r
-               \r
-               marshaller.setEventHandler(new DefaultValidationEventHandler());\r
+               marshaller.setListener(marshallerListener);             \r
+               marshaller.setEventHandler(new WarningTolerantValidationEventHandler());\r
 \r
+       }\r
+       \r
+       public CdmDocumentBuilder(boolean formattedOutput, String encoding) \r
+       throws SAXException, JAXBException, IOException, ParserConfigurationException {\r
+               this();\r
+       }\r
+       \r
+       public void marshal(DataSet dataSet, Writer writer) throws JAXBException {\r
+               \r
                logger.info("Start marshalling");\r
                marshaller.marshal(dataSet, writer);\r
                \r
        }\r
+       \r
+       public DataSet unmarshal(DataSet dataSet,Reader reader) throws JAXBException {\r
+               InputSource input = new InputSource(reader);\r
+               SAXSource saxSource = new SAXSource( xmlReader, input);\r
+               logger.info("Start unmarshalling");\r
+               dataSet = (DataSet) unmarshaller.unmarshal(saxSource);\r
+               return dataSet;\r
+       } \r
+       \r
+       public DataSet unmarshal(DataSet dataSet,Reader reader, String systemId) throws JAXBException {\r
+               InputSource input = new InputSource(reader);\r
+               input.setSystemId(systemId);\r
+               SAXSource saxSource = new SAXSource( xmlReader, input);\r
+               logger.info("Start unmarshalling");\r
+               dataSet = (DataSet) unmarshaller.unmarshal(saxSource);\r
+               return dataSet;\r
+       } \r
 \r
-       public DataSet unmarshal(DataSet dataSet, File file) throws JAXBException {\r
-               \r
-               Unmarshaller unmarshaller;\r
-               unmarshaller = jaxbContext.createUnmarshaller();\r
-               \r
-               // DefaultValidationEventHandler implementation is part of the API and convenient for trouble-shooting.\r
-               // It prints errors to System.out.\r
-               //unmarshaller.setEventHandler(new DefaultValidationEventHandler());\r
+       public DataSet unmarshal(DataSet dataSet, File file) throws JAXBException, UnsupportedEncodingException, FileNotFoundException {\r
 \r
+               InputSource input = new InputSource(new InputStreamReader(new FileInputStream(file),encoding));\r
+               input.setSystemId(file.toURI().toString());\r
+               SAXSource saxSource = new SAXSource( xmlReader, input);\r
                logger.info("Start unmarshalling");\r
-               dataSet = (DataSet) unmarshaller.unmarshal(file);\r
+               dataSet = (DataSet) unmarshaller.unmarshal(saxSource);\r
                return dataSet;\r
                \r
        }\r
index 9da49d5e0d53e79692e7fbaf5248fd814fca7017..f341ab2dbe6021e856ddf20f4bb1548b3a4635ff 100644 (file)
@@ -58,9 +58,9 @@ public class CdmResourceResolver implements LSResourceResolver {
                InputSource inputSource = catalogResolver.resolveEntity( publicId, systemId );\r
                if ( inputSource == null ) {\r
                        if(log.isInfoEnabled()) {\r
-                           log.info("Not found in filesystem: Looking in jar files for /eu/etaxonomy/cdm/model/" + systemId);\r
+                           log.info("Not found in filesystem: Looking in jar files for /schema/cdm/" + systemId);\r
                        }\r
-                       inputSource = new InputSource(this.getClass().getResourceAsStream("/eu/etaxonomy/cdm/model/" + systemId));\r
+                       inputSource = new InputSource(this.getClass().getResourceAsStream("/schema/cdm/" + systemId));\r
                        \r
                        if(inputSource == null) {\r
                                if(log.isWarnEnabled()) {\r
index 1f9c543f2895e7125539558d38e3eee3d8bdac01..1b00d27eb3d953aea49bd003cf49497c52082853 100644 (file)
@@ -11,9 +11,7 @@ package eu.etaxonomy.cdm.io.jaxb;
 \r
 import java.util.ArrayList;\r
 import java.util.Collection;\r
-import java.util.HashSet;\r
 import java.util.List;\r
-import java.util.Set;\r
 \r
 import javax.xml.bind.annotation.XmlAccessType;\r
 import javax.xml.bind.annotation.XmlAccessorType;\r
@@ -23,25 +21,20 @@ import javax.xml.bind.annotation.XmlElements;
 import javax.xml.bind.annotation.XmlRootElement;\r
 import javax.xml.bind.annotation.XmlType;\r
 \r
-import eu.etaxonomy.cdm.model.agent.Address;\r
-import eu.etaxonomy.cdm.model.agent.Agent;\r
+import eu.etaxonomy.cdm.model.agent.AgentBase;\r
 import eu.etaxonomy.cdm.model.agent.Contact;\r
 import eu.etaxonomy.cdm.model.agent.Institution;\r
 import eu.etaxonomy.cdm.model.agent.InstitutionType;\r
-import eu.etaxonomy.cdm.model.agent.InstitutionalMembership;\r
 import eu.etaxonomy.cdm.model.agent.Person;\r
 import eu.etaxonomy.cdm.model.agent.Team;\r
 import eu.etaxonomy.cdm.model.common.AnnotationType;\r
 import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.common.EventBase;\r
 import eu.etaxonomy.cdm.model.common.ExtensionType;\r
 import eu.etaxonomy.cdm.model.common.Keyword;\r
 import eu.etaxonomy.cdm.model.common.Language;\r
-import eu.etaxonomy.cdm.model.common.LanguageString;\r
-import eu.etaxonomy.cdm.model.common.LanguageStringBase;\r
 import eu.etaxonomy.cdm.model.common.MarkerType;\r
-import eu.etaxonomy.cdm.model.common.ReferencedEntityBase;\r
-import eu.etaxonomy.cdm.model.common.RelationshipBase;\r
-import eu.etaxonomy.cdm.model.common.Representation;\r
+import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary;\r
 import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
 import eu.etaxonomy.cdm.model.common.VersionableEntity;\r
 import eu.etaxonomy.cdm.model.description.AbsenceTerm;\r
@@ -70,26 +63,26 @@ import eu.etaxonomy.cdm.model.name.BacterialName;
 import eu.etaxonomy.cdm.model.name.BotanicalName;\r
 import eu.etaxonomy.cdm.model.name.CultivarPlantName;\r
 import eu.etaxonomy.cdm.model.name.HomotypicalGroup;\r
-import eu.etaxonomy.cdm.model.name.HybridRelationship;\r
 import eu.etaxonomy.cdm.model.name.HybridRelationshipType;\r
-import eu.etaxonomy.cdm.model.name.NameRelationship;\r
 import eu.etaxonomy.cdm.model.name.NameRelationshipType;\r
 import eu.etaxonomy.cdm.model.name.NameTypeDesignation;\r
 import eu.etaxonomy.cdm.model.name.NomenclaturalCode;\r
-import eu.etaxonomy.cdm.model.name.NomenclaturalStatus;\r
 import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;\r
 import eu.etaxonomy.cdm.model.name.NonViralName;\r
 import eu.etaxonomy.cdm.model.name.Rank;\r
 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;\r
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
+import eu.etaxonomy.cdm.model.name.TypeDesignationBase;\r
 import eu.etaxonomy.cdm.model.name.TypeDesignationStatus;\r
 import eu.etaxonomy.cdm.model.name.ViralName;\r
 import eu.etaxonomy.cdm.model.name.ZoologicalName;\r
+import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;\r
 import eu.etaxonomy.cdm.model.occurrence.DerivationEventType;\r
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;\r
 import eu.etaxonomy.cdm.model.occurrence.DeterminationModifier;\r
 import eu.etaxonomy.cdm.model.occurrence.FieldObservation;\r
 import eu.etaxonomy.cdm.model.occurrence.Fossil;\r
+import eu.etaxonomy.cdm.model.occurrence.GatheringEvent;\r
 import eu.etaxonomy.cdm.model.occurrence.LivingBeing;\r
 import eu.etaxonomy.cdm.model.occurrence.Observation;\r
 import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;\r
@@ -114,76 +107,46 @@ import eu.etaxonomy.cdm.model.reference.Report;
 import eu.etaxonomy.cdm.model.reference.Thesis;\r
 import eu.etaxonomy.cdm.model.reference.WebPage;\r
 import eu.etaxonomy.cdm.model.taxon.Synonym;\r
-import eu.etaxonomy.cdm.model.taxon.SynonymRelationship;\r
 import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType;\r
 import eu.etaxonomy.cdm.model.taxon.Taxon;\r
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
-import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;\r
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;\r
 \r
 /**\r
  * @author a.babadshanjan\r
  */\r
 @XmlAccessorType(XmlAccessType.FIELD)\r
-@XmlType(name = "", propOrder = {\r
+@XmlType(name = "DataSet", propOrder = {\r
            "terms",\r
            "termVocabularies",\r
                "agents",\r
-               "agentData",\r
+               "collections",\r
                "occurrences",\r
+               "eventBases",\r
            "references",\r
-           "referencedEntities",\r
-           "featureData",\r
-           "languageData",\r
+           "typeDesignations",\r
+           "featureTrees",\r
            "taxonomicNames",\r
            "homotypicalGroups",\r
-           "taxa",\r
-           "synonyms",\r
-           "relationships",\r
+           "taxonBases",\r
            "media"\r
 })\r
-@XmlRootElement(name = "DataSet", namespace = "http://etaxonomy.eu/cdm/model/1.0")\r
+@XmlRootElement(name = "DataSet")\r
 public class DataSet {\r
-       \r
-    // Some fields are of type List and some are of type Set. \r
-       // This is mainly because\r
-       // the service classes return lists, i.e.\r
-    // TaxonServiceImpl.getRootTaxa() returns List<Taxon>\r
-       // and the Taxon methods return sets, i.e.\r
-    // Taxon.getTaxonomicChildren() returns Set<Taxon>.\r
-\r
-    @XmlElementWrapper(name = "Agents", namespace = "http://etaxonomy.eu/cdm/model/1.0")\r
-    @XmlElements({\r
+\r
+    @XmlElementWrapper(name = "Agents")\r
+    @XmlElements({             \r
         @XmlElement(name = "Team", namespace = "http://etaxonomy.eu/cdm/model/agent/1.0", type = Team.class),\r
         @XmlElement(name = "Institution", namespace = "http://etaxonomy.eu/cdm/model/agent/1.0", type = Institution.class),\r
         @XmlElement(name = "Person", namespace = "http://etaxonomy.eu/cdm/model/agent/1.0", type = Person.class)\r
     })\r
-    protected List<? extends Agent> agents;\r
-    \r
-    @XmlElementWrapper(name = "AgentData", namespace = "http://etaxonomy.eu/cdm/model/1.0")\r
-    @XmlElements({\r
-    @XmlElement(name = "Address", namespace = "http://etaxonomy.eu/cdm/model/agent/1.0", type = Address.class),\r
-    @XmlElement(name = "Contact", namespace = "http://etaxonomy.eu/cdm/model/agent/1.0", type = Contact.class),\r
-    @XmlElement(name = "InstitutionalMembership", namespace = "http://etaxonomy.eu/cdm/model/agent/1.0", type = InstitutionalMembership.class)\r
-    })\r
-    protected List<VersionableEntity> agentData;\r
-\r
-    @XmlElementWrapper(name = "FeatureData", namespace = "http://etaxonomy.eu/cdm/model/1.0")\r
-    @XmlElements({\r
-    @XmlElement(name = "FeatureNode", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = FeatureNode.class),\r
-    @XmlElement(name = "FeatureTree", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = FeatureTree.class)\r
-    })\r
-//    protected List<VersionableEntity> featureData;\r
-    protected List<VersionableEntity> featureData;\r
+    protected List<AgentBase> agents = new ArrayList<AgentBase>();\r
 \r
-    @XmlElementWrapper(name = "LanguageData", namespace = "http://etaxonomy.eu/cdm/model/1.0")\r
-    @XmlElements({\r
-    @XmlElement(name = "Representation", namespace = "http://etaxonomy.eu/cdm/model/common/1.0", type = Representation.class),\r
-    @XmlElement(name = "LanguageString", namespace = "http://etaxonomy.eu/cdm/model/common/1.0", type = LanguageString.class)\r
-    })\r
-    protected List<LanguageStringBase> languageData;\r
+    @XmlElementWrapper(name = "FeatureTrees")\r
+    @XmlElement(name = "FeatureTree", namespace = "http://etaxonomy.eu/cdm/model/description/1.0")\r
+    protected List<FeatureTree> featureTrees = new ArrayList<FeatureTree>();\r
     \r
-    @XmlElementWrapper(name = "Terms", namespace = "http://etaxonomy.eu/cdm/model/1.0")\r
+    @XmlElementWrapper(name = "Terms")\r
     @XmlElements({\r
        @XmlElement(name = "AbsenceTerm", namespace = "http://etaxonomy.eu/cdm/model/description/1.0", type = AbsenceTerm.class),\r
        @XmlElement(name = "AnnotationType", namespace = "http://etaxonomy.eu/cdm/model/common/1.0", type = AnnotationType.class),\r
@@ -222,13 +185,20 @@ public class DataSet {
        @XmlElement(name = "TypeDesignationStatus", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = TypeDesignationStatus.class),\r
        @XmlElement(name = "WaterbodyOrCountry", namespace = "http://etaxonomy.eu/cdm/model/location/1.0", type = WaterbodyOrCountry.class)\r
     })\r
-    protected List<DefinedTermBase> terms;\r
+    protected List<DefinedTermBase> terms = new ArrayList<DefinedTermBase>();\r
 \r
-    @XmlElementWrapper(name = "TermVocabularies", namespace = "http://etaxonomy.eu/cdm/model/1.0")\r
-    @XmlElement(name = "TermVocabulary", namespace = "http://etaxonomy.eu/cdm/model/common/1.0")\r
-    protected List<TermVocabulary<DefinedTermBase>> termVocabularies;\r
+    @XmlElementWrapper(name = "TermVocabularies")\r
+    @XmlElements({\r
+        @XmlElement(name = "TermVocabulary", namespace = "http://etaxonomy.eu/cdm/model/common/1.0", type = TermVocabulary.class),\r
+        @XmlElement(name = "OrderedTermVocabulary", namespace = "http://etaxonomy.eu/cdm/model/common/1.0", type = OrderedTermVocabulary.class)\r
+    })\r
+    protected List<TermVocabulary<DefinedTermBase>> termVocabularies = new ArrayList<TermVocabulary<DefinedTermBase>>();\r
 \r
-    @XmlElementWrapper(name = "Occurrences", namespace = "http://etaxonomy.eu/cdm/model/1.0")\r
+    @XmlElementWrapper(name = "Collections")\r
+    @XmlElement(name = "Collection", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0")\r
+    protected List<eu.etaxonomy.cdm.model.occurrence.Collection> collections = new ArrayList<eu.etaxonomy.cdm.model.occurrence.Collection>();\r
+    \r
+    @XmlElementWrapper(name = "Occurrences")\r
     @XmlElements({\r
        @XmlElement(name = "DerivedUnit", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = DerivedUnit.class),\r
        @XmlElement(name = "DnaSample", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = DnaSample.class),\r
@@ -238,9 +208,16 @@ public class DataSet {
        @XmlElement(name = "Observation", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = Observation.class),\r
        @XmlElement(name = "Specimen", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = Specimen.class)\r
     })\r
-    protected List<SpecimenOrObservationBase> occurrences;\r
+    protected List<SpecimenOrObservationBase> occurrences = new ArrayList<SpecimenOrObservationBase>();\r
+    \r
+    @XmlElementWrapper(name = "EventBases")\r
+    @XmlElements({\r
+       @XmlElement(name = "DerivationEvent", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = DerivationEvent.class),\r
+       @XmlElement(name = "GatheringEvent", namespace = "http://etaxonomy.eu/cdm/model/occurrence/1.0", type = GatheringEvent.class)\r
+    })\r
+    protected List<EventBase> eventBases = new ArrayList<EventBase>();\r
     \r
-    @XmlElementWrapper(name = "References", namespace = "http://etaxonomy.eu/cdm/model/1.0")\r
+    @XmlElementWrapper(name = "References")\r
     @XmlElements({\r
        @XmlElement(name = "Article", namespace = "http://etaxonomy.eu/cdm/model/reference/1.0", type = Article.class),\r
        @XmlElement(name = "Book", namespace = "http://etaxonomy.eu/cdm/model/reference/1.0", type = Book.class),\r
@@ -259,18 +236,16 @@ public class DataSet {
        @XmlElement(name = "Thesis", namespace = "http://etaxonomy.eu/cdm/model/reference/1.0", type = Thesis.class),\r
        @XmlElement(name = "WebPage", namespace = "http://etaxonomy.eu/cdm/model/reference/1.0", type = WebPage.class)\r
     })\r
-    protected List<ReferenceBase> references;\r
+    protected List<ReferenceBase> references = new ArrayList<ReferenceBase>();\r
 \r
-    @XmlElementWrapper(name = "ReferencedEntities", namespace = "http://etaxonomy.eu/cdm/model/1.0")\r
+    @XmlElementWrapper(name = "TypeDesignations")\r
     @XmlElements({\r
-       @XmlElement(name = "NomenclaturalStatus", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = NomenclaturalStatus.class),\r
        @XmlElement(name = "NameTypeDesignation", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = NameTypeDesignation.class),\r
        @XmlElement(name = "SpecimenTypeDesignation", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = SpecimenTypeDesignation.class)\r
     })\r
-    protected List<ReferencedEntityBase> referencedEntities;\r
-\r
+    protected List<TypeDesignationBase> typeDesignations = new ArrayList<TypeDesignationBase>();\r
        \r
-    @XmlElementWrapper(name = "TaxonomicNames", namespace = "http://etaxonomy.eu/cdm/model/1.0")\r
+    @XmlElementWrapper(name = "TaxonomicNames")\r
     @XmlElements({\r
        @XmlElement(name = "BacterialName", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = BacterialName.class),\r
        @XmlElement(name = "BotanicalName", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = BotanicalName.class),\r
@@ -279,54 +254,22 @@ public class DataSet {
        @XmlElement(name = "ViralName", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = ViralName.class),\r
        @XmlElement(name = "ZoologicalName", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = ZoologicalName.class)\r
     })\r
-    protected List<TaxonNameBase> taxonomicNames;\r
-\r
-    @XmlElementWrapper(name = "Taxa", namespace = "http://etaxonomy.eu/cdm/model/1.0")\r
-    @XmlElement(name = "Taxon", namespace = "http://etaxonomy.eu/cdm/model/taxon/1.0")\r
-    protected List<Taxon> taxa;\r
-       \r
-    @XmlElementWrapper(name = "Synonyms", namespace = "http://etaxonomy.eu/cdm/model/1.0")\r
-    @XmlElement(name = "Synonym", namespace = "http://etaxonomy.eu/cdm/model/taxon/1.0")\r
-    protected List<Synonym> synonyms;\r
+    protected List<TaxonNameBase> taxonomicNames = new ArrayList<TaxonNameBase>();\r
 \r
-    @XmlElementWrapper(name = "Relationships", namespace = "http://etaxonomy.eu/cdm/model/1.0")\r
+    @XmlElementWrapper(name = "TaxonBases")\r
     @XmlElements({\r
-       @XmlElement(name = "TaxonRelationship", namespace = "http://etaxonomy.eu/cdm/model/taxon/1.0", type = TaxonRelationship.class),\r
-       @XmlElement(name = "SynonymRelationship", namespace = "http://etaxonomy.eu/cdm/model/taxon/1.0", type = SynonymRelationship.class),\r
-       @XmlElement(name = "NameRelationship", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = NameRelationship.class),\r
-       @XmlElement(name = "HybridRelationship", namespace = "http://etaxonomy.eu/cdm/model/name/1.0", type = HybridRelationship.class)\r
+      @XmlElement(name = "Taxon", namespace = "http://etaxonomy.eu/cdm/model/taxon/1.0", type = Taxon.class),\r
+      @XmlElement(name = "Synonym", namespace = "http://etaxonomy.eu/cdm/model/taxon/1.0", type = Synonym.class)\r
     })\r
-    protected Set<RelationshipBase> relationships;\r
+    protected List<TaxonBase> taxonBases = new ArrayList<TaxonBase>();\r
 \r
-    @XmlElementWrapper(name = "Media", namespace = "http://etaxonomy.eu/cdm/model/1.0")\r
+    @XmlElementWrapper(name = "Media")\r
     @XmlElement(name = "Media", namespace = "http://etaxonomy.eu/cdm/model/media/1.0")\r
-    protected List<Media> media;\r
+    protected List<Media> media = new ArrayList<Media>();\r
     \r
-    @XmlElementWrapper(name = "HomotypicalGroups", namespace = "http://etaxonomy.eu/cdm/model/1.0")\r
+    @XmlElementWrapper(name = "HomotypicalGroups")\r
     @XmlElement(name = "HomotypicalGroup", namespace = "http://etaxonomy.eu/cdm/model/name/1.0")\r
-    protected List<HomotypicalGroup> homotypicalGroups;\r
-\r
-//     @XmlElement(name = "TdwgArea", namespace = "http://etaxonomy.eu/cdm/model/location/1.0", type = TdwgArea.class),\r
-\r
-       public DataSet () {\r
-               \r
-               agents = new ArrayList<Agent>(); \r
-               agentData = new ArrayList<VersionableEntity>();\r
-//             featureData = new ArrayList<VersionableEntity>();\r
-               featureData = new ArrayList<VersionableEntity>();\r
-               languageData = new ArrayList<LanguageStringBase>();\r
-               terms = new ArrayList<DefinedTermBase>();\r
-               termVocabularies = new ArrayList<TermVocabulary<DefinedTermBase>>();\r
-               occurrences = new ArrayList<SpecimenOrObservationBase>();\r
-               references = new ArrayList<ReferenceBase>();\r
-               referencedEntities = new ArrayList<ReferencedEntityBase>();\r
-               taxonomicNames = new ArrayList<TaxonNameBase>();\r
-               taxa = new ArrayList<Taxon>();\r
-               synonyms = new ArrayList<Synonym>();\r
-               relationships = new HashSet<RelationshipBase>();\r
-               media = new ArrayList<Media>();\r
-               homotypicalGroups = new ArrayList<HomotypicalGroup>();\r
-       }\r
+    protected List<HomotypicalGroup> homotypicalGroups = new ArrayList<HomotypicalGroup>();\r
 \r
     /**\r
      * Gets the value of the agents property.\r
@@ -336,7 +279,7 @@ public class DataSet {
      *     {@link List<Agent> }\r
      *     \r
      */\r
-    public List<? extends Agent> getAgents() {\r
+    public List<AgentBase> getAgents() {\r
         return agents;\r
     }\r
 \r
@@ -348,32 +291,32 @@ public class DataSet {
      *     {@link List<Agent> }\r
      *     \r
      */\r
-    public void setAgents(List<? extends Agent> value) {\r
+    public void setAgents(List<AgentBase> value) {\r
         this.agents = value;\r
     }\r
 \r
     /**\r
-     * Gets the value of the agentData property.\r
+     * Gets the value of the collections property.\r
      * \r
      * @return\r
      *     possible object is\r
-     *     {@link List<VersionableEntity> }\r
+     *     {@link List<eu.etaxonomy.cdm.model.occurrence.Collection> }\r
      *     \r
      */\r
-    public List<VersionableEntity> getAgentData() {\r
-        return agentData;\r
+    public List<eu.etaxonomy.cdm.model.occurrence.Collection> getCollections() {\r
+        return collections;\r
     }\r
 \r
     /**\r
-     * Sets the value of the agentData property.\r
+     * Sets the value of the collections property.\r
      * \r
      * @param value\r
      *     allowed object is\r
-     *     {@link List<VersionableEntity> }\r
+     *     {@link List<eu.etaxonomy.cdm.model.occurrence.Collection> }\r
      *     \r
      */\r
-    public void setAgentData(List<VersionableEntity> value) {\r
-        this.agentData = value;\r
+    public void setCollections(List<eu.etaxonomy.cdm.model.occurrence.Collection> value) {\r
+        this.collections = value;\r
     }\r
 \r
     /**\r
@@ -384,8 +327,6 @@ public class DataSet {
      *     {@link List<TermBase> }\r
      *     \r
      */\r
-    \r
-    //public List<? extends TermBase> getTerms() {\r
     public List<DefinedTermBase> getTerms() {\r
         return terms;\r
     }\r
@@ -398,7 +339,6 @@ public class DataSet {
      *     {@link List<TermBase> }\r
      *     \r
      */\r
-    //public void setTerms(List<? extends TermBase> value) {\r
     public void setTerms(List<DefinedTermBase> value) {\r
         this.terms = value;\r
     }\r
@@ -451,344 +391,148 @@ public class DataSet {
     public void setTaxonomicNames(List<TaxonNameBase> value) {\r
         this.taxonomicNames = value;\r
     }\r
-\r
-    /**\r
-     * Gets the value of the references property.\r
-     * \r
-     * @return\r
-     *     possible object is\r
-     *     {@link List<SpecimenOrObservationBase> }\r
-     *     \r
-     */\r
-    public List<SpecimenOrObservationBase> getOccurrences() {\r
-        return occurrences;\r
-    }\r
-\r
-    /**\r
-     * Sets the value of the references property.\r
-     * \r
-     * @param value\r
-     *     allowed object is\r
-     *     {@link List<SpecimenOrObservationBase> }\r
-     *     \r
-     */\r
-    public void setOccurrences(List<SpecimenOrObservationBase> value) {\r
-        this.occurrences = value;\r
-    }\r
-\r
-    /**\r
-     * Gets the value of the references property.\r
-     * \r
-     * @return\r
-     *     possible object is\r
-     *     {@link List<ReferenceBase> }\r
-     *     \r
-     */\r
-    public List<ReferenceBase> getReferences() {\r
-        return references;\r
-    }\r
-\r
-    /**\r
-     * Sets the value of the references property.\r
-     * \r
-     * @param value\r
-     *     allowed object is\r
-     *     {@link List<ReferenceBase> }\r
-     *     \r
-     */\r
-    public void setReferences(List<ReferenceBase> value) {\r
-        this.references = value;\r
-    }\r
-\r
-    /**\r
-     * Adds the referenced entities in value to the referenced entity property list.\r
-     * \r
-     * @param value\r
-     *     allowed object is\r
-     *     {@link Collection<ReferencedEntityBase> }\r
-     *     \r
-     */\r
-    public <T extends ReferencedEntityBase> void addReferencedEntities(Collection<T> value) {\r
-       for (T referencedEntity: value) {\r
-               this.referencedEntities.add(referencedEntity);\r
-       }\r
-    }\r
-\r
-    /**\r
-     * Gets the value of the  property.\r
-     * \r
-     * @return\r
-     *     possible object is\r
-     *     {@link List<ReferencedEntityBase> }\r
-     *     \r
-     */\r
-    public List<ReferencedEntityBase> getReferencedEntities() {\r
-        return referencedEntities;\r
-    }\r
-\r
-    /**\r
-     * Sets the value of the referencedEntities property.\r
-     * \r
-     * @param value\r
-     *     allowed object is\r
-     *     {@link List<ReferencedEntityBase> }\r
-     *     \r
-     */\r
-    public void setReferencedEntities(List<? extends ReferencedEntityBase> value) {\r
-        this.referencedEntities = new ArrayList<ReferencedEntityBase>();\r
-        referencedEntities.addAll(value);\r
-    }\r
     \r
     /**\r
-     * Adds the features in value to the feature data property list.\r
-     * \r
-     * @param value\r
-     *     allowed object is\r
-     *     {@link Collection<VersionableEntity> }\r
-     *     \r
-     */\r
-    public <T extends VersionableEntity> void addFeatureData(Collection<T> value) {\r
-       for (T featureItem: value) {\r
-               this.featureData.add(featureItem);\r
-       }\r
-    }\r
-\r
-    /**\r
-     * Gets the value of the feature data property.\r
+     * Gets the value of the eventBases property.\r
      * \r
      * @return\r
      *     possible object is\r
-     *     {@link List<VersionableEntity> }\r
+     *     {@link List<EventBase> }\r
      *     \r
      */\r
-//    public List<VersionableEntity> getFeatureData() {\r
-    public List<VersionableEntity> getFeatureData() {\r
-        return featureData;\r
+    public List<EventBase> getEventBases() {\r
+        return eventBases;\r
     }\r
 \r
     /**\r
-     * Sets the value of the feature data property.\r
+     * Sets the value of the eventBases property.\r
      * \r
      * @param value\r
      *     allowed object is\r
-     *     {@link List<VersionableEntity> }\r
+     *     {@link List<EventBase> }\r
      *     \r
      */\r
-    public <T extends VersionableEntity> void setFeatureData(List<T> value) {\r
-        featureData = new ArrayList<VersionableEntity>();\r
-       for (T featureItem: value) {\r
-               this.featureData.add(featureItem);\r
-       }\r
+    public void setEventBases(List<EventBase> value) {\r
+        this.eventBases = value;\r
     }\r
 \r
-//    public void setFeatureData(List<? extends VersionableEntity> value) {\r
-    //public void setFeatureData(List<? extends VersionableEntity<?>> value) {\r
-//        this.featureData = new ArrayList<VersionableEntity>();\r
-    //    this.featureData = new ArrayList<VersionableEntity<?>>();\r
-    //    featureData.addAll(value);\r
-    //}\r
-    \r
     /**\r
-     * Adds the features in value to the language data property list.\r
-     * \r
-     * @param value\r
-     *     allowed object is\r
-     *     {@link Collection<LanguageStringBase> }\r
-     *     \r
-     */\r
-    public <T extends LanguageStringBase> void addLanguageData(Collection<T> value) {\r
-       for (T languageItem: value) {\r
-               this.languageData.add(languageItem);\r
-       }\r
-    }\r
-\r
-    /**\r
-     * Gets the value of the language data property.\r
+     * Gets the value of the occurrences property.\r
      * \r
      * @return\r
      *     possible object is\r
-     *     {@link List<LanguageStringBase> }\r
+     *     {@link List<SpecimenOrObservationBase> }\r
      *     \r
      */\r
-    public List<LanguageStringBase> getLanguageData() {\r
-        return languageData;\r
+    public List<SpecimenOrObservationBase> getOccurrences() {\r
+        return occurrences;\r
     }\r
 \r
     /**\r
-     * Sets the value of the feature data property.\r
-     * \r
-     * @param value\r
-     *     allowed object is\r
-     *     {@link List<LanguageStringBase> }\r
-     *     \r
-     */\r
-    public void setLanguageData(List<? extends LanguageStringBase> value) {\r
-        this.languageData = new ArrayList<LanguageStringBase>();\r
-        languageData.addAll(value);\r
-    }\r
-    \r
-    /**\r
-     * Adds the taxa in value to the taxa property list.\r
+     * Sets the value of the occurrences property.\r
      * \r
      * @param value\r
      *     allowed object is\r
-     *     {@link Collection<Taxon> }\r
+     *     {@link List<SpecimenOrObservationBase> }\r
      *     \r
      */\r
-    public void addTaxa(Collection<Taxon> value) {\r
-       for (Taxon taxon: value) {\r
-               this.taxa.add(taxon);\r
-       }\r
+    public void setOccurrences(List<SpecimenOrObservationBase> value) {\r
+        this.occurrences = value;\r
     }\r
 \r
     /**\r
-     * Gets the value of the taxa property.\r
-     * \r
-     * @return\r
-     *     possible object is\r
-     *     {@link List<Taxon> }\r
-     *     \r
-     */\r
-//    public List<Taxon> getTaxa() {\r
-//        return taxa;\r
-//    }\r
-\r
-    /**\r
-     * Gets the value of the taxa property as {@link Collection<TaxonBase> }\r
+     * Gets the value of the references property.\r
      * \r
      * @return\r
      *     possible object is\r
-     *     {@link Collection<TaxonBase> }\r
+     *     {@link List<ReferenceBase> }\r
      *     \r
      */\r
-    public Collection<? extends TaxonBase> getTaxa() {\r
-       \r
-       //TODO can be deleted when everything works\r
-       //Object obj = taxa;\r
-       //Collection<TaxonBase> taxonBases = (Collection<TaxonBase>)obj;\r
-        List<Taxon> list = taxa;\r
-       return list;\r
-    }\r
-\r
-    public Collection<TaxonBase> getTaxonBases() {\r
-       \r
-       Collection<TaxonBase> result = new HashSet<TaxonBase>();;\r
-       if (taxa != null) {\r
-               result.addAll(taxa);\r
-       }\r
-       if (synonyms != null) {\r
-               result.addAll(synonyms);\r
-       }\r
-        return result;\r
+    public List<ReferenceBase> getReferences() {\r
+        return references;\r
     }\r
 \r
     /**\r
-     * Sets the value of the taxa property.\r
+     * Sets the value of the references property.\r
      * \r
      * @param value\r
      *     allowed object is\r
-     *     {@link List<Taxon> }\r
-     *     \r
-     */\r
-    public void setTaxa(List<Taxon> value) {\r
-        this.taxa = value;\r
-    }\r
-\r
-    /**\r
-     * Adds the taxon in value to the taxa property list.\r
-     * \r
-     * @param value\r
+     *     {@link List<ReferenceBase> }\r
      *     \r
      */\r
-    public void addTaxon(Taxon value) {\r
-               this.taxa.add(value);\r
+    public void setReferences(List<ReferenceBase> value) {\r
+        this.references = value;\r
     }\r
 \r
-\r
     /**\r
-     * Gets the value of the synonyms property.\r
+     * Gets the value of the featureTrees property.\r
      * \r
      * @return\r
      *     possible object is\r
-     *     {@link List<Synonym> }\r
+     *     {@link List<FeatureTree> }\r
      *     \r
      */\r
-    public List<Synonym> getSynonyms() {\r
-        return synonyms;\r
+    public List<FeatureTree> getFeatureTrees() {\r
+        return featureTrees;\r
     }\r
 \r
     /**\r
-     * Sets the value of the synonyms property.\r
+     * Sets the value of the featureTrees property.\r
      * \r
      * @param value\r
      *     allowed object is\r
-     *     {@link List<Synonym> }\r
+     *     {@link List<FeatureTree> }\r
      *     \r
      */\r
-    public void setSynonyms(List<Synonym> value) {\r
-        this.synonyms = value;\r
+    public void setFeatureTrees(List<FeatureTree> value) {\r
+       this.featureTrees = value;\r
     }\r
     \r
-    /**\r
-     * Adds the synonym in value to the taxa property list.\r
-     * \r
-     * @param value\r
-     *     \r
-     */\r
-    public void addSynonym(Synonym value) {\r
-               this.synonyms.add(value);\r
-    }\r
     \r
     /**\r
-     * Adds the synonym in value to the synonyms property list.\r
+     * Adds the taxonBases in value to the taxonBases property list.\r
      * \r
      * @param value\r
      *     allowed object is\r
-     *     {@link Collection<Synonym> }\r
+     *     {@link Collection<TaxonBase> }\r
      *     \r
      */\r
-    public void addSynonyms(Collection<Synonym> value) {\r
-       for (Synonym synonym: value) {\r
-               this.synonyms.add(synonym);\r
-       }\r
+    public void addTaxonBases(Collection<TaxonBase> value) {\r
+       this.taxonBases.addAll(value);\r
     }\r
 \r
     /**\r
-     * Gets the value of the relationships property.\r
+     * Gets the value of the taxonBases property as {@link Collection<TaxonBase> }\r
      * \r
      * @return\r
      *     possible object is\r
-     *     {@link Set<RelationshipBase> }\r
+     *     {@link List<TaxonBase> }\r
      *     \r
      */\r
-    public Set<RelationshipBase> getRelationships() {\r
-        return relationships;\r
+    public List<TaxonBase> getTaxonBases() {\r
+       return taxonBases;\r
     }\r
 \r
     /**\r
-     * Sets the value of the relationships property.\r
+     * Sets the value of the taxonBases property.\r
      * \r
      * @param value\r
      *     allowed object is\r
-     *     {@link Set<RelationshipBase> }\r
+     *     {@link List<TaxonBase> }\r
      *     \r
      */\r
-    public void setRelationships(Set<RelationshipBase> value) {\r
-        this.relationships = value;\r
+    public void setTaxonBases(List<TaxonBase> value) {\r
+        this.taxonBases = value;\r
     }\r
 \r
     /**\r
-     * Adds the relationship in value to the relationships property list.\r
+     * Adds the taxonBase in value to the taxonBases property list.\r
      * \r
      * @param value\r
-     *     allowed object is\r
-     *     {@link Collection<RelationshipBase> }\r
      *     \r
      */\r
-    public void addRelationships(Collection<? extends RelationshipBase> value) {\r
-       for (RelationshipBase relationship: value) {\r
-               this.relationships.add(relationship);\r
-       }\r
+    public void addTaxonBase(TaxonBase value) {\r
+               this.taxonBases.add(value);\r
     }\r
 \r
     /**\r
@@ -853,5 +597,13 @@ public class DataSet {
     public void setHomotypicalGroups(List<HomotypicalGroup> value) {\r
         this.homotypicalGroups = value;\r
     }\r
+\r
+    public List<TypeDesignationBase> getTypeDesignations() {\r
+       return typeDesignations;\r
+    }\r
+    \r
+       public void addTypeDesignations(List<TypeDesignationBase> typeDesignations) {\r
+               this.typeDesignations.addAll(typeDesignations);\r
+       }\r
     \r
 }\r
diff --git a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/DefaultErrorHandler.java b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/DefaultErrorHandler.java
new file mode 100644 (file)
index 0000000..575516d
--- /dev/null
@@ -0,0 +1,24 @@
+package eu.etaxonomy.cdm.io.jaxb;\r
+\r
+import org.apache.commons.logging.Log;\r
+import org.apache.commons.logging.LogFactory;\r
+import org.xml.sax.ErrorHandler;\r
+import org.xml.sax.SAXException;\r
+import org.xml.sax.SAXParseException;\r
+\r
+public class DefaultErrorHandler implements ErrorHandler {\r
+\r
+    private static Log log = LogFactory.getLog(DefaultErrorHandler.class);\r
+       \r
+       public void error(SAXParseException exception) throws SAXException {\r
+               log.error(exception);\r
+       }\r
+\r
+       public void fatalError(SAXParseException exception) throws SAXException {\r
+               log.error(exception);\r
+       }\r
+\r
+       public void warning(SAXParseException exception) throws SAXException {\r
+               log.warn(exception);\r
+       }\r
+}\r
index dc09b6fe0be08ac044b156a795249d6bd59ccff0..7c0e27dbea86cb5faf0338b537bf8697541ce79e 100644 (file)
@@ -26,7 +26,7 @@ import eu.etaxonomy.cdm.io.common.ICdmIO;
 import eu.etaxonomy.cdm.io.common.IExportConfigurator;\r
 import eu.etaxonomy.cdm.io.common.IImportConfigurator;\r
 import eu.etaxonomy.cdm.io.common.MapWrapper;\r
-import eu.etaxonomy.cdm.model.agent.Agent;\r
+import eu.etaxonomy.cdm.model.agent.AgentBase;\r
 import eu.etaxonomy.cdm.model.common.CdmBase;\r
 import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
 import eu.etaxonomy.cdm.model.common.RelationshipBase;\r
@@ -137,12 +137,12 @@ public class JaxbExport extends CdmIoBase<IExportConfigurator> implements ICdmIO
                        dataSet.setTermVocabularies(getTermService().getAllTermVocabularies(MAX_ROWS, 0));;\r
                }\r
 \r
-               if (jaxbExpConfig.isDoLanguageData() == true) {\r
-                       if (languageDataRows == 0) { languageDataRows = MAX_ROWS; }\r
-                       logger.info("# Representation, Language String");\r
-                       dataSet.setLanguageData(getTermService().getAllRepresentations(MAX_ROWS, 0));\r
-                       dataSet.addLanguageData(getTermService().getAllLanguageStrings(MAX_ROWS, 0));\r
-               }\r
+//             if (jaxbExpConfig.isDoLanguageData() == true) {\r
+//                     if (languageDataRows == 0) { languageDataRows = MAX_ROWS; }\r
+//                     logger.info("# Representation, Language String");\r
+//                     dataSet.setLanguageData(getTermService().getAllRepresentations(MAX_ROWS, 0));\r
+//                     dataSet.addLanguageData(getTermService().getAllLanguageStrings(MAX_ROWS, 0));\r
+//             }\r
 \r
                if (jaxbExpConfig.isDoTerms() == true) {\r
                        if (definedTermBaseRows == 0) { definedTermBaseRows = getTermService().count(DefinedTermBase.class); }\r
@@ -151,7 +151,7 @@ public class JaxbExport extends CdmIoBase<IExportConfigurator> implements ICdmIO
                }\r
 \r
                if (jaxbExpConfig.isDoAuthors() == true) {\r
-                       if (agentRows == 0) { agentRows = getAgentService().count(Agent.class); }\r
+                       if (agentRows == 0) { agentRows = getAgentService().count(AgentBase.class); }\r
                        logger.info("# Agents: " + agentRows);\r
                        //logger.info("    # Team: " + appCtr.getAgentService().count(Team.class));\r
                        dataSet.setAgents(getAgentService().getAllAgents(agentRows, 0));\r
@@ -183,13 +183,7 @@ public class JaxbExport extends CdmIoBase<IExportConfigurator> implements ICdmIO
 //                     dataSet.setSynonyms(new ArrayList<Synonym>());\r
                        List<TaxonBase> tb = getTaxonService().getAllTaxonBases(taxonBaseRows, 0);\r
                        for (TaxonBase taxonBase : tb) {\r
-                               if (taxonBase instanceof Taxon) {\r
-                                       dataSet.addTaxon((Taxon)taxonBase);\r
-                               } else if (taxonBase instanceof Synonym) {\r
-                                       dataSet.addSynonym((Synonym)taxonBase);\r
-                               } else {\r
-                                       logger.error("entry of wrong type: " + taxonBase.toString());\r
-                               }\r
+                               dataSet.addTaxonBase(taxonBase);\r
                        }\r
                }\r
 \r
@@ -201,18 +195,17 @@ public class JaxbExport extends CdmIoBase<IExportConfigurator> implements ICdmIO
 //             dataSet.setSynonyms(new ArrayList<Synonym>());\r
 //             dataSet.setSynonyms(getTaxonService().getAllSynonyms(taxonBaseRows, 0));\r
 \r
-               if (jaxbExpConfig.isDoRelTaxa() == true) {\r
-                       if (relationshipRows == 0) { relationshipRows = MAX_ROWS; }\r
-                       logger.info("# Relationships");\r
-                       List<RelationshipBase> relationList = getTaxonService().getAllRelationships(relationshipRows, 0);\r
-                       Set<RelationshipBase> relationSet = new HashSet<RelationshipBase>(relationList);\r
-                       dataSet.setRelationships(relationSet);\r
-               }\r
-\r
-               if (jaxbExpConfig.isDoReferencedEntities() == true) {\r
-                       logger.info("# Referenced Entities");\r
-                       dataSet.setReferencedEntities(getNameService().getAllNomenclaturalStatus(MAX_ROWS, 0));\r
-                       dataSet.addReferencedEntities(getNameService().getAllTypeDesignations(MAX_ROWS, 0));\r
+//             if (jaxbExpConfig.isDoRelTaxa() == true) {\r
+//                     if (relationshipRows == 0) { relationshipRows = MAX_ROWS; }\r
+//                     logger.info("# Relationships");\r
+//                     List<RelationshipBase> relationList = getTaxonService().getAllRelationships(relationshipRows, 0);\r
+//                     Set<RelationshipBase> relationSet = new HashSet<RelationshipBase>(relationList);\r
+//                     dataSet.setRelationships(relationSet);\r
+//             }\r
+\r
+               if (jaxbExpConfig.isDoTypeDesignations() == true) {\r
+                       logger.info("# TypeDesignations");\r
+                       dataSet.addTypeDesignations(getNameService().getAllTypeDesignations(MAX_ROWS, 0));\r
                }\r
 \r
                if (jaxbExpConfig.isDoOccurrence() == true) {\r
@@ -232,8 +225,7 @@ public class JaxbExport extends CdmIoBase<IExportConfigurator> implements ICdmIO
                if (jaxbExpConfig.isDoFeatureData() == true) {\r
                        if (featureDataRows == 0) { featureDataRows = MAX_ROWS; }\r
                        logger.info("# Feature Tree, Feature Node");\r
-                       dataSet.setFeatureData(getDescriptionService().getFeatureNodesAll());\r
-                       dataSet.addFeatureData(getDescriptionService().getFeatureTreesAll());\r
+                       dataSet.setFeatureTrees(getDescriptionService().getFeatureTreesAll());\r
                }\r
        }\r
 \r
index 218f82afafd661200be02c61aeb257d7d6201d92..8ec1b2dee1b639fc3df8231ce9acb8a153debf23 100644 (file)
@@ -43,6 +43,8 @@ public class JaxbExportConfigurator extends ExportConfiguratorBase implements IE
        private boolean doTerms = true;\r
        private boolean doTermVocabularies = true;\r
        private boolean doHomotypicalGroups = true;\r
+\r
+       private boolean doTypeDesignations = true;\r
        \r
        \r
        public int getMaxRows() {\r
@@ -202,5 +204,12 @@ public class JaxbExportConfigurator extends ExportConfiguratorBase implements IE
                        return (String)this.getDestination();\r
                }\r
        }\r
-               \r
+\r
+       public boolean isDoTypeDesignations() {\r
+               return doTypeDesignations;\r
+       }\r
+\r
+       public void setDoTypeDesignations(boolean doTypeDesignations) {\r
+               this.doTypeDesignations = doTypeDesignations;\r
+       }       \r
 }\r
index fc2218b7d196dc5167833994d1a6844d08d373e4..b1b5aaafe0693173b5b1d616fbb70495bdd79f98 100644 (file)
@@ -24,7 +24,7 @@ import eu.etaxonomy.cdm.io.common.CdmIoBase;
 import eu.etaxonomy.cdm.io.common.ICdmIO;\r
 import eu.etaxonomy.cdm.io.common.IImportConfigurator;\r
 import eu.etaxonomy.cdm.io.common.MapWrapper;\r
-import eu.etaxonomy.cdm.model.agent.Agent;\r
+import eu.etaxonomy.cdm.model.agent.AgentBase;\r
 import eu.etaxonomy.cdm.model.common.CdmBase;\r
 import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
 import eu.etaxonomy.cdm.model.common.LanguageStringBase;\r
@@ -32,9 +32,11 @@ import eu.etaxonomy.cdm.model.common.ReferencedEntityBase;
 import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
 import eu.etaxonomy.cdm.model.common.VersionableEntity;\r
 import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
+import eu.etaxonomy.cdm.model.description.FeatureTree;\r
 import eu.etaxonomy.cdm.model.media.Media;\r
 import eu.etaxonomy.cdm.model.name.HomotypicalGroup;\r
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
+import eu.etaxonomy.cdm.model.name.TypeDesignationBase;\r
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;\r
 import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
@@ -104,14 +106,14 @@ public class JaxbImport extends CdmIoBase<IImportConfigurator> implements ICdmIO
 \r
                boolean ret = true;\r
                Collection<TaxonBase> taxonBases;\r
-               List<? extends Agent> agents;\r
+               List<? extends AgentBase> agents;\r
                List<DefinedTermBase> terms;\r
                List<ReferenceBase> references;\r
                List<TaxonNameBase> taxonomicNames;\r
-               //List<DescriptionBase> descriptions;\r
-               List<ReferencedEntityBase> referencedEntities;\r
+               List<DescriptionBase> descriptions;\r
+               List<TypeDesignationBase> typeDesignations;\r
                List<SpecimenOrObservationBase> occurrences;\r
-               List<VersionableEntity> featureData;\r
+               List<FeatureTree> featureTrees;\r
                List<Media> media;\r
                List<LanguageStringBase> languageData;\r
                List<TermVocabulary<DefinedTermBase>> termVocabularies;\r
@@ -147,19 +149,19 @@ public class JaxbImport extends CdmIoBase<IImportConfigurator> implements ICdmIO
                \r
                // TODO: Have separate data save methods\r
 \r
-               //txStatus = startTransaction();\r
-               try {\r
-                       if (jaxbImpConfig.isDoLanguageData() == true) {\r
-                               if ((languageData = dataSet.getLanguageData()).size() > 0) {\r
-                                       logger.info("Language data: " + languageData.size());\r
-                                       getTermService().saveLanguageDataAll(languageData);\r
-                               }\r
-                       }\r
-               } catch (Exception ex) {\r
-                       logger.error("Error saving language data");\r
-                       ret = false;\r
-               }\r
-               //commitTransaction(txStatus);\r
+//             txStatus = startTransaction();\r
+//             try {\r
+//                     if (jaxbImpConfig.isDoLanguageData() == true) {\r
+//                             if ((languageData = dataSet.getLanguageData()).size() > 0) {\r
+//                                     logger.info("Language data: " + languageData.size());\r
+//                                     getTermService().saveLanguageDataAll(languageData);\r
+//                             }\r
+//                     }\r
+//             } catch (Exception ex) {\r
+//                     logger.error("Error saving language data");\r
+//                     ret = false;\r
+//             }\r
+//             commitTransaction(txStatus);\r
 \r
                \r
                //txStatus = startTransaction();\r
@@ -241,14 +243,14 @@ public class JaxbImport extends CdmIoBase<IImportConfigurator> implements ICdmIO
                //txStatus = startTransaction();\r
                // NomenclaturalStatus, TypeDesignations\r
                try {\r
-                       if (jaxbImpConfig.isDoReferencedEntities() == true) {\r
-                               if ((referencedEntities = dataSet.getReferencedEntities()).size() > 0) {\r
-                                       logger.info("Referenced entities: " + referencedEntities.size());\r
-                                       getNameService().saveReferencedEntitiesAll(referencedEntities);\r
+                       if (jaxbImpConfig.isDoTypeDesignations() == true) {\r
+                               if ((typeDesignations = dataSet.getTypeDesignations()).size() > 0) {\r
+                                       logger.info("Type Designations: " + typeDesignations.size());\r
+                                       getNameService().saveTypeDesignationAll(typeDesignations);\r
                                }\r
                        }\r
                } catch (Exception ex) {\r
-                       logger.error("Error saving referenced entities");\r
+                       logger.error("Error saving type designations");\r
                        ret = false;\r
                }\r
                //commitTransaction(txStatus);\r
@@ -278,9 +280,9 @@ public class JaxbImport extends CdmIoBase<IImportConfigurator> implements ICdmIO
                //txStatus = startTransaction();\r
                try {\r
                        if (jaxbImpConfig.isDoFeatureData() == true) {\r
-                               if ((featureData = dataSet.getFeatureData()).size() > 0) {\r
-                                       logger.info("Feature data: " + featureData.size());\r
-                                       getDescriptionService().saveFeatureDataAll(featureData);\r
+                               if ((featureTrees = dataSet.getFeatureTrees()).size() > 0) {\r
+                                       logger.info("Feature data: " + featureTrees.size());\r
+                                       getDescriptionService().saveFeatureTreeAll(featureTrees);\r
                                }\r
                        }\r
                } catch (Exception ex) {\r
index 572108b8d967e42742cde6d69ad0338571a81e34..84dcffa320707bf22a355977a95e36040caf1d08 100644 (file)
@@ -44,7 +44,7 @@ public class JaxbImportConfigurator extends ImportConfiguratorBase implements II
        private boolean doTerms = true;\r
        private boolean doTermVocabularies = true;\r
        private boolean doHomotypicalGroups = true;\r
-\r
+       private boolean doTypeDesignations = true;\r
 \r
        public int getMaxRows() {\r
                return maxRows;\r
@@ -205,6 +205,14 @@ public class JaxbImportConfigurator extends ImportConfiguratorBase implements II
                        return (String)this.getSource();\r
                }\r
        }\r
+       \r
+       public boolean isDoTypeDesignations() {\r
+               return doTypeDesignations;\r
+       }\r
+\r
+       public void setDoTypeDesignations(boolean doTypeDesignations) {\r
+               this.doTypeDesignations = doTypeDesignations;\r
+       }\r
 }\r
 \r
    \r
diff --git a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/WarningTolerantValidationEventHandler.java b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/WarningTolerantValidationEventHandler.java
new file mode 100644 (file)
index 0000000..bc8b98b
--- /dev/null
@@ -0,0 +1,26 @@
+package eu.etaxonomy.cdm.io.jaxb;\r
+\r
+import javax.xml.bind.ValidationEvent;\r
+import javax.xml.bind.ValidationEventLocator;\r
+import javax.xml.bind.helpers.DefaultValidationEventHandler;\r
+\r
+import org.apache.log4j.Logger;\r
+\r
+public class WarningTolerantValidationEventHandler extends\r
+               DefaultValidationEventHandler {\r
+       private static final Logger logger = Logger.getLogger(WarningTolerantValidationEventHandler.class);\r
+       \r
+       public boolean handleEvent(ValidationEvent validationEvent) {\r
+               // ignore warnings\r
+               if (validationEvent.getSeverity() != ValidationEvent.WARNING) {\r
+                 ValidationEventLocator validationEventLocator = validationEvent.getLocator();\r
+                 logger.warn("Line:Col[" + validationEventLocator.getLineNumber() + ":" + validationEventLocator.getColumnNumber() +"]:" + validationEvent.getMessage());\r
+                 return true;\r
+               } else {\r
+                  ValidationEventLocator validationEventLocator = validationEvent.getLocator();\r
+                  logger.error("Line:Col[" + validationEventLocator.getLineNumber() + ":" + validationEventLocator.getColumnNumber() +"]:" + validationEvent.getMessage());\r
+                  \r
+                  return false;\r
+               }\r
+       }\r
+}\r
diff --git a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/package-info.java b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/package-info.java
new file mode 100644 (file)
index 0000000..5f6c14d
--- /dev/null
@@ -0,0 +1,5 @@
+/* Package Annotations*/\r
+\r
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://etaxonomy.eu/cdm/model/1.0", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)\r
+package eu.etaxonomy.cdm.io.jaxb;\r
+       
\ No newline at end of file
index 9fffe63673e59b58f35f768934b09ce4b996e389..5d6c119b76aa556d6690b22f5bcd47cf56522387 100644 (file)
@@ -27,7 +27,7 @@ import eu.etaxonomy.cdm.io.common.ICdmIO;
 import eu.etaxonomy.cdm.io.common.IExportConfigurator;\r
 import eu.etaxonomy.cdm.io.common.IImportConfigurator;\r
 import eu.etaxonomy.cdm.io.common.MapWrapper;\r
-import eu.etaxonomy.cdm.model.agent.Agent;\r
+import eu.etaxonomy.cdm.model.agent.AgentBase;\r
 import eu.etaxonomy.cdm.model.common.CdmBase;\r
 import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
 import eu.etaxonomy.cdm.model.common.RelationshipBase;\r
@@ -164,7 +164,7 @@ public class SDDCdmExporter extends CdmIoBase<IExportConfigurator> implements IC
                }\r
 \r
                if (sddExpConfig.isDoAuthors() == true) {\r
-                       if (agentRows == 0) { agentRows = getAgentService().count(Agent.class); }\r
+                       if (agentRows == 0) { agentRows = getAgentService().count(AgentBase.class); }\r
                        logger.info("# Agents: " + agentRows);\r
                        //logger.info("    # Team: " + getAgentService().count(Team.class));\r
                        sddDataSet.setAgents(getAgentService().getAllAgents(agentRows, 0));\r
index 2f5500c5e5d7435a669859473fb22d3ae7e6bfcf..06ce4a4a1a142e12cb8e4e7d0ac045a52915293d 100644 (file)
@@ -24,7 +24,7 @@ import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;\r
 \r
 import eu.etaxonomy.cdm.model.agent.Address;\r
-import eu.etaxonomy.cdm.model.agent.Agent;\r
+import eu.etaxonomy.cdm.model.agent.AgentBase;\r
 import eu.etaxonomy.cdm.model.agent.Contact;\r
 import eu.etaxonomy.cdm.model.agent.Institution;\r
 import eu.etaxonomy.cdm.model.agent.InstitutionType;\r
@@ -155,7 +155,7 @@ public class SDDDataSet {
         @XmlElement(name = "Institution", namespace = "http://etaxonomy.eu/cdm/model/agent/1.0", type = Institution.class),\r
         @XmlElement(name = "Person", namespace = "http://etaxonomy.eu/cdm/model/agent/1.0", type = Person.class)\r
     })\r
-    protected List<? extends Agent> agents;\r
+    protected List<? extends AgentBase> agents;\r
     \r
     @XmlElementWrapper(name = "AgentData")\r
     @XmlElements({\r
@@ -305,7 +305,7 @@ public class SDDDataSet {
 \r
        public SDDDataSet () {\r
                \r
-               agents = new ArrayList<Agent>(); \r
+               agents = new ArrayList<AgentBase>(); \r
                agentData = new ArrayList<VersionableEntity>();\r
 //             featureData = new ArrayList<VersionableEntity>();\r
                featureData = new ArrayList<VersionableEntity>();\r
@@ -331,7 +331,7 @@ public class SDDDataSet {
      *     {@link List<Agent> }\r
      *     \r
      */\r
-    public List<? extends Agent> getAgents() {\r
+    public List<? extends AgentBase> getAgents() {\r
         return agents;\r
     }\r
 \r
@@ -343,7 +343,7 @@ public class SDDDataSet {
      *     {@link List<Agent> }\r
      *     \r
      */\r
-    public void setAgents(List<? extends Agent> value) {\r
+    public void setAgents(List<? extends AgentBase> value) {\r
         this.agents = value;\r
     }\r
 \r
index 8895105f31fe7dc4b9d3bd0cc19f1d58711fb0c6..bae2bfeef75a0618482af2caa36efde486d3960e 100644 (file)
@@ -329,9 +329,7 @@ public class SDDDescriptionIO extends SDDIoBase implements ICdmIO<IImportConfigu
                                Language lang = l.next();\r
                                List<String> labDet = langLabDet.get(lang);\r
                                if (labDet.get(0) != null){\r
-                                       MultilanguageText mt = MultilanguageText.NewInstance();\r
-                                       mt.add(LanguageString.NewInstance(labDet.get(0), lang));\r
-                                       m.setTitle(mt);\r
+                                       m.addTitle(LanguageString.NewInstance(labDet.get(0), lang));\r
                                }\r
                                if (labDet.size()>1) {\r
                                        m.addDescription(labDet.get(1), lang);\r
index 38727f9a0a8af5af35251b7297915f647cb6bee9..b88ba8c30602a611602d65a1b3cd8adf57d26882 100644 (file)
@@ -535,7 +535,7 @@ public class SDDDocumentBuilder {
                        for (int i = 0; i < f; i++) {\r
                                if (cdmSource.getTerms().get(i) instanceof Feature) {\r
                                        Feature character = (Feature) cdmSource.getTerms().get(i);\r
-                                       if (character.isSupportsQuantitativeData()) {\r
+                                       if (character.supportsQuantitativeData()) {\r
                                                ElementImpl elQuantitativeCharacter = new ElementImpl(document, QUANTITATIVE_CHARACTER);\r
                                                charactersCount = buildReference(character, characters, ID, elQuantitativeCharacter, "c", charactersCount);\r
                                                // TODO if the character also supports text, add to the label a short tag to distinguish\r
@@ -544,7 +544,7 @@ public class SDDDocumentBuilder {
                                                // TODO <MeasurementUnit> and <Default>\r
                                                elCharacters.appendChild(elQuantitativeCharacter);\r
                                        }\r
-                                       if (character.isSupportsTextData()) {\r
+                                       if (character.supportsTextData()) {\r
                                                Set<TermVocabulary<State>> enumerations = character.getSupportedCategoricalEnumerations();\r
                                                if (enumerations != null) {\r
                                                        if (enumerations.size()>0) {\r
index 2626ea6397fc41b9eb0c982273308a0dc80be9fc..c3901f3537168b5bba1e4910561410c8670acd74 100644 (file)
@@ -16,7 +16,7 @@ import java.util.ListIterator;
 import org.apache.log4j.Logger;
 
 import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
-import eu.etaxonomy.cdm.model.agent.Agent;
+import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.agent.Person;
 import eu.etaxonomy.cdm.model.agent.Team;
 import eu.etaxonomy.cdm.model.common.Language;
@@ -113,7 +113,7 @@ public class UnitsGatheringEvent {
         */
        public void setCollector(ICdmApplicationConfiguration config, ArrayList<String> collectorNames,boolean getExisting){
                //create collector
-               Agent collector;
+               AgentBase collector;
                ListIterator<String> collectors = collectorNames.listIterator();
                //add the collectors
                String collName;
@@ -121,7 +121,7 @@ public class UnitsGatheringEvent {
                        collName = collectors.next();
                        /*check if the collector does already exist*/
                        try{
-                               List<Agent> col = config.getAgentService().findAgentsByTitle(collName);
+                               List<AgentBase> col = config.getAgentService().findAgentsByTitle(collName);
                                collector=col.get(0);
                        }catch (Exception e) {
                                collector = Person.NewInstance();
index 274b6495cea64310923480e6d5708abda6acaf9f..505850e18a704cb0679b05ba4684201fb469a064 100644 (file)
@@ -11,7 +11,7 @@ package eu.etaxonomy.cdm.io.taxonx;
 \r
 import org.apache.log4j.Logger;\r
 \r
-import eu.etaxonomy.cdm.model.agent.Agent;\r
+import eu.etaxonomy.cdm.model.agent.AgentBase;\r
 import eu.etaxonomy.cdm.model.common.Language;\r
 import eu.etaxonomy.cdm.model.common.LanguageString;\r
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
@@ -108,11 +108,11 @@ public class SimpleSpecimen {
        /**\r
         * @return the collection\r
         */\r
-       public Agent getCollector() {\r
+       public AgentBase getCollector() {\r
                return gatheringEvent.getCollector();\r
        }\r
        \r
-       public void setCollector(Agent collector){\r
+       public void setCollector(AgentBase collector){\r
                gatheringEvent.setCollector(collector);\r
        }\r
 \r
index 869b12f4305e32340bd1ace440f15540739a433d..f171e24be74a524a3753eaaf2850313fdb608d4e 100644 (file)
@@ -28,7 +28,7 @@ import eu.etaxonomy.cdm.io.common.CdmIoBase;
 import eu.etaxonomy.cdm.io.common.ICdmIO;\r
 import eu.etaxonomy.cdm.io.common.IImportConfigurator;\r
 import eu.etaxonomy.cdm.io.common.MapWrapper;\r
-import eu.etaxonomy.cdm.model.agent.Agent;\r
+import eu.etaxonomy.cdm.model.agent.AgentBase;\r
 import eu.etaxonomy.cdm.model.agent.Person;\r
 import eu.etaxonomy.cdm.model.common.CdmBase;\r
 import eu.etaxonomy.cdm.model.name.NonViralName;\r
@@ -218,7 +218,7 @@ public class TaxonXNomenclatureImport extends CdmIoBase<IImportConfigurator> imp
                        \r
                        String strCollector = type[1].trim();\r
                        if (! "".equals(strCollector)){\r
-                               Agent collector = Person.NewTitledInstance(strCollector);\r
+                               AgentBase collector = Person.NewTitledInstance(strCollector);\r
 //                             simpleSpecimen.setCollector(collector);\r
                        }\r
                        \r
@@ -318,7 +318,7 @@ public class TaxonXNomenclatureImport extends CdmIoBase<IImportConfigurator> imp
                if (type.length != 2 ){\r
                        logger.warn("<collecion_even><type> is of unsupported format: " + elType.getTextNormalize());\r
                }else{\r
-                       Agent collector = Person.NewTitledInstance(type[0]);\r
+                       AgentBase collector = Person.NewTitledInstance(type[0]);\r
                        simpleSpecimen.setCollector(collector);\r
                        \r
                        String collectorNumber = type[1];\r
diff --git a/cdmlib-io/src/main/resources/CatalogManager.properties b/cdmlib-io/src/main/resources/CatalogManager.properties
new file mode 100644 (file)
index 0000000..14d2f10
--- /dev/null
@@ -0,0 +1,4 @@
+# Catalogs are relative to this properties file\r
+relative-catalogs=true\r
+# Catalog list\r
+catalogs=/catalog.xml
\ No newline at end of file
diff --git a/cdmlib-io/src/main/resources/catalog.xml b/cdmlib-io/src/main/resources/catalog.xml
new file mode 100644 (file)
index 0000000..85f7432
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<catalog   xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">\r
+    <system systemId="http://www.w3.org/2005/08/xml.xsd" uri="schema/xml/xml.xsd"/>\r
+    <system systemId="http://www.w3.org/2001/XMLSchema" uri="schema/xml/XMLSchema.xsd"/>\r
+    <system systemId="http://etaxonomy.eu/cdm/model/1.0" uri="schema/cdm/cdm.xsd"/>\r
+    <system systemId="http://etaxonomy.eu/cdm/model/common/1.0" uri="schema/cdm/common.xsd"/>\r
+    <system systemId="http://etaxonomy.eu/cdm/model/agent/1.0" uri="schema/cdm/agent.xsd"/>\r
+    <system systemId="http://etaxonomy.eu/cdm/model/description/1.0" uri="schema/cdm/description.xsd"/>\r
+    <system systemId="http://etaxonomy.eu/cdm/model/location/1.0" uri="schema/cdm/location.xsd"/>\r
+    <system systemId="http://etaxonomy.eu/cdm/model/name/1.0" uri="schema/cdm/name.xsd"/>\r
+    <system systemId="http://etaxonomy.eu/cdm/model/media/1.0" uri="schema/cdm/media.xsd"/>\r
+    <system systemId="http://etaxonomy.eu/cdm/model/molecular/1.0" uri="schema/cdm/molecular.xsd"/>\r
+    <system systemId="http://etaxonomy.eu/cdm/model/reference/1.0" uri="schema/cdm/reference.xsd"/>\r
+    <system systemId="http://etaxonomy.eu/cdm/model/occurrence/1.0" uri="schema/cdm/occurrence.xsd"/>\r
+    <system systemId="http://etaxonomy.eu/cdm/model/taxon/1.0" uri="schema/cdm/taxon.xsd"/>\r
+</catalog>
\ No newline at end of file
diff --git a/cdmlib-io/src/main/resources/schema/cdm/agent.xsd b/cdmlib-io/src/main/resources/schema/cdm/agent.xsd
new file mode 100644 (file)
index 0000000..b907747
--- /dev/null
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified"
+       attributeFormDefault="unqualified" version="1.0"
+       targetNamespace="http://etaxonomy.eu/cdm/model/agent/1.0" xmlns:agent="http://etaxonomy.eu/cdm/model/agent/1.0"
+       xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0" xmlns:location="http://etaxonomy.eu/cdm/model/location/1.0"
+       xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:media="http://etaxonomy.eu/cdm/model/media/1.0"
+       xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
+       jxb:extensionBindingPrefixes="xjc" jxb:version="2.1"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://www.w3.org/XML/1998/namespace
+    http://www.w3.org/2005/08/xml.xsd
+    http://www.w3.org/2001/XMLSchema
+    http://www.w3.org/2001/XMLSchema.xsd">
+       <xs:import namespace="http://etaxonomy.eu/cdm/model/common/1.0"
+               schemaLocation="common.xsd" />
+       <xs:import namespace="http://etaxonomy.eu/cdm/model/media/1.0"
+               schemaLocation="media.xsd" />
+       <xs:import namespace="http://etaxonomy.eu/cdm/model/location/1.0"
+               schemaLocation="location.xsd" />
+       <xs:annotation>
+               <xs:appinfo>
+                       <jxb:schemaBindings>
+                               <jxb:package name="eu.etaxonomy.cdm.model.agent" />
+                       </jxb:schemaBindings>
+               </xs:appinfo>
+       </xs:annotation>
+       <xs:element name="Address">
+               <xs:complexType>
+                       <xs:complexContent>
+                               <xs:extension base="common:VersionableEntity">
+                                       <xs:sequence>
+                                               <xs:element name="POBox" type="xs:string" minOccurs="0" />
+                                               <xs:element name="Street" type="xs:string" minOccurs="0" />
+                                               <xs:element name="Postcode" type="xs:string" minOccurs="0" />
+                                               <xs:element name="Locality" type="xs:string" />
+                                               <xs:element name="Region" type="xs:string" minOccurs="0" />
+                                               <xs:element name="Country" type="xs:IDREF" minOccurs="0" />
+                                               <xs:element name="Location" type="location:Point"
+                                                       minOccurs="0" />
+                                       </xs:sequence>
+                               </xs:extension>
+                       </xs:complexContent>
+               </xs:complexType>
+       </xs:element>
+
+       <xs:element name="Contact" type="agent:Contact" />
+
+       <xs:element name="Institution" type="agent:Institution" />
+
+       <xs:element name="InstitutionType" type="agent:InstitutionType" />
+
+       <xs:element name="InstitutionalMembership" type="agent:InstitutionalMembership" />
+
+       <xs:element name="Person">
+               <xs:complexType>
+                       <xs:complexContent>
+                               <xs:extension base="agent:TeamOrPersonBase">
+                                       <xs:sequence>
+                                               <xs:element name="Prefix" type="xs:string" minOccurs="0" />
+                                               <xs:element name="FirstName" type="xs:string"
+                                                       minOccurs="0" />
+                                               <xs:element name="LastName" type="xs:string" minOccurs="0" />
+                                               <xs:element name="Suffix" type="xs:string" minOccurs="0" />
+                                               <xs:element name="Lifespan" type="common:TimePeriod"
+                                                       minOccurs="0" />
+                                               <xs:element name="InstitutionalMemberships" minOccurs="0">
+                                                       <xs:complexType>
+                                                               <xs:sequence>
+                                                                       <xs:element ref="agent:InstitutionalMembership"
+                                                                               minOccurs="0" maxOccurs="unbounded" />
+                                                               </xs:sequence>
+                                                       </xs:complexType>
+                                               </xs:element>
+                                               <xs:element name="Keywords" minOccurs="0">
+                                                       <xs:complexType>
+                                                               <xs:sequence>
+                                                                       <xs:element name="Keyword" type="xs:IDREF"
+                                                                               minOccurs="0" maxOccurs="unbounded" />
+                                                               </xs:sequence>
+                                                       </xs:complexType>
+                                               </xs:element>
+                                       </xs:sequence>
+                               </xs:extension>
+                       </xs:complexContent>
+               </xs:complexType>
+       </xs:element>
+
+       <xs:element name="Team" type="agent:Team" />
+
+       <xs:complexType name="TeamOrPersonBase" abstract="true">
+               <xs:complexContent>
+                       <xs:extension base="agent:AgentBase">
+                               <xs:sequence>
+                                       <xs:element name="NomenclaturalTitle" type="xs:string"
+                                               minOccurs="0" />
+                               </xs:sequence>
+                       </xs:extension>
+               </xs:complexContent>
+       </xs:complexType>
+
+       <xs:complexType name="AgentBase" abstract="true">
+               <xs:complexContent>
+                       <xs:extension base="media:IdentifiableMediaEntity">
+                               <xs:sequence>
+                                       <xs:element name="Contact" type="agent:Contact"
+                                               minOccurs="0" />
+                               </xs:sequence>
+                       </xs:extension>
+               </xs:complexContent>
+       </xs:complexType>
+
+       <xs:complexType name="InstitutionalMembership">
+               <xs:complexContent>
+                       <xs:extension base="common:VersionableEntity">
+                               <xs:sequence>
+                                       <xs:element name="Period" type="common:TimePeriod"
+                                               minOccurs="0" />
+                                       <xs:element name="Department" type="xs:string"
+                                               minOccurs="0" />
+                                       <xs:element name="Role" type="xs:string" minOccurs="0" />
+                                       <xs:element name="Institution" type="xs:IDREF" />
+                                       <xs:element name="Person" type="xs:IDREF" />
+                               </xs:sequence>
+                       </xs:extension>
+               </xs:complexContent>
+       </xs:complexType>
+
+       <xs:complexType name="Institution">
+               <xs:complexContent>
+                       <xs:extension base="agent:AgentBase">
+                               <xs:sequence>
+                                       <xs:element name="Code" type="xs:string" minOccurs="0" />
+                                       <xs:element name="Name" type="xs:string" minOccurs="0" />
+                                       <xs:element name="Types" minOccurs="0">
+                                               <xs:complexType>
+                                                       <xs:sequence>
+                                                               <xs:element name="Type" type="xs:IDREF" minOccurs="0"
+                                                                       maxOccurs="unbounded" />
+                                                       </xs:sequence>
+                                               </xs:complexType>
+                                       </xs:element>
+                                       <xs:element name="IsPartOf" type="xs:IDREF" minOccurs="0" />
+                               </xs:sequence>
+                       </xs:extension>
+               </xs:complexContent>
+       </xs:complexType>
+
+       <xs:complexType name="InstitutionType">
+               <xs:complexContent>
+                       <xs:extension base="common:DefinedTermBase">
+                               <xs:sequence />
+                       </xs:extension>
+               </xs:complexContent>
+       </xs:complexType>
+
+       <xs:complexType name="Contact">
+               <xs:sequence>
+                       <xs:element name="EmailAddresses" minOccurs="0">
+                               <xs:complexType>
+                                       <xs:sequence>
+                                               <xs:element name="EmailAddress" minOccurs="0"
+                                                       maxOccurs="unbounded">
+                                                       <xs:simpleType>
+                                                               <xs:restriction base="xs:string">
+                                                                       <xs:pattern
+                                                                               value="[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+(\.[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+)*@[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+(\.[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+)*" />
+                                                               </xs:restriction>
+                                                       </xs:simpleType>
+                                               </xs:element>
+                                       </xs:sequence>
+                               </xs:complexType>
+                       </xs:element>
+                       <xs:element name="URLs" minOccurs="0">
+                               <xs:complexType>
+                                       <xs:sequence>
+                                               <xs:element name="URL" type="xs:anyURI" minOccurs="0"
+                                                       maxOccurs="unbounded" />
+                                       </xs:sequence>
+                               </xs:complexType>
+                       </xs:element>
+                       <xs:element name="PhoneNumbers" minOccurs="0">
+                               <xs:complexType>
+                                       <xs:sequence>
+                                               <xs:element name="PhoneNumber" type="xs:string"
+                                                       minOccurs="0" maxOccurs="unbounded" />
+                                       </xs:sequence>
+                               </xs:complexType>
+                       </xs:element>
+                       <xs:element name="FaxNumbers" minOccurs="0">
+                               <xs:complexType>
+                                       <xs:sequence>
+                                               <xs:element name="FaxNumber" type="xs:string"
+                                                       minOccurs="0" maxOccurs="unbounded" />
+                                       </xs:sequence>
+                               </xs:complexType>
+                       </xs:element>
+                       <xs:element name="Addresses" minOccurs="0">
+                               <xs:complexType>
+                                       <xs:sequence>
+                                               <xs:element ref="agent:Address" minOccurs="0"
+                                                       maxOccurs="unbounded" />
+                                       </xs:sequence>
+                               </xs:complexType>
+                       </xs:element>
+               </xs:sequence>
+       </xs:complexType>
+
+       <xs:complexType name="Team">
+               <xs:complexContent>
+                       <xs:extension base="agent:TeamOrPersonBase">
+                               <xs:sequence>
+                                       <xs:element name="ProtectedNomenclaturalTitleCache"
+                                               type="xs:boolean" />
+                                       <xs:element name="TeamMembers" minOccurs="0">
+                                               <xs:complexType>
+                                                       <xs:sequence>
+                                                               <xs:element name="TeamMember" type="xs:IDREF"
+                                                                       minOccurs="0" maxOccurs="unbounded" />
+                                                       </xs:sequence>
+                                               </xs:complexType>
+                                       </xs:element>
+                               </xs:sequence>
+                       </xs:extension>
+               </xs:complexContent>
+       </xs:complexType>
+</xs:schema>
+
diff --git a/cdmlib-io/src/main/resources/schema/cdm/cdm.xsd b/cdmlib-io/src/main/resources/schema/cdm/cdm.xsd
new file mode 100644 (file)
index 0000000..0b9f56c
--- /dev/null
@@ -0,0 +1,238 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" 
+  targetNamespace="http://etaxonomy.eu/cdm/model/1.0"
+  xmlns="http://etaxonomy.eu/cdm/model/1.0"
+  xmlns:description="http://etaxonomy.eu/cdm/model/description/1.0" 
+  xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0"
+  xmlns:reference="http://etaxonomy.eu/cdm/model/reference/1.0"
+  xmlns:location="http://etaxonomy.eu/cdm/model/location/1.0"
+  xmlns:occurrence="http://etaxonomy.eu/cdm/model/occurrence/1.0"
+  xmlns:name="http://etaxonomy.eu/cdm/model/name/1.0"
+  xmlns:agent="http://etaxonomy.eu/cdm/model/agent/1.0"
+  xmlns:media="http://etaxonomy.eu/cdm/model/media/1.0"
+  xmlns:taxon="http://etaxonomy.eu/cdm/model/taxon/1.0"
+  xmlns:molecular="http://etaxonomy.eu/cdm/model/molecular/1.0"
+  xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:xml="http://www.w3.org/XML/1998/namespace"
+  xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
+  jxb:extensionBindingPrefixes="xjc"
+  jxb:version="2.1"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+  xsi:schemaLocation="http://www.w3.org/XML/1998/namespace
+    http://www.w3.org/2005/08/xml.xsd
+    http://www.w3.org/2001/XMLSchema
+    http://www.w3.org/2001/XMLSchema.xsd">
+    <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2005/08/xml.xsd"/> 
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/common/1.0" schemaLocation="common.xsd"/> 
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/description/1.0" schemaLocation="description.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/reference/1.0" schemaLocation="reference.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/location/1.0" schemaLocation="location.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/occurrence/1.0" schemaLocation="occurrence.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/name/1.0" schemaLocation="name.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/agent/1.0" schemaLocation="agent.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/media/1.0" schemaLocation="media.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/taxon/1.0" schemaLocation="taxon.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/molecular/1.0" schemaLocation="molecular.xsd"/>
+  <xs:annotation>
+        <xs:appinfo>
+            <jxb:schemaBindings>
+                <jxb:package name="eu.etaxonomy.cdm.io.jaxb"/>
+            </jxb:schemaBindings>
+        </xs:appinfo>
+  </xs:annotation>
+  <xs:element name="DataSet">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="Terms" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:choice minOccurs="0" maxOccurs="unbounded">
+                <xs:element ref="description:AbsenceTerm"/>
+                <xs:element ref="common:AnnotationType"/>
+                <xs:element ref="reference:BibtexEntryType"/>
+                <xs:element ref="location:Continent"/>
+                <xs:element ref="occurrence:DerivationEventType"/>
+                <xs:element ref="occurrence:DeterminationModifier"/>
+                <xs:element ref="common:ExtensionType"/>
+                <xs:element ref="description:Feature"/>
+                <xs:element ref="name:HybridRelationshipType"/>
+                <xs:element ref="agent:InstitutionType"/>
+                <xs:element ref="common:Keyword"/>
+                <xs:element ref="common:Language"/>
+                <xs:element ref="common:MarkerType"/>
+                <xs:element ref="description:MeasurementUnit"/>
+                <xs:element ref="description:Modifier"/>
+                <xs:element ref="location:NamedArea"/>
+                <xs:element ref="location:NamedAreaLevel"/>
+                <xs:element ref="location:NamedAreaType"/>
+                <xs:element ref="name:NameRelationshipType"/>
+                <xs:element ref="name:NomenclaturalCode"/>
+                <xs:element ref="name:NomenclaturalStatusType"/>
+                <xs:element ref="description:PresenceTerm"/>
+                <xs:element ref="occurrence:PreservationMethod"/>
+                <xs:element ref="name:Rank"/>
+                <xs:element ref="location:ReferenceSystem"/>
+                <xs:element ref="media:RightsTerm"/>
+                <xs:element ref="description:Scope"/>
+                <xs:element ref="description:Sex"/>
+                <xs:element ref="description:Stage"/>
+                <xs:element ref="description:State"/>
+                <xs:element ref="description:StatisticalMeasure"/>
+                <xs:element ref="taxon:SynonymRelationshipType"/>
+                <xs:element ref="taxon:TaxonRelationshipType"/>
+                <xs:element ref="description:TextFormat"/>
+                <xs:element ref="name:TypeDesignationStatus"/>
+                <xs:element ref="location:WaterbodyOrCountry"/>
+              </xs:choice>
+            </xs:sequence>
+            <xs:attribute ref="xml:base"/>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="TermVocabularies" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:choice minOccurs="0" maxOccurs="unbounded">
+                <xs:element ref="common:TermVocabulary"/>
+                <xs:element ref="common:OrderedTermVocabulary"/>
+              </xs:choice>
+            </xs:sequence>
+            <xs:attribute ref="xml:base"/>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="Agents" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:choice minOccurs="0" maxOccurs="unbounded">
+                <xs:element ref="agent:Team"/>
+                <xs:element ref="agent:Institution"/>
+                <xs:element ref="agent:Person"/>
+              </xs:choice>
+            </xs:sequence>
+            <xs:attribute ref="xml:base"/>  
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="Collections" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element ref="occurrence:Collection" minOccurs="0" maxOccurs="unbounded"/>
+            </xs:sequence>
+            <xs:attribute ref="xml:base"/>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="Occurrences" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:choice minOccurs="0" maxOccurs="unbounded">
+                <xs:element ref="occurrence:DnaSample"/>
+                <xs:element ref="occurrence:FieldObservation"/>
+                <xs:element ref="occurrence:Fossil"/>
+                <xs:element ref="occurrence:LivingBeing"/>
+                <xs:element ref="occurrence:Observation"/>
+                <xs:element ref="occurrence:Specimen"/>
+              </xs:choice>
+            </xs:sequence>
+            <xs:attribute ref="xml:base"/>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="EventBases" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:choice minOccurs="0" maxOccurs="unbounded">
+                <xs:element ref="occurrence:GatheringEvent"/>
+                <xs:element ref="occurrence:DerivationEvent"/>
+              </xs:choice>
+            </xs:sequence>
+            <xs:attribute ref="xml:base"/>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="References" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:choice minOccurs="0" maxOccurs="unbounded">
+                <xs:element ref="reference:Article"/>
+                <xs:element ref="reference:Book"/>
+                <xs:element ref="reference:BookSection"/>
+                <xs:element ref="reference:CdDvd"/>
+                <xs:element ref="reference:Database"/>
+                <xs:element ref="reference:Generic"/>
+                <xs:element ref="reference:InProceedings"/>
+                <xs:element ref="reference:Journal"/>
+                <xs:element ref="reference:Map"/>
+                <xs:element ref="reference:Patent"/>
+                <xs:element ref="reference:PersonalCommunication"/>
+                <xs:element ref="reference:PrintSeries"/>
+                <xs:element ref="reference:Proceedings"/>
+                <xs:element ref="reference:Report"/>
+                <xs:element ref="reference:Thesis"/>
+                <xs:element ref="reference:WebPage"/>
+              </xs:choice>
+            </xs:sequence>
+            <xs:attribute ref="xml:base"/>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="TypeDesignations" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:choice minOccurs="0" maxOccurs="unbounded">
+                <xs:element ref="name:NameTypeDesignation"/>
+                <xs:element ref="name:SpecimenTypeDesignation"/>
+              </xs:choice>
+            </xs:sequence>
+            <xs:attribute ref="xml:base"/>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="FeatureTrees" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element ref="description:FeatureTree" minOccurs="0" maxOccurs="unbounded"/>
+            </xs:sequence>
+            <xs:attribute ref="xml:base"/>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="TaxonomicNames" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:choice minOccurs="0" maxOccurs="unbounded">
+                <xs:element ref="name:BacterialName"/>
+                <xs:element ref="name:BotanicalName"/>
+                <xs:element ref="name:CultivarPlantName"/>
+                <xs:element ref="name:ViralName"/>
+                <xs:element ref="name:ZoologicalName"/>
+              </xs:choice>
+            </xs:sequence>
+            <xs:attribute ref="xml:base"/>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="HomotypicalGroups" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element ref="name:HomotypicalGroup" minOccurs="0" maxOccurs="unbounded"/>
+            </xs:sequence>
+            <xs:attribute ref="xml:base"/>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="TaxonBases" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:choice minOccurs="0" maxOccurs="unbounded">
+                <xs:element ref="taxon:Taxon" minOccurs="0" maxOccurs="unbounded"/>
+                <xs:element ref="taxon:Synonym" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:choice>
+            </xs:sequence>
+            <xs:attribute ref="xml:base"/>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="Media" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element ref="media:Media" minOccurs="0" maxOccurs="unbounded"/>
+            </xs:sequence>
+            <xs:attribute ref="xml:base"/>
+          </xs:complexType>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
+
diff --git a/cdmlib-io/src/main/resources/schema/cdm/common.xsd b/cdmlib-io/src/main/resources/schema/cdm/common.xsd
new file mode 100644 (file)
index 0000000..665eba9
--- /dev/null
@@ -0,0 +1,461 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" 
+  targetNamespace="http://etaxonomy.eu/cdm/model/common/1.0" 
+  xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0" 
+  xmlns:media="http://etaxonomy.eu/cdm/model/media/1.0" 
+  xmlns:reference="http://etaxonomy.eu/cdm/model/reference/1.0" 
+  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
+  xmlns:agent="http://etaxonomy.eu/cdm/model/agent/1.0"
+  xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
+  xmlns:cdm="http://etaxonomy.eu/cdm/model/1.0"
+  xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
+  jxb:extensionBindingPrefixes="xjc"
+  jxb:version="2.1"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.w3.org/XML/1998/namespace
+    http://www.w3.org/2005/08/xml.xsd
+    http://www.w3.org/2001/XMLSchema
+    http://www.w3.org/2001/XMLSchema.xsd">
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/media/1.0" schemaLocation="media.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/agent/1.0" schemaLocation="agent.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/1.0" schemaLocation="cdm.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/reference/1.0" schemaLocation="reference.xsd"/>
+  <xs:annotation>
+        <xs:appinfo>
+            <jxb:schemaBindings>
+                <jxb:package name="eu.etaxonomy.cdm.model.common"/>
+            </jxb:schemaBindings>
+        </xs:appinfo>
+    </xs:annotation>
+  <xs:element name="AnnotationType" type="common:AnnotationType"/>
+
+  <xs:element name="DefinedTermBase" type="common:DefinedTermBase"/>
+
+  <xs:element name="EventBase" type="common:EventBase"/>
+
+  <xs:element name="ExtensionType" type="common:ExtensionType"/>
+
+  <xs:element name="Keyword" type="common:Keyword"/>
+
+  <xs:element name="Language" type="common:Language"/>
+
+  <xs:element name="LanguageString" type="common:LanguageString"/>
+
+  <xs:element name="MarkerType" type="common:MarkerType"/>
+
+  <xs:element name="OrderedTermBase" type="common:OrderedTermBase"/>
+
+  <xs:element name="OriginalSource" type="common:OriginalSource"/>
+
+  <xs:element name="ReferencedEntityBase" type="common:ReferencedEntityBase"/>
+
+  <xs:element name="RelationshipBase" type="common:RelationshipBase"/>
+
+  <xs:element name="RelationshipTermBase" type="common:RelationshipTermBase"/>
+
+  <xs:element name="Representation" type="common:Representation"/>
+
+  <xs:element name="TermBase" type="common:TermBase"/>
+
+  <xs:element name="TermVocabulary" type="common:TermVocabulary"/>
+  
+  <xs:element name="OrderedTermVocabulary" type="common:OrderedTermVocabulary"/>
+
+  <xs:element name="TimePeriod" type="common:TimePeriod"/>
+
+  <xs:complexType name="OrderedTermBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="common:DefinedTermBase">
+        <xs:sequence>
+          <xs:element name="OrderIndex" type="xs:int"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="DefinedTermBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="common:TermBase">
+        <xs:sequence>
+          <xs:element name="KindOf" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="Generalizations" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="GeneralizationOf" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="PartOf" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="Includes" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Include" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="Media" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Medium" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="TermVocabulary" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="TermBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="common:VersionableEntity">
+        <xs:sequence>
+          <xs:element name="URI" type="xs:anyURI" minOccurs="0"/>
+          <xs:element name="Representations" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element ref="common:Representation" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="VersionableEntity" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="common:CdmBase">
+        <xs:sequence>
+          <xs:element name="UpdatedBy" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="CdmBase" abstract="true">
+    <xs:sequence>
+      <xs:element name="Created" type="xs:string" minOccurs="0"/>
+      <xs:element name="CreatedBy" type="xs:IDREF" minOccurs="0"/>
+    </xs:sequence>
+    <xs:attribute name="id" type="xs:int" use="required"/>
+    <xs:attribute name="uuid" type="common:UUID" use="required"/>
+  </xs:complexType>
+
+  <xs:complexType name="AnnotatableEntity" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="common:VersionableEntity">
+        <xs:sequence>
+          <xs:element name="Markers" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Marker" type="common:Marker" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="Annotations" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Annotation" type="common:Annotation" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="LanguageString">
+    <xs:complexContent>
+      <xs:extension base="common:LanguageStringBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="LanguageStringBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="common:AnnotatableEntity">
+        <xs:sequence>
+          <xs:element name="Text" type="common:FormattedText" minOccurs="0"/>
+          <xs:element name="Language" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+   <xs:complexType name="FormattedText" mixed="true">
+        <xs:choice minOccurs="0">
+            <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" namespace="##any">
+                <xs:annotation>
+                    <xs:appinfo>
+                        <xjc:dom/>
+                    </xs:appinfo>
+                </xs:annotation>
+            </xs:any>
+        </xs:choice>
+    </xs:complexType>
+  <xs:complexType name="Language">
+    <xs:complexContent>
+      <xs:extension base="common:DefinedTermBase">
+        <xs:sequence/>
+        <xs:attribute name="iso639_1">
+          <xs:simpleType>
+            <xs:restriction base="xs:string">
+              <xs:length value="2"/>
+            </xs:restriction>
+          </xs:simpleType> 
+        </xs:attribute>
+        <xs:attribute name="iso639_2">
+          <xs:simpleType>
+            <xs:restriction base="xs:string">
+              <xs:length value="3"/>
+            </xs:restriction>
+          </xs:simpleType> 
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Marker">
+    <xs:complexContent>
+      <xs:extension base="common:VersionableEntity">
+        <xs:sequence>
+          <xs:element name="Flag" type="xs:boolean"/>
+          <xs:element name="MarkerType" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="MarkedObject" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="MarkerType">
+    <xs:complexContent>
+      <xs:extension base="common:DefinedTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="IdentifiableEntity" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="common:AnnotatableEntity">
+        <xs:sequence>
+          <xs:element name="LSID" type="common:LSID" minOccurs="0"/>
+          <xs:element name="TitleCache" type="common:FormattedText"/>
+          <xs:element name="ProtectedTitleCache" type="xs:boolean"/>
+          <xs:element name="Rights" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Rights" type="media:Rights" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="Extensions" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Extension" type="common:Extension" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="Sources" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element ref="common:OriginalSource" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="TimePeriod">
+    <xs:sequence>
+      <xs:element name="Start" type="common:Partial" minOccurs="0"/>
+      <xs:element name="End" type="common:Partial" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="Extension">
+    <xs:complexContent>
+      <xs:extension base="common:VersionableEntity">
+        <xs:sequence>
+          <xs:element name="Value" type="xs:string" minOccurs="0"/>
+          <xs:element name="ExtensionType" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="ExtendedObject" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="ExtensionType">
+    <xs:complexContent>
+      <xs:extension base="common:DefinedTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="OriginalSource">
+    <xs:complexContent>
+      <xs:extension base="common:ReferencedEntityBase">
+        <xs:sequence>
+          <xs:element name="IdInSource" type="xs:string" minOccurs="0"/>
+          <xs:element name="IdNamespace" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="ReferencedEntityBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="common:AnnotatableEntity">
+        <xs:sequence>
+          <xs:element name="CitationMicroReference" type="xs:string" minOccurs="0"/>
+          <xs:element name="OriginalNameString" type="xs:string" minOccurs="0"/>
+          <xs:element name="Citation" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Keyword">
+    <xs:complexContent>
+      <xs:extension base="common:OrderedTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Annotation">
+    <xs:complexContent>
+      <xs:extension base="common:LanguageStringBase">
+        <xs:sequence>
+          <xs:element name="Commentator" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="AnnotatedObject" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="AnnotationType" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="LinkbackURL" type="xs:anyURI" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="AnnotationType">
+    <xs:complexContent>
+      <xs:extension base="common:DefinedTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="TermVocabulary">
+    <xs:complexContent>
+      <xs:extension base="common:TermBase">
+        <xs:sequence>
+          <xs:element name="TermSourceURI" type="xs:string" minOccurs="0"/>
+          <xs:element name="Terms" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Term" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  
+   <xs:complexType name="OrderedTermVocabulary">
+    <xs:complexContent>
+      <xs:extension base="common:TermVocabulary">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Representation">
+    <xs:complexContent>
+      <xs:extension base="common:LanguageStringBase">
+        <xs:sequence>
+          <xs:element name="Label" type="xs:string" minOccurs="0"/>
+          <xs:element name="AbbreviatedLabel" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="RelationshipTermBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="common:OrderedTermBase">
+        <xs:sequence>
+          <xs:element name="Symmetric" type="xs:boolean"/>
+          <xs:element name="Transitive" type="xs:boolean"/>
+          <xs:element name="InverseRepresentations" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="InverseRepresentation" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="RelationshipBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="common:ReferencedEntityBase">
+        <xs:attribute name="isDoubtful" type="xs:boolean"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="EventBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="common:AnnotatableEntity">
+        <xs:sequence>
+          <xs:element ref="common:TimePeriod" minOccurs="0"/>
+          <xs:element name="Actor" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="Description" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MultilanguageText">
+    <xs:sequence>
+      <xs:element ref="common:LanguageString" minOccurs="1" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:simpleType name="UUID">
+        <xs:annotation>
+            <xs:appinfo>
+                <xjc:javaType name="java.util.UUID" adapter="eu.etaxonomy.cdm.jaxb.UUIDAdapter"/>
+            </xs:appinfo>
+        </xs:annotation>
+        <xs:restriction base="xs:ID">
+            <xs:pattern value="urn-uuid-([0-9]|[a-f]|[A-F]){8}(-([0-9]|[a-f]|[A-F]){4})(-([0-9]|[a-f]|[A-F]){4})(-([0-9]|[a-f]|[A-F]){4})(-([0-9]|[a-f]|[A-F]){12})"/>
+        </xs:restriction>
+    </xs:simpleType>
+    <xs:simpleType name="LSID" >
+        <xs:annotation>
+            <xs:appinfo>
+                <xjc:javaType name="eu.etaxonomy.cdm.model.common.LSID" adapter="eu.etaxonomy.cdm.jaxb.LSIDAdapter"/>
+            </xs:appinfo>
+        </xs:annotation>
+        <xs:restriction base="xs:anyURI">
+            <xs:pattern value="(urn|URN):(LSID|lsid):[a-zA-Z0-9\(\)\+,\-\.=@;$_!\*']+:[a-zA-Z0-9\(\)\+,\-\.=@;$_!\*'/]+:[a-zA-Z0-9\(\)\+,\-\.=@;$_!\*']+(:[a-zA-Z0-9\(\)\+,\-\.=@;$_!\*']+)*"></xs:pattern>
+        </xs:restriction>
+    </xs:simpleType>
+    <xs:simpleType name="Partial">
+        <xs:annotation>
+            <xs:appinfo>
+                <xjc:javaType name="org.joda.time.Partial" adapter="eu.etaxonomy.cdm.jaxb.PartialAdapter"/>
+            </xs:appinfo>
+        </xs:annotation>
+        <xs:restriction base="xs:string">
+            <xs:pattern value="[0-9]{4}(-[0-9]{2}(-[0-9]{2}(T[0-9]{2}(:[0-9]{2}(:[0-9]{2}(\.[0-9]+)?)?)?)?)?)?"/>
+        </xs:restriction>
+    </xs:simpleType>
+</xs:schema>
+
diff --git a/cdmlib-io/src/main/resources/schema/cdm/description.xsd b/cdmlib-io/src/main/resources/schema/cdm/description.xsd
new file mode 100644 (file)
index 0000000..606d50c
--- /dev/null
@@ -0,0 +1,476 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" 
+  targetNamespace="http://etaxonomy.eu/cdm/model/description/1.0" 
+  xmlns:description="http://etaxonomy.eu/cdm/model/description/1.0" 
+  xmlns:location="http://etaxonomy.eu/cdm/model/location/1.0" 
+  xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0" 
+  xmlns:reference="http://etaxonomy.eu/cdm/model/reference/1.0" 
+  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
+  xmlns:occurrence="http://etaxonomy.eu/cdm/model/occurrence/1.0" 
+  xmlns:cdm="http://etaxonomy.eu/cdm/model/1.0"
+  xmlns:media="http://etaxonomy.eu/cdm/model/media/1.0" 
+  xmlns:taxon="http://etaxonomy.eu/cdm/model/taxon/1.0"
+  xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
+  xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
+  jxb:extensionBindingPrefixes="xjc"
+  jxb:version="2.1"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.w3.org/XML/1998/namespace
+    http://www.w3.org/2005/08/xml.xsd
+    http://www.w3.org/2001/XMLSchema
+    http://www.w3.org/2001/XMLSchema.xsd">
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/common/1.0" schemaLocation="common.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/occurrence/1.0" schemaLocation="occurrence.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/reference/1.0" schemaLocation="reference.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/location/1.0" schemaLocation="location.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/1.0" schemaLocation="cdm.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/media/1.0" schemaLocation="media.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/taxon/1.0" schemaLocation="taxon.xsd"/>
+  <xs:annotation>
+        <xs:appinfo>
+            <jxb:schemaBindings>
+                <jxb:package name="eu.etaxonomy.cdm.model.description"/>
+            </jxb:schemaBindings>
+        </xs:appinfo>
+    </xs:annotation>
+  <xs:element name="AbsenceTerm" type="description:AbsenceTerm"/>
+  
+  <xs:element name="CategoricalData" type="description:CategoricalData"/>
+
+  <xs:element name="CommonTaxonName" type="description:CommonTaxonName"/>
+
+  <xs:element name="Distribution" type="description:Distribution"/>
+
+  <xs:element name="Feature" type="description:Feature"/>
+
+  <xs:element name="FeatureNode" type="description:FeatureNode"/>
+
+  <xs:element name="FeatureTree" type="description:FeatureTree"/>
+
+  <xs:element name="IndividualsAssociation" type="description:IndividualsAssociation"/>
+
+  <xs:element name="MeasurementUnit" type="description:MeasurementUnit"/>
+
+  <xs:element name="Modifier" type="description:Modifier"/>
+
+  <xs:element name="PresenceAbsenceTermBase" type="description:PresenceAbsenceTermBase"/>
+
+  <xs:element name="PresenceTerm" type="description:PresenceTerm"/>
+
+  <xs:element name="QuantitativeData" type="description:QuantitativeData"/>
+
+  <xs:element name="Scope" type="description:Scope"/>
+
+  <xs:element name="Sex" type="description:Sex"/>
+
+  <xs:element name="SpecimenDescription" type="description:SpecimenDescription"/>
+
+  <xs:element name="Stage" type="description:Stage"/>
+
+  <xs:element name="State" type="description:State"/>
+
+  <xs:element name="StateData" type="description:StateData"/>
+
+  <xs:element name="StatisticalMeasure" type="description:StatisticalMeasure"/>
+
+  <xs:element name="StatisticalMeasureValue" type="description:StatisticalMeasureValue"/>
+
+  <xs:element name="TaxonDescription" type="description:TaxonDescription"/>
+
+  <xs:element name="TaxonInteraction" type="description:TaxonInteraction"/>
+
+  <xs:element name="TaxonNameDescription" type="description:TaxonNameDescription"/>
+
+  <xs:element name="TextData" type="description:TextData"/>
+
+  <xs:element name="TextFormat" type="description:TextFormat"/>
+
+  <xs:complexType name="AbsenceTerm">
+    <xs:complexContent>
+      <xs:extension base="description:PresenceAbsenceTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="PresenceAbsenceTermBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="common:OrderedTermBase">
+        <xs:sequence>
+          <xs:element name="defaultColor" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Modifier">
+    <xs:complexContent>
+      <xs:extension base="common:OrderedTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Feature">
+    <xs:complexContent>
+      <xs:extension base="common:DefinedTermBase">
+        <xs:sequence>
+          <xs:element name="SupportsTextData" type="xs:boolean"/>
+          <xs:element name="SupportsQuantitativeData" type="xs:boolean"/>
+          <xs:element name="SupportsDistribution" type="xs:boolean"/>
+          <xs:element name="SupportsIndividualAssociation" type="xs:boolean"/>
+          <xs:element name="SupportsTaxonInteraction" type="xs:boolean"/>
+          <xs:element name="SupportsCommonTaxonName" type="xs:boolean"/>
+          <xs:element name="RecommendedModifierEnumerations" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="RecommendedModifierEnumeration" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="RecommendedStatisticalMeasures" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="RecommendedStatisticalMeasure" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="SupportedCategoricalEnumerations" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="SupportedCategoricalEnumeration" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="StatisticalMeasure">
+    <xs:complexContent>
+      <xs:extension base="common:DefinedTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="MeasurementUnit">
+    <xs:complexContent>
+      <xs:extension base="common:DefinedTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="PresenceTerm">
+    <xs:complexContent>
+      <xs:extension base="description:PresenceAbsenceTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Scope">
+    <xs:complexContent>
+      <xs:extension base="description:Modifier">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Sex">
+    <xs:complexContent>
+      <xs:extension base="description:Scope">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Stage">
+    <xs:complexContent>
+      <xs:extension base="description:Scope">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="State">
+    <xs:complexContent>
+      <xs:extension base="common:OrderedTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="TextFormat">
+    <xs:complexContent>
+      <xs:extension base="common:DefinedTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="TaxonNameDescription">
+    <xs:complexContent>
+      <xs:extension base="description:DescriptionBase">
+        <xs:sequence>
+          <xs:element name="TaxonName" type="xs:IDREF"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="DescriptionBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="common:IdentifiableEntity">
+        <xs:sequence>
+          <xs:element name="DescribedSpecimenOrObservations" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="DescribedSpecimenOrObservation" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="DescriptionSources" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="DescriptionSource" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="DescriptionElements" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:choice minOccurs="0" maxOccurs="unbounded">
+                  <xs:element ref="description:CategoricalData"/>
+                  <xs:element ref="description:CommonTaxonName"/>
+                  <xs:element ref="description:Distribution"/>
+                  <xs:element ref="description:IndividualsAssociation"/>
+                  <xs:element ref="description:QuantitativeData"/>
+                  <xs:element ref="description:TaxonInteraction"/>
+                  <xs:element ref="description:TextData"/>
+                </xs:choice>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="SpecimenDescription">
+    <xs:complexContent>
+      <xs:extension base="description:DescriptionBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="TaxonDescription">
+    <xs:complexContent>
+      <xs:extension base="description:DescriptionBase">
+        <xs:sequence>
+          <xs:element name="Scopes" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Scope" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="GeoScopes" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="GeoScope" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+         <xs:element name="Taxon" type="xs:IDREF"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="CategoricalData">
+    <xs:complexContent>
+      <xs:extension base="description:DescriptionElementBase">
+        <xs:sequence>
+          <xs:element name="OrderRelevant" type="xs:boolean"/>
+          <xs:element name="States" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="State" type="description:StateData" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="DescriptionElementBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="common:ReferencedEntityBase">
+        <xs:sequence>
+          <xs:element name="Feature" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="Modifiers" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Modifier" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="ModifyingText" type="common:MultilanguageText" minOccurs="0"/>
+          <xs:element name="Media" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Medium" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="InDescription" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="StateData">
+    <xs:complexContent>
+      <xs:extension base="common:VersionableEntity">
+        <xs:sequence>
+          <xs:element name="State" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="Modifiers" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Modifier" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="ModifyingText" type="common:MultilanguageText" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="CommonTaxonName">
+    <xs:complexContent>
+      <xs:extension base="description:DescriptionElementBase">
+        <xs:sequence>
+          <xs:element name="Name" type="xs:string" minOccurs="0"/>
+          <xs:element name="Language" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Distribution">
+    <xs:complexContent>
+      <xs:extension base="description:DescriptionElementBase">
+        <xs:sequence>
+          <xs:element name="NamedArea" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="PresenceAbsenceStatus" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="IndividualsAssociation">
+    <xs:complexContent>
+      <xs:extension base="description:DescriptionElementBase">
+        <xs:sequence>
+          <xs:element name="Description" type="common:MultilanguageText" minOccurs="0"/>
+          <xs:element name="AssociatedSpecimenOrObservation" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="QuantitativeData">
+    <xs:complexContent>
+      <xs:extension base="description:DescriptionElementBase">
+        <xs:sequence>
+          <xs:element name="MeasurementUnit" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="StatisticalValues" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element ref="description:StatisticalValue" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  
+  <xs:element name="StatisticalValue" type="description:StatisticalMeasureValue" />
+
+  <xs:complexType name="StatisticalMeasureValue">
+    <xs:complexContent>
+      <xs:extension base="common:VersionableEntity">
+        <xs:sequence>
+          <xs:element name="Value" type="xs:float"/>
+          <xs:element name="Modifiers" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Modifier" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="StatisticalMeasureType" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="TaxonInteraction">
+    <xs:complexContent>
+      <xs:extension base="description:DescriptionElementBase">
+        <xs:sequence>
+          <xs:element name="Description" type="common:MultilanguageText" minOccurs="0"/>
+          <xs:element name="Taxon2" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="TextData">
+    <xs:complexContent>
+      <xs:extension base="description:DescriptionElementBase">
+        <xs:sequence>
+          <xs:element name="MultiLanguageText" type="common:MultilanguageText" minOccurs="0"/>
+          <xs:element name="Format" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="FeatureNode">
+    <xs:complexContent>
+      <xs:extension base="common:VersionableEntity">
+        <xs:sequence>
+          <xs:element name="Feature" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="Parent" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="Children" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Child" type="description:FeatureNode" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="FeatureTree">
+    <xs:complexContent>
+      <xs:extension base="common:TermBase">
+        <xs:sequence>
+          <xs:element name="IsDescriptionSeparated" type="xs:boolean"/>
+          <xs:element name="Root" type="description:FeatureNode" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+</xs:schema>
+
diff --git a/cdmlib-io/src/main/resources/schema/cdm/location.xsd b/cdmlib-io/src/main/resources/schema/cdm/location.xsd
new file mode 100644 (file)
index 0000000..9f40275
--- /dev/null
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" 
+  targetNamespace="http://etaxonomy.eu/cdm/model/location/1.0" 
+  xmlns:location="http://etaxonomy.eu/cdm/model/location/1.0" 
+  xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0" 
+  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
+  xmlns:media="http://etaxonomy.eu/cdm/model/media/1.0"
+  xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
+  xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
+  jxb:extensionBindingPrefixes="xjc"
+  jxb:version="2.1"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.w3.org/XML/1998/namespace
+    http://www.w3.org/2005/08/xml.xsd
+    http://www.w3.org/2001/XMLSchema
+    http://www.w3.org/2001/XMLSchema.xsd">
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/common/1.0" schemaLocation="common.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/media/1.0" schemaLocation="media.xsd"/>
+  <xs:annotation>
+    <xs:appinfo>
+      <jxb:schemaBindings>
+        <jxb:package name="eu.etaxonomy.cdm.model.location"/>
+      </jxb:schemaBindings>
+    </xs:appinfo>
+  </xs:annotation>
+  <xs:element name="Continent" type="location:Continent"/>
+  
+  <xs:element name="NamedArea" type="location:NamedArea"/>
+
+  <xs:element name="NamedAreaLevel" type="location:NamedAreaLevel"/>
+
+  <xs:element name="NamedAreaType" type="location:NamedAreaType"/>
+
+  <xs:element name="Point" type="location:Point"/>
+
+  <xs:element name="ReferenceSystem" type="location:ReferenceSystem"/>
+
+  <xs:element name="WaterbodyOrCountry" type="location:WaterbodyOrCountry"/>
+
+  <xs:complexType name="WaterbodyOrCountry">
+    <xs:complexContent>
+      <xs:extension base="location:NamedArea">
+        <xs:sequence>
+          <xs:element name="Continents" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Continent" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+        <xs:attribute name="iso3166_A2" type="xs:string"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="NamedArea">
+    <xs:complexContent>
+      <xs:extension base="common:OrderedTermBase">
+        <xs:sequence>
+          <xs:element name="ValidPeriod" type="common:TimePeriod" minOccurs="0"/>
+          <xs:element name="Shape" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="PointApproximation" type="location:Point" minOccurs="0"/>
+          <xs:element name="WaterbodiesOrCountries" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="WaterbodiesOrCountry" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="NamedAreaType" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="NamedAreaLevel" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Continent">
+    <xs:complexContent>
+      <xs:extension base="location:NamedArea">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Point">
+    <xs:sequence>
+      <xs:element name="Longitude" type="xs:double" minOccurs="0"/>
+      <xs:element name="Latitude" type="xs:double" minOccurs="0"/>
+      <xs:element name="ErrorRadius" type="xs:int" minOccurs="0"/>
+      <xs:element name="ReferenceSystem" type="xs:IDREF" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="ReferenceSystem">
+    <xs:complexContent>
+      <xs:extension base="common:DefinedTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="NamedAreaType">
+    <xs:complexContent>
+      <xs:extension base="common:DefinedTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="NamedAreaLevel">
+    <xs:complexContent>
+      <xs:extension base="common:OrderedTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+</xs:schema>
+
diff --git a/cdmlib-io/src/main/resources/schema/cdm/media.xsd b/cdmlib-io/src/main/resources/schema/cdm/media.xsd
new file mode 100644 (file)
index 0000000..a6f19aa
--- /dev/null
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" 
+  targetNamespace="http://etaxonomy.eu/cdm/model/media/1.0" 
+  xmlns:media="http://etaxonomy.eu/cdm/model/media/1.0" 
+  xmlns:agent="http://etaxonomy.eu/cdm/model/agent/1.0" 
+  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
+  xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0"
+  xmlns:cdm="http://etaxonomy.eu/cdm/model/1.0"
+  xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
+  xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
+  jxb:extensionBindingPrefixes="xjc"
+  jxb:version="2.1"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.w3.org/XML/1998/namespace
+    http://www.w3.org/2005/08/xml.xsd
+    http://www.w3.org/2001/XMLSchema
+    http://www.w3.org/2001/XMLSchema.xsd">
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/1.0" schemaLocation="cdm.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/agent/1.0" schemaLocation="agent.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/common/1.0" schemaLocation="common.xsd"/>
+  <xs:annotation>
+    <xs:appinfo>
+      <jxb:schemaBindings>
+        <jxb:package name="eu.etaxonomy.cdm.model.media"/>
+      </jxb:schemaBindings>
+    </xs:appinfo>
+  </xs:annotation>
+  <xs:element name="AudioFile" type="media:AudioFile"/>
+
+  <xs:element name="ImageFile" type="media:ImageFile"/>
+
+  <xs:element name="Media" type="media:Media"/>
+
+  <xs:element name="MovieFile" type="media:MovieFile"/>
+
+  <xs:element name="Rights" type="media:Rights"/>
+
+  <xs:element name="RightsTerm" type="media:RightsTerm"/>
+
+  <xs:complexType name="Media">
+    <xs:complexContent>
+      <xs:extension base="common:AnnotatableEntity">
+        <xs:sequence>
+          <xs:element name="MediaTitle" type="common:MultilanguageText" minOccurs="0"/>
+          <xs:element name="MediaCreated" type="xs:dateTime" minOccurs="0"/>
+          <xs:element name="MediaDescription" type="common:MultilanguageText" minOccurs="0"/>
+          <xs:element name="MediaRepresentations" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="MediaRepresentation" type="media:MediaRepresentation" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="Rights" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Right" type="media:Rights" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="Artist" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="IdentifiableMediaEntity" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="common:IdentifiableEntity">
+        <xs:sequence>
+          <xs:element name="Media" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Medium" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Rights">
+    <xs:complexContent>
+      <xs:extension base="common:LanguageStringBase">
+        <xs:sequence>
+          <xs:element name="URI" type="xs:anyURI" minOccurs="0"/>
+          <xs:element name="AbbreviatedText" type="xs:string" minOccurs="0"/>
+          <xs:element name="Type" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="Agent" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="RightsTerm">
+    <xs:complexContent>
+      <xs:extension base="common:DefinedTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="MediaRepresentation">
+    <xs:complexContent>
+      <xs:extension base="common:VersionableEntity">
+        <xs:sequence>
+          <xs:element name="MimeType" type="xs:string" minOccurs="0"/>
+          <xs:element name="Suffix" type="xs:string" minOccurs="0"/>
+          <xs:element name="Media" type="xs:IDREF"/>
+          <xs:element name="MediaRepresentationParts" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:choice minOccurs="0" maxOccurs="unbounded">
+                  <xs:element ref="media:AudioFile"/>
+                  <xs:element ref="media:ImageFile"/>
+                  <xs:element ref="media:MovieFile"/>
+                </xs:choice>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="AudioFile">
+    <xs:complexContent>
+      <xs:extension base="media:MediaRepresentationPart">
+        <xs:sequence>
+          <xs:element name="Duration" type="xs:int"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="MediaRepresentationPart">
+    <xs:complexContent>
+      <xs:extension base="common:VersionableEntity">
+        <xs:sequence>
+          <xs:element name="URI" type="xs:anyURI" minOccurs="0"/>
+          <xs:element name="Size" type="xs:int" minOccurs="0"/>
+          <xs:element name="MediaRepresentation" type="xs:IDREF"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="ImageFile">
+    <xs:complexContent>
+      <xs:extension base="media:MediaRepresentationPart">
+        <xs:sequence>
+          <xs:element name="Height" type="xs:int"/>
+          <xs:element name="Width" type="xs:int"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="MovieFile">
+    <xs:complexContent>
+      <xs:extension base="media:MediaRepresentationPart">
+        <xs:sequence>
+          <xs:element name="Duration" type="xs:int"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+</xs:schema>
+
diff --git a/cdmlib-io/src/main/resources/schema/cdm/molecular.xsd b/cdmlib-io/src/main/resources/schema/cdm/molecular.xsd
new file mode 100644 (file)
index 0000000..0eef276
--- /dev/null
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" 
+  targetNamespace="http://etaxonomy.eu/cdm/model/molecular/1.0" 
+  xmlns:molecular="http://etaxonomy.eu/cdm/model/molecular/1.0" 
+  xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0" 
+  xmlns:occurrence="http://etaxonomy.eu/cdm/model/occurrence/1.0" 
+  xmlns:media="http://etaxonomy.eu/cdm/model/media/1.0" 
+  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
+  xmlns:reference="http://etaxonomy.eu/cdm/model/reference/1.0"
+  xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
+  xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
+  jxb:extensionBindingPrefixes="xjc"
+  jxb:version="2.1"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.w3.org/XML/1998/namespace
+    http://www.w3.org/2005/08/xml.xsd
+    http://www.w3.org/2001/XMLSchema
+    http://www.w3.org/2001/XMLSchema.xsd">
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/occurrence/1.0" schemaLocation="occurrence.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/reference/1.0" schemaLocation="reference.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/media/1.0" schemaLocation="media.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/common/1.0" schemaLocation="common.xsd"/>
+  <xs:annotation>
+    <xs:appinfo>
+      <jxb:schemaBindings>
+        <jxb:package name="eu.etaxonomy.cdm.model.molecular"/>
+      </jxb:schemaBindings>
+    </xs:appinfo>
+  </xs:annotation>
+  <xs:element name="DnaSample" type="molecular:DnaSample"/>
+
+  <xs:element name="GenBankAccession" type="molecular:GenBankAccession"/>
+
+  <xs:element name="Locus" type="molecular:Locus"/>
+
+  <xs:element name="Sequence" type="molecular:Sequence"/>
+
+  <xs:complexType name="DnaSample">
+    <xs:complexContent>
+      <xs:extension base="occurrence:Specimen">
+        <xs:sequence>
+          <xs:element name="Sequences" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="sequence" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Sequence">
+    <xs:complexContent>
+      <xs:extension base="common:IdentifiableEntity">
+        <xs:sequence>
+          <xs:element name="Sequence" type="xs:string" minOccurs="0"/>
+          <xs:element name="Length" type="xs:int" minOccurs="0"/>
+          <xs:element name="DateSequenced" type="xs:dateTime" minOccurs="0"/>
+          <xs:element name="CitationMicroReference" type="xs:string" minOccurs="0"/>
+          <xs:element name="PublishedIn" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="Locus" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="Citations" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Citation" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="GenBankAccessions" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element ref="molecular:GenBankAccession" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="Chromatograms" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Chromatogram" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+        <xs:attribute name="isBarcode" type="xs:boolean" use="required"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Locus">
+    <xs:complexContent>
+      <xs:extension base="common:VersionableEntity">
+        <xs:sequence>
+          <xs:element name="Name" type="xs:string" minOccurs="0"/>
+          <xs:element name="Description" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="GenBankAccession">
+    <xs:complexContent>
+      <xs:extension base="common:VersionableEntity">
+        <xs:sequence>
+          <xs:element name="AccessionNumber" type="xs:string" minOccurs="0"/>
+          <xs:element name="URI" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+</xs:schema>
+
diff --git a/cdmlib-io/src/main/resources/schema/cdm/name.xsd b/cdmlib-io/src/main/resources/schema/cdm/name.xsd
new file mode 100644 (file)
index 0000000..78ae981
--- /dev/null
@@ -0,0 +1,358 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" 
+  targetNamespace="http://etaxonomy.eu/cdm/model/name/1.0" 
+  xmlns:name="http://etaxonomy.eu/cdm/model/name/1.0" 
+  xmlns:occurrence="http://etaxonomy.eu/cdm/model/occurrence/1.0" 
+  xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0" 
+  xmlns:description="http://etaxonomy.eu/cdm/model/description/1.0" 
+  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
+  xmlns:reference="http://etaxonomy.eu/cdm/model/reference/1.0" 
+  xmlns:agent="http://etaxonomy.eu/cdm/model/agent/1.0"
+  xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
+  xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
+  jxb:extensionBindingPrefixes="xjc"
+  jxb:version="2.1"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.w3.org/XML/1998/namespace
+    http://www.w3.org/2005/08/xml.xsd
+    http://www.w3.org/2001/XMLSchema
+    http://www.w3.org/2001/XMLSchema.xsd">
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/common/1.0" schemaLocation="common.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/reference/1.0" schemaLocation="reference.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/description/1.0" schemaLocation="description.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/occurrence/1.0" schemaLocation="occurrence.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/agent/1.0" schemaLocation="agent.xsd"/>
+  <xs:annotation>
+    <xs:appinfo>
+      <jxb:schemaBindings>
+        <jxb:package name="eu.etaxonomy.cdm.model.name"/>
+      </jxb:schemaBindings>
+    </xs:appinfo>
+  </xs:annotation>
+  <xs:element name="BacterialName">
+    <xs:complexType>
+      <xs:complexContent>
+        <xs:extension base="name:NonViralName">
+          <xs:sequence>
+            <xs:element name="SubGenusAuthorship" type="xs:string" minOccurs="0"/>
+            <xs:element name="NameApprobation" type="xs:string" minOccurs="0"/>
+          </xs:sequence>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="BotanicalName" type="name:BotanicalName"/>
+
+  <xs:element name="CultivarPlantName">
+    <xs:complexType>
+      <xs:complexContent>
+        <xs:extension base="name:BotanicalName">
+          <xs:sequence>
+            <xs:element name="CultivarName" type="xs:string"/>
+          </xs:sequence>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="HomotypicalGroup" type="name:HomotypicalGroup"/>
+
+  <xs:element name="HybridRelationshipType" type="name:HybridRelationshipType"/>
+
+  <xs:element name="NameRelationshipType" type="name:NameRelationshipType"/>
+
+  <xs:element name="NameTypeDesignation" type="name:NameTypeDesignation"/>
+
+  <xs:element name="NomenclaturalCode" type="name:NomenclaturalCode"/>
+
+  <xs:element name="NomenclaturalStatusType" type="name:NomenclaturalStatusType"/>
+
+  <xs:element name="NonViralName" type="name:NonViralName"/>
+
+  <xs:element name="Rank" type="name:Rank"/>
+
+  <xs:element name="SpecimenTypeDesignation" type="name:SpecimenTypeDesignation"/>
+
+  <xs:element name="TaxonNameBase" type="name:TaxonNameBase"/>
+
+  <xs:element name="TypeDesignationBase" type="name:TypeDesignationBase"/>
+
+  <xs:element name="TypeDesignationStatus" type="name:TypeDesignationStatus"/>
+
+  <xs:element name="ViralName">
+    <xs:complexType>
+      <xs:complexContent>
+        <xs:extension base="name:TaxonNameBase">
+          <xs:sequence>
+            <xs:element name="Acronym" type="xs:string" minOccurs="0"/>
+          </xs:sequence>
+        </xs:extension>
+      </xs:complexContent>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="ZoologicalName" type="name:ZoologicalName"/>
+
+  <xs:complexType name="HybridRelationshipType">
+    <xs:complexContent>
+      <xs:extension base="common:RelationshipTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="NameRelationshipType">
+    <xs:complexContent>
+      <xs:extension base="common:RelationshipTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  
+   <xs:simpleType name="NomenclaturalCode">
+     <xs:restriction base="xs:string">
+       <xs:enumeration value="ICBN"/>
+       <xs:enumeration value="ICNB"/>
+       <xs:enumeration value="ICNCP"/>
+       <xs:enumeration value="ICVCN"/>
+       <xs:enumeration value="ICZN"/>
+     </xs:restriction>
+   </xs:simpleType>
+  
+
+  <xs:complexType name="NomenclaturalStatusType">
+    <xs:complexContent>
+      <xs:extension base="common:OrderedTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Rank">
+    <xs:complexContent>
+      <xs:extension base="common:OrderedTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="TypeDesignationStatus">
+    <xs:complexContent>
+      <xs:extension base="common:OrderedTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="TaxonNameBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="common:IdentifiableEntity">
+        <xs:sequence>
+          <xs:element name="AppendedPhrase" type="xs:string" minOccurs="0"/>
+          <xs:element name="NomenclaturalMicroReference" type="xs:string" minOccurs="0"/>
+          <xs:element name="NomenclaturalReference" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="Rank" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="FullTitleCache" type="xs:string" minOccurs="0"/>
+          <xs:element name="ProtectedFullTitleCache" type="xs:boolean"/>
+          <xs:element name="HomotypicalGroup" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="TypeDesignations" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="TypeDesignation" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="RelationsFromThisName" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="RelationFromThisName" type="name:NameRelationship" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="RelationsToThisName" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="RelationToThisName" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="NomenclaturalStatuses" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="NomenclaturalStatus" type="name:NomenclaturalStatus" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="TaxonBases" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="TaxonBase" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="Descriptions" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Description" type="description:TaxonNameDescription" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+        <xs:attribute name="hasProblem" type="xs:boolean" use="required"/>
+        <xs:attribute name="problemStarts" type="xs:int" use="required"/>
+        <xs:attribute name="problemEnds" type="xs:int" use="required"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="HomotypicalGroup">
+    <xs:complexContent>
+      <xs:extension base="common:AnnotatableEntity">
+        <xs:sequence>
+          <xs:element name="TypifiedNames" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="TypifiedName" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="TypeDesignationBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="common:ReferencedEntityBase">
+        <xs:sequence>
+          <xs:element name="TypifiedNames" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="TypifiedName" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="HomotypicalGroup" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="IsNotDesignated" type="xs:boolean"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="NameRelationship">
+    <xs:complexContent>
+      <xs:extension base="common:RelationshipBase">
+        <xs:sequence>
+          <xs:element name="RelatedFrom" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="RelatedTo" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="Type" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="RuleConsidered" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="NomenclaturalStatus">
+    <xs:complexContent>
+      <xs:extension base="common:ReferencedEntityBase">
+        <xs:sequence>
+          <xs:element name="ruleConsidered" type="xs:string" minOccurs="0"/>
+          <xs:element name="NomenclaturalStatusType" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="NameTypeDesignation">
+    <xs:complexContent>
+      <xs:extension base="name:TypeDesignationBase">
+        <xs:sequence>
+          <xs:element name="IsRejectedType" type="xs:boolean"/>
+          <xs:element name="IsConservedType" type="xs:boolean"/>
+          <xs:element name="IsLectoType" type="xs:boolean"/>
+          <xs:element name="TypeName" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="SpecimenTypeDesignation">
+    <xs:complexContent>
+      <xs:extension base="name:TypeDesignationBase">
+        <xs:sequence>
+          <xs:element name="TypeSpecimen" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="TypeStatus" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="NonViralName">
+    <xs:complexContent>
+      <xs:extension base="name:TaxonNameBase">
+        <xs:sequence>
+          <xs:element name="NameCache" type="xs:string" minOccurs="0"/>
+          <xs:element name="GenusOrUninomial" type="xs:string" minOccurs="0"/>
+          <xs:element name="InfraGenericEpithet" type="xs:string" minOccurs="0"/>
+          <xs:element name="SpecificEpithet" type="xs:string" minOccurs="0"/>
+          <xs:element name="InfraSpecificEpithet" type="xs:string" minOccurs="0"/>
+          <xs:element name="CombinationAuthorTeam" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="ExCombinationAuthorTeam" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="BasionymAuthorTeam" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="ExBasionymAuthorTeam" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="AuthorshipCache" type="xs:string" minOccurs="0"/>
+          <xs:element name="ProtectedAuthorshipCache" type="xs:boolean"/>
+          <xs:element name="ProtectedNameCache" type="xs:boolean"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="BotanicalName">
+    <xs:complexContent>
+      <xs:extension base="name:NonViralName">
+        <xs:sequence>
+          <xs:element name="IsHybridFormula" type="xs:boolean"/>
+          <xs:element name="IsMonomHybrid" type="xs:boolean"/>
+          <xs:element name="IsBinomHybrid" type="xs:boolean"/>
+          <xs:element name="IsTrinomHybrid" type="xs:boolean"/>
+          <xs:element name="IsAnamorphic" type="xs:boolean"/>
+          <xs:element name="HybridRelationships" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="HybridRelationship" type="name:HybridRelationship" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="HybridRelationship">
+    <xs:complexContent>
+      <xs:extension base="common:RelationshipBase">
+        <xs:sequence>
+          <xs:element name="RelatedFrom" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="RelatedTo" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="Type" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="RuleConsidered" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="ZoologicalName">
+    <xs:complexContent>
+      <xs:extension base="name:NonViralName">
+        <xs:sequence>
+          <xs:element name="Breed" type="xs:string" minOccurs="0"/>
+          <xs:element name="PublicationYear" type="xs:int" minOccurs="0"/>
+          <xs:element name="OriginalPublicationYear" type="xs:int" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+</xs:schema>
+
diff --git a/cdmlib-io/src/main/resources/schema/cdm/occurrence.xsd b/cdmlib-io/src/main/resources/schema/cdm/occurrence.xsd
new file mode 100644 (file)
index 0000000..f5f89c0
--- /dev/null
@@ -0,0 +1,271 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" 
+  targetNamespace="http://etaxonomy.eu/cdm/model/occurrence/1.0" 
+  xmlns:occurrence="http://etaxonomy.eu/cdm/model/occurrence/1.0" 
+  xmlns:agent="http://etaxonomy.eu/cdm/model/agent/1.0" 
+  xmlns:location="http://etaxonomy.eu/cdm/model/location/1.0" 
+  xmlns:molecular="http://etaxonomy.eu/cdm/model/molecular/1.0" 
+  xmlns:taxon="http://etaxonomy.eu/cdm/model/taxon/1.0" 
+  xmlns:description="http://etaxonomy.eu/cdm/model/description/1.0"
+  xmlns:cdm="http://etaxonomy.eu/cdm/model/1.0"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
+  xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0" 
+  xmlns:media="http://etaxonomy.eu/cdm/model/media/1.0" 
+  xmlns:name="http://etaxonomy.eu/cdm/model/name/1.0" 
+  xmlns:reference="http://etaxonomy.eu/cdm/model/reference/1.0"
+  xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
+  xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
+  jxb:extensionBindingPrefixes="xjc"
+  jxb:version="2.1"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.w3.org/XML/1998/namespace
+    http://www.w3.org/2005/08/xml.xsd
+    http://www.w3.org/2001/XMLSchema
+    http://www.w3.org/2001/XMLSchema.xsd">
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/molecular/1.0" schemaLocation="molecular.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/common/1.0" schemaLocation="common.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/description/1.0" schemaLocation="description.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/agent/1.0" schemaLocation="agent.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/media/1.0" schemaLocation="media.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/name/1.0" schemaLocation="name.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/1.0" schemaLocation="cdm.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/taxon/1.0" schemaLocation="taxon.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/reference/1.0" schemaLocation="reference.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/location/1.0" schemaLocation="location.xsd"/>
+  <xs:annotation>
+    <xs:appinfo>
+      <jxb:schemaBindings>
+        <jxb:package name="eu.etaxonomy.cdm.model.occurrence"/>
+      </jxb:schemaBindings>
+    </xs:appinfo>
+  </xs:annotation>
+  <xs:element name="Collection" type="occurrence:Collection"/>
+
+  <xs:element name="DerivationEvent" type="occurrence:DerivationEvent"/>
+
+  <xs:element name="DerivationEventType" type="occurrence:DerivationEventType"/>
+
+  <xs:element name="DerivedUnitBase" type="occurrence:DerivedUnitBase"/>
+
+  <xs:element name="DeterminationModifier" type="occurrence:DeterminationModifier"/>
+
+  <xs:element name="DnaSample" type="molecular:DnaSample"/>
+
+  <xs:element name="FieldObservation" type="occurrence:FieldObservation"/>
+
+  <xs:element name="Fossil" type="occurrence:Fossil"/>
+
+  <xs:element name="GatheringEvent" type="occurrence:GatheringEvent"/>
+
+  <xs:element name="LivingBeing" type="occurrence:LivingBeing"/>
+
+  <xs:element name="Observation" type="occurrence:Observation"/>
+
+  <xs:element name="PreservationMethod" type="occurrence:PreservationMethod"/>
+
+  <xs:element name="Specimen" type="occurrence:Specimen"/>
+
+  <xs:element name="SpecimenOrObservationBase" type="occurrence:SpecimenOrObservationBase"/>
+
+  <xs:complexType name="DerivationEventType">
+    <xs:complexContent>
+      <xs:extension base="common:DefinedTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="DeterminationModifier">
+    <xs:complexContent>
+      <xs:extension base="description:Modifier">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="PreservationMethod">
+    <xs:complexContent>
+      <xs:extension base="common:DefinedTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Collection">
+    <xs:complexContent>
+      <xs:extension base="media:IdentifiableMediaEntity">
+        <xs:sequence>
+          <xs:element name="Name" type="xs:string" minOccurs="0"/>
+          <xs:element name="Code" type="xs:string" minOccurs="0"/>
+          <xs:element name="CodeStandard" type="xs:string" minOccurs="0"/>
+          <xs:element name="TownOrLocation" type="xs:string" minOccurs="0"/>
+          <xs:element name="Institution" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="SuperCollection" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Specimen">
+    <xs:complexContent>
+      <xs:extension base="occurrence:DerivedUnitBase">
+        <xs:sequence>
+          <xs:element name="Preservation" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="DerivedUnitBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="occurrence:SpecimenOrObservationBase">
+        <xs:sequence>
+          <xs:element name="Collection" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="CatalogNumber" type="xs:string" minOccurs="0"/>
+          <xs:element name="StoredUnder" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="DerivedFrom" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="AccessionNumber" type="xs:string" minOccurs="0"/>
+          <xs:element name="CollectorsNumber" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="SpecimenOrObservationBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="media:IdentifiableMediaEntity">
+        <xs:sequence>
+          <xs:element name="Sex" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="IndividualCount" type="xs:int" minOccurs="0"/>
+          <xs:element name="LifeStage" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="Description" type="common:MultilanguageText" minOccurs="0"/>
+          <xs:element name="Descriptions" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Description" type="description:SpecimenDescription" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="Determinations" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Determination" type="occurrence:DeterminationEvent" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="DerivationEvents" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="DerivationEvent" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="DeterminationEvent">
+    <xs:complexContent>
+      <xs:extension base="common:EventBase">
+        <xs:sequence>
+          <xs:element name="IdentifiedUnit" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="Taxon" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="Modifier" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="PreferredFlag" type="xs:boolean"/>
+          <xs:element name="SetOfReferences" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Reference" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="DerivationEvent">
+    <xs:complexContent>
+      <xs:extension base="common:EventBase">
+        <xs:sequence>
+          <xs:element name="Originals" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Original" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="Derivatives" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Derivative" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="DerivationEventType" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="FieldObservation">
+    <xs:complexContent>
+      <xs:extension base="occurrence:SpecimenOrObservationBase">
+        <xs:sequence>
+          <xs:element name="FieldNumber" type="xs:string" minOccurs="0"/>
+          <xs:element name="FieldNotes" type="xs:string" minOccurs="0"/>
+          <xs:element name="GatheringEvent" type="xs:IDREF"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="GatheringEvent">
+    <xs:complexContent>
+      <xs:extension base="common:EventBase">
+        <xs:sequence>
+          <xs:element name="Locality" type="common:LanguageString" minOccurs="0"/>
+          <xs:element name="ExactLocation" type="location:Point" minOccurs="0"/>
+          <xs:element name="CollectingAreas" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="CollectingArea" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="CollectingMethod" type="xs:string" minOccurs="0"/>
+          <xs:element name="AbsoluteElevation" type="xs:int" minOccurs="0"/>
+          <xs:element name="AbsoluteElevationError" type="xs:int" minOccurs="0"/>
+          <xs:element name="DistanceToGround" type="xs:int" minOccurs="0"/>
+          <xs:element name="DistanceToWaterSurface" type="xs:int" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Fossil">
+    <xs:complexContent>
+      <xs:extension base="occurrence:Specimen">
+        <xs:all/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="LivingBeing">
+    <xs:complexContent>
+      <xs:extension base="occurrence:DerivedUnitBase">
+        <xs:all/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Observation">
+    <xs:complexContent>
+      <xs:extension base="occurrence:DerivedUnitBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+</xs:schema>
+
diff --git a/cdmlib-io/src/main/resources/schema/cdm/reference.xsd b/cdmlib-io/src/main/resources/schema/cdm/reference.xsd
new file mode 100644 (file)
index 0000000..ebe2273
--- /dev/null
@@ -0,0 +1,298 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" version="1.0" 
+  targetNamespace="http://etaxonomy.eu/cdm/model/reference/1.0" 
+  xmlns:reference="http://etaxonomy.eu/cdm/model/reference/1.0" 
+  xmlns:agent="http://etaxonomy.eu/cdm/model/agent/1.0" 
+  xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0" 
+  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
+  xmlns:media="http://etaxonomy.eu/cdm/model/media/1.0"
+  xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
+  xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
+  jxb:extensionBindingPrefixes="xjc"
+  jxb:version="2.1"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.w3.org/XML/1998/namespace
+    http://www.w3.org/2005/08/xml.xsd
+    http://www.w3.org/2001/XMLSchema
+    http://www.w3.org/2001/XMLSchema.xsd">
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/agent/1.0" schemaLocation="agent.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/media/1.0" schemaLocation="media.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/common/1.0" schemaLocation="common.xsd"/>
+  <xs:annotation>
+    <xs:appinfo>
+      <jxb:schemaBindings>
+        <jxb:package name="eu.etaxonomy.cdm.model.reference"/>
+      </jxb:schemaBindings>
+    </xs:appinfo>
+  </xs:annotation>
+  <xs:element name="Article" type="reference:Article"/>
+
+  <xs:element name="BibtexEntryType" type="reference:BibtexEntryType"/>
+
+  <xs:element name="Book" type="reference:Book"/>
+
+  <xs:element name="BookSection" type="reference:BookSection"/>
+
+  <xs:element name="CdDvd" type="reference:CdDvd"/>
+
+  <xs:element name="Database" type="reference:Database"/>
+
+  <xs:element name="Generic" type="reference:Generic"/>
+
+  <xs:element name="InProceedings" type="reference:InProceedings"/>
+
+  <xs:element name="Journal" type="reference:Journal"/>
+
+  <xs:element name="Map" type="reference:Map"/>
+
+  <xs:element name="Patent" type="reference:Patent"/>
+
+  <xs:element name="PersonalCommunication" type="reference:PersonalCommunication"/>
+
+  <xs:element name="PrintSeries" type="reference:PrintSeries"/>
+
+  <xs:element name="PrintedUnitBase" type="reference:PrintedUnitBase"/>
+
+  <xs:element name="Proceedings" type="reference:Proceedings"/>
+
+  <xs:element name="PublicationBase" type="reference:PublicationBase"/>
+
+  <xs:element name="RelationshipBase" type="reference:ReferenceBase"/>
+
+  <xs:element name="Report" type="reference:Report"/>
+
+  <xs:element name="SectionBase" type="reference:SectionBase"/>
+
+  <xs:element name="StrictReferenceBase" type="reference:StrictReferenceBase"/>
+
+  <xs:element name="Thesis" type="reference:Thesis"/>
+
+  <xs:element name="WebPage" type="reference:WebPage"/>
+
+  <xs:complexType name="ReferenceBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="media:IdentifiableMediaEntity">
+        <xs:sequence>
+          <xs:element name="URI" type="xs:anyURI" minOccurs="0"/>
+          <xs:element name="IsNomenclaturallyRelevant" type="xs:boolean"/>
+          <xs:element name="AuthorTeam" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+        <xs:attribute name="hasProblem" type="xs:boolean" use="required"/>
+        <xs:attribute name="problemStarts" type="xs:int" use="required"/>
+        <xs:attribute name="problemEnds" type="xs:int" use="required"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="BibtexEntryType">
+    <xs:complexContent>
+      <xs:extension base="common:DefinedTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Article">
+    <xs:complexContent>
+      <xs:extension base="reference:StrictReferenceBase">
+        <xs:sequence>
+          <xs:element name="Series" type="xs:string" minOccurs="0"/>
+          <xs:element name="Volume" type="xs:string" minOccurs="0"/>
+          <xs:element name="Pages" type="xs:string" minOccurs="0"/>
+          <xs:element name="InJournal" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="StrictReferenceBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="reference:ReferenceBase">
+        <xs:sequence>
+          <xs:element name="Title" type="xs:string" minOccurs="0"/>
+          <xs:element name="DatePublished" type="common:TimePeriod" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Journal">
+    <xs:complexContent>
+      <xs:extension base="reference:PublicationBase">
+        <xs:sequence>
+          <xs:element name="ISSN" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="PublicationBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="reference:StrictReferenceBase">
+        <xs:sequence>
+          <xs:element name="Publisher" type="xs:string" minOccurs="0"/>
+          <xs:element name="PlacePublished" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Book">
+    <xs:complexContent>
+      <xs:extension base="reference:PrintedUnitBase">
+        <xs:sequence>
+          <xs:element name="Edition" type="xs:string" minOccurs="0"/>
+          <xs:element name="ISBN" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="PrintedUnitBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="reference:PublicationBase">
+        <xs:sequence>
+          <xs:element name="Editor" type="xs:string" minOccurs="0"/>
+          <xs:element name="Volume" type="xs:string" minOccurs="0"/>
+          <xs:element name="Pages" type="xs:string" minOccurs="0"/>
+          <xs:element name="InSeries" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="SeriesPart" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="PrintSeries">
+    <xs:complexContent>
+      <xs:extension base="reference:PublicationBase">
+        <xs:sequence>
+          <xs:element name="Series" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="BookSection">
+    <xs:complexContent>
+      <xs:extension base="reference:SectionBase">
+        <xs:sequence>
+          <xs:element name="BookSection" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="SectionBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="reference:StrictReferenceBase">
+        <xs:sequence>
+          <xs:element name="Pages" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="CdDvd">
+    <xs:complexContent>
+      <xs:extension base="reference:PublicationBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Database">
+    <xs:complexContent>
+      <xs:extension base="reference:PublicationBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Generic">
+    <xs:complexContent>
+      <xs:extension base="reference:StrictReferenceBase">
+        <xs:sequence>
+          <xs:element name="series" type="xs:string" minOccurs="0"/>
+          <xs:element name="Volume" type="xs:string" minOccurs="0"/>
+          <xs:element name="Pages" type="xs:string" minOccurs="0"/>
+          <xs:element name="Editor" type="xs:string" minOccurs="0"/>
+          <xs:element name="Publisher" type="xs:string" minOccurs="0"/>
+          <xs:element name="PlacePublished" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="InProceedings">
+    <xs:complexContent>
+      <xs:extension base="reference:SectionBase">
+        <xs:sequence>
+          <xs:element name="InProceedings" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Proceedings">
+    <xs:complexContent>
+      <xs:extension base="reference:PrintedUnitBase">
+        <xs:sequence>
+          <xs:element name="Organization" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Map">
+    <xs:complexContent>
+      <xs:extension base="reference:PublicationBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Patent">
+    <xs:complexContent>
+      <xs:extension base="reference:StrictReferenceBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="PersonalCommunication">
+    <xs:complexContent>
+      <xs:extension base="reference:StrictReferenceBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Report">
+    <xs:complexContent>
+      <xs:extension base="reference:PublicationBase">
+        <xs:sequence>
+          <xs:element name="Institution" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Thesis">
+    <xs:complexContent>
+      <xs:extension base="reference:PublicationBase">
+        <xs:sequence>
+          <xs:element name="School" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="WebPage">
+    <xs:complexContent>
+      <xs:extension base="reference:PublicationBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+</xs:schema>
+
diff --git a/cdmlib-io/src/main/resources/schema/cdm/taxon.xsd b/cdmlib-io/src/main/resources/schema/cdm/taxon.xsd
new file mode 100644 (file)
index 0000000..ab6883e
--- /dev/null
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema elementFormDefault="qualified" version="1.0" 
+  targetNamespace="http://etaxonomy.eu/cdm/model/taxon/1.0" 
+  xmlns:taxon="http://etaxonomy.eu/cdm/model/taxon/1.0" 
+  xmlns:reference="http://etaxonomy.eu/cdm/model/reference/1.0" 
+  xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0" 
+  xmlns:name="http://etaxonomy.eu/cdm/model/name/1.0" 
+  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
+  xmlns:description="http://etaxonomy.eu/cdm/model/description/1.0"
+  xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
+  xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
+  jxb:extensionBindingPrefixes="xjc"
+  jxb:version="2.1"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:schemaLocation="http://www.w3.org/XML/1998/namespace
+    http://www.w3.org/2005/08/xml.xsd
+    http://www.w3.org/2001/XMLSchema
+    http://www.w3.org/2001/XMLSchema.xsd">
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/common/1.0" schemaLocation="common.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/description/1.0" schemaLocation="description.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/name/1.0" schemaLocation="name.xsd"/>
+  <xs:import namespace="http://etaxonomy.eu/cdm/model/reference/1.0" schemaLocation="reference.xsd"/>
+  <xs:annotation>
+    <xs:appinfo>
+      <jxb:schemaBindings>
+        <jxb:package name="eu.etaxonomy.cdm.model.taxon"/>
+      </jxb:schemaBindings>
+    </xs:appinfo>
+  </xs:annotation>
+  <xs:element name="Synonym" type="taxon:Synonym"/>
+
+  <xs:element name="SynonymRelationship" type="taxon:SynonymRelationship"/>
+
+  <xs:element name="SynonymRelationshipType" type="taxon:SynonymRelationshipType"/>
+
+  <xs:element name="Taxon" type="taxon:Taxon"/>
+
+  <xs:element name="TaxonRelationship" type="taxon:TaxonRelationship"/>
+
+  <xs:element name="TaxonRelationshipType" type="taxon:TaxonRelationshipType"/>
+
+  <xs:complexType name="SynonymRelationshipType">
+    <xs:complexContent>
+      <xs:extension base="common:RelationshipTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="TaxonRelationshipType">
+    <xs:complexContent>
+      <xs:extension base="common:RelationshipTermBase">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Taxon">
+    <xs:complexContent>
+      <xs:extension base="taxon:TaxonBase">
+        <xs:sequence>
+          <xs:element name="TaxonomicParentCache" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="TaxonomicChildrenCount" type="xs:int"/>
+          <xs:element name="SynonymRelations" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element ref="taxon:SynonymRelationship" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="RelationsFromThisTaxon" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="FromThisTaxonRelationship" type="taxon:TaxonRelationship" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="RelationsToThisTaxon" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="ToThisTaxonRelationship" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+          <xs:element name="Descriptions" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="Description" type="description:TaxonDescription" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="TaxonBase" abstract="true">
+    <xs:complexContent>
+      <xs:extension base="common:IdentifiableEntity">
+        <xs:sequence>
+          <xs:element name="Name" type="xs:IDREF"/>
+          <xs:element name="Sec" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+        <xs:attribute name="isDoubtful" type="xs:boolean" use="required"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="SynonymRelationship">
+    <xs:complexContent>
+      <xs:extension base="common:RelationshipBase">
+        <xs:sequence>
+          <xs:element name="RelatedFrom" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="RelatedTo" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="Type" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="IsProParte" type="xs:boolean"/>
+          <xs:element name="IsPartial" type="xs:boolean"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="Synonym">
+    <xs:complexContent>
+      <xs:extension base="taxon:TaxonBase">
+        <xs:sequence>
+          <xs:element name="SynonymRelations" minOccurs="0">
+            <xs:complexType>
+              <xs:sequence>
+                <xs:element name="SynonymRelationship" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+              </xs:sequence>
+            </xs:complexType>
+          </xs:element>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="TaxonRelationship">
+    <xs:complexContent>
+      <xs:extension base="common:RelationshipBase">
+        <xs:sequence>
+          <xs:element name="RelatedFrom" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="RelatedTo" type="xs:IDREF" minOccurs="0"/>
+          <xs:element name="Type" type="xs:IDREF" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+</xs:schema>
+
diff --git a/cdmlib-io/src/main/resources/schema/xml/XMLSchema.xsd b/cdmlib-io/src/main/resources/schema/xml/XMLSchema.xsd
new file mode 100644 (file)
index 0000000..6bfb0e4
--- /dev/null
@@ -0,0 +1,2424 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!-- XML Schema schema for XML Schemas: Part 1: Structures -->\r
+<!-- Note this schema is NOT the normative structures schema. -->\r
+<!-- The prose copy in the structures REC is the normative -->\r
+<!-- version (which shouldn't differ from this one except for -->\r
+<!-- this comment and entity expansions, but just in case -->\r
+<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" [\r
+\r
+<!-- provide ID type information even for parsers which only read the\r
+     internal subset -->\r
+<!ATTLIST xs:schema          id  ID  #IMPLIED>\r
+<!ATTLIST xs:complexType     id  ID  #IMPLIED>\r
+<!ATTLIST xs:complexContent  id  ID  #IMPLIED>\r
+<!ATTLIST xs:simpleContent   id  ID  #IMPLIED>\r
+<!ATTLIST xs:extension       id  ID  #IMPLIED>\r
+<!ATTLIST xs:element         id  ID  #IMPLIED>\r
+<!ATTLIST xs:group           id  ID  #IMPLIED> \r
+<!ATTLIST xs:all             id  ID  #IMPLIED>\r
+<!ATTLIST xs:choice          id  ID  #IMPLIED>\r
+<!ATTLIST xs:sequence        id  ID  #IMPLIED>\r
+<!ATTLIST xs:any             id  ID  #IMPLIED>\r
+<!ATTLIST xs:anyAttribute    id  ID  #IMPLIED>\r
+<!ATTLIST xs:attribute       id  ID  #IMPLIED>\r
+<!ATTLIST xs:attributeGroup  id  ID  #IMPLIED>\r
+<!ATTLIST xs:unique          id  ID  #IMPLIED>\r
+<!ATTLIST xs:key             id  ID  #IMPLIED>\r
+<!ATTLIST xs:keyref          id  ID  #IMPLIED>\r
+<!ATTLIST xs:selector        id  ID  #IMPLIED>\r
+<!ATTLIST xs:field           id  ID  #IMPLIED>\r
+<!ATTLIST xs:include         id  ID  #IMPLIED>\r
+<!ATTLIST xs:import          id  ID  #IMPLIED>\r
+<!ATTLIST xs:redefine        id  ID  #IMPLIED>\r
+<!ATTLIST xs:notation        id  ID  #IMPLIED>\r
+<!--\r
+     keep this schema XML1.0 DTD valid\r
+  -->\r
+        <!ENTITY % schemaAttrs 'xmlns:hfp CDATA #IMPLIED'>\r
+\r
+        <!ELEMENT hfp:hasFacet EMPTY>\r
+        <!ATTLIST hfp:hasFacet\r
+                name NMTOKEN #REQUIRED>\r
+\r
+        <!ELEMENT hfp:hasProperty EMPTY>\r
+        <!ATTLIST hfp:hasProperty\r
+                name NMTOKEN #REQUIRED\r
+                value CDATA #REQUIRED>\r
+<!--\r
+        Make sure that processors that do not read the external\r
+        subset will know about the various IDs we declare\r
+  -->\r
+        <!ATTLIST xs:simpleType id ID #IMPLIED>\r
+        <!ATTLIST xs:maxExclusive id ID #IMPLIED>\r
+        <!ATTLIST xs:minExclusive id ID #IMPLIED>\r
+        <!ATTLIST xs:maxInclusive id ID #IMPLIED>\r
+        <!ATTLIST xs:minInclusive id ID #IMPLIED>\r
+        <!ATTLIST xs:totalDigits id ID #IMPLIED>\r
+        <!ATTLIST xs:fractionDigits id ID #IMPLIED>\r
+        <!ATTLIST xs:length id ID #IMPLIED>\r
+        <!ATTLIST xs:minLength id ID #IMPLIED>\r
+        <!ATTLIST xs:maxLength id ID #IMPLIED>\r
+        <!ATTLIST xs:enumeration id ID #IMPLIED>\r
+        <!ATTLIST xs:pattern id ID #IMPLIED>\r
+        <!ATTLIST xs:appinfo id ID #IMPLIED>\r
+        <!ATTLIST xs:documentation id ID #IMPLIED>\r
+        <!ATTLIST xs:list id ID #IMPLIED>\r
+        <!ATTLIST xs:union id ID #IMPLIED>\r
+        ]>\r
+<xs:schema targetNamespace="http://www.w3.org/2001/XMLSchema" blockDefault="#all" elementFormDefault="qualified" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="EN" xmlns:hfp="http://www.w3.org/2001/XMLSchema-hasFacetAndProperty">\r
+ <xs:annotation>\r
+  <xs:documentation>\r
+    Part 1 version: Id: structures.xsd,v 1.2 2004/01/15 11:34:25 ht Exp \r
+    Part 2 version: Id: datatypes.xsd,v 1.3 2004/01/23 18:11:13 ht Exp \r
+  </xs:documentation>\r
+ </xs:annotation>\r
+\r
+ <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/2004/PER-xmlschema-1-20040318/structures.html">\r
+   The schema corresponding to this document is normative,\r
+   with respect to the syntactic constraints it expresses in the\r
+   XML Schema language.  The documentation (within &lt;documentation&gt; elements)\r
+   below, is not normative, but rather highlights important aspects of\r
+   the W3C Recommendation of which this is a part</xs:documentation>\r
+ </xs:annotation>\r
+\r
+ <xs:annotation>\r
+   <xs:documentation>\r
+   The simpleType element and all of its members are defined\r
+      towards the end of this schema document</xs:documentation>\r
+ </xs:annotation>\r
+\r
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd">\r
+   <xs:annotation>\r
+     <xs:documentation>\r
+       Get access to the xml: attribute groups for xml:lang\r
+       as declared on 'schema' and 'documentation' below\r
+     </xs:documentation>\r
+   </xs:annotation>\r
+ </xs:import>\r
+\r
+ <xs:complexType name="openAttrs">\r
+   <xs:annotation>\r
+     <xs:documentation>\r
+       This type is extended by almost all schema types\r
+       to allow attributes from other namespaces to be\r
+       added to user schemas.\r
+     </xs:documentation>\r
+   </xs:annotation>\r
+   <xs:complexContent>\r
+     <xs:restriction base="xs:anyType">\r
+       <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+     </xs:restriction>\r
+   </xs:complexContent>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="annotated">\r
+   <xs:annotation>\r
+     <xs:documentation>\r
+       This type is extended by all types which allow annotation\r
+       other than &lt;schema&gt; itself\r
+     </xs:documentation>\r
+   </xs:annotation>\r
+   <xs:complexContent>\r
+     <xs:extension base="xs:openAttrs">\r
+       <xs:sequence>\r
+         <xs:element ref="xs:annotation" minOccurs="0"/>\r
+       </xs:sequence>\r
+       <xs:attribute name="id" type="xs:ID"/>\r
+     </xs:extension>\r
+   </xs:complexContent>\r
+ </xs:complexType>\r
+\r
+ <xs:group name="schemaTop">\r
+  <xs:annotation>\r
+   <xs:documentation>\r
+   This group is for the\r
+   elements which occur freely at the top level of schemas.\r
+   All of their types are based on the "annotated" type by extension.</xs:documentation>\r
+  </xs:annotation>\r
+  <xs:choice>\r
+   <xs:group ref="xs:redefinable"/>\r
+   <xs:element ref="xs:element"/>\r
+   <xs:element ref="xs:attribute"/>\r
+   <xs:element ref="xs:notation"/>\r
+  </xs:choice>\r
+ </xs:group>\r
\r
+ <xs:group name="redefinable">\r
+  <xs:annotation>\r
+   <xs:documentation>\r
+   This group is for the\r
+   elements which can self-redefine (see &lt;redefine&gt; below).</xs:documentation>\r
+  </xs:annotation>\r
+  <xs:choice>\r
+   <xs:element ref="xs:simpleType"/>\r
+   <xs:element ref="xs:complexType"/>\r
+   <xs:element ref="xs:group"/>\r
+   <xs:element ref="xs:attributeGroup"/>\r
+  </xs:choice>\r
+ </xs:group>\r
+\r
+ <xs:simpleType name="formChoice">\r
+  <xs:annotation>\r
+   <xs:documentation>\r
+   A utility type, not for public use</xs:documentation>\r
+  </xs:annotation>\r
+  <xs:restriction base="xs:NMTOKEN">\r
+   <xs:enumeration value="qualified"/>\r
+   <xs:enumeration value="unqualified"/>\r
+  </xs:restriction>\r
+ </xs:simpleType>\r
+\r
+ <xs:simpleType name="reducedDerivationControl">\r
+  <xs:annotation>\r
+   <xs:documentation>\r
+   A utility type, not for public use</xs:documentation>\r
+  </xs:annotation>\r
+  <xs:restriction base="xs:derivationControl">\r
+   <xs:enumeration value="extension"/>\r
+   <xs:enumeration value="restriction"/>\r
+  </xs:restriction>\r
+ </xs:simpleType>\r
+\r
+ <xs:simpleType name="derivationSet">\r
+  <xs:annotation>\r
+   <xs:documentation>\r
+   A utility type, not for public use</xs:documentation>\r
+   <xs:documentation>\r
+   #all or (possibly empty) subset of {extension, restriction}</xs:documentation>\r
+  </xs:annotation>\r
+  <xs:union>\r
+   <xs:simpleType>    \r
+    <xs:restriction base="xs:token">\r
+     <xs:enumeration value="#all"/>\r
+    </xs:restriction>\r
+   </xs:simpleType>\r
+   <xs:simpleType>\r
+    <xs:list itemType="xs:reducedDerivationControl"/>\r
+   </xs:simpleType>\r
+  </xs:union>\r
+ </xs:simpleType>\r
+\r
+ <xs:simpleType name="typeDerivationControl">\r
+  <xs:annotation>\r
+   <xs:documentation>\r
+   A utility type, not for public use</xs:documentation>\r
+  </xs:annotation>\r
+  <xs:restriction base="xs:derivationControl">\r
+   <xs:enumeration value="extension"/>\r
+   <xs:enumeration value="restriction"/>\r
+   <xs:enumeration value="list"/>\r
+   <xs:enumeration value="union"/>\r
+  </xs:restriction>\r
+ </xs:simpleType>\r
+\r
+  <xs:simpleType name="fullDerivationSet">\r
+  <xs:annotation>\r
+   <xs:documentation>\r
+   A utility type, not for public use</xs:documentation>\r
+   <xs:documentation>\r
+   #all or (possibly empty) subset of {extension, restriction, list, union}</xs:documentation>\r
+  </xs:annotation>\r
+  <xs:union>\r
+   <xs:simpleType>    \r
+    <xs:restriction base="xs:token">\r
+     <xs:enumeration value="#all"/>\r
+    </xs:restriction>\r
+   </xs:simpleType>\r
+   <xs:simpleType>\r
+    <xs:list itemType="xs:typeDerivationControl"/>\r
+   </xs:simpleType>\r
+  </xs:union>\r
+ </xs:simpleType>\r
+\r
+ <xs:element name="schema" id="schema">\r
+  <xs:annotation>\r
+    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-schema"/>\r
+  </xs:annotation>\r
+  <xs:complexType>\r
+   <xs:complexContent>\r
+    <xs:extension base="xs:openAttrs">\r
+     <xs:sequence>\r
+      <xs:choice minOccurs="0" maxOccurs="unbounded">\r
+       <xs:element ref="xs:include"/>\r
+       <xs:element ref="xs:import"/>\r
+       <xs:element ref="xs:redefine"/>\r
+       <xs:element ref="xs:annotation"/>\r
+      </xs:choice>\r
+      <xs:sequence minOccurs="0" maxOccurs="unbounded">\r
+       <xs:group ref="xs:schemaTop"/>\r
+       <xs:element ref="xs:annotation" minOccurs="0" maxOccurs="unbounded"/>\r
+      </xs:sequence>\r
+     </xs:sequence>\r
+     <xs:attribute name="targetNamespace" type="xs:anyURI"/>\r
+     <xs:attribute name="version" type="xs:token"/>\r
+     <xs:attribute name="finalDefault" type="xs:fullDerivationSet" use="optional" default=""/>\r
+     <xs:attribute name="blockDefault" type="xs:blockSet" use="optional" default=""/>\r
+     <xs:attribute name="attributeFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>\r
+     <xs:attribute name="elementFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>\r
+     <xs:attribute name="id" type="xs:ID"/>\r
+     <xs:attribute ref="xml:lang"/>\r
+    </xs:extension>\r
+   </xs:complexContent>\r
+  </xs:complexType>\r
+\r
+  <xs:key name="element">\r
+   <xs:selector xpath="xs:element"/>\r
+   <xs:field xpath="@name"/>\r
+  </xs:key>\r
+\r
+  <xs:key name="attribute">\r
+   <xs:selector xpath="xs:attribute"/>\r
+   <xs:field xpath="@name"/>\r
+  </xs:key>\r
+\r
+  <xs:key name="type">\r
+   <xs:selector xpath="xs:complexType|xs:simpleType"/>\r
+   <xs:field xpath="@name"/>\r
+  </xs:key>\r
\r
+  <xs:key name="group">\r
+   <xs:selector xpath="xs:group"/>\r
+   <xs:field xpath="@name"/>\r
+  </xs:key>\r
\r
+  <xs:key name="attributeGroup">\r
+   <xs:selector xpath="xs:attributeGroup"/>\r
+   <xs:field xpath="@name"/>\r
+  </xs:key>\r
\r
+  <xs:key name="notation">\r
+   <xs:selector xpath="xs:notation"/>\r
+   <xs:field xpath="@name"/>\r
+  </xs:key>\r
+\r
+  <xs:key name="identityConstraint">\r
+   <xs:selector xpath=".//xs:key|.//xs:unique|.//xs:keyref"/>\r
+   <xs:field xpath="@name"/>\r
+  </xs:key>\r
+\r
+ </xs:element>\r
+\r
+ <xs:simpleType name="allNNI">\r
+  <xs:annotation><xs:documentation>\r
+   for maxOccurs</xs:documentation></xs:annotation>\r
+  <xs:union memberTypes="xs:nonNegativeInteger">\r
+   <xs:simpleType>\r
+    <xs:restriction base="xs:NMTOKEN">\r
+     <xs:enumeration value="unbounded"/>\r
+    </xs:restriction>\r
+   </xs:simpleType>\r
+  </xs:union>\r
+ </xs:simpleType>\r
+\r
+ <xs:attributeGroup name="occurs">\r
+  <xs:annotation><xs:documentation>\r
+   for all particles</xs:documentation></xs:annotation>\r
+  <xs:attribute name="minOccurs" type="xs:nonNegativeInteger" use="optional" default="1"/>\r
+  <xs:attribute name="maxOccurs" type="xs:allNNI" use="optional" default="1"/>\r
+ </xs:attributeGroup>\r
+\r
+ <xs:attributeGroup name="defRef">\r
+  <xs:annotation><xs:documentation>\r
+   for element, group and attributeGroup,\r
+   which both define and reference</xs:documentation></xs:annotation>\r
+  <xs:attribute name="name" type="xs:NCName"/>\r
+  <xs:attribute name="ref" type="xs:QName"/>\r
+ </xs:attributeGroup>\r
+\r
+ <xs:group name="typeDefParticle">\r
+  <xs:annotation>\r
+    <xs:documentation>\r
+   'complexType' uses this</xs:documentation></xs:annotation>\r
+  <xs:choice>\r
+   <xs:element name="group" type="xs:groupRef"/>\r
+   <xs:element ref="xs:all"/>\r
+   <xs:element ref="xs:choice"/>\r
+   <xs:element ref="xs:sequence"/>\r
+  </xs:choice>\r
+ </xs:group>\r
\r
\r
+\r
+ <xs:group name="nestedParticle">\r
+  <xs:choice>\r
+   <xs:element name="element" type="xs:localElement"/>\r
+   <xs:element name="group" type="xs:groupRef"/>\r
+   <xs:element ref="xs:choice"/>\r
+   <xs:element ref="xs:sequence"/>\r
+   <xs:element ref="xs:any"/>\r
+  </xs:choice>\r
+ </xs:group>\r
\r
+ <xs:group name="particle">\r
+  <xs:choice>\r
+   <xs:element name="element" type="xs:localElement"/>\r
+   <xs:element name="group" type="xs:groupRef"/>\r
+   <xs:element ref="xs:all"/>\r
+   <xs:element ref="xs:choice"/>\r
+   <xs:element ref="xs:sequence"/>\r
+   <xs:element ref="xs:any"/>\r
+  </xs:choice>\r
+ </xs:group>\r
\r
+ <xs:complexType name="attribute">\r
+  <xs:complexContent>\r
+   <xs:extension base="xs:annotated">\r
+    <xs:sequence>\r
+     <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>\r
+    </xs:sequence>\r
+    <xs:attributeGroup ref="xs:defRef"/>\r
+    <xs:attribute name="type" type="xs:QName"/>\r
+    <xs:attribute name="use" use="optional" default="optional">\r
+     <xs:simpleType>\r
+      <xs:restriction base="xs:NMTOKEN">\r
+       <xs:enumeration value="prohibited"/>\r
+       <xs:enumeration value="optional"/>\r
+       <xs:enumeration value="required"/>\r
+      </xs:restriction>\r
+     </xs:simpleType>\r
+    </xs:attribute>\r
+    <xs:attribute name="default" type="xs:string"/>\r
+    <xs:attribute name="fixed" type="xs:string"/>\r
+    <xs:attribute name="form" type="xs:formChoice"/>\r
+   </xs:extension>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
\r
+ <xs:complexType name="topLevelAttribute">\r
+  <xs:complexContent>\r
+   <xs:restriction base="xs:attribute">\r
+    <xs:sequence>\r
+     <xs:element ref="xs:annotation" minOccurs="0"/>\r
+     <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>\r
+    </xs:sequence>\r
+    <xs:attribute name="ref" use="prohibited"/>\r
+    <xs:attribute name="form" use="prohibited"/>\r
+    <xs:attribute name="use" use="prohibited"/>\r
+    <xs:attribute name="name" use="required" type="xs:NCName"/>\r
+    <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+   </xs:restriction>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
+\r
+ <xs:group name="attrDecls">\r
+  <xs:sequence>\r
+   <xs:choice minOccurs="0" maxOccurs="unbounded">\r
+    <xs:element name="attribute" type="xs:attribute"/>\r
+    <xs:element name="attributeGroup" type="xs:attributeGroupRef"/>\r
+   </xs:choice>\r
+   <xs:element ref="xs:anyAttribute" minOccurs="0"/>\r
+  </xs:sequence>\r
+ </xs:group>\r
+\r
+ <xs:element name="anyAttribute" type="xs:wildcard" id="anyAttribute">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-anyAttribute"/>\r
+  </xs:annotation>\r
+ </xs:element>\r
+\r
+ <xs:group name="complexTypeModel">\r
+  <xs:choice>\r
+      <xs:element ref="xs:simpleContent"/>\r
+      <xs:element ref="xs:complexContent"/>\r
+      <xs:sequence>\r
+       <xs:annotation>\r
+        <xs:documentation>\r
+   This branch is short for\r
+   &lt;complexContent&gt;\r
+   &lt;restriction base="xs:anyType"&gt;\r
+   ...\r
+   &lt;/restriction&gt;\r
+   &lt;/complexContent&gt;</xs:documentation>\r
+       </xs:annotation>\r
+       <xs:group ref="xs:typeDefParticle" minOccurs="0"/>\r
+       <xs:group ref="xs:attrDecls"/>\r
+      </xs:sequence>\r
+  </xs:choice>\r
+ </xs:group>\r
+\r
+ <xs:complexType name="complexType" abstract="true">\r
+  <xs:complexContent>\r
+   <xs:extension base="xs:annotated">\r
+    <xs:group ref="xs:complexTypeModel"/>\r
+    <xs:attribute name="name" type="xs:NCName">\r
+     <xs:annotation>\r
+      <xs:documentation>\r
+      Will be restricted to required or forbidden</xs:documentation>\r
+     </xs:annotation>\r
+    </xs:attribute>\r
+    <xs:attribute name="mixed" type="xs:boolean" use="optional" default="false">\r
+     <xs:annotation>\r
+      <xs:documentation>\r
+      Not allowed if simpleContent child is chosen.\r
+      May be overriden by setting on complexContent child.</xs:documentation>\r
+    </xs:annotation>\r
+    </xs:attribute>\r
+    <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>\r
+    <xs:attribute name="final" type="xs:derivationSet"/>\r
+    <xs:attribute name="block" type="xs:derivationSet"/>\r
+   </xs:extension>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
\r
+ <xs:complexType name="topLevelComplexType">\r
+  <xs:complexContent>\r
+   <xs:restriction base="xs:complexType">\r
+    <xs:sequence>\r
+     <xs:element ref="xs:annotation" minOccurs="0"/>\r
+     <xs:group ref="xs:complexTypeModel"/>\r
+    </xs:sequence>\r
+    <xs:attribute name="name" type="xs:NCName" use="required"/>\r
+    <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+   </xs:restriction>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
\r
+ <xs:complexType name="localComplexType">\r
+  <xs:complexContent>\r
+   <xs:restriction base="xs:complexType">\r
+    <xs:sequence>\r
+     <xs:element ref="xs:annotation" minOccurs="0"/>\r
+     <xs:group ref="xs:complexTypeModel"/>\r
+    </xs:sequence>\r
+    <xs:attribute name="name" use="prohibited"/>\r
+    <xs:attribute name="abstract" use="prohibited"/>\r
+    <xs:attribute name="final" use="prohibited"/>\r
+    <xs:attribute name="block" use="prohibited"/>\r
+    <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+   </xs:restriction>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
\r
+ <xs:complexType name="restrictionType">\r
+  <xs:complexContent>\r
+   <xs:extension base="xs:annotated">\r
+    <xs:sequence>\r
+     <xs:choice minOccurs="0">\r
+      <xs:group ref="xs:typeDefParticle"/>\r
+      <xs:group ref="xs:simpleRestrictionModel"/>\r
+     </xs:choice>\r
+     <xs:group ref="xs:attrDecls"/>\r
+    </xs:sequence>\r
+    <xs:attribute name="base" type="xs:QName" use="required"/>\r
+   </xs:extension>\r
+  </xs:complexContent>       \r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="complexRestrictionType">\r
+  <xs:complexContent>\r
+   <xs:restriction base="xs:restrictionType">\r
+    <xs:sequence>\r
+     <xs:element ref="xs:annotation" minOccurs="0"/>\r
+     <xs:choice minOccurs="0">\r
+      <xs:annotation>\r
+       <xs:documentation>This choice is added simply to\r
+                   make this a valid restriction per the REC</xs:documentation>\r
+      </xs:annotation>\r
+      <xs:group ref="xs:typeDefParticle"/>\r
+     </xs:choice>\r
+     <xs:group ref="xs:attrDecls"/>\r
+    </xs:sequence>\r
+    <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+   </xs:restriction>\r
+  </xs:complexContent>       \r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="extensionType">\r
+  <xs:complexContent>\r
+   <xs:extension base="xs:annotated">\r
+    <xs:sequence>\r
+     <xs:group ref="xs:typeDefParticle" minOccurs="0"/>\r
+     <xs:group ref="xs:attrDecls"/>\r
+    </xs:sequence>\r
+    <xs:attribute name="base" type="xs:QName" use="required"/>\r
+   </xs:extension>\r
+  </xs:complexContent>       \r
+ </xs:complexType>\r
+\r
+ <xs:element name="complexContent" id="complexContent">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexContent"/>\r
+  </xs:annotation>\r
+  <xs:complexType>\r
+   <xs:complexContent>\r
+    <xs:extension base="xs:annotated">\r
+     <xs:choice>\r
+      <xs:element name="restriction" type="xs:complexRestrictionType"/>\r
+      <xs:element name="extension" type="xs:extensionType"/>\r
+     </xs:choice>     \r
+     <xs:attribute name="mixed" type="xs:boolean">\r
+      <xs:annotation>\r
+       <xs:documentation>\r
+       Overrides any setting on complexType parent.</xs:documentation>\r
+      </xs:annotation>\r
+    </xs:attribute>\r
+    </xs:extension>\r
+   </xs:complexContent>\r
+  </xs:complexType>\r
+ </xs:element>\r
+\r
+ <xs:complexType name="simpleRestrictionType">\r
+  <xs:complexContent>\r
+   <xs:restriction base="xs:restrictionType">\r
+    <xs:sequence>\r
+     <xs:element ref="xs:annotation" minOccurs="0"/>\r
+     <xs:choice minOccurs="0">\r
+      <xs:annotation>\r
+       <xs:documentation>This choice is added simply to\r
+                   make this a valid restriction per the REC</xs:documentation>\r
+      </xs:annotation>\r
+      <xs:group ref="xs:simpleRestrictionModel"/>\r
+     </xs:choice>\r
+     <xs:group ref="xs:attrDecls"/>\r
+    </xs:sequence>\r
+    <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+   </xs:restriction>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="simpleExtensionType">\r
+  <xs:complexContent>\r
+   <xs:restriction base="xs:extensionType">\r
+    <xs:sequence>\r
+     <xs:annotation>\r
+      <xs:documentation>\r
+      No typeDefParticle group reference</xs:documentation>\r
+     </xs:annotation>\r
+     <xs:element ref="xs:annotation" minOccurs="0"/>\r
+     <xs:group ref="xs:attrDecls"/>\r
+    </xs:sequence>\r
+    <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+   </xs:restriction>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
+\r
+ <xs:element name="simpleContent" id="simpleContent">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-simpleContent"/>\r
+  </xs:annotation>\r
+  <xs:complexType>\r
+   <xs:complexContent>\r
+    <xs:extension base="xs:annotated">\r
+     <xs:choice>\r
+      <xs:element name="restriction" type="xs:simpleRestrictionType"/>\r
+      <xs:element name="extension" type="xs:simpleExtensionType"/>\r
+     </xs:choice>\r
+    </xs:extension>\r
+   </xs:complexContent>\r
+  </xs:complexType>\r
+ </xs:element>\r
\r
+ <xs:element name="complexType" type="xs:topLevelComplexType" id="complexType">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexType"/>\r
+  </xs:annotation>\r
+ </xs:element>\r
+\r
+\r
+  <xs:simpleType name="blockSet">\r
+   <xs:annotation>\r
+    <xs:documentation>\r
+    A utility type, not for public use</xs:documentation>\r
+    <xs:documentation>\r
+    #all or (possibly empty) subset of {substitution, extension,\r
+    restriction}</xs:documentation>\r
+   </xs:annotation>\r
+   <xs:union>\r
+    <xs:simpleType>    \r
+     <xs:restriction base="xs:token">\r
+      <xs:enumeration value="#all"/>\r
+     </xs:restriction>\r
+    </xs:simpleType>\r
+    <xs:simpleType>\r
+     <xs:list>\r
+      <xs:simpleType>\r
+       <xs:restriction base="xs:derivationControl">\r
+        <xs:enumeration value="extension"/>\r
+        <xs:enumeration value="restriction"/>\r
+        <xs:enumeration value="substitution"/>\r
+       </xs:restriction>\r
+      </xs:simpleType>\r
+     </xs:list>\r
+    </xs:simpleType>\r
+   </xs:union>  \r
+  </xs:simpleType>\r
+\r
+ <xs:complexType name="element" abstract="true">\r
+  <xs:annotation>\r
+   <xs:documentation>\r
+   The element element can be used either\r
+   at the top level to define an element-type binding globally,\r
+   or within a content model to either reference a globally-defined\r
+   element or type or declare an element-type binding locally.\r
+   The ref form is not allowed at the top level.</xs:documentation>\r
+  </xs:annotation>\r
+\r
+  <xs:complexContent>\r
+   <xs:extension base="xs:annotated">\r
+    <xs:sequence>\r
+     <xs:choice minOccurs="0">\r
+      <xs:element name="simpleType" type="xs:localSimpleType"/>\r
+      <xs:element name="complexType" type="xs:localComplexType"/>\r
+     </xs:choice>\r
+     <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>\r
+    </xs:sequence>\r
+    <xs:attributeGroup ref="xs:defRef"/>\r
+    <xs:attribute name="type" type="xs:QName"/>\r
+    <xs:attribute name="substitutionGroup" type="xs:QName"/>\r
+    <xs:attributeGroup ref="xs:occurs"/>\r
+    <xs:attribute name="default" type="xs:string"/>\r
+    <xs:attribute name="fixed" type="xs:string"/>\r
+    <xs:attribute name="nillable" type="xs:boolean" use="optional" default="false"/>\r
+    <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>\r
+    <xs:attribute name="final" type="xs:derivationSet"/>\r
+    <xs:attribute name="block" type="xs:blockSet"/>\r
+    <xs:attribute name="form" type="xs:formChoice"/>\r
+   </xs:extension>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
\r
+ <xs:complexType name="topLevelElement">\r
+  <xs:complexContent>\r
+   <xs:restriction base="xs:element">\r
+    <xs:sequence>\r
+     <xs:element ref="xs:annotation" minOccurs="0"/>\r
+     <xs:choice minOccurs="0">\r
+      <xs:element name="simpleType" type="xs:localSimpleType"/>\r
+      <xs:element name="complexType" type="xs:localComplexType"/>\r
+     </xs:choice>\r
+     <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>\r
+    </xs:sequence>\r
+    <xs:attribute name="ref" use="prohibited"/>\r
+    <xs:attribute name="form" use="prohibited"/>\r
+    <xs:attribute name="minOccurs" use="prohibited"/>\r
+    <xs:attribute name="maxOccurs" use="prohibited"/>\r
+    <xs:attribute name="name" use="required" type="xs:NCName"/>\r
+    <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+   </xs:restriction>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
\r
+ <xs:complexType name="localElement">\r
+  <xs:complexContent>\r
+   <xs:restriction base="xs:element">\r
+    <xs:sequence>\r
+     <xs:element ref="xs:annotation" minOccurs="0"/>\r
+     <xs:choice minOccurs="0">\r
+      <xs:element name="simpleType" type="xs:localSimpleType"/>\r
+      <xs:element name="complexType" type="xs:localComplexType"/>\r
+     </xs:choice>\r
+     <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>\r
+    </xs:sequence>\r
+    <xs:attribute name="substitutionGroup" use="prohibited"/>\r
+    <xs:attribute name="final" use="prohibited"/>\r
+    <xs:attribute name="abstract" use="prohibited"/>\r
+    <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+   </xs:restriction>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
+\r
+ <xs:element name="element" type="xs:topLevelElement" id="element">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-element"/>\r
+  </xs:annotation>\r
+ </xs:element>\r
+\r
+ <xs:complexType name="group" abstract="true">\r
+  <xs:annotation>\r
+   <xs:documentation>\r
+   group type for explicit groups, named top-level groups and\r
+   group references</xs:documentation>\r
+  </xs:annotation>\r
+  <xs:complexContent>\r
+   <xs:extension base="xs:annotated">\r
+    <xs:group ref="xs:particle" minOccurs="0" maxOccurs="unbounded"/>\r
+    <xs:attributeGroup ref="xs:defRef"/>\r
+    <xs:attributeGroup ref="xs:occurs"/>\r
+   </xs:extension>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
\r
+ <xs:complexType name="realGroup">\r
+  <xs:complexContent>\r
+   <xs:restriction base="xs:group">\r
+    <xs:sequence>\r
+     <xs:element ref="xs:annotation" minOccurs="0"/>\r
+     <xs:choice minOccurs="0" maxOccurs="1">\r
+      <xs:element ref="xs:all"/>\r
+      <xs:element ref="xs:choice"/>\r
+      <xs:element ref="xs:sequence"/>\r
+     </xs:choice>\r
+    </xs:sequence>\r
+    <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+   </xs:restriction>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="namedGroup">\r
+  <xs:complexContent>\r
+   <xs:restriction base="xs:realGroup">\r
+    <xs:sequence>\r
+     <xs:element ref="xs:annotation" minOccurs="0"/>\r
+     <xs:choice minOccurs="1" maxOccurs="1">\r
+      <xs:element name="all">\r
+       <xs:complexType>\r
+        <xs:complexContent>\r
+         <xs:restriction base="xs:all">\r
+          <xs:group ref="xs:allModel"/>\r
+          <xs:attribute name="minOccurs" use="prohibited"/>\r
+          <xs:attribute name="maxOccurs" use="prohibited"/>\r
+          <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+         </xs:restriction>\r
+        </xs:complexContent>\r
+       </xs:complexType>\r
+      </xs:element>\r
+      <xs:element name="choice" type="xs:simpleExplicitGroup"/>\r
+      <xs:element name="sequence" type="xs:simpleExplicitGroup"/>\r
+     </xs:choice>\r
+    </xs:sequence>\r
+    <xs:attribute name="name" use="required" type="xs:NCName"/>\r
+    <xs:attribute name="ref" use="prohibited"/>\r
+    <xs:attribute name="minOccurs" use="prohibited"/>\r
+    <xs:attribute name="maxOccurs" use="prohibited"/>\r
+    <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+   </xs:restriction>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="groupRef">\r
+  <xs:complexContent>\r
+   <xs:restriction base="xs:realGroup">\r
+    <xs:sequence>\r
+     <xs:element ref="xs:annotation" minOccurs="0"/>\r
+    </xs:sequence>\r
+    <xs:attribute name="ref" use="required" type="xs:QName"/>\r
+    <xs:attribute name="name" use="prohibited"/>\r
+    <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+   </xs:restriction>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="explicitGroup">\r
+  <xs:annotation>\r
+   <xs:documentation>\r
+   group type for the three kinds of group</xs:documentation>\r
+  </xs:annotation>\r
+  <xs:complexContent>\r
+   <xs:restriction base="xs:group">\r
+    <xs:sequence>\r
+     <xs:element ref="xs:annotation" minOccurs="0"/>\r
+     <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>\r
+    </xs:sequence>\r
+    <xs:attribute name="name" type="xs:NCName" use="prohibited"/>\r
+    <xs:attribute name="ref" type="xs:QName" use="prohibited"/>\r
+    <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+   </xs:restriction>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
\r
+ <xs:complexType name="simpleExplicitGroup">\r
+  <xs:complexContent>\r
+   <xs:restriction base="xs:explicitGroup">\r
+    <xs:sequence>\r
+     <xs:element ref="xs:annotation" minOccurs="0"/>\r
+     <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>\r
+    </xs:sequence>\r
+    <xs:attribute name="minOccurs" use="prohibited"/>\r
+    <xs:attribute name="maxOccurs" use="prohibited"/>\r
+    <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+   </xs:restriction>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
\r
+ <xs:group name="allModel">\r
+  <xs:sequence>\r
+      <xs:element ref="xs:annotation" minOccurs="0"/>\r
+      <xs:choice minOccurs="0" maxOccurs="unbounded">\r
+       <xs:annotation>\r
+        <xs:documentation>This choice with min/max is here to\r
+                          avoid a pblm with the Elt:All/Choice/Seq\r
+                          Particle derivation constraint</xs:documentation>\r
+       </xs:annotation>\r
+       <xs:element name="element" type="xs:narrowMaxMin"/>\r
+      </xs:choice>\r
+     </xs:sequence>\r
+ </xs:group>\r
\r
\r
+ <xs:complexType name="narrowMaxMin">\r
+  <xs:annotation>\r
+   <xs:documentation>restricted max/min</xs:documentation>\r
+  </xs:annotation>\r
+  <xs:complexContent>\r
+   <xs:restriction base="xs:localElement">\r
+    <xs:sequence>\r
+     <xs:element ref="xs:annotation" minOccurs="0"/>\r
+     <xs:choice minOccurs="0">\r
+      <xs:element name="simpleType" type="xs:localSimpleType"/>\r
+      <xs:element name="complexType" type="xs:localComplexType"/>\r
+     </xs:choice>\r
+     <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>\r
+    </xs:sequence>\r
+    <xs:attribute name="minOccurs" use="optional" default="1">\r
+     <xs:simpleType>\r
+      <xs:restriction base="xs:nonNegativeInteger">\r
+       <xs:enumeration value="0"/>\r
+       <xs:enumeration value="1"/>\r
+      </xs:restriction>\r
+     </xs:simpleType>\r
+    </xs:attribute>\r
+    <xs:attribute name="maxOccurs" use="optional" default="1">\r
+     <xs:simpleType>\r
+      <xs:restriction base="xs:allNNI">\r
+       <xs:enumeration value="0"/>\r
+       <xs:enumeration value="1"/>\r
+      </xs:restriction>\r
+     </xs:simpleType>\r
+    </xs:attribute>\r
+    <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+   </xs:restriction>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
+\r
+  <xs:complexType name="all">\r
+   <xs:annotation>\r
+    <xs:documentation>\r
+   Only elements allowed inside</xs:documentation>\r
+   </xs:annotation>\r
+   <xs:complexContent>\r
+    <xs:restriction base="xs:explicitGroup">\r
+     <xs:group ref="xs:allModel"/>\r
+     <xs:attribute name="minOccurs" use="optional" default="1">\r
+      <xs:simpleType>\r
+       <xs:restriction base="xs:nonNegativeInteger">\r
+        <xs:enumeration value="0"/>\r
+        <xs:enumeration value="1"/>\r
+       </xs:restriction>\r
+      </xs:simpleType>\r
+     </xs:attribute>\r
+     <xs:attribute name="maxOccurs" use="optional" default="1">\r
+      <xs:simpleType>\r
+       <xs:restriction base="xs:allNNI">\r
+        <xs:enumeration value="1"/>\r
+       </xs:restriction>\r
+      </xs:simpleType>\r
+     </xs:attribute>\r
+     <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+    </xs:restriction>\r
+   </xs:complexContent>\r
+  </xs:complexType>\r
+\r
+ <xs:element name="all" id="all" type="xs:all">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-all"/>\r
+  </xs:annotation>\r
+ </xs:element>\r
+\r
+ <xs:element name="choice" type="xs:explicitGroup" id="choice">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-choice"/>\r
+  </xs:annotation>\r
+ </xs:element>\r
+\r
+ <xs:element name="sequence" type="xs:explicitGroup" id="sequence">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-sequence"/>\r
+  </xs:annotation>\r
+ </xs:element>\r
+\r
+ <xs:element name="group" type="xs:namedGroup" id="group">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-group"/>\r
+  </xs:annotation>\r
+ </xs:element>\r
+\r
+ <xs:complexType name="wildcard">\r
+  <xs:complexContent>\r
+   <xs:extension base="xs:annotated">\r
+    <xs:attribute name="namespace" type="xs:namespaceList" use="optional" default="##any"/>\r
+    <xs:attribute name="processContents" use="optional" default="strict">\r
+     <xs:simpleType>\r
+      <xs:restriction base="xs:NMTOKEN">\r
+       <xs:enumeration value="skip"/>\r
+       <xs:enumeration value="lax"/>\r
+       <xs:enumeration value="strict"/>\r
+      </xs:restriction>\r
+     </xs:simpleType>\r
+    </xs:attribute>\r
+   </xs:extension>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
+\r
+ <xs:element name="any" id="any">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-any"/>\r
+  </xs:annotation>\r
+  <xs:complexType>\r
+   <xs:complexContent>\r
+    <xs:extension base="xs:wildcard">\r
+     <xs:attributeGroup ref="xs:occurs"/>\r
+    </xs:extension>\r
+   </xs:complexContent>\r
+  </xs:complexType>\r
+ </xs:element>\r
+\r
+  <xs:annotation>\r
+   <xs:documentation>\r
+   simple type for the value of the 'namespace' attr of\r
+   'any' and 'anyAttribute'</xs:documentation>\r
+  </xs:annotation>\r
+  <xs:annotation>\r
+   <xs:documentation>\r
+   Value is\r
+              ##any      - - any non-conflicting WFXML/attribute at all\r
+\r
+              ##other    - - any non-conflicting WFXML/attribute from\r
+                              namespace other than targetNS\r
+\r
+              ##local    - - any unqualified non-conflicting WFXML/attribute \r
+\r
+              one or     - - any non-conflicting WFXML/attribute from\r
+              more URI        the listed namespaces\r
+              references\r
+              (space separated)\r
+\r
+    ##targetNamespace or ##local may appear in the above list, to\r
+        refer to the targetNamespace of the enclosing\r
+        schema or an absent targetNamespace respectively</xs:documentation>\r
+  </xs:annotation>\r
+\r
+ <xs:simpleType name="namespaceList">\r
+  <xs:annotation>\r
+   <xs:documentation>\r
+   A utility type, not for public use</xs:documentation>\r
+  </xs:annotation>\r
+  <xs:union>\r
+   <xs:simpleType>\r
+    <xs:restriction base="xs:token">\r
+     <xs:enumeration value="##any"/>\r
+     <xs:enumeration value="##other"/>\r
+    </xs:restriction>\r
+   </xs:simpleType>\r
+   <xs:simpleType>\r
+    <xs:list>\r
+     <xs:simpleType>\r
+      <xs:union memberTypes="xs:anyURI">\r
+       <xs:simpleType>\r
+        <xs:restriction base="xs:token">\r
+         <xs:enumeration value="##targetNamespace"/>\r
+         <xs:enumeration value="##local"/>\r
+        </xs:restriction>\r
+       </xs:simpleType>\r
+      </xs:union>\r
+     </xs:simpleType>\r
+    </xs:list>\r
+   </xs:simpleType>\r
+  </xs:union>\r
+ </xs:simpleType>\r
+\r
+ <xs:element name="attribute" type="xs:topLevelAttribute" id="attribute">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attribute"/>\r
+  </xs:annotation>\r
+ </xs:element>\r
+\r
+ <xs:complexType name="attributeGroup" abstract="true">\r
+  <xs:complexContent>\r
+   <xs:extension base="xs:annotated">\r
+    <xs:group ref="xs:attrDecls"/>\r
+    <xs:attributeGroup ref="xs:defRef"/>\r
+   </xs:extension>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
\r
+ <xs:complexType name="namedAttributeGroup">\r
+  <xs:complexContent>\r
+   <xs:restriction base="xs:attributeGroup">\r
+    <xs:sequence>\r
+     <xs:element ref="xs:annotation" minOccurs="0"/>\r
+     <xs:group ref="xs:attrDecls"/>\r
+    </xs:sequence>\r
+    <xs:attribute name="name" use="required" type="xs:NCName"/>\r
+    <xs:attribute name="ref" use="prohibited"/>\r
+    <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+   </xs:restriction>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
+\r
+ <xs:complexType name="attributeGroupRef">\r
+  <xs:complexContent>\r
+   <xs:restriction base="xs:attributeGroup">\r
+    <xs:sequence>\r
+     <xs:element ref="xs:annotation" minOccurs="0"/>\r
+    </xs:sequence>\r
+    <xs:attribute name="ref" use="required" type="xs:QName"/>\r
+    <xs:attribute name="name" use="prohibited"/>\r
+    <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+   </xs:restriction>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
+\r
+ <xs:element name="attributeGroup" type="xs:namedAttributeGroup" id="attributeGroup">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attributeGroup"/>\r
+  </xs:annotation>\r
+ </xs:element>\r
+\r
+ <xs:element name="include" id="include">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-include"/>\r
+  </xs:annotation>\r
+  <xs:complexType>\r
+   <xs:complexContent>\r
+    <xs:extension base="xs:annotated">\r
+     <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>\r
+    </xs:extension>\r
+   </xs:complexContent>\r
+  </xs:complexType>\r
+ </xs:element>\r
+\r
+ <xs:element name="redefine" id="redefine">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-redefine"/>\r
+  </xs:annotation>\r
+  <xs:complexType>\r
+   <xs:complexContent>\r
+    <xs:extension base="xs:openAttrs">\r
+     <xs:choice minOccurs="0" maxOccurs="unbounded">\r
+      <xs:element ref="xs:annotation"/>\r
+      <xs:group ref="xs:redefinable"/>\r
+     </xs:choice>\r
+     <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>\r
+     <xs:attribute name="id" type="xs:ID"/>\r
+    </xs:extension>\r
+   </xs:complexContent>\r
+  </xs:complexType>\r
+ </xs:element>\r
+\r
+ <xs:element name="import" id="import">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-import"/>\r
+  </xs:annotation>\r
+  <xs:complexType>\r
+   <xs:complexContent>\r
+    <xs:extension base="xs:annotated">\r
+     <xs:attribute name="namespace" type="xs:anyURI"/>\r
+     <xs:attribute name="schemaLocation" type="xs:anyURI"/>\r
+    </xs:extension>\r
+   </xs:complexContent>\r
+  </xs:complexType>\r
+ </xs:element>\r
+\r
+ <xs:element name="selector" id="selector">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-selector"/>\r
+  </xs:annotation>\r
+  <xs:complexType>\r
+  <xs:complexContent>\r
+   <xs:extension base="xs:annotated">\r
+     <xs:attribute name="xpath" use="required">\r
+      <xs:simpleType>\r
+       <xs:annotation>\r
+        <xs:documentation>A subset of XPath expressions for use\r
+in selectors</xs:documentation>\r
+        <xs:documentation>A utility type, not for public\r
+use</xs:documentation>\r
+       </xs:annotation>\r
+       <xs:restriction base="xs:token">\r
+        <xs:annotation>\r
+         <xs:documentation>The following pattern is intended to allow XPath\r
+                           expressions per the following EBNF:\r
+          Selector    ::=    Path ( '|' Path )*  \r
+          Path    ::=    ('.//')? Step ( '/' Step )*  \r
+          Step    ::=    '.' | NameTest  \r
+          NameTest    ::=    QName | '*' | NCName ':' '*'  \r
+                           child:: is also allowed\r
+         </xs:documentation>\r
+        </xs:annotation>\r
+        <xs:pattern value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*">\r
+        </xs:pattern>\r
+       </xs:restriction>\r
+      </xs:simpleType>\r
+     </xs:attribute>\r
+   </xs:extension>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
+ </xs:element>\r
+\r
+ <xs:element name="field" id="field">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-field"/>\r
+  </xs:annotation>\r
+  <xs:complexType>\r
+  <xs:complexContent>\r
+   <xs:extension base="xs:annotated">\r
+     <xs:attribute name="xpath" use="required">\r
+      <xs:simpleType>\r
+       <xs:annotation>\r
+        <xs:documentation>A subset of XPath expressions for use\r
+in fields</xs:documentation>\r
+        <xs:documentation>A utility type, not for public\r
+use</xs:documentation>\r
+       </xs:annotation>\r
+       <xs:restriction base="xs:token">\r
+        <xs:annotation>\r
+         <xs:documentation>The following pattern is intended to allow XPath\r
+                           expressions per the same EBNF as for selector,\r
+                           with the following change:\r
+          Path    ::=    ('.//')? ( Step '/' )* ( Step | '@' NameTest ) \r
+         </xs:documentation>\r
+        </xs:annotation>\r
+        <xs:pattern value="(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*))))(\|(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*)))))*">\r
+        </xs:pattern>\r
+       </xs:restriction>\r
+      </xs:simpleType>\r
+     </xs:attribute>\r
+   </xs:extension>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
+ </xs:element>\r
+\r
+ <xs:complexType name="keybase">\r
+  <xs:complexContent>\r
+   <xs:extension base="xs:annotated">\r
+    <xs:sequence>\r
+     <xs:element ref="xs:selector"/>\r
+     <xs:element ref="xs:field" minOccurs="1" maxOccurs="unbounded"/>\r
+    </xs:sequence>\r
+    <xs:attribute name="name" type="xs:NCName" use="required"/>\r
+   </xs:extension>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
+\r
+ <xs:group name="identityConstraint">\r
+  <xs:annotation>\r
+   <xs:documentation>The three kinds of identity constraints, all with\r
+                     type of or derived from 'keybase'.\r
+   </xs:documentation>\r
+  </xs:annotation>\r
+  <xs:choice>\r
+   <xs:element ref="xs:unique"/>\r
+   <xs:element ref="xs:key"/>\r
+   <xs:element ref="xs:keyref"/>\r
+  </xs:choice>\r
+ </xs:group>\r
+\r
+ <xs:element name="unique" type="xs:keybase" id="unique">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-unique"/>\r
+  </xs:annotation>\r
+ </xs:element>\r
+ <xs:element name="key" type="xs:keybase" id="key">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-key"/>\r
+  </xs:annotation>\r
+ </xs:element>\r
+ <xs:element name="keyref" id="keyref">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-keyref"/>\r
+  </xs:annotation>\r
+  <xs:complexType>\r
+   <xs:complexContent>\r
+    <xs:extension base="xs:keybase">\r
+     <xs:attribute name="refer" type="xs:QName" use="required"/>\r
+    </xs:extension>\r
+   </xs:complexContent>\r
+  </xs:complexType>\r
+ </xs:element>\r
+\r
+ <xs:element name="notation" id="notation">\r
+  <xs:annotation>\r
+   <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-notation"/>\r
+  </xs:annotation>\r
+  <xs:complexType>\r
+   <xs:complexContent>\r
+    <xs:extension base="xs:annotated">\r
+     <xs:attribute name="name" type="xs:NCName" use="required"/>\r
+     <xs:attribute name="public" type="xs:public"/>\r
+     <xs:attribute name="system" type="xs:anyURI"/>\r
+    </xs:extension>\r
+   </xs:complexContent>\r
+  </xs:complexType>\r
+ </xs:element>\r
+\r
+ <xs:simpleType name="public">\r
+  <xs:annotation>\r
+   <xs:documentation>\r
+   A utility type, not for public use</xs:documentation>\r
+   <xs:documentation>\r
+   A public identifier, per ISO 8879</xs:documentation>\r
+  </xs:annotation>\r
+  <xs:restriction base="xs:token"/>\r
+ </xs:simpleType>\r
+\r
+ <xs:element name="appinfo" id="appinfo">\r
+   <xs:annotation>\r
+     <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-appinfo"/>\r
+   </xs:annotation>\r
+   <xs:complexType mixed="true">\r
+    <xs:sequence minOccurs="0" maxOccurs="unbounded">\r
+     <xs:any processContents="lax"/>\r
+    </xs:sequence>\r
+    <xs:attribute name="source" type="xs:anyURI"/>\r
+    <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+   </xs:complexType>\r
+ </xs:element>\r
+\r
+ <xs:element name="documentation" id="documentation">\r
+   <xs:annotation>\r
+     <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-documentation"/>\r
+   </xs:annotation>\r
+   <xs:complexType mixed="true">\r
+    <xs:sequence minOccurs="0" maxOccurs="unbounded">\r
+     <xs:any processContents="lax"/>\r
+    </xs:sequence>\r
+    <xs:attribute name="source" type="xs:anyURI"/>\r
+    <xs:attribute ref="xml:lang"/>\r
+    <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+   </xs:complexType>\r
+ </xs:element>\r
+\r
+ <xs:element name="annotation" id="annotation">\r
+   <xs:annotation>\r
+     <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-annotation"/>\r
+   </xs:annotation>\r
+   <xs:complexType>\r
+    <xs:complexContent>\r
+     <xs:extension base="xs:openAttrs">\r
+      <xs:choice minOccurs="0" maxOccurs="unbounded">\r
+       <xs:element ref="xs:appinfo"/>\r
+       <xs:element ref="xs:documentation"/>\r
+      </xs:choice>\r
+      <xs:attribute name="id" type="xs:ID"/>\r
+     </xs:extension>\r
+    </xs:complexContent>\r
+   </xs:complexType>\r
+ </xs:element>\r
+\r
+ <xs:annotation>\r
+  <xs:documentation>\r
+   notations for use within XML Schema schemas</xs:documentation>\r
+ </xs:annotation>\r
+\r
+ <xs:notation name="XMLSchemaStructures" public="structures" system="http://www.w3.org/2000/08/XMLSchema.xsd"/>\r
+ <xs:notation name="XML" public="REC-xml-19980210" system="http://www.w3.org/TR/1998/REC-xml-19980210"/>\r
+  \r
+ <xs:complexType name="anyType" mixed="true">\r
+  <xs:annotation>\r
+   <xs:documentation>\r
+   Not the real urType, but as close an approximation as we can\r
+   get in the XML representation</xs:documentation>\r
+  </xs:annotation>\r
+  <xs:sequence>\r
+   <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>\r
+  </xs:sequence>\r
+  <xs:anyAttribute processContents="lax"/>\r
+ </xs:complexType>\r
+\r
+  <xs:annotation>\r
+    <xs:documentation>\r
+      First the built-in primitive datatypes.  These definitions are for\r
+      information only, the real built-in definitions are magic.\r
+    </xs:documentation>\r
+\r
+    <xs:documentation>\r
+      For each built-in datatype in this schema (both primitive and\r
+      derived) can be uniquely addressed via a URI constructed\r
+      as follows:\r
+        1) the base URI is the URI of the XML Schema namespace\r
+        2) the fragment identifier is the name of the datatype\r
+\r
+      For example, to address the int datatype, the URI is:\r
+\r
+        http://www.w3.org/2001/XMLSchema#int\r
+\r
+      Additionally, each facet definition element can be uniquely\r
+      addressed via a URI constructed as follows:\r
+        1) the base URI is the URI of the XML Schema namespace\r
+        2) the fragment identifier is the name of the facet\r
+\r
+      For example, to address the maxInclusive facet, the URI is:\r
+\r
+        http://www.w3.org/2001/XMLSchema#maxInclusive\r
+\r
+      Additionally, each facet usage in a built-in datatype definition\r
+      can be uniquely addressed via a URI constructed as follows:\r
+        1) the base URI is the URI of the XML Schema namespace\r
+        2) the fragment identifier is the name of the datatype, followed\r
+           by a period (".") followed by the name of the facet\r
+\r
+      For example, to address the usage of the maxInclusive facet in\r
+      the definition of int, the URI is:\r
+\r
+        http://www.w3.org/2001/XMLSchema#int.maxInclusive\r
+\r
+    </xs:documentation>\r
+  </xs:annotation>\r
+\r
+  <xs:simpleType name="string" id="string">\r
+    <xs:annotation>\r
+      <xs:appinfo>\r
+        <hfp:hasFacet name="length"/>\r
+        <hfp:hasFacet name="minLength"/>\r
+        <hfp:hasFacet name="maxLength"/>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasProperty name="ordered" value="false"/>\r
+        <hfp:hasProperty name="bounded" value="false"/>\r
+        <hfp:hasProperty name="cardinality" value="countably infinite"/>\r
+        <hfp:hasProperty name="numeric" value="false"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#string"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:anySimpleType">\r
+      <xs:whiteSpace value="preserve" id="string.preserve"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="boolean" id="boolean">\r
+    <xs:annotation>\r
+      <xs:appinfo>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasProperty name="ordered" value="false"/>\r
+        <hfp:hasProperty name="bounded" value="false"/>\r
+        <hfp:hasProperty name="cardinality" value="finite"/>\r
+        <hfp:hasProperty name="numeric" value="false"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#boolean"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:anySimpleType">\r
+      <xs:whiteSpace value="collapse" fixed="true" id="boolean.whiteSpace"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="float" id="float">\r
+    <xs:annotation>\r
+      <xs:appinfo>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasFacet name="maxInclusive"/>\r
+        <hfp:hasFacet name="maxExclusive"/>\r
+        <hfp:hasFacet name="minInclusive"/>\r
+        <hfp:hasFacet name="minExclusive"/>\r
+        <hfp:hasProperty name="ordered" value="total"/>\r
+        <hfp:hasProperty name="bounded" value="true"/>\r
+        <hfp:hasProperty name="cardinality" value="finite"/>\r
+        <hfp:hasProperty name="numeric" value="true"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#float"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:anySimpleType">\r
+      <xs:whiteSpace value="collapse" fixed="true" id="float.whiteSpace"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="double" id="double">\r
+    <xs:annotation>\r
+      <xs:appinfo>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasFacet name="maxInclusive"/>\r
+        <hfp:hasFacet name="maxExclusive"/>\r
+        <hfp:hasFacet name="minInclusive"/>\r
+        <hfp:hasFacet name="minExclusive"/>\r
+        <hfp:hasProperty name="ordered" value="total"/>\r
+        <hfp:hasProperty name="bounded" value="true"/>\r
+        <hfp:hasProperty name="cardinality" value="finite"/>\r
+        <hfp:hasProperty name="numeric" value="true"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#double"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:anySimpleType">\r
+      <xs:whiteSpace value="collapse" fixed="true" id="double.whiteSpace"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="decimal" id="decimal">\r
+    <xs:annotation>\r
+      <xs:appinfo>\r
+        <hfp:hasFacet name="totalDigits"/>\r
+        <hfp:hasFacet name="fractionDigits"/>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="maxInclusive"/>\r
+        <hfp:hasFacet name="maxExclusive"/>\r
+        <hfp:hasFacet name="minInclusive"/>\r
+        <hfp:hasFacet name="minExclusive"/>\r
+        <hfp:hasProperty name="ordered" value="total"/>\r
+        <hfp:hasProperty name="bounded" value="false"/>\r
+        <hfp:hasProperty name="cardinality" value="countably infinite"/>\r
+        <hfp:hasProperty name="numeric" value="true"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#decimal"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:anySimpleType">\r
+      <xs:whiteSpace value="collapse" fixed="true" id="decimal.whiteSpace"/>\r
+    </xs:restriction>\r
+   </xs:simpleType>\r
+\r
+   <xs:simpleType name="duration" id="duration">\r
+    <xs:annotation>\r
+      <xs:appinfo>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasFacet name="maxInclusive"/>\r
+        <hfp:hasFacet name="maxExclusive"/>\r
+        <hfp:hasFacet name="minInclusive"/>\r
+        <hfp:hasFacet name="minExclusive"/>\r
+        <hfp:hasProperty name="ordered" value="partial"/>\r
+        <hfp:hasProperty name="bounded" value="false"/>\r
+        <hfp:hasProperty name="cardinality" value="countably infinite"/>\r
+        <hfp:hasProperty name="numeric" value="false"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#duration"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:anySimpleType">\r
+      <xs:whiteSpace value="collapse" fixed="true" id="duration.whiteSpace"/>\r
+    </xs:restriction>\r
+   </xs:simpleType>\r
+\r
+ <xs:simpleType name="dateTime" id="dateTime">\r
+    <xs:annotation>\r
+    <xs:appinfo>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasFacet name="maxInclusive"/>\r
+        <hfp:hasFacet name="maxExclusive"/>\r
+        <hfp:hasFacet name="minInclusive"/>\r
+        <hfp:hasFacet name="minExclusive"/>\r
+        <hfp:hasProperty name="ordered" value="partial"/>\r
+        <hfp:hasProperty name="bounded" value="false"/>\r
+        <hfp:hasProperty name="cardinality" value="countably infinite"/>\r
+        <hfp:hasProperty name="numeric" value="false"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#dateTime"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:anySimpleType">\r
+      <xs:whiteSpace value="collapse" fixed="true" id="dateTime.whiteSpace"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="time" id="time">\r
+    <xs:annotation>\r
+    <xs:appinfo>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasFacet name="maxInclusive"/>\r
+        <hfp:hasFacet name="maxExclusive"/>\r
+        <hfp:hasFacet name="minInclusive"/>\r
+        <hfp:hasFacet name="minExclusive"/>\r
+        <hfp:hasProperty name="ordered" value="partial"/>\r
+        <hfp:hasProperty name="bounded" value="false"/>\r
+        <hfp:hasProperty name="cardinality" value="countably infinite"/>\r
+        <hfp:hasProperty name="numeric" value="false"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#time"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:anySimpleType">\r
+      <xs:whiteSpace value="collapse" fixed="true" id="time.whiteSpace"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="date" id="date">\r
+   <xs:annotation>\r
+    <xs:appinfo>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasFacet name="maxInclusive"/>\r
+        <hfp:hasFacet name="maxExclusive"/>\r
+        <hfp:hasFacet name="minInclusive"/>\r
+        <hfp:hasFacet name="minExclusive"/>\r
+        <hfp:hasProperty name="ordered" value="partial"/>\r
+        <hfp:hasProperty name="bounded" value="false"/>\r
+        <hfp:hasProperty name="cardinality" value="countably infinite"/>\r
+        <hfp:hasProperty name="numeric" value="false"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#date"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:anySimpleType">\r
+      <xs:whiteSpace value="collapse" fixed="true" id="date.whiteSpace"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="gYearMonth" id="gYearMonth">\r
+   <xs:annotation>\r
+    <xs:appinfo>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasFacet name="maxInclusive"/>\r
+        <hfp:hasFacet name="maxExclusive"/>\r
+        <hfp:hasFacet name="minInclusive"/>\r
+        <hfp:hasFacet name="minExclusive"/>\r
+        <hfp:hasProperty name="ordered" value="partial"/>\r
+        <hfp:hasProperty name="bounded" value="false"/>\r
+        <hfp:hasProperty name="cardinality" value="countably infinite"/>\r
+        <hfp:hasProperty name="numeric" value="false"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#gYearMonth"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:anySimpleType">\r
+      <xs:whiteSpace value="collapse" fixed="true" id="gYearMonth.whiteSpace"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="gYear" id="gYear">\r
+    <xs:annotation>\r
+    <xs:appinfo>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasFacet name="maxInclusive"/>\r
+        <hfp:hasFacet name="maxExclusive"/>\r
+        <hfp:hasFacet name="minInclusive"/>\r
+        <hfp:hasFacet name="minExclusive"/>\r
+        <hfp:hasProperty name="ordered" value="partial"/>\r
+        <hfp:hasProperty name="bounded" value="false"/>\r
+        <hfp:hasProperty name="cardinality" value="countably infinite"/>\r
+        <hfp:hasProperty name="numeric" value="false"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#gYear"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:anySimpleType">\r
+      <xs:whiteSpace value="collapse" fixed="true" id="gYear.whiteSpace"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+ <xs:simpleType name="gMonthDay" id="gMonthDay">\r
+    <xs:annotation>\r
+      <xs:appinfo>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasFacet name="maxInclusive"/>\r
+        <hfp:hasFacet name="maxExclusive"/>\r
+        <hfp:hasFacet name="minInclusive"/>\r
+        <hfp:hasFacet name="minExclusive"/>\r
+        <hfp:hasProperty name="ordered" value="partial"/>\r
+        <hfp:hasProperty name="bounded" value="false"/>\r
+        <hfp:hasProperty name="cardinality" value="countably infinite"/>\r
+        <hfp:hasProperty name="numeric" value="false"/>\r
+      </xs:appinfo>\r
+       <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#gMonthDay"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:anySimpleType">\r
+         <xs:whiteSpace value="collapse" fixed="true" id="gMonthDay.whiteSpace"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="gDay" id="gDay">\r
+    <xs:annotation>\r
+  <xs:appinfo>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasFacet name="maxInclusive"/>\r
+        <hfp:hasFacet name="maxExclusive"/>\r
+        <hfp:hasFacet name="minInclusive"/>\r
+        <hfp:hasFacet name="minExclusive"/>\r
+        <hfp:hasProperty name="ordered" value="partial"/>\r
+        <hfp:hasProperty name="bounded" value="false"/>\r
+        <hfp:hasProperty name="cardinality" value="countably infinite"/>\r
+        <hfp:hasProperty name="numeric" value="false"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#gDay"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:anySimpleType">\r
+         <xs:whiteSpace value="collapse" fixed="true" id="gDay.whiteSpace"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+ <xs:simpleType name="gMonth" id="gMonth">\r
+    <xs:annotation>\r
+  <xs:appinfo>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasFacet name="maxInclusive"/>\r
+        <hfp:hasFacet name="maxExclusive"/>\r
+        <hfp:hasFacet name="minInclusive"/>\r
+        <hfp:hasFacet name="minExclusive"/>\r
+        <hfp:hasProperty name="ordered" value="partial"/>\r
+        <hfp:hasProperty name="bounded" value="false"/>\r
+        <hfp:hasProperty name="cardinality" value="countably infinite"/>\r
+        <hfp:hasProperty name="numeric" value="false"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#gMonth"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:anySimpleType">\r
+         <xs:whiteSpace value="collapse" fixed="true" id="gMonth.whiteSpace"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+   <xs:simpleType name="hexBinary" id="hexBinary">\r
+    <xs:annotation>\r
+      <xs:appinfo>\r
+        <hfp:hasFacet name="length"/>\r
+        <hfp:hasFacet name="minLength"/>\r
+        <hfp:hasFacet name="maxLength"/>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasProperty name="ordered" value="false"/>\r
+        <hfp:hasProperty name="bounded" value="false"/>\r
+        <hfp:hasProperty name="cardinality" value="countably infinite"/>\r
+        <hfp:hasProperty name="numeric" value="false"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#binary"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:anySimpleType">\r
+      <xs:whiteSpace value="collapse" fixed="true" id="hexBinary.whiteSpace"/>\r
+    </xs:restriction>\r
+   </xs:simpleType>\r
+\r
+ <xs:simpleType name="base64Binary" id="base64Binary">\r
+    <xs:annotation>\r
+      <xs:appinfo>\r
+        <hfp:hasFacet name="length"/>\r
+        <hfp:hasFacet name="minLength"/>\r
+        <hfp:hasFacet name="maxLength"/>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasProperty name="ordered" value="false"/>\r
+        <hfp:hasProperty name="bounded" value="false"/>\r
+        <hfp:hasProperty name="cardinality" value="countably infinite"/>\r
+        <hfp:hasProperty name="numeric" value="false"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#base64Binary"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:anySimpleType">\r
+      <xs:whiteSpace value="collapse" fixed="true" id="base64Binary.whiteSpace"/>\r
+    </xs:restriction>\r
+   </xs:simpleType>\r
+\r
+   <xs:simpleType name="anyURI" id="anyURI">\r
+    <xs:annotation>\r
+      <xs:appinfo>\r
+        <hfp:hasFacet name="length"/>\r
+        <hfp:hasFacet name="minLength"/>\r
+        <hfp:hasFacet name="maxLength"/>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasProperty name="ordered" value="false"/>\r
+        <hfp:hasProperty name="bounded" value="false"/>\r
+        <hfp:hasProperty name="cardinality" value="countably infinite"/>\r
+        <hfp:hasProperty name="numeric" value="false"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#anyURI"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:anySimpleType">\r
+      <xs:whiteSpace value="collapse" fixed="true" id="anyURI.whiteSpace"/>\r
+    </xs:restriction>\r
+   </xs:simpleType>\r
+\r
+  <xs:simpleType name="QName" id="QName">\r
+    <xs:annotation>\r
+        <xs:appinfo>\r
+        <hfp:hasFacet name="length"/>\r
+        <hfp:hasFacet name="minLength"/>\r
+        <hfp:hasFacet name="maxLength"/>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasProperty name="ordered" value="false"/>\r
+        <hfp:hasProperty name="bounded" value="false"/>\r
+        <hfp:hasProperty name="cardinality" value="countably infinite"/>\r
+        <hfp:hasProperty name="numeric" value="false"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#QName"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:anySimpleType">\r
+      <xs:whiteSpace value="collapse" fixed="true" id="QName.whiteSpace"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+   <xs:simpleType name="NOTATION" id="NOTATION">\r
+    <xs:annotation>\r
+        <xs:appinfo>\r
+        <hfp:hasFacet name="length"/>\r
+        <hfp:hasFacet name="minLength"/>\r
+        <hfp:hasFacet name="maxLength"/>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasProperty name="ordered" value="false"/>\r
+        <hfp:hasProperty name="bounded" value="false"/>\r
+        <hfp:hasProperty name="cardinality" value="countably infinite"/>\r
+        <hfp:hasProperty name="numeric" value="false"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#NOTATION"/>\r
+      <xs:documentation>\r
+        NOTATION cannot be used directly in a schema; rather a type\r
+        must be derived from it by specifying at least one enumeration\r
+        facet whose value is the name of a NOTATION declared in the\r
+        schema.\r
+      </xs:documentation>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:anySimpleType">\r
+      <xs:whiteSpace value="collapse" fixed="true" id="NOTATION.whiteSpace"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:annotation>\r
+    <xs:documentation>\r
+      Now the derived primitive types\r
+    </xs:documentation>\r
+  </xs:annotation>\r
+\r
+  <xs:simpleType name="normalizedString" id="normalizedString">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#normalizedString"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:string">\r
+      <xs:whiteSpace value="replace" id="normalizedString.whiteSpace"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="token" id="token">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#token"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:normalizedString">\r
+      <xs:whiteSpace value="collapse" id="token.whiteSpace"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="language" id="language">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#language"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:token">\r
+      <xs:pattern value="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*" id="language.pattern">\r
+        <xs:annotation>\r
+          <xs:documentation source="http://www.ietf.org/rfc/rfc3066.txt">\r
+            pattern specifies the content of section 2.12 of XML 1.0e2\r
+            and RFC 3066 (Revised version of RFC 1766).\r
+          </xs:documentation>\r
+        </xs:annotation>\r
+      </xs:pattern>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="IDREFS" id="IDREFS">\r
+    <xs:annotation>\r
+      <xs:appinfo>\r
+        <hfp:hasFacet name="length"/>\r
+        <hfp:hasFacet name="minLength"/>\r
+        <hfp:hasFacet name="maxLength"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasProperty name="ordered" value="false"/>\r
+        <hfp:hasProperty name="bounded" value="false"/>\r
+        <hfp:hasProperty name="cardinality" value="countably infinite"/>\r
+        <hfp:hasProperty name="numeric" value="false"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#IDREFS"/>\r
+    </xs:annotation>\r
+    <xs:restriction>\r
+      <xs:simpleType>\r
+        <xs:list itemType="xs:IDREF"/>\r
+      </xs:simpleType>\r
+        <xs:minLength value="1" id="IDREFS.minLength"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="ENTITIES" id="ENTITIES">\r
+    <xs:annotation>\r
+      <xs:appinfo>\r
+        <hfp:hasFacet name="length"/>\r
+        <hfp:hasFacet name="minLength"/>\r
+        <hfp:hasFacet name="maxLength"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasProperty name="ordered" value="false"/>\r
+        <hfp:hasProperty name="bounded" value="false"/>\r
+        <hfp:hasProperty name="cardinality" value="countably infinite"/>\r
+        <hfp:hasProperty name="numeric" value="false"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#ENTITIES"/>\r
+    </xs:annotation>\r
+    <xs:restriction>\r
+      <xs:simpleType>\r
+        <xs:list itemType="xs:ENTITY"/>\r
+      </xs:simpleType>\r
+        <xs:minLength value="1" id="ENTITIES.minLength"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="NMTOKEN" id="NMTOKEN">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#NMTOKEN"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:token">\r
+      <xs:pattern value="\c+" id="NMTOKEN.pattern">\r
+        <xs:annotation>\r
+          <xs:documentation source="http://www.w3.org/TR/REC-xml#NT-Nmtoken">\r
+            pattern matches production 7 from the XML spec\r
+          </xs:documentation>\r
+        </xs:annotation>\r
+      </xs:pattern>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="NMTOKENS" id="NMTOKENS">\r
+    <xs:annotation>\r
+      <xs:appinfo>\r
+        <hfp:hasFacet name="length"/>\r
+        <hfp:hasFacet name="minLength"/>\r
+        <hfp:hasFacet name="maxLength"/>\r
+        <hfp:hasFacet name="enumeration"/>\r
+        <hfp:hasFacet name="whiteSpace"/>\r
+        <hfp:hasFacet name="pattern"/>\r
+        <hfp:hasProperty name="ordered" value="false"/>\r
+        <hfp:hasProperty name="bounded" value="false"/>\r
+        <hfp:hasProperty name="cardinality" value="countably infinite"/>\r
+        <hfp:hasProperty name="numeric" value="false"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#NMTOKENS"/>\r
+    </xs:annotation>\r
+    <xs:restriction>\r
+      <xs:simpleType>\r
+        <xs:list itemType="xs:NMTOKEN"/>\r
+      </xs:simpleType>\r
+        <xs:minLength value="1" id="NMTOKENS.minLength"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="Name" id="Name">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#Name"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:token">\r
+      <xs:pattern value="\i\c*" id="Name.pattern">\r
+        <xs:annotation>\r
+          <xs:documentation source="http://www.w3.org/TR/REC-xml#NT-Name">\r
+            pattern matches production 5 from the XML spec\r
+          </xs:documentation>\r
+        </xs:annotation>\r
+      </xs:pattern>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="NCName" id="NCName">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#NCName"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:Name">\r
+      <xs:pattern value="[\i-[:]][\c-[:]]*" id="NCName.pattern">\r
+        <xs:annotation>\r
+          <xs:documentation source="http://www.w3.org/TR/REC-xml-names/#NT-NCName">\r
+            pattern matches production 4 from the Namespaces in XML spec\r
+          </xs:documentation>\r
+        </xs:annotation>\r
+      </xs:pattern>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+   <xs:simpleType name="ID" id="ID">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#ID"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:NCName"/>\r
+   </xs:simpleType>\r
+\r
+   <xs:simpleType name="IDREF" id="IDREF">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#IDREF"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:NCName"/>\r
+   </xs:simpleType>\r
+\r
+   <xs:simpleType name="ENTITY" id="ENTITY">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#ENTITY"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:NCName"/>\r
+   </xs:simpleType>\r
+\r
+  <xs:simpleType name="integer" id="integer">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#integer"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:decimal">\r
+      <xs:fractionDigits value="0" fixed="true" id="integer.fractionDigits"/>\r
+      <xs:pattern value="[\-+]?[0-9]+"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="nonPositiveInteger" id="nonPositiveInteger">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:integer">\r
+      <xs:maxInclusive value="0" id="nonPositiveInteger.maxInclusive"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="negativeInteger" id="negativeInteger">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#negativeInteger"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:nonPositiveInteger">\r
+      <xs:maxInclusive value="-1" id="negativeInteger.maxInclusive"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="long" id="long">\r
+    <xs:annotation>\r
+      <xs:appinfo>\r
+        <hfp:hasProperty name="bounded" value="true"/>\r
+        <hfp:hasProperty name="cardinality" value="finite"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#long"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:integer">\r
+      <xs:minInclusive value="-9223372036854775808" id="long.minInclusive"/>\r
+      <xs:maxInclusive value="9223372036854775807" id="long.maxInclusive"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="int" id="int">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#int"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:long">\r
+      <xs:minInclusive value="-2147483648" id="int.minInclusive"/>\r
+      <xs:maxInclusive value="2147483647" id="int.maxInclusive"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="short" id="short">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#short"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:int">\r
+      <xs:minInclusive value="-32768" id="short.minInclusive"/>\r
+      <xs:maxInclusive value="32767" id="short.maxInclusive"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="byte" id="byte">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#byte"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:short">\r
+      <xs:minInclusive value="-128" id="byte.minInclusive"/>\r
+      <xs:maxInclusive value="127" id="byte.maxInclusive"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="nonNegativeInteger" id="nonNegativeInteger">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:integer">\r
+      <xs:minInclusive value="0" id="nonNegativeInteger.minInclusive"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="unsignedLong" id="unsignedLong">\r
+    <xs:annotation>\r
+      <xs:appinfo>\r
+        <hfp:hasProperty name="bounded" value="true"/>\r
+        <hfp:hasProperty name="cardinality" value="finite"/>\r
+      </xs:appinfo>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#unsignedLong"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:nonNegativeInteger">\r
+      <xs:maxInclusive value="18446744073709551615" id="unsignedLong.maxInclusive"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="unsignedInt" id="unsignedInt">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#unsignedInt"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:unsignedLong">\r
+      <xs:maxInclusive value="4294967295" id="unsignedInt.maxInclusive"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="unsignedShort" id="unsignedShort">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#unsignedShort"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:unsignedInt">\r
+      <xs:maxInclusive value="65535" id="unsignedShort.maxInclusive"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="unsignedByte" id="unsignedByte">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#unsignedByte"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:unsignedShort">\r
+      <xs:maxInclusive value="255" id="unsignedByte.maxInclusive"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+  <xs:simpleType name="positiveInteger" id="positiveInteger">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#positiveInteger"/>\r
+    </xs:annotation>\r
+    <xs:restriction base="xs:nonNegativeInteger">\r
+      <xs:minInclusive value="1" id="positiveInteger.minInclusive"/>\r
+    </xs:restriction>\r
+  </xs:simpleType>\r
+\r
+ <xs:simpleType name="derivationControl">\r
+  <xs:annotation>\r
+   <xs:documentation>\r
+   A utility type, not for public use</xs:documentation>\r
+  </xs:annotation>\r
+  <xs:restriction base="xs:NMTOKEN">\r
+   <xs:enumeration value="substitution"/>\r
+   <xs:enumeration value="extension"/>\r
+   <xs:enumeration value="restriction"/>\r
+   <xs:enumeration value="list"/>\r
+   <xs:enumeration value="union"/>\r
+  </xs:restriction>\r
+ </xs:simpleType>\r
+\r
+ <xs:group name="simpleDerivation">\r
+  <xs:choice>\r
+    <xs:element ref="xs:restriction"/>\r
+    <xs:element ref="xs:list"/>\r
+    <xs:element ref="xs:union"/>\r
+  </xs:choice>\r
+ </xs:group>\r
+\r
+ <xs:simpleType name="simpleDerivationSet">\r
+  <xs:annotation>\r
+   <xs:documentation>\r
+   #all or (possibly empty) subset of {restriction, union, list}\r
+   </xs:documentation>\r
+   <xs:documentation>\r
+   A utility type, not for public use</xs:documentation>\r
+  </xs:annotation>\r
+  <xs:union>\r
+   <xs:simpleType>\r
+    <xs:restriction base="xs:token">\r
+     <xs:enumeration value="#all"/>\r
+    </xs:restriction>\r
+   </xs:simpleType>\r
+   <xs:simpleType>\r
+    <xs:list>\r
+     <xs:simpleType>\r
+      <xs:restriction base="xs:derivationControl">\r
+       <xs:enumeration value="list"/>\r
+       <xs:enumeration value="union"/>\r
+       <xs:enumeration value="restriction"/>\r
+      </xs:restriction>\r
+     </xs:simpleType>\r
+    </xs:list>\r
+   </xs:simpleType>\r
+  </xs:union>\r
+ </xs:simpleType>\r
+\r
+  <xs:complexType name="simpleType" abstract="true">\r
+    <xs:complexContent>\r
+      <xs:extension base="xs:annotated">\r
+        <xs:group ref="xs:simpleDerivation"/>\r
+        <xs:attribute name="final" type="xs:simpleDerivationSet"/>\r
+        <xs:attribute name="name" type="xs:NCName">\r
+          <xs:annotation>\r
+            <xs:documentation>\r
+              Can be restricted to required or forbidden\r
+            </xs:documentation>\r
+          </xs:annotation>\r
+        </xs:attribute>\r
+      </xs:extension>\r
+    </xs:complexContent>\r
+  </xs:complexType>\r
+\r
+  <xs:complexType name="topLevelSimpleType">\r
+    <xs:complexContent>\r
+      <xs:restriction base="xs:simpleType">\r
+        <xs:sequence>\r
+          <xs:element ref="xs:annotation" minOccurs="0"/>\r
+          <xs:group ref="xs:simpleDerivation"/>\r
+        </xs:sequence>\r
+        <xs:attribute name="name" use="required" type="xs:NCName">\r
+          <xs:annotation>\r
+            <xs:documentation>\r
+              Required at the top level\r
+            </xs:documentation>\r
+          </xs:annotation>\r
+        </xs:attribute>\r
+       <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+      </xs:restriction>\r
+    </xs:complexContent>\r
+  </xs:complexType>\r
+\r
+  <xs:complexType name="localSimpleType">\r
+    <xs:complexContent>\r
+      <xs:restriction base="xs:simpleType">\r
+        <xs:sequence>\r
+          <xs:element ref="xs:annotation" minOccurs="0"/>\r
+          <xs:group ref="xs:simpleDerivation"/>\r
+        </xs:sequence>\r
+        <xs:attribute name="name" use="prohibited">\r
+          <xs:annotation>\r
+            <xs:documentation>\r
+              Forbidden when nested\r
+            </xs:documentation>\r
+          </xs:annotation>\r
+        </xs:attribute>\r
+        <xs:attribute name="final" use="prohibited"/>\r
+       <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+      </xs:restriction>\r
+    </xs:complexContent>\r
+  </xs:complexType>\r
+\r
+  <xs:element name="simpleType" type="xs:topLevelSimpleType" id="simpleType">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-simpleType"/>\r
+    </xs:annotation>\r
+  </xs:element>\r
+\r
+  <xs:group name="facets">\r
+   <xs:annotation>\r
+    <xs:documentation>\r
+       We should use a substitution group for facets, but\r
+       that's ruled out because it would allow users to\r
+       add their own, which we're not ready for yet.\r
+    </xs:documentation>\r
+   </xs:annotation>\r
+   <xs:choice>\r
+    <xs:element ref="xs:minExclusive"/>\r
+    <xs:element ref="xs:minInclusive"/>\r
+    <xs:element ref="xs:maxExclusive"/>\r
+    <xs:element ref="xs:maxInclusive"/>\r
+    <xs:element ref="xs:totalDigits"/>\r
+    <xs:element ref="xs:fractionDigits"/>\r
+    <xs:element ref="xs:length"/>\r
+    <xs:element ref="xs:minLength"/>\r
+    <xs:element ref="xs:maxLength"/>\r
+    <xs:element ref="xs:enumeration"/>\r
+    <xs:element ref="xs:whiteSpace"/>\r
+    <xs:element ref="xs:pattern"/>\r
+   </xs:choice>\r
+  </xs:group>\r
+\r
+  <xs:group name="simpleRestrictionModel">\r
+   <xs:sequence>\r
+    <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>\r
+    <xs:group ref="xs:facets" minOccurs="0" maxOccurs="unbounded"/>\r
+   </xs:sequence>\r
+  </xs:group>\r
+\r
+  <xs:element name="restriction" id="restriction">\r
+   <xs:complexType>\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-restriction">\r
+          base attribute and simpleType child are mutually\r
+          exclusive, but one or other is required\r
+        </xs:documentation>\r
+      </xs:annotation>\r
+      <xs:complexContent>\r
+        <xs:extension base="xs:annotated">\r
+         <xs:group ref="xs:simpleRestrictionModel"/>\r
+         <xs:attribute name="base" type="xs:QName" use="optional"/>\r
+        </xs:extension>\r
+      </xs:complexContent>\r
+    </xs:complexType>\r
+  </xs:element>\r
+\r
+  <xs:element name="list" id="list">\r
+   <xs:complexType>\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-list">\r
+          itemType attribute and simpleType child are mutually\r
+          exclusive, but one or other is required\r
+        </xs:documentation>\r
+      </xs:annotation>\r
+      <xs:complexContent>\r
+        <xs:extension base="xs:annotated">\r
+          <xs:sequence>\r
+            <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>\r
+          </xs:sequence>\r
+          <xs:attribute name="itemType" type="xs:QName" use="optional"/>\r
+        </xs:extension>\r
+      </xs:complexContent>\r
+    </xs:complexType>\r
+  </xs:element>\r
+\r
+  <xs:element name="union" id="union">\r
+   <xs:complexType>\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-union">\r
+          memberTypes attribute must be non-empty or there must be\r
+          at least one simpleType child\r
+        </xs:documentation>\r
+      </xs:annotation>\r
+      <xs:complexContent>\r
+        <xs:extension base="xs:annotated">\r
+          <xs:sequence>\r
+            <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0" maxOccurs="unbounded"/>\r
+          </xs:sequence>\r
+          <xs:attribute name="memberTypes" use="optional">\r
+            <xs:simpleType>\r
+              <xs:list itemType="xs:QName"/>\r
+            </xs:simpleType>\r
+          </xs:attribute>\r
+        </xs:extension>\r
+      </xs:complexContent>\r
+    </xs:complexType>\r
+  </xs:element>\r
+\r
+  <xs:complexType name="facet">\r
+    <xs:complexContent>\r
+      <xs:extension base="xs:annotated">\r
+        <xs:attribute name="value" use="required"/>\r
+        <xs:attribute name="fixed" type="xs:boolean" use="optional" default="false"/>\r
+      </xs:extension>\r
+    </xs:complexContent>\r
+  </xs:complexType>\r
+\r
+ <xs:complexType name="noFixedFacet">\r
+  <xs:complexContent>\r
+   <xs:restriction base="xs:facet">\r
+    <xs:sequence>\r
+     <xs:element ref="xs:annotation" minOccurs="0"/>\r
+    </xs:sequence>\r
+    <xs:attribute name="fixed" use="prohibited"/>\r
+    <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+   </xs:restriction>\r
+  </xs:complexContent>\r
+ </xs:complexType>\r
+\r
+  <xs:element name="minExclusive" id="minExclusive" type="xs:facet">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-minExclusive"/>\r
+    </xs:annotation>\r
+  </xs:element>\r
+  <xs:element name="minInclusive" id="minInclusive" type="xs:facet">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-minInclusive"/>\r
+    </xs:annotation>\r
+  </xs:element>\r
+\r
+  <xs:element name="maxExclusive" id="maxExclusive" type="xs:facet">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-maxExclusive"/>\r
+    </xs:annotation>\r
+  </xs:element>\r
+  <xs:element name="maxInclusive" id="maxInclusive" type="xs:facet">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-maxInclusive"/>\r
+    </xs:annotation>\r
+  </xs:element>\r
+\r
+  <xs:complexType name="numFacet">\r
+    <xs:complexContent>\r
+      <xs:restriction base="xs:facet">\r
+       <xs:sequence>\r
+         <xs:element ref="xs:annotation" minOccurs="0"/>\r
+       </xs:sequence>\r
+       <xs:attribute name="value" type="xs:nonNegativeInteger" use="required"/>\r
+       <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+      </xs:restriction>\r
+    </xs:complexContent>\r
+  </xs:complexType>\r
+\r
+  <xs:element name="totalDigits" id="totalDigits">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-totalDigits"/>\r
+    </xs:annotation>\r
+    <xs:complexType>\r
+      <xs:complexContent>\r
+        <xs:restriction base="xs:numFacet">\r
+          <xs:sequence>\r
+            <xs:element ref="xs:annotation" minOccurs="0"/>\r
+          </xs:sequence>\r
+          <xs:attribute name="value" type="xs:positiveInteger" use="required"/>\r
+         <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+        </xs:restriction>\r
+      </xs:complexContent>\r
+    </xs:complexType>\r
+  </xs:element>\r
+  <xs:element name="fractionDigits" id="fractionDigits" type="xs:numFacet">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-fractionDigits"/>\r
+    </xs:annotation>\r
+  </xs:element>\r
+\r
+  <xs:element name="length" id="length" type="xs:numFacet">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-length"/>\r
+    </xs:annotation>\r
+  </xs:element>\r
+  <xs:element name="minLength" id="minLength" type="xs:numFacet">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-minLength"/>\r
+    </xs:annotation>\r
+  </xs:element>\r
+  <xs:element name="maxLength" id="maxLength" type="xs:numFacet">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-maxLength"/>\r
+    </xs:annotation>\r
+  </xs:element>\r
+\r
+  <xs:element name="enumeration" id="enumeration" type="xs:noFixedFacet">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-enumeration"/>\r
+    </xs:annotation>\r
+  </xs:element>\r
+\r
+  <xs:element name="whiteSpace" id="whiteSpace">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-whiteSpace"/>\r
+    </xs:annotation>\r
+    <xs:complexType>\r
+      <xs:complexContent>\r
+        <xs:restriction base="xs:facet">\r
+          <xs:sequence>\r
+            <xs:element ref="xs:annotation" minOccurs="0"/>\r
+          </xs:sequence>\r
+          <xs:attribute name="value" use="required">\r
+            <xs:simpleType>\r
+              <xs:restriction base="xs:NMTOKEN">\r
+                <xs:enumeration value="preserve"/>\r
+                <xs:enumeration value="replace"/>\r
+                <xs:enumeration value="collapse"/>\r
+              </xs:restriction>\r
+            </xs:simpleType>\r
+          </xs:attribute>\r
+         <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+        </xs:restriction>\r
+      </xs:complexContent>\r
+    </xs:complexType>\r
+  </xs:element>\r
+\r
+  <xs:element name="pattern" id="pattern">\r
+    <xs:annotation>\r
+      <xs:documentation source="http://www.w3.org/TR/xmlschema-2/#element-pattern"/>\r
+    </xs:annotation>\r
+    <xs:complexType>\r
+      <xs:complexContent>\r
+        <xs:restriction base="xs:noFixedFacet">\r
+          <xs:sequence>\r
+            <xs:element ref="xs:annotation" minOccurs="0"/>\r
+          </xs:sequence>\r
+          <xs:attribute name="value" type="xs:string" use="required"/>\r
+         <xs:anyAttribute namespace="##other" processContents="lax"/>\r
+        </xs:restriction>\r
+      </xs:complexContent>\r
+    </xs:complexType>\r
+  </xs:element>\r
+\r
+</xs:schema>
\ No newline at end of file
diff --git a/cdmlib-io/src/main/resources/schema/xml/xml.xsd b/cdmlib-io/src/main/resources/schema/xml/xml.xsd
new file mode 100644 (file)
index 0000000..c9a5999
--- /dev/null
@@ -0,0 +1,146 @@
+<?xml version='1.0'?>\r
+<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">\r
+\r
+ <xs:annotation>\r
+  <xs:documentation>\r
+   See http://www.w3.org/XML/1998/namespace.html and\r
+   http://www.w3.org/TR/REC-xml for information about this namespace.\r
+\r
+    This schema document describes the XML namespace, in a form\r
+    suitable for import by other schema documents.  \r
+\r
+    Note that local names in this namespace are intended to be defined\r
+    only by the World Wide Web Consortium or its subgroups.  The\r
+    following names are currently defined in this namespace and should\r
+    not be used with conflicting semantics by any Working Group,\r
+    specification, or document instance:\r
+\r
+    base (as an attribute name): denotes an attribute whose value\r
+         provides a URI to be used as the base for interpreting any\r
+         relative URIs in the scope of the element on which it\r
+         appears; its value is inherited.  This name is reserved\r
+         by virtue of its definition in the XML Base specification.\r
+\r
+    id   (as an attribute name): denotes an attribute whose value\r
+         should be interpreted as if declared to be of type ID.\r
+         The xml:id specification is not yet a W3C Recommendation,\r
+         but this attribute is included here to facilitate experimentation\r
+         with the mechanisms it proposes.  Note that it is _not_ included\r
+         in the specialAttrs attribute group.\r
+\r
+    lang (as an attribute name): denotes an attribute whose value\r
+         is a language code for the natural language of the content of\r
+         any element; its value is inherited.  This name is reserved\r
+         by virtue of its definition in the XML specification.\r
+  \r
+    space (as an attribute name): denotes an attribute whose\r
+         value is a keyword indicating what whitespace processing\r
+         discipline is intended for the content of the element; its\r
+         value is inherited.  This name is reserved by virtue of its\r
+         definition in the XML specification.\r
+\r
+    Father (in any context at all): denotes Jon Bosak, the chair of \r
+         the original XML Working Group.  This name is reserved by \r
+         the following decision of the W3C XML Plenary and \r
+         XML Coordination groups:\r
+\r
+             In appreciation for his vision, leadership and dedication\r
+             the W3C XML Plenary on this 10th day of February, 2000\r
+             reserves for Jon Bosak in perpetuity the XML name\r
+             xml:Father\r
+  </xs:documentation>\r
+ </xs:annotation>\r
+\r
+ <xs:annotation>\r
+  <xs:documentation>This schema defines attributes and an attribute group\r
+        suitable for use by\r
+        schemas wishing to allow xml:base, xml:lang, xml:space or xml:id\r
+        attributes on elements they define.\r
+\r
+        To enable this, such a schema must import this schema\r
+        for the XML namespace, e.g. as follows:\r
+        &lt;schema . . .>\r
+         . . .\r
+         &lt;import namespace="http://www.w3.org/XML/1998/namespace"\r
+                    schemaLocation="http://www.w3.org/2005/08/xml.xsd"/>\r
+\r
+        Subsequently, qualified reference to any of the attributes\r
+        or the group defined below will have the desired effect, e.g.\r
+\r
+        &lt;type . . .>\r
+         . . .\r
+         &lt;attributeGroup ref="xml:specialAttrs"/>\r
\r
+         will define a type which will schema-validate an instance\r
+         element with any of those attributes</xs:documentation>\r
+ </xs:annotation>\r
+\r
+ <xs:annotation>\r
+  <xs:documentation>In keeping with the XML Schema WG's standard versioning\r
+   policy, this schema document will persist at\r
+   http://www.w3.org/2005/08/xml.xsd.\r
+   At the date of issue it can also be found at\r
+   http://www.w3.org/2001/xml.xsd.\r
+   The schema document at that URI may however change in the future,\r
+   in order to remain compatible with the latest version of XML Schema\r
+   itself, or with the XML namespace itself.  In other words, if the XML\r
+   Schema or XML namespaces change, the version of this document at\r
+   http://www.w3.org/2001/xml.xsd will change\r
+   accordingly; the version at\r
+   http://www.w3.org/2005/08/xml.xsd will not change.\r
+  </xs:documentation>\r
+ </xs:annotation>\r
+\r
+ <xs:attribute name="lang">\r
+  <xs:annotation>\r
+   <xs:documentation>Attempting to install the relevant ISO 2- and 3-letter\r
+         codes as the enumerated possible values is probably never\r
+         going to be a realistic possibility.  See\r
+         RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry\r
+         at http://www.iana.org/assignments/lang-tag-apps.htm for\r
+         further information.\r
+\r
+         The union allows for the 'un-declaration' of xml:lang with\r
+         the empty string.</xs:documentation>\r
+  </xs:annotation>\r
+  <xs:simpleType>\r
+   <xs:union memberTypes="xs:language">\r
+    <xs:simpleType>    \r
+     <xs:restriction base="xs:string">\r
+      <xs:enumeration value=""/>\r
+     </xs:restriction>\r
+    </xs:simpleType>\r
+   </xs:union>\r
+  </xs:simpleType>\r
+ </xs:attribute>\r
+\r
+ <xs:attribute name="space">\r
+  <xs:simpleType>\r
+   <xs:restriction base="xs:NCName">\r
+    <xs:enumeration value="default"/>\r
+    <xs:enumeration value="preserve"/>\r
+   </xs:restriction>\r
+  </xs:simpleType>\r
+ </xs:attribute>\r
+\r
+ <xs:attribute name="base" type="xs:anyURI">\r
+  <xs:annotation>\r
+   <xs:documentation>See http://www.w3.org/TR/xmlbase/ for\r
+                     information about this attribute.</xs:documentation>\r
+  </xs:annotation>\r
+ </xs:attribute>\r
\r
+ <xs:attribute name="id" type="xs:ID">\r
+  <xs:annotation>\r
+   <xs:documentation>See http://www.w3.org/TR/xml-id/ for\r
+                     information about this attribute.</xs:documentation>\r
+  </xs:annotation>\r
+ </xs:attribute>\r
+\r
+ <xs:attributeGroup name="specialAttrs">\r
+  <xs:attribute ref="xml:base"/>\r
+  <xs:attribute ref="xml:lang"/>\r
+  <xs:attribute ref="xml:space"/>\r
+ </xs:attributeGroup>\r
+\r
+</xs:schema>\r
diff --git a/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/AgentsTest.java b/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/AgentsTest.java
new file mode 100644 (file)
index 0000000..480c677
--- /dev/null
@@ -0,0 +1,41 @@
+package eu.etaxonomy.cdm.io.jaxb;\r
+\r
+import static org.junit.Assert.assertEquals;\r
+import static org.junit.Assert.assertNotNull;\r
+\r
+import java.io.InputStreamReader;\r
+import java.net.URI;\r
+\r
+import org.joda.time.DateTimeFieldType;\r
+import org.junit.Test;\r
+\r
+import eu.etaxonomy.cdm.model.agent.InstitutionalMembership;\r
+import eu.etaxonomy.cdm.model.agent.Person;\r
+\r
+public class AgentsTest {\r
+               \r
+           private String resource = "/eu/etaxonomy/cdm/io/jaxb/AgentsTest.xml";\r
+           \r
+           @Test\r
+           public void testUnmarshalAgents() throws Exception {\r
+               CdmDocumentBuilder cdmDocumentBuilder = new CdmDocumentBuilder();\r
+               URI uri = new URI(URIEncoder.encode(this.getClass().getResource(resource).toString()));\r
+               DataSet dataSet = null;\r
+               dataSet = cdmDocumentBuilder.unmarshal(dataSet, new InputStreamReader(this.getClass().getResourceAsStream(resource)),uri.toString());\r
+                       \r
+                       Person person = (Person)dataSet.getAgents().get(0);\r
+                       assertNotNull("Persion should not be null",person);\r
+                       assertEquals("Person.getNomenclaturalTitle should return \'Mill.\'","Mill.",person.getNomenclaturalTitle());\r
+                       assertEquals("Person.getFirstName should return \'Philip\'","Philip",person.getFirstname());\r
+                       assertEquals("Person.getLastName should return \'Miller\'","Miller",person.getLastname());\r
+                       assertNotNull("Person.getLifespan should not be null",person.getLifespan());\r
+                       assertNotNull("Person.getLifespan.getStart should not be null",person.getLifespan().getStart());\r
+                       assertEquals("Person.getLifespan.getStart should equal 1691", person.getLifespan().getStart().get(DateTimeFieldType.yearOfEra()),1691);\r
+            assertNotNull("Person.getInstitutionalMemberships should not be null",person.getInstitutionalMemberships());\r
+            assertEquals("There should be one institutional membership",1,person.getInstitutionalMemberships().size());\r
+            InstitutionalMembership institutionalMembership = person.getInstitutionalMemberships().iterator().next();\r
+            assertEquals("institutionalMembership.getInstitute should return Chelsea Physic Garden",institutionalMembership.getInstitute(),dataSet.getAgents().get(1));\r
+            assertEquals("institutionalMembership.getPerson should return Philip Miller",institutionalMembership.getPerson(),dataSet.getAgents().get(0));\r
+                       \r
+           }\r
+}\r
diff --git a/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/AnnotationTest.java b/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/AnnotationTest.java
new file mode 100644 (file)
index 0000000..a69674f
--- /dev/null
@@ -0,0 +1,42 @@
+package eu.etaxonomy.cdm.io.jaxb;\r
+\r
+import static org.junit.Assert.assertEquals;\r
+import static org.junit.Assert.assertNotNull;\r
+\r
+import java.io.InputStreamReader;\r
+import java.net.URI;\r
+\r
+import org.joda.time.DateTimeFieldType;\r
+import org.junit.Test;\r
+\r
+import eu.etaxonomy.cdm.model.agent.InstitutionalMembership;\r
+import eu.etaxonomy.cdm.model.agent.Person;\r
+import eu.etaxonomy.cdm.model.common.AnnotatableEntity;\r
+import eu.etaxonomy.cdm.model.common.Annotation;\r
+import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+\r
+public class AnnotationTest {\r
+               \r
+           private String resource = "/eu/etaxonomy/cdm/io/jaxb/AnnotationTest.xml";\r
+           \r
+           @Test\r
+           public void testUnmarshalAnnotations() throws Exception {\r
+               CdmDocumentBuilder cdmDocumentBuilder = new CdmDocumentBuilder();\r
+               URI uri = new URI(URIEncoder.encode(this.getClass().getResource(resource).toString()));\r
+               DataSet dataSet = null;\r
+               dataSet = cdmDocumentBuilder.unmarshal(dataSet, new InputStreamReader(this.getClass().getResourceAsStream(resource)),uri.toString());\r
+                       \r
+                       AnnotatableEntity annotatableEntity = (AnnotatableEntity)dataSet.getTaxonBases().get(0);        \r
+                       assertNotNull("annotatableEntity must exist",annotatableEntity);\r
+                       \r
+                       assertNotNull("annotatableEntity must have annotations",annotatableEntity.getAnnotations());\r
+                       assertEquals("There should be one annotation",1,annotatableEntity.getAnnotations().size());\r
+                       \r
+                       Annotation annotation = annotatableEntity.getAnnotations().iterator().next();\r
+                       assertEquals("object must also be the annotated object",annotatableEntity,annotation.getAnnotatedObj());\r
+                       assertNotNull("Annotation must have annotations",annotation.getAnnotations());\r
+                       assertEquals("There should be one annotation",1,annotation.getAnnotations().size());\r
+                       Annotation annotationTwo = annotation.getAnnotations().iterator().next();\r
+                       assertEquals("Annotation should be the annotated object",annotation,annotationTwo.getAnnotatedObj());\r
+           }\r
+}\r
diff --git a/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/CdmDocumentBuilderTest.java b/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/CdmDocumentBuilderTest.java
new file mode 100644 (file)
index 0000000..0907278
--- /dev/null
@@ -0,0 +1,25 @@
+package eu.etaxonomy.cdm.io.jaxb;\r
+\r
+import java.io.InputStreamReader;\r
+import java.net.URI;\r
+\r
+import junit.framework.Assert;\r
+import org.junit.Test;\r
+\r
+import eu.etaxonomy.cdm.model.agent.Person;\r
+\r
+public class CdmDocumentBuilderTest {\r
+               \r
+           private String resource = "/eu/etaxonomy/cdm/io/jaxb/CdmDocumentBuilderTest.xml";\r
+           \r
+           @Test\r
+           public void testXInclude() throws Exception {\r
+               CdmDocumentBuilder cdmDocumentBuilder = new CdmDocumentBuilder();\r
+               URI uri = new URI(URIEncoder.encode(this.getClass().getResource(resource).toString()));\r
+               DataSet dataSet = null;\r
+               dataSet = cdmDocumentBuilder.unmarshal(dataSet, new InputStreamReader(this.getClass().getResourceAsStream(resource)),uri.toString());\r
+                       \r
+                       Person person = (Person)dataSet.getAgents().get(0);\r
+                       Assert.assertNotNull(person);\r
+           }\r
+}\r
index 2728a7d49f977a6ea870e4b5ab4241e7548cd752..8b464456ed50ad3e1630585053f94cf28222ed0b 100644 (file)
@@ -12,13 +12,20 @@ package eu.etaxonomy.cdm.io.jaxb;
 import static org.junit.Assert.assertNotNull;\r
 import static org.junit.Assert.fail;\r
 \r
+import java.io.FileNotFoundException;\r
+import java.io.FileOutputStream;\r
+import java.io.IOException;\r
 import java.io.InputStream;\r
 import java.net.URL;\r
+import java.sql.SQLException;\r
 \r
 import org.dbunit.Assertion;\r
 import org.dbunit.database.IDatabaseConnection;\r
+import org.dbunit.dataset.DataSetException;\r
+import org.dbunit.dataset.FilteredDataSet;\r
 import org.dbunit.dataset.FilteredDataSet;\r
 import org.dbunit.dataset.IDataSet;\r
+import org.dbunit.dataset.xml.FlatDtdDataSet;\r
 import org.dbunit.dataset.filter.ExcludeTableFilter;\r
 import org.dbunit.dataset.xml.FlatXmlDataSet;\r
 import org.junit.Before;\r
@@ -29,7 +36,7 @@ import org.unitils.spring.annotation.SpringBeanByType;
 import eu.etaxonomy.cdm.io.common.IImportConfigurator;\r
 import eu.etaxonomy.cdm.test.integration.CdmTransactionalIntegrationTest;\r
 \r
-public class CdmImporterTest extends CdmTransactionalIntegrationTest{\r
+public class CdmImporterTest  extends CdmTransactionalIntegrationTest{\r
        \r
        @SpringBeanByType\r
        JaxbImport jaxbImport;\r
@@ -48,6 +55,7 @@ public class CdmImporterTest extends CdmTransactionalIntegrationTest{
                assertNotNull("jaxbImport should not be null",jaxbImport);\r
        }\r
        \r
+       \r
        @Test\r
        @DataSet\r
        public void testImport() throws Exception {\r
@@ -56,26 +64,13 @@ public class CdmImporterTest extends CdmTransactionalIntegrationTest{
        }\r
 \r
        protected void testExpectedDataSet(InputStream dataSet) {\r
-               \r
-               final String dbVersionTable = "DB_VERSION";\r
                try {\r
                        IDatabaseConnection databaseConnection = getConnection();\r
                        \r
                        IDataSet expectedDataSet = new FlatXmlDataSet(dataSet, this.getClass().getResourceAsStream("/eu/etaxonomy/cdm/io/dataset.dtd"));\r
+                       IDataSet actualDataSet = new FilteredDataSet(expectedDataSet.getTableNames(),databaseConnection.createDataSet());\r
                        \r
-            // Filter table DB_VERSION since column VERSION_TIMESTAMP has different value for different users\r
-                       IDataSet filteredActualDataSet = \r
-                               new FilteredDataSet(new ExcludeTableFilter(new String[]{dbVersionTable}), databaseConnection.createDataSet());\r
-                       Assertion.assertEquals(expectedDataSet, filteredActualDataSet);\r
-\r
-//          Instead of filtering the entire table DB_VERSION as above,\r
-//                     it might be better to filter the column VERSION_TIMESTAMP only (see commented code below).\r
-//          Need to add the filtered table back to the actual data set.\r
-                       \r
-//                     ITable actualDbVersionTable = actualDataSet.getTable(dbVersionTable);\r
-//                     ITable filteredTable = \r
-//                             DefaultColumnFilter.excludedColumnsTable(actualDbVersionTable, new String[]{dbVersionTable});\r
-//                     filteredTable.getTableMetaData();\r
+                       Assertion.assertEquals(expectedDataSet,actualDataSet);\r
                        \r
                } catch (Exception e) {\r
                        System.out.println(e);\r
diff --git a/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/DescriptionTest.java b/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/DescriptionTest.java
new file mode 100644 (file)
index 0000000..f959c1e
--- /dev/null
@@ -0,0 +1,53 @@
+package eu.etaxonomy.cdm.io.jaxb;\r
+\r
+import static org.junit.Assert.assertEquals;\r
+import static org.junit.Assert.assertFalse;\r
+import static org.junit.Assert.assertNotNull;\r
+\r
+import java.io.InputStreamReader;\r
+import java.net.URI;\r
+\r
+import org.joda.time.DateTimeFieldType;\r
+import org.junit.Test;\r
+\r
+import eu.etaxonomy.cdm.model.agent.InstitutionalMembership;\r
+import eu.etaxonomy.cdm.model.agent.Person;\r
+import eu.etaxonomy.cdm.model.common.AnnotatableEntity;\r
+import eu.etaxonomy.cdm.model.common.Annotation;\r
+import eu.etaxonomy.cdm.model.common.LanguageString;\r
+import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
+import eu.etaxonomy.cdm.model.description.TextData;\r
+import eu.etaxonomy.cdm.model.media.Media;\r
+import eu.etaxonomy.cdm.model.media.MediaRepresentation;\r
+import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;\r
+import eu.etaxonomy.cdm.model.reference.Article;\r
+import eu.etaxonomy.cdm.model.reference.Journal;\r
+import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+\r
+public class DescriptionTest {\r
+               \r
+           private String resource = "/eu/etaxonomy/cdm/io/jaxb/DescriptionTest.xml";\r
+           \r
+           @Test\r
+           public void testUnmarshalDescription() throws Exception {\r
+               CdmDocumentBuilder cdmDocumentBuilder = new CdmDocumentBuilder();\r
+               URI uri = new URI(URIEncoder.encode(this.getClass().getResource(resource).toString()));\r
+               DataSet dataSet = null;\r
+               dataSet = cdmDocumentBuilder.unmarshal(dataSet, new InputStreamReader(this.getClass().getResourceAsStream(resource)),uri.toString());\r
+                       \r
+                       Taxon taxon = (Taxon)dataSet.getTaxonBases().get(0);    \r
+                       assertNotNull("Taxon must not be null",taxon);\r
+                       assertNotNull("Taxon.descriptions must not be null",taxon.getDescriptions());\r
+                       assertFalse("Taxon.descriptions must not be empty",taxon.getDescriptions().isEmpty());\r
+                       assertEquals("Taxon.descriptions must contain one description",1,taxon.getDescriptions().size());\r
+                       \r
+                       TaxonDescription taxonDescription = taxon.getDescriptions().iterator().next();\r
+                       \r
+                       assertNotNull("TaxonDescription.descriptionElements must not be null",taxonDescription.getElements());\r
+                       assertFalse("TaxonDescription.descriptionElements must not be empty",taxonDescription.getElements().isEmpty());\r
+                       assertEquals("TaxonDescription.descriptionElements should contain one DescriptionElement",1,taxonDescription.getElements().size());\r
+                       \r
+                       TextData textData = (TextData)taxonDescription.getElements().iterator().next();\r
+                       assertEquals("TaxonDescription should equal TextData.inDescription",taxonDescription,textData.getInDescription());      \r
+           }\r
+}\r
diff --git a/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/FeatureTest.java b/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/FeatureTest.java
new file mode 100644 (file)
index 0000000..6a1d747
--- /dev/null
@@ -0,0 +1,43 @@
+package eu.etaxonomy.cdm.io.jaxb;\r
+\r
+import static org.junit.Assert.assertEquals;\r
+import static org.junit.Assert.assertFalse;\r
+import static org.junit.Assert.assertNotNull;\r
+\r
+import java.io.InputStreamReader;\r
+import java.net.URI;\r
+\r
+import org.junit.Test;\r
+\r
+import eu.etaxonomy.cdm.model.description.Feature;\r
+import eu.etaxonomy.cdm.model.description.FeatureNode;\r
+import eu.etaxonomy.cdm.model.description.FeatureTree;\r
+\r
+public class FeatureTest {\r
+               \r
+           private String resource = "/eu/etaxonomy/cdm/io/jaxb/FeatureTest.xml";\r
+           \r
+           @Test\r
+           public void testUnmarshalFeatureTree() throws Exception {\r
+               CdmDocumentBuilder cdmDocumentBuilder = new CdmDocumentBuilder();\r
+               URI uri = new URI(URIEncoder.encode(this.getClass().getResource(resource).toString()));\r
+               DataSet dataSet = null;\r
+               dataSet = cdmDocumentBuilder.unmarshal(dataSet, new InputStreamReader(this.getClass().getResourceAsStream(resource)),uri.toString());\r
+                       \r
+                       FeatureTree featureTree = (FeatureTree)dataSet.getFeatureTrees().get(0);\r
+                       Feature feature = (Feature)dataSet.getTerms().get(1);\r
+                       \r
+                       assertNotNull("FeatureTree must not be null",featureTree);\r
+                       assertNotNull("Feature must not be null",feature);\r
+                       \r
+                       assertNotNull("FeatureTree.root must not be null",featureTree.getRoot());\r
+                       FeatureNode featureNode = featureTree.getRoot();\r
+                       assertNotNull("FeatureNode.feature must not be null",featureNode.getFeature());\r
+                       assertEquals("FeatureNode.feature must equal Feature",feature,featureNode.getFeature());\r
+                       \r
+                       assertNotNull("FeatureNode.children must not be null",featureNode.getChildren());\r
+                       assertFalse("FeatureNode.children must not be empty",featureNode.getChildren().isEmpty());\r
+                       assertEquals("FeatureNode.children must have 4 child nodes",4,featureNode.getChildren().size());\r
+                       \r
+           }\r
+}\r
diff --git a/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/LanguageStringTest.java b/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/LanguageStringTest.java
new file mode 100644 (file)
index 0000000..20da71d
--- /dev/null
@@ -0,0 +1,40 @@
+package eu.etaxonomy.cdm.io.jaxb;\r
+\r
+import static org.junit.Assert.assertEquals;\r
+import static org.junit.Assert.assertFalse;\r
+import static org.junit.Assert.assertNotNull;\r
+\r
+import java.io.InputStreamReader;\r
+import java.net.URI;\r
+\r
+import org.joda.time.DateTimeFieldType;\r
+import org.junit.Test;\r
+\r
+import eu.etaxonomy.cdm.model.agent.InstitutionalMembership;\r
+import eu.etaxonomy.cdm.model.agent.Person;\r
+import eu.etaxonomy.cdm.model.common.AnnotatableEntity;\r
+import eu.etaxonomy.cdm.model.common.Annotation;\r
+import eu.etaxonomy.cdm.model.common.LanguageString;\r
+import eu.etaxonomy.cdm.model.media.Media;\r
+import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+\r
+public class LanguageStringTest {\r
+               \r
+           private String resource = "/eu/etaxonomy/cdm/io/jaxb/LanguageStringTest.xml";\r
+           \r
+           @Test\r
+           public void testUnmarshalLanguageString() throws Exception {\r
+               CdmDocumentBuilder cdmDocumentBuilder = new CdmDocumentBuilder();\r
+               URI uri = new URI(URIEncoder.encode(this.getClass().getResource(resource).toString()));\r
+               DataSet dataSet = null;\r
+               dataSet = cdmDocumentBuilder.unmarshal(dataSet, new InputStreamReader(this.getClass().getResourceAsStream(resource)),uri.toString());\r
+                       \r
+                       Media media = (Media)dataSet.getMedia().get(0); \r
+                       assertNotNull("Media must not be null",media);\r
+                       assertNotNull("Media.title must not be null", media.getTitle());\r
+                       assertFalse("Media.title must contain LanguageString elements",media.getTitle().isEmpty());\r
+                       LanguageString languageString = media.getTitle().values().iterator().next();\r
+                       assertNotNull("LanguageString.text must not be null", languageString.getText());\r
+                       assertEquals("LanguageString.text must contain the expected value","<i xmlns=\"http://www.w3.org/1999/xhtml\">English</i> Title",languageString.getText());\r
+           }\r
+}\r
diff --git a/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/MediaTest.java b/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/MediaTest.java
new file mode 100644 (file)
index 0000000..bb6e871
--- /dev/null
@@ -0,0 +1,47 @@
+package eu.etaxonomy.cdm.io.jaxb;\r
+\r
+import static org.junit.Assert.assertEquals;\r
+import static org.junit.Assert.assertFalse;\r
+import static org.junit.Assert.assertNotNull;\r
+\r
+import java.io.InputStreamReader;\r
+import java.net.URI;\r
+\r
+import org.joda.time.DateTimeFieldType;\r
+import org.junit.Test;\r
+\r
+import eu.etaxonomy.cdm.model.agent.InstitutionalMembership;\r
+import eu.etaxonomy.cdm.model.agent.Person;\r
+import eu.etaxonomy.cdm.model.common.AnnotatableEntity;\r
+import eu.etaxonomy.cdm.model.common.Annotation;\r
+import eu.etaxonomy.cdm.model.common.LanguageString;\r
+import eu.etaxonomy.cdm.model.media.Media;\r
+import eu.etaxonomy.cdm.model.media.MediaRepresentation;\r
+import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;\r
+import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+\r
+public class MediaTest {\r
+               \r
+           private String resource = "/eu/etaxonomy/cdm/io/jaxb/MediaTest.xml";\r
+           \r
+           @Test\r
+           public void testUnmarshalMedia() throws Exception {\r
+               CdmDocumentBuilder cdmDocumentBuilder = new CdmDocumentBuilder();\r
+               URI uri = new URI(URIEncoder.encode(this.getClass().getResource(resource).toString()));\r
+               DataSet dataSet = null;\r
+               dataSet = cdmDocumentBuilder.unmarshal(dataSet, new InputStreamReader(this.getClass().getResourceAsStream(resource)),uri.toString());\r
+                       \r
+                       Media media = (Media)dataSet.getMedia().get(0); \r
+                       assertNotNull("Media must not be null",media);\r
+                       assertNotNull("Media.mediaRepresentations must not be null",media.getRepresentations());\r
+                       assertFalse("Media.mediaRepresentations must not be empty",media.getRepresentations().isEmpty());\r
+                       \r
+                       MediaRepresentation mediaRepresentation = media.getRepresentations().iterator().next();\r
+                       assertEquals("Media must equal MediaRepresentation.media",media,mediaRepresentation.getMedia());\r
+                       \r
+                       assertNotNull("MediaRepresentation.mediaRepresentationParts must not be null",mediaRepresentation.getParts());\r
+                       assertFalse("MediaRepresentation.mediaRepresentationParts must not be empty",mediaRepresentation.getParts().isEmpty());\r
+                       MediaRepresentationPart mediaRepresentationPart = mediaRepresentation.getParts().get(0);\r
+                       assertEquals("MediaRepresentationPart.mediaRepresentation must equal MediaRepresentation",mediaRepresentation,mediaRepresentationPart.getMediaRepresentation());\r
+           }\r
+}\r
diff --git a/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/NamedAreaTest.java b/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/NamedAreaTest.java
new file mode 100644 (file)
index 0000000..81dae59
--- /dev/null
@@ -0,0 +1,26 @@
+package eu.etaxonomy.cdm.io.jaxb;\r
+\r
+import static org.junit.Assert.assertNotNull;\r
+\r
+import java.io.InputStreamReader;\r
+import java.net.URI;\r
+\r
+import org.junit.Test;\r
+\r
+import eu.etaxonomy.cdm.model.location.NamedArea;\r
+\r
+public class NamedAreaTest {\r
+               \r
+           private String resource = "/eu/etaxonomy/cdm/io/jaxb/NamedAreaTest.xml";\r
+           \r
+           @Test\r
+           public void testUnmarshalNamedArea() throws Exception {\r
+               CdmDocumentBuilder cdmDocumentBuilder = new CdmDocumentBuilder();\r
+               URI uri = new URI(URIEncoder.encode(this.getClass().getResource(resource).toString()));\r
+               DataSet dataSet = null;\r
+               dataSet = cdmDocumentBuilder.unmarshal(dataSet, new InputStreamReader(this.getClass().getResourceAsStream(resource)),uri.toString());\r
+                       \r
+                       NamedArea namedArea = (NamedArea)dataSet.getTerms().get(1);     \r
+                       assertNotNull("NamedArea must not be null",namedArea);\r
+           }\r
+}\r
diff --git a/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/ReferenceTest.java b/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/ReferenceTest.java
new file mode 100644 (file)
index 0000000..da0f835
--- /dev/null
@@ -0,0 +1,43 @@
+package eu.etaxonomy.cdm.io.jaxb;\r
+\r
+import static org.junit.Assert.assertEquals;\r
+import static org.junit.Assert.assertFalse;\r
+import static org.junit.Assert.assertNotNull;\r
+\r
+import java.io.InputStreamReader;\r
+import java.net.URI;\r
+\r
+import org.joda.time.DateTimeFieldType;\r
+import org.junit.Test;\r
+\r
+import eu.etaxonomy.cdm.model.agent.InstitutionalMembership;\r
+import eu.etaxonomy.cdm.model.agent.Person;\r
+import eu.etaxonomy.cdm.model.common.AnnotatableEntity;\r
+import eu.etaxonomy.cdm.model.common.Annotation;\r
+import eu.etaxonomy.cdm.model.common.LanguageString;\r
+import eu.etaxonomy.cdm.model.media.Media;\r
+import eu.etaxonomy.cdm.model.media.MediaRepresentation;\r
+import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;\r
+import eu.etaxonomy.cdm.model.reference.Article;\r
+import eu.etaxonomy.cdm.model.reference.Journal;\r
+import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+\r
+public class ReferenceTest {\r
+               \r
+           private String resource = "/eu/etaxonomy/cdm/io/jaxb/ReferenceTest.xml";\r
+           \r
+           @Test\r
+           public void testUnmarshalReference() throws Exception {\r
+               CdmDocumentBuilder cdmDocumentBuilder = new CdmDocumentBuilder();\r
+               URI uri = new URI(URIEncoder.encode(this.getClass().getResource(resource).toString()));\r
+               DataSet dataSet = null;\r
+               dataSet = cdmDocumentBuilder.unmarshal(dataSet, new InputStreamReader(this.getClass().getResourceAsStream(resource)),uri.toString());\r
+                       \r
+                       Article article = (Article)dataSet.getReferences().get(0);      \r
+                       assertNotNull("Article must not be null",article);\r
+                       \r
+                       Journal journal = (Journal)dataSet.getReferences().get(1);\r
+                       assertNotNull("Journal must not be null", journal);\r
+                       assertEquals("Journal must equal Article.inJournal",journal,article.getInJournal());\r
+           }\r
+}\r
diff --git a/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/SimpleMarshalTest.java b/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/SimpleMarshalTest.java
new file mode 100644 (file)
index 0000000..f6cc73a
--- /dev/null
@@ -0,0 +1,88 @@
+package eu.etaxonomy.cdm.io.jaxb;\r
+\r
+import static org.junit.Assert.assertNotNull;\r
+import static org.junit.Assert.assertTrue;\r
+\r
+import java.io.IOException;\r
+import java.io.Reader;\r
+import java.io.StringReader;\r
+import java.io.StringWriter;\r
+\r
+import javax.xml.XMLConstants;\r
+import javax.xml.bind.JAXBException;\r
+import javax.xml.parsers.ParserConfigurationException;\r
+import javax.xml.transform.stream.StreamSource;\r
+import javax.xml.validation.SchemaFactory;\r
+\r
+import junit.framework.Assert;\r
+\r
+import org.custommonkey.xmlunit.jaxp13.Validator;\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+import org.xml.sax.SAXException;\r
+\r
+public class SimpleMarshalTest {\r
+       private String documentText = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +\r
+       "<DataSet xmlns=\"http://etaxonomy.eu/cdm/model/1.0\">\n" +\r
+       "</DataSet>";\r
+       \r
+       private CdmDocumentBuilder cdmDocumentBuilder;\r
+    \r
+       @Before\r
+       public void setUp() {\r
+               \r
+                try {\r
+                       cdmDocumentBuilder = new CdmDocumentBuilder();\r
+               } catch (Exception e) {\r
+                       e.printStackTrace();\r
+               } \r
+       }\r
+       \r
+    /**\r
+     * test the parsing of a simple document\r
+     * @throws JAXBException \r
+     * @throws SAXException \r
+     * @throws JAXBException \r
+     * @throws IOException \r
+     */\r
+       @Test\r
+    public void testUnmarshalEmptyDocument() throws JAXBException\r
+    {  \r
+               Reader reader = new StringReader(documentText);\r
+               DataSet dataSet = null;\r
+               dataSet = cdmDocumentBuilder.unmarshal(dataSet, reader);        \r
+    }\r
+    \r
+    /**\r
+     * Test the creation of the document builder\r
+     * @throws ParserConfigurationException \r
+     * @throws IOException \r
+     */\r
+       @Test\r
+    public void testCreation() throws JAXBException, SAXException, IOException, ParserConfigurationException\r
+    {\r
+       assertNotNull("cdmDocumentBuilder should be initialized without any problems",cdmDocumentBuilder);\r
+    }\r
+       \r
+       /**\r
+        * Check that we can marshal an empty document\r
+        * @throws JAXBException\r
+        * @throws IOException \r
+        */\r
+       @Test\r
+       public void testMarshalEmptyDocument() throws JAXBException, IOException {\r
+               DataSet dataSet = new DataSet();\r
+               StringWriter writer = new StringWriter();\r
+               cdmDocumentBuilder.marshal(dataSet, writer);\r
+               \r
+               SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);\r
+           schemaFactory.setResourceResolver(new CdmResourceResolver());\r
+           \r
+               Validator validator = new Validator(schemaFactory);\r
+               for(String schemaName : CdmDocumentBuilder.CDM_SCHEMA_FILES) {\r
+                   validator.addSchemaSource(new StreamSource(this.getClass().getResourceAsStream(schemaName)));\r
+           }\r
+               StreamSource streamSource = new StreamSource(new StringReader(writer.toString()));\r
+               assertTrue("CdmDocumentBuilder.marshal should produce valid xml",validator.isInstanceValid(streamSource));\r
+       }\r
+}\r
diff --git a/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/SpecimenTest.java b/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/SpecimenTest.java
new file mode 100644 (file)
index 0000000..1e19960
--- /dev/null
@@ -0,0 +1,85 @@
+package eu.etaxonomy.cdm.io.jaxb;\r
+\r
+import static org.junit.Assert.assertEquals;\r
+import static org.junit.Assert.assertFalse;\r
+import static org.junit.Assert.assertNotNull;\r
+import static org.junit.Assert.assertTrue;\r
+\r
+import java.io.InputStreamReader;\r
+import java.net.URI;\r
+\r
+import org.joda.time.DateTimeFieldType;\r
+import org.junit.Test;\r
+\r
+import eu.etaxonomy.cdm.model.agent.Institution;\r
+import eu.etaxonomy.cdm.model.agent.InstitutionalMembership;\r
+import eu.etaxonomy.cdm.model.agent.Person;\r
+import eu.etaxonomy.cdm.model.common.AnnotatableEntity;\r
+import eu.etaxonomy.cdm.model.common.Annotation;\r
+import eu.etaxonomy.cdm.model.common.LanguageString;\r
+import eu.etaxonomy.cdm.model.description.Sex;\r
+import eu.etaxonomy.cdm.model.media.Media;\r
+import eu.etaxonomy.cdm.model.media.MediaRepresentation;\r
+import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;\r
+import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
+import eu.etaxonomy.cdm.model.occurrence.Collection;\r
+import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;\r
+import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;\r
+import eu.etaxonomy.cdm.model.occurrence.FieldObservation;\r
+import eu.etaxonomy.cdm.model.occurrence.GatheringEvent;\r
+import eu.etaxonomy.cdm.model.occurrence.Specimen;\r
+import eu.etaxonomy.cdm.model.reference.Article;\r
+import eu.etaxonomy.cdm.model.reference.Journal;\r
+import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+\r
+public class SpecimenTest {\r
+               \r
+           private String resource = "/eu/etaxonomy/cdm/io/jaxb/SpecimenTest.xml";\r
+           \r
+           @Test\r
+           public void testUnmarshalSpecimen() throws Exception {\r
+               CdmDocumentBuilder cdmDocumentBuilder = new CdmDocumentBuilder();\r
+               URI uri = new URI(URIEncoder.encode(this.getClass().getResource(resource).toString()));\r
+               DataSet dataSet = null;\r
+               dataSet = cdmDocumentBuilder.unmarshal(dataSet, new InputStreamReader(this.getClass().getResourceAsStream(resource)),uri.toString());\r
+                       \r
+                       Specimen specimen = (Specimen)dataSet.getOccurrences().get(0);  \r
+                       assertNotNull("Specimen must not be null",specimen);\r
+                       \r
+                       Institution institution = (Institution)dataSet.getAgents().get(0);\r
+                       assertNotNull("Institution must not be null",institution);\r
+                       Person person = (Person)dataSet.getAgents().get(1);\r
+                       assertNotNull("Person must not be null", person);\r
+                       Taxon taxon = (Taxon)dataSet.getTaxonBases().get(0);\r
+                       assertNotNull("Taxon must not be null",taxon);\r
+                       TaxonNameBase name = dataSet.getTaxonomicNames().get(0);\r
+                       assertNotNull("TaxonNameBase must not be null",name);\r
+                       Sex sex = (Sex)dataSet.getTerms().get(1);\r
+                       \r
+                       Collection collection = (Collection)dataSet.getCollections().get(0);\r
+                       assertNotNull("Collection must not be null", collection);\r
+                       \r
+                       FieldObservation fieldObservation = (FieldObservation)dataSet.getOccurrences().get(1);\r
+                       assertNotNull("FieldObservation must not be null", fieldObservation);\r
+                       assertEquals("Specimen.collection must equal Collection",collection, specimen.getCollection());\r
+                       assertEquals("Collection.institute must equal Institution",institution,collection.getInstitute());\r
+                       \r
+                       assertEquals("TaxonNameBase must equal Specimen.storedUnder",name,specimen.getStoredUnder());\r
+                       assertEquals("Sex must equal Specimen.sex",sex,specimen.getSex());\r
+                       \r
+                       assertNotNull("Specimen.determinations must not be null",specimen.getDeterminations());\r
+                       assertFalse("Specimen.determinations must not be empty",specimen.getDeterminations().isEmpty());\r
+                       DeterminationEvent determination = specimen.getDeterminations().iterator().next();\r
+                       assertEquals("Person must equal Determination.actor",person,determination.getActor());\r
+                       \r
+                       GatheringEvent gatheringEvent = (GatheringEvent)dataSet.getEventBases().get(0);\r
+                       assertNotNull("GatheringEvent must not be null",gatheringEvent);\r
+                       \r
+                       DerivationEvent derivationEvent = (DerivationEvent)dataSet.getEventBases().get(1);\r
+                       assertNotNull("DerivationEvent must not be null",derivationEvent);\r
+                       \r
+                       assertEquals("GatheringEvent must be equal to FieldObservation.getGatheringEvent()",gatheringEvent, fieldObservation.getGatheringEvent());\r
+                       assertTrue("DerivationEvent.derivatives must contain Specimen",derivationEvent.getDerivatives().contains(specimen));\r
+                       assertEquals("DerivationEvent must equal Specimen.derivedFrom",derivationEvent,specimen.getDerivedFrom());\r
+           }\r
+}\r
diff --git a/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/TaxonNameTest.java b/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/TaxonNameTest.java
new file mode 100644 (file)
index 0000000..68f0779
--- /dev/null
@@ -0,0 +1,57 @@
+package eu.etaxonomy.cdm.io.jaxb;\r
+\r
+import static org.junit.Assert.assertEquals;\r
+import static org.junit.Assert.assertFalse;\r
+import static org.junit.Assert.assertNotNull;\r
+import static org.junit.Assert.assertTrue;\r
+\r
+import java.io.InputStreamReader;\r
+import java.net.URI;\r
+\r
+import org.junit.Test;\r
+\r
+import eu.etaxonomy.cdm.model.common.LSID;\r
+import eu.etaxonomy.cdm.model.name.BotanicalName;\r
+import eu.etaxonomy.cdm.model.name.NameTypeDesignation;\r
+import eu.etaxonomy.cdm.model.name.NonViralName;\r
+import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;\r
+import eu.etaxonomy.cdm.model.name.ZoologicalName;\r
+import eu.etaxonomy.cdm.model.occurrence.Specimen;\r
+import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;\r
+\r
+public class TaxonNameTest {\r
+               \r
+           private String resource = "/eu/etaxonomy/cdm/io/jaxb/TaxonNameTest.xml";\r
+           \r
+           @Test\r
+           public void testUnmarshalName() throws Exception {\r
+               CdmDocumentBuilder cdmDocumentBuilder = new CdmDocumentBuilder();\r
+               URI uri = new URI(URIEncoder.encode(this.getClass().getResource(resource).toString()));\r
+               DataSet dataSet = null;\r
+               dataSet = cdmDocumentBuilder.unmarshal(dataSet, new InputStreamReader(this.getClass().getResourceAsStream(resource)),uri.toString());\r
+                       \r
+                       BotanicalName botanicalName = (BotanicalName)dataSet.getTaxonomicNames().get(0);        \r
+                       assertNotNull("BotanicalName must not be null",botanicalName);\r
+                       Specimen specimen = (Specimen)dataSet.getOccurrences().get(0);\r
+                       \r
+                       assertNotNull("BotanicalName.typeDesignations must not be null",botanicalName.getTypeDesignations());\r
+                       assertFalse("BotanicalName.typeDesignations must contain TypeDesignation entities", botanicalName.getTypeDesignations().isEmpty());\r
+                       \r
+                       SpecimenTypeDesignation specimenTypeDesignation = (SpecimenTypeDesignation)botanicalName.getTypeDesignations().iterator().next();\r
+                       assertNotNull("SpecimenTypeDesignation.typifiedNames must not be null",specimenTypeDesignation.getTypifiedNames());\r
+                       assertFalse("SpecimenTypeDesignation.typifiedNames must not be empty",specimenTypeDesignation.getTypifiedNames().isEmpty());\r
+                       assertTrue("SpecimenTypeDesignation.typifiedNames must contain BotanicalName",specimenTypeDesignation.getTypifiedNames().contains(botanicalName));\r
+                       \r
+                       assertNotNull("SpecimenTypeDesignation.typeSpecimen must not be null",specimenTypeDesignation.getTypeSpecimen());\r
+                       assertEquals("SpecimenTypeDesignation.typeSpecimen must equal Specimen",specimen,specimenTypeDesignation.getTypeSpecimen());\r
+                       \r
+                       ZoologicalName zoologicalName = (ZoologicalName)dataSet.getTaxonomicNames().get(5);     \r
+                       assertNotNull("ZoologicalName must not be null",zoologicalName);\r
+                       \r
+                       NameTypeDesignation nameTypeDesignation = (NameTypeDesignation)zoologicalName.getTypeDesignations().iterator().next();\r
+                       assertNotNull("NameTypeDesignation.typeName must not be null",nameTypeDesignation.getTypeName());\r
+                       assertEquals("NameTypeDesignation.typeName must equal ZoologicalName",dataSet.getTaxonomicNames().get(6),nameTypeDesignation.getTypeName());\r
+                       \r
+           }\r
+}\r
diff --git a/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/TaxonTest.java b/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/TaxonTest.java
new file mode 100644 (file)
index 0000000..2324e6c
--- /dev/null
@@ -0,0 +1,46 @@
+package eu.etaxonomy.cdm.io.jaxb;\r
+\r
+import static org.junit.Assert.assertEquals;\r
+import static org.junit.Assert.assertFalse;\r
+import static org.junit.Assert.assertNotNull;\r
+import static org.junit.Assert.assertTrue;\r
+\r
+import java.io.InputStreamReader;\r
+import java.net.URI;\r
+\r
+import org.junit.Test;\r
+\r
+import eu.etaxonomy.cdm.model.common.LSID;\r
+import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;\r
+\r
+public class TaxonTest {\r
+               \r
+           private String resource = "/eu/etaxonomy/cdm/io/jaxb/TaxonTest.xml";\r
+           \r
+           @Test\r
+           public void testUnmarshalTaxon() throws Exception {\r
+               CdmDocumentBuilder cdmDocumentBuilder = new CdmDocumentBuilder();\r
+               URI uri = new URI(URIEncoder.encode(this.getClass().getResource(resource).toString()));\r
+               DataSet dataSet = null;\r
+               dataSet = cdmDocumentBuilder.unmarshal(dataSet, new InputStreamReader(this.getClass().getResourceAsStream(resource)),uri.toString());\r
+                       \r
+                       Taxon parent = (Taxon)dataSet.getTaxonBases().get(0);   \r
+                       assertNotNull("Taxon must not be null",parent);\r
+                       Taxon child = (Taxon)dataSet.getTaxonBases().get(1);\r
+                       assertNotNull("Taxon must not be null", child);\r
+                       \r
+                       assertNotNull("Taxon.relationsFromThisTaxon should not be null", parent.getRelationsFromThisTaxon());\r
+                       assertFalse("Taxon.relationsFromThisTaxon should not be empty",parent.getRelationsFromThisTaxon().isEmpty());\r
+                       TaxonRelationship taxonRelationship = parent.getRelationsFromThisTaxon().iterator().next();\r
+                       assertNotNull("TaxonRelationship.fromTaxon must not be null",taxonRelationship.getFromTaxon());\r
+                       assertEquals("parent Taxon should equal TaxonRelationship.fromTaxon",parent,taxonRelationship.getFromTaxon());\r
+                       assertNotNull("TaxonRelationship.toTaxon must not be null", taxonRelationship.getToTaxon());\r
+                       assertEquals("TaxonRelationship.toTaxon should equal child Taxon",child,taxonRelationship.getToTaxon());\r
+                       assertNotNull("Taxon.relationsToThisTaxon must not be null",child.getRelationsToThisTaxon());\r
+                       assertTrue("child Taxon.relationsToThisTaxon should contain TaxonRelationship",child.getRelationsToThisTaxon().contains(taxonRelationship));\r
+                       \r
+                       assertNotNull("Taxon.lsid should not be null",parent.getLsid());\r
+                       assertEquals("Taxon.lsid should equal urn:lsid:example.org:taxonconcept:1",new LSID("urn:lsid:example.org:taxonconcept:1"),parent.getLsid());\r
+           }\r
+}\r
diff --git a/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/URIEncoder.java b/cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/jaxb/URIEncoder.java
new file mode 100644 (file)
index 0000000..99f966c
--- /dev/null
@@ -0,0 +1,8 @@
+package eu.etaxonomy.cdm.io.jaxb;\r
+\r
+public class URIEncoder {\r
+    public static String encode(String string) {\r
+       \r
+               return string.replace(" ","%20");\r
+    }\r
+}\r
index d40374f07c107d54202db342d73a5bca01f5fdea..211572a1dc3102e7f19cfa02f2eb560ee810c236 100644 (file)
@@ -12,6 +12,8 @@ package eu.etaxonomy.cdm.io.sdd;
 import static org.junit.Assert.assertEquals;\r
 import static org.junit.Assert.assertNotNull;\r
 \r
+import java.io.FileNotFoundException;\r
+import java.io.FileOutputStream;\r
 import java.net.URL;\r
 \r
 import org.junit.Before;\r
@@ -56,6 +58,8 @@ public class SDDDescriptionIOTest extends CdmTransactionalIntegrationTest {
        @Test\r
        public void testDoInvoke() {\r
                sddDescriptionIo.doInvoke(configurator, null);\r
+               this.setComplete();\r
+               this.endTransaction();\r
                assertEquals("Number of TaxonNames should be 1", 1, nameService.count());\r
        }\r
 \r
index f44c97dfbd6c493f4ecd9fa07f33be0e5589332a..195c757268e68bce59e4946cfec94f7288fd475e 100644 (file)
@@ -20,7 +20,7 @@ import eu.etaxonomy.cdm.database.DataSourceNotFoundException;
 import eu.etaxonomy.cdm.database.DbSchemaValidation;\r
 import eu.etaxonomy.cdm.database.ICdmDataSource;\r
 import eu.etaxonomy.cdm.io.jaxb.DataSet;\r
-import eu.etaxonomy.cdm.model.agent.Agent;\r
+import eu.etaxonomy.cdm.model.agent.AgentBase;\r
 import eu.etaxonomy.cdm.model.agent.Institution;\r
 import eu.etaxonomy.cdm.model.agent.InstitutionalMembership;\r
 import eu.etaxonomy.cdm.model.agent.Person;\r
@@ -40,6 +40,7 @@ import eu.etaxonomy.cdm.model.reference.StrictReferenceBase;
 import eu.etaxonomy.cdm.model.taxon.Synonym;\r
 import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType;\r
 import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
 \r
 /**\r
  * @author a.babadshanjan\r
@@ -84,7 +85,7 @@ public class TestDatabase {
                TransactionStatus txStatus = appCtr.startTransaction();\r
                DataSet dataSet = buildDataSet();\r
                \r
-               appCtr.getTaxonService().saveTaxonAll(dataSet.getTaxa());\r
+               appCtr.getTaxonService().saveTaxonAll(dataSet.getTaxonBases());\r
 \r
                appCtr.commitTransaction(txStatus);\r
                appCtr.close();\r
@@ -97,14 +98,13 @@ public class TestDatabase {
         */\r
        private static DataSet buildDataSet() {\r
 \r
-               List<Agent> agents = new ArrayList<Agent>();\r
+               List<AgentBase> agents = new ArrayList<AgentBase>();\r
            List<VersionableEntity> agentData = new ArrayList<VersionableEntity>();\r
            //List<TermBase> terms = new ArrayList<TermBase>();\r
            List<DefinedTermBase> terms = new ArrayList<DefinedTermBase>();\r
            List<ReferenceBase> references = new ArrayList<ReferenceBase>();\r
            List<TaxonNameBase> taxonomicNames = new ArrayList<TaxonNameBase>();\r
-           List<Taxon> taxa = new ArrayList<Taxon>();\r
-           List<Synonym> synonyms = new ArrayList<Synonym>();\r
+           List<TaxonBase> taxonBases = new ArrayList<TaxonBase>();\r
            List<AnnotatableEntity> homotypicalGroups;\r
 \r
                StrictReferenceBase citRef, sec;\r
@@ -219,10 +219,10 @@ public class TestDatabase {
                child2.addSynonym(syn2, SynonymRelationshipType.HETEROTYPIC_SYNONYM_OF());\r
                freeT.addSynonym(synFree, SynonymRelationshipType.HETEROTYPIC_SYNONYM_OF());\r
 \r
-               synonyms.add(synFree);\r
-               synonyms.add(syn11);\r
-               synonyms.add(syn12);\r
-               synonyms.add(syn2);\r
+               taxonBases.add(synFree);\r
+               taxonBases.add(syn11);\r
+               taxonBases.add(syn12);\r
+               taxonBases.add(syn2);\r
                \r
                // taxonomic children\r
                \r
@@ -233,24 +233,23 @@ public class TestDatabase {
                root2T.addTaxonomicChild(child1, sec, "p.1010");\r
                root2T.addTaxonomicChild(child2, sec, "p.1020");\r
                \r
-               taxa.add(root1T);\r
-               taxa.add(root2T);\r
-               taxa.add(freeT);\r
-               taxa.add(child1);\r
-               taxa.add(child2);\r
-               taxa.add(child21);\r
-               taxa.add(childR2_1);\r
-               taxa.add(childR2_2);\r
+               taxonBases.add(root1T);\r
+               taxonBases.add(root2T);\r
+               taxonBases.add(freeT);\r
+               taxonBases.add(child1);\r
+               taxonBases.add(child2);\r
+               taxonBases.add(child21);\r
+               taxonBases.add(childR2_1);\r
+               taxonBases.add(childR2_2);\r
                \r
                DataSet dataSet = new DataSet();\r
                \r
                dataSet.setAgents(agents);\r
-               dataSet.setAgentData(agentData);\r
+//             dataSet.setAgentData(agentData);\r
                dataSet.setTerms(terms);\r
                dataSet.setReferences(references);\r
                dataSet.setTaxonomicNames(taxonomicNames);\r
-               dataSet.setTaxa(taxa);\r
-               dataSet.setSynonyms(synonyms);\r
+               dataSet.setTaxonBases(taxonBases);\r
                \r
                return dataSet;\r
 \r
index 6cc7749c1e13187fd9aa32dd0926e324e4cc2b06..38debdea484a046343fe02fdc2cb478319ff4703 100644 (file)
@@ -23,7 +23,7 @@ import eu.etaxonomy.cdm.database.DataSourceNotFoundException;
 import eu.etaxonomy.cdm.database.DbSchemaValidation;\r
 import eu.etaxonomy.cdm.database.ICdmDataSource;\r
 import eu.etaxonomy.cdm.io.common.Source;\r
-import eu.etaxonomy.cdm.model.agent.Agent;\r
+import eu.etaxonomy.cdm.model.agent.AgentBase;\r
 import eu.etaxonomy.cdm.model.common.CdmBase;\r
 import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
 import eu.etaxonomy.cdm.model.common.LanguageString;\r
@@ -443,8 +443,8 @@ public class TestCdmDbComparator {
                Map<String, List<String>> tables = new HashMap<String, List<String>>(table_list.length);\r
                \r
                List<String> agentTableContent = new ArrayList<String>(MAX_ROWS);\r
-               List<? extends Agent> agents = appCtr.getAgentService().getAllAgents(MAX_ROWS, 0);\r
-               for (Agent agent: agents ) {\r
+               List<? extends AgentBase> agents = appCtr.getAgentService().getAllAgents(MAX_ROWS, 0);\r
+               for (AgentBase agent: agents ) {\r
                        //TODO: Want the entire row as string not just toString() of the object.\r
                        agentTableContent.add(agent.toString());\r
                }\r
index ccf3949e022ae1bf47b4101da3d55c5307c7569e..d8b88efee050be982fdbe6213d17b1930e353d68 100644 (file)
-create table Address (id integer not null, created timestamp, uuid varchar(255), updated timestamp, locality varchar(255), location_errorradius integer, location_latitude double, location_longitude double, pobox varchar(255), postcode varchar(255), region varchar(255), street varchar(255), createdby_id integer, updatedby_id integer, contact_id integer, country_id integer, location_referencesystem_id integer, primary key (id));
-create table Agent (DTYPE varchar(31) not null, id integer not null, created timestamp, uuid varchar(255), updated timestamp, lsid varchar(255), titleCache varchar(255), protectedtitlecache boolean not null, code varchar(255), name varchar(255), nomenclaturaltitle varchar(255), firstname varchar(255), lastname varchar(255), lifespan_end varchar(255), lifespan_start varchar(255), prefix varchar(255), suffix varchar(255), createdby_id integer, updatedby_id integer, contact_id integer, ispartof_id integer, primary key (id));
-create table Agent_Agent (Agent_id integer not null, teammembers_id integer not null);
-create table Agent_Annotation (Agent_id integer not null, annotations_id integer not null, primary key (Agent_id, annotations_id), unique (annotations_id));
-create table Agent_DefinedTermBase (Agent_id integer not null, types_id integer not null, primary key (Agent_id, types_id));
-create table Agent_Extension (Agent_id integer not null, extensions_id integer not null, primary key (Agent_id, extensions_id), unique (extensions_id));
-create table Agent_Marker (Agent_id integer not null, markers_id integer not null, primary key (Agent_id, markers_id), unique (markers_id));
-create table Agent_Media (Agent_id integer not null, media_id integer not null, primary key (Agent_id, media_id), unique (media_id));
-create table Agent_OriginalSource (Agent_id integer not null, sources_id integer not null, primary key (Agent_id, sources_id), unique (sources_id));
-create table Agent_Rights (Agent_id integer not null, rights_id integer not null, primary key (Agent_id, rights_id));
-create table Annotation (id integer not null, created timestamp, uuid varchar(255), updated timestamp, text varchar(4096), annotatedObj_type varchar(255), annotatedObj_id integer not null, linkbackurlstr varchar(255), createdby_id integer, updatedby_id integer, language_id integer, annotationtype_id integer, commentator_id integer, primary key (id));
-create table Annotation_Annotation (Annotation_id integer not null, annotations_id integer not null, primary key (Annotation_id, annotations_id), unique (annotations_id));
-create table Annotation_Marker (Annotation_id integer not null, markers_id integer not null, primary key (Annotation_id, markers_id), unique (markers_id));
-create table CDM_VIEW (id integer not null, created timestamp, uuid varchar(255), description varchar(255), name varchar(255), reference varbinary(255), createdby_id integer, primary key (id));
-create table CDM_VIEW_CDM_VIEW (CDM_VIEW_id integer not null, superviews_id integer not null, primary key (CDM_VIEW_id, superviews_id), unique (superviews_id));
-create table Collection (id integer not null, created timestamp, uuid varchar(255), updated timestamp, lsid varchar(255), titleCache varchar(255), protectedtitlecache boolean not null, code varchar(255), codestandard varchar(255), name varchar(255), townorlocation varchar(255), createdby_id integer, updatedby_id integer, institute_id integer, supercollection_id integer, primary key (id));
-create table Collection_Annotation (Collection_id integer not null, annotations_id integer not null, primary key (Collection_id, annotations_id), unique (annotations_id));
-create table Collection_Extension (Collection_id integer not null, extensions_id integer not null, primary key (Collection_id, extensions_id), unique (extensions_id));
-create table Collection_Marker (Collection_id integer not null, markers_id integer not null, primary key (Collection_id, markers_id), unique (markers_id));
-create table Collection_Media (Collection_id integer not null, media_id integer not null, primary key (Collection_id, media_id), unique (media_id));
-create table Collection_OriginalSource (Collection_id integer not null, sources_id integer not null, primary key (Collection_id, sources_id), unique (sources_id));
-create table Collection_Rights (Collection_id integer not null, rights_id integer not null, primary key (Collection_id, rights_id));
-create table Contact (id integer not null, created timestamp, uuid varchar(255), updated timestamp, email varchar(255), fax varchar(255), phone varchar(255), url varchar(255), createdby_id integer, updatedby_id integer, primary key (id));
-create table DefinedTermBase (DTYPE varchar(31) not null, id integer not null, created timestamp, uuid varchar(255), updated timestamp, uri varchar(255), orderindex integer, iso639_1 varchar(2), iso639_2 varchar(3), symmetric boolean, transitive boolean, defaultcolor varchar(255), supportscommontaxonname boolean, supportsdistribution boolean, supportsindividualassociation boolean, supportsquantitativedata boolean, supportstaxoninteraction boolean, supportstextdata boolean, pointapproximation_errorradius integer, pointapproximation_latitude double, pointapproximation_longitude double, validperiod_end varchar(255), validperiod_start varchar(255), iso3166_a2 varchar(2), createdby_id integer, updatedby_id integer, kindof_id integer, partof_id integer, vocabulary_id integer, level_id integer, pointapproximation_referencesystem_id integer, shape_id integer, type_id integer, primary key (id));
-create table DefinedTermBase_Continent (DefinedTermBase_id integer not null, continents_id integer not null, primary key (DefinedTermBase_id, continents_id));
-create table DefinedTermBase_Media (DefinedTermBase_id integer not null, media_id integer not null, primary key (DefinedTermBase_id, media_id), unique (media_id));
-create table DefinedTermBase_RecommendedModifierEnumeration (DefinedTermBase_id integer not null, recommendedmodifierenumeration_id integer not null, primary key (DefinedTermBase_id, recommendedmodifierenumeration_id), unique (recommendedmodifierenumeration_id));
-create table DefinedTermBase_Representation (DefinedTermBase_id integer not null, representations_id integer not null, primary key (DefinedTermBase_id, representations_id), unique (representations_id));
-create table DefinedTermBase_StatisticalMeasure (DefinedTermBase_id integer not null, recommendedstatisticalmeasures_id integer not null, primary key (DefinedTermBase_id, recommendedstatisticalmeasures_id));
-create table DefinedTermBase_SupportedCategoricalEnumeration (DefinedTermBase_id integer not null, supportedcategoricalenumerations_id integer not null, primary key (DefinedTermBase_id, supportedcategoricalenumerations_id), unique (supportedcategoricalenumerations_id));
-create table DefinedTermBase_WaterbodyOrCountry (DefinedTermBase_id integer not null, waterbodiesorcountries_id integer not null, primary key (DefinedTermBase_id, waterbodiesorcountries_id));
-create table DerivationEvent (id integer not null, created timestamp, uuid varchar(255), updated timestamp, description varchar(255), timeperiod_end varchar(255), timeperiod_start varchar(255), createdby_id integer, updatedby_id integer, actor_id integer, type_id integer, primary key (id));
-create table DerivationEvent_Annotation (DerivationEvent_id integer not null, annotations_id integer not null, primary key (DerivationEvent_id, annotations_id), unique (annotations_id));
-create table DerivationEvent_Marker (DerivationEvent_id integer not null, markers_id integer not null, primary key (DerivationEvent_id, markers_id), unique (markers_id));
-create table DescriptionBase (DTYPE varchar(31) not null, id integer not null, created timestamp, uuid varchar(255), updated timestamp, lsid varchar(255), titleCache varchar(255), protectedtitlecache boolean not null, createdby_id integer, updatedby_id integer, taxon_fk integer, taxonName_fk integer, primary key (id));
-create table DescriptionBase_Annotation (DescriptionBase_id integer not null, annotations_id integer not null, primary key (DescriptionBase_id, annotations_id), unique (annotations_id));
-create table DescriptionBase_Extension (DescriptionBase_id integer not null, extensions_id integer not null, primary key (DescriptionBase_id, extensions_id), unique (extensions_id));
-create table DescriptionBase_GeoScope (DescriptionBase_id integer not null, geoscopes_id integer not null, primary key (DescriptionBase_id, geoscopes_id), unique (geoscopes_id));
-create table DescriptionBase_Marker (DescriptionBase_id integer not null, markers_id integer not null, primary key (DescriptionBase_id, markers_id), unique (markers_id));
-create table DescriptionBase_OriginalSource (DescriptionBase_id integer not null, sources_id integer not null, primary key (DescriptionBase_id, sources_id), unique (sources_id));
-create table DescriptionBase_ReferenceBase (DescriptionBase_id integer not null, descriptionsources_id integer not null, primary key (DescriptionBase_id, descriptionsources_id));
-create table DescriptionBase_Rights (DescriptionBase_id integer not null, rights_id integer not null, primary key (DescriptionBase_id, rights_id));
-create table DescriptionBase_Scope (DescriptionBase_id integer not null, scopes_id integer not null, primary key (DescriptionBase_id, scopes_id), unique (scopes_id));
-create table DescriptionElementBase (DTYPE varchar(31) not null, id integer not null, created timestamp, uuid varchar(255), updated timestamp, citationmicroreference varchar(255), originalnamestring varchar(255), modifyingtext varbinary(255), orderrelevant boolean, name varchar(255), description varbinary(255), createdby_id integer, updatedby_id integer, citation_id integer, feature_id integer, indescription_id integer, language_id integer, area_id integer, status_id integer, associatedspecimenorobservation_id integer, unit_id integer, taxon2_id integer, format_id integer, primary key (id));
-create table DescriptionElementBase_Annotation (DescriptionElementBase_id integer not null, annotations_id integer not null, primary key (DescriptionElementBase_id, annotations_id), unique (annotations_id));
-create table DescriptionElementBase_LanguageString (DescriptionElementBase_id integer not null, multilanguagetext_id integer not null, primary key (DescriptionElementBase_id, multilanguagetext_id), unique (multilanguagetext_id));
-create table DescriptionElementBase_Marker (DescriptionElementBase_id integer not null, markers_id integer not null, primary key (DescriptionElementBase_id, markers_id), unique (markers_id));
-create table DescriptionElementBase_Media (DescriptionElementBase_id integer not null, media_id integer not null, primary key (DescriptionElementBase_id, media_id), unique (media_id));
-create table DescriptionElementBase_Modifier (DescriptionElementBase_id integer not null, modifiers_id integer not null, primary key (DescriptionElementBase_id, modifiers_id), unique (modifiers_id));
-create table DescriptionElementBase_StateData (DescriptionElementBase_id integer not null, states_id integer not null);
-create table DescriptionElementBase_StatisticalMeasurementValue (DescriptionElementBase_id integer not null, statisticalvalues_id integer not null, primary key (DescriptionElementBase_id, statisticalvalues_id), unique (statisticalvalues_id));
-create table DeterminationEvent (id integer not null, created timestamp, uuid varchar(255), updated timestamp, description varchar(255), timeperiod_end varchar(255), timeperiod_start varchar(255), preferredflag boolean not null, createdby_id integer, updatedby_id integer, actor_id integer, identifiedunit_id integer, modifier_id integer, taxon_id integer, primary key (id));
-create table DeterminationEvent_Annotation (DeterminationEvent_id integer not null, annotations_id integer not null, primary key (DeterminationEvent_id, annotations_id), unique (annotations_id));
-create table DeterminationEvent_Marker (DeterminationEvent_id integer not null, markers_id integer not null, primary key (DeterminationEvent_id, markers_id), unique (markers_id));
-create table DeterminationEvent_ReferenceBase (DeterminationEvent_id integer not null, references_id integer not null, primary key (DeterminationEvent_id, references_id));
-create table Extension (id integer not null, created timestamp, uuid varchar(255), updated timestamp, value varchar(255), createdby_id integer, updatedby_id integer, type_id integer, primary key (id));
-create table FeatureNode (id integer not null, created timestamp, uuid varchar(255), updated timestamp, createdby_id integer, updatedby_id integer, feature_id integer, parent_fk integer, primary key (id));
-create table FeatureTree (id integer not null, created timestamp, uuid varchar(255), updated timestamp, uri varchar(255), descriptionseparated boolean not null, createdby_id integer, updatedby_id integer, root_id integer, primary key (id));
-create table FeatureTree_Representation (FeatureTree_id integer not null, representations_id integer not null, primary key (FeatureTree_id, representations_id), unique (representations_id));
-create table GatheringEvent (id integer not null, created timestamp, uuid varchar(255), updated timestamp, description varchar(255), timeperiod_end varchar(255), timeperiod_start varchar(255), absoluteelevation integer, absoluteelevationerror integer, collectingmethod varchar(255), distancetoground integer, distancetowatersurface integer, exactlocation_errorradius integer, exactlocation_latitude double, exactlocation_longitude double, createdby_id integer, updatedby_id integer, actor_id integer, exactlocation_referencesystem_id integer, locality_id integer, primary key (id));
-create table GatheringEvent_Annotation (GatheringEvent_id integer not null, annotations_id integer not null, primary key (GatheringEvent_id, annotations_id), unique (annotations_id));
-create table GatheringEvent_DefinedTermBase (GatheringEvent_id integer not null, collectingareas_id integer not null, primary key (GatheringEvent_id, collectingareas_id));
-create table GatheringEvent_Marker (GatheringEvent_id integer not null, markers_id integer not null, primary key (GatheringEvent_id, markers_id), unique (markers_id));
-create table GenBankAccession (id integer not null, created timestamp, uuid varchar(255), updated timestamp, accessionnumber varchar(255), uri varchar(255), createdby_id integer, updatedby_id integer, primary key (id));
-create table GrantedAuthorityImpl (id integer not null, created timestamp, uuid varchar(255), authority varchar(255), createdby_id integer, primary key (id), unique (authority));
-create table HomotypicalGroup (id integer not null, created timestamp, uuid varchar(255), updated timestamp, createdby_id integer, updatedby_id integer, primary key (id));
-create table HomotypicalGroup_Annotation (HomotypicalGroup_id integer not null, annotations_id integer not null, primary key (HomotypicalGroup_id, annotations_id), unique (annotations_id));
-create table HomotypicalGroup_Marker (HomotypicalGroup_id integer not null, markers_id integer not null, primary key (HomotypicalGroup_id, markers_id), unique (markers_id));
-create table HybridRelationship (id integer not null, created timestamp, uuid varchar(255), updated timestamp, citationmicroreference varchar(255), originalnamestring varchar(255), doubtful boolean not null, ruleconsidered varchar(255), createdby_id integer, updatedby_id integer, citation_id integer, relatedfrom_id integer, relatedto_id integer, type_id integer, primary key (id));
-create table HybridRelationship_Annotation (HybridRelationship_id integer not null, annotations_id integer not null, primary key (HybridRelationship_id, annotations_id), unique (annotations_id));
-create table HybridRelationship_Marker (HybridRelationship_id integer not null, markers_id integer not null, primary key (HybridRelationship_id, markers_id), unique (markers_id));
-create table IdentificationKey_Taxon (identificationKey_fk integer not null, taxon_fk integer not null, primary key (identificationKey_fk, taxon_fk));
-create table InstitutionalMembership (id integer not null, created timestamp, uuid varchar(255), updated timestamp, department varchar(255), period_end varchar(255), period_start varchar(255), role varchar(255), createdby_id integer, updatedby_id integer, institute_id integer, person_id integer, primary key (id));
-create table LanguageString (id integer not null, created timestamp, uuid varchar(255), updated timestamp, text varchar(4096), createdby_id integer, updatedby_id integer, language_id integer, primary key (id));
-create table LanguageString_Annotation (LanguageString_id integer not null, annotations_id integer not null, primary key (LanguageString_id, annotations_id), unique (annotations_id));
-create table LanguageString_Marker (LanguageString_id integer not null, markers_id integer not null, primary key (LanguageString_id, markers_id), unique (markers_id));
-create table Locus (id integer not null, created timestamp, uuid varchar(255), updated timestamp, description varchar(255), name varchar(255), createdby_id integer, updatedby_id integer, primary key (id));
-create table Marker (id integer not null, created timestamp, uuid varchar(255), updated timestamp, flag boolean not null, markedObj_type varchar(255), markedObj_id integer not null, createdby_id integer, updatedby_id integer, markertype_id integer, primary key (id));
-create table Media (DTYPE varchar(31) not null, id integer not null, created timestamp, uuid varchar(255), updated timestamp, description varbinary(255), mediacreated date, title varbinary(255), citationmicroreference varchar(255), createdby_id integer, updatedby_id integer, artist_id integer, citation_id integer, primary key (id));
-create table MediaRepresentation (id integer not null, created timestamp, uuid varchar(255), updated timestamp, mimetype varchar(255), suffix varchar(255), createdby_id integer, updatedby_id integer, media_id integer, primary key (id));
-create table MediaRepresentationPart (DTYPE varchar(31) not null, id integer not null, created timestamp, uuid varchar(255), updated timestamp, size integer, uri varchar(255), duration integer, height integer, width integer, createdby_id integer, updatedby_id integer, representation_id integer not null, sortIndex integer, primary key (id));
-create table Media_Annotation (Media_id integer not null, annotations_id integer not null, primary key (Media_id, annotations_id), unique (annotations_id));
-create table Media_DefinedTermBase (Media_id integer not null, geoscopes_id integer not null, primary key (Media_id, geoscopes_id));
-create table Media_Marker (Media_id integer not null, markers_id integer not null, primary key (Media_id, markers_id), unique (markers_id));
-create table Media_Rights (Media_id integer not null, rights_id integer not null, primary key (Media_id, rights_id));
-create table Media_Sequence (Media_id integer not null, usedsequences_id integer not null, primary key (Media_id, usedsequences_id), unique (usedsequences_id));
-create table Media_TaxonBase (Media_id integer not null, coveredtaxa_id integer not null, primary key (Media_id, coveredtaxa_id), unique (coveredtaxa_id));
-create table NameRelationship (id integer not null, created timestamp, uuid varchar(255), updated timestamp, citationmicroreference varchar(255), originalnamestring varchar(255), doubtful boolean not null, ruleconsidered varchar(255), createdby_id integer, updatedby_id integer, citation_id integer, relatedfrom_id integer, relatedto_id integer, type_id integer, primary key (id));
-create table NameRelationship_Annotation (NameRelationship_id integer not null, annotations_id integer not null, primary key (NameRelationship_id, annotations_id), unique (annotations_id));
-create table NameRelationship_Marker (NameRelationship_id integer not null, markers_id integer not null, primary key (NameRelationship_id, markers_id), unique (markers_id));
-create table NomenclaturalStatus (id integer not null, created timestamp, uuid varchar(255), updated timestamp, citationmicroreference varchar(255), originalnamestring varchar(255), ruleconsidered varchar(255), createdby_id integer, updatedby_id integer, citation_id integer, type_id integer, primary key (id));
-create table NomenclaturalStatus_Annotation (NomenclaturalStatus_id integer not null, annotations_id integer not null, primary key (NomenclaturalStatus_id, annotations_id), unique (annotations_id));
-create table NomenclaturalStatus_Marker (NomenclaturalStatus_id integer not null, markers_id integer not null, primary key (NomenclaturalStatus_id, markers_id), unique (markers_id));
-create table OriginalSource (id integer not null, created timestamp, uuid varchar(255), updated timestamp, citationmicroreference varchar(255), originalnamestring varchar(255), idinsource varchar(255), idnamespace varchar(255), sourcedObj_type varchar(255), sourcedObj_id integer not null, createdby_id integer, updatedby_id integer, citation_id integer, primary key (id));
-create table OriginalSource_Annotation (OriginalSource_id integer not null, annotations_id integer not null, primary key (OriginalSource_id, annotations_id), unique (annotations_id));
-create table OriginalSource_Marker (OriginalSource_id integer not null, markers_id integer not null, primary key (OriginalSource_id, markers_id), unique (markers_id));
-create table PermissionGroup (id integer not null, created timestamp, uuid varchar(255), name varchar(255), createdby_id integer, primary key (id));
-create table PermissionGroup_GrantedAuthorityImpl (PermissionGroup_id integer not null, grantedauthorities_id integer not null, primary key (PermissionGroup_id, grantedauthorities_id));
-create table Person_Keyword (person_fk integer not null, keyword_fk integer not null, primary key (person_fk, keyword_fk));
-create table ReferenceBase (DTYPE varchar(31) not null, id integer not null, created timestamp, uuid varchar(255), updated timestamp, lsid varchar(255), titleCache varchar(255), protectedtitlecache boolean not null, hasproblem boolean not null, nomenclaturallyrelevant boolean not null, problemends integer not null, problemstarts integer not null, uri varchar(255), datepublished_end varchar(255), datepublished_start varchar(255), title varchar(255), pages varchar(255), series varchar(255), volume varchar(255), address varchar(255), annote varchar(255), booktitle varchar(255), chapter varchar(255), edition varchar(255), editor varchar(255), eprint varchar(255), howpublished varchar(255), institution varchar(255), journal varchar(255), month varchar(255), note varchar(255), number varchar(255), organization varchar(255), publisher varchar(255), reporttype varchar(255), school varchar(255), year varchar(255), placepublished varchar(255), seriespart varchar(255), isbn varchar(255), issn varchar(255), createdby_id integer, updatedby_id integer, authorteam_id integer, injournal_id integer, crossref_id integer, type_id integer, inseries_id integer, inbook_id integer, inproceedings_id integer, institution_id integer, school_id integer, primary key (id));
-create table ReferenceBase_Annotation (ReferenceBase_id integer not null, annotations_id integer not null, primary key (ReferenceBase_id, annotations_id), unique (annotations_id));
-create table ReferenceBase_Extension (ReferenceBase_id integer not null, extensions_id integer not null, primary key (ReferenceBase_id, extensions_id), unique (extensions_id));
-create table ReferenceBase_Marker (ReferenceBase_id integer not null, markers_id integer not null, primary key (ReferenceBase_id, markers_id), unique (markers_id));
-create table ReferenceBase_Media (ReferenceBase_id integer not null, media_id integer not null, primary key (ReferenceBase_id, media_id), unique (media_id));
-create table ReferenceBase_OriginalSource (ReferenceBase_id integer not null, sources_id integer not null, primary key (ReferenceBase_id, sources_id), unique (sources_id));
-create table ReferenceBase_Rights (ReferenceBase_id integer not null, rights_id integer not null, primary key (ReferenceBase_id, rights_id));
-create table RelationshipTermBase_inverseRepresentation (DefinedTermBase_id integer not null, inverserepresentations_id integer not null, primary key (DefinedTermBase_id, inverserepresentations_id), unique (inverserepresentations_id));
-create table Representation (id integer not null, created timestamp, uuid varchar(255), updated timestamp, text varchar(4096), abbreviatedlabel varchar(255), label varchar(255), createdby_id integer, updatedby_id integer, language_id integer, primary key (id));
-create table Representation_Annotation (Representation_id integer not null, annotations_id integer not null, primary key (Representation_id, annotations_id), unique (annotations_id));
-create table Representation_Marker (Representation_id integer not null, markers_id integer not null, primary key (Representation_id, markers_id), unique (markers_id));
-create table Rights (id integer not null, created timestamp, uuid varchar(255), updated timestamp, text varchar(4096), abbreviatedtext varchar(255), uri varchar(255), createdby_id integer, updatedby_id integer, language_id integer, agent_id integer, type_id integer, primary key (id));
-create table Rights_Annotation (Rights_id integer not null, annotations_id integer not null, primary key (Rights_id, annotations_id), unique (annotations_id));
-create table Rights_Marker (Rights_id integer not null, markers_id integer not null, primary key (Rights_id, markers_id), unique (markers_id));
-create table Sequence (id integer not null, created timestamp, uuid varchar(255), updated timestamp, lsid varchar(255), titleCache varchar(255), protectedtitlecache boolean not null, barcode boolean not null, citationmicroreference varchar(255), datesequenced date, length integer, sequence varchar(255), createdby_id integer, updatedby_id integer, locus_id integer, publishedin_id integer, primary key (id));
-create table Sequence_Annotation (Sequence_id integer not null, annotations_id integer not null, primary key (Sequence_id, annotations_id), unique (annotations_id));
-create table Sequence_Extension (Sequence_id integer not null, extensions_id integer not null, primary key (Sequence_id, extensions_id), unique (extensions_id));
-create table Sequence_GenBankAccession (Sequence_id integer not null, genbankaccession_id integer not null, primary key (Sequence_id, genbankaccession_id), unique (genbankaccession_id));
-create table Sequence_Marker (Sequence_id integer not null, markers_id integer not null, primary key (Sequence_id, markers_id), unique (markers_id));
-create table Sequence_Media (Sequence_id integer not null, chromatograms_id integer not null, primary key (Sequence_id, chromatograms_id), unique (chromatograms_id));
-create table Sequence_OriginalSource (Sequence_id integer not null, sources_id integer not null, primary key (Sequence_id, sources_id), unique (sources_id));
-create table Sequence_ReferenceBase (Sequence_id integer not null, citations_id integer not null, primary key (Sequence_id, citations_id), unique (citations_id));
-create table Sequence_Rights (Sequence_id integer not null, rights_id integer not null, primary key (Sequence_id, rights_id));
-create table SpecimenOrObservationBase (DTYPE varchar(31) not null, id integer not null, created timestamp, uuid varchar(255), updated timestamp, lsid varchar(255), titleCache varchar(255), protectedtitlecache boolean not null, definition varbinary(255), individualcount integer, accessionnumber varchar(255), catalognumber varchar(255), collectorsnumber varchar(255), fieldnotes varchar(255), fieldnumber varchar(255), createdby_id integer, updatedby_id integer, lifestage_id integer, sex_id integer, collection_id integer, derivationevent_id integer, storedunder_id integer, preservation_id integer, gatheringevent_id integer, primary key (id));
-create table SpecimenOrObservationBase_Annotation (SpecimenOrObservationBase_id integer not null, annotations_id integer not null, primary key (SpecimenOrObservationBase_id, annotations_id), unique (annotations_id));
-create table SpecimenOrObservationBase_DerivationEvent (originals_id integer not null, derivationevents_id integer not null, primary key (originals_id, derivationevents_id));
-create table SpecimenOrObservationBase_Extension (SpecimenOrObservationBase_id integer not null, extensions_id integer not null, primary key (SpecimenOrObservationBase_id, extensions_id), unique (extensions_id));
-create table SpecimenOrObservationBase_Marker (SpecimenOrObservationBase_id integer not null, markers_id integer not null, primary key (SpecimenOrObservationBase_id, markers_id), unique (markers_id));
-create table SpecimenOrObservationBase_Media (SpecimenOrObservationBase_id integer not null, media_id integer not null, primary key (SpecimenOrObservationBase_id, media_id), unique (media_id));
-create table SpecimenOrObservationBase_OriginalSource (SpecimenOrObservationBase_id integer not null, sources_id integer not null, primary key (SpecimenOrObservationBase_id, sources_id), unique (sources_id));
-create table SpecimenOrObservationBase_Rights (SpecimenOrObservationBase_id integer not null, rights_id integer not null, primary key (SpecimenOrObservationBase_id, rights_id));
-create table SpecimenOrObservationBase_Sequence (SpecimenOrObservationBase_id integer not null, sequences_id integer not null, primary key (SpecimenOrObservationBase_id, sequences_id), unique (sequences_id));
-create table StateData (id integer not null, created timestamp, uuid varchar(255), updated timestamp, modifyingtext varbinary(255), createdby_id integer, updatedby_id integer, state_id integer, primary key (id));
-create table StateData_DefinedTermBase (StateData_id integer not null, modifiers_id integer not null, primary key (StateData_id, modifiers_id), unique (modifiers_id));
-create table StatisticalMeasurementValue (id integer not null, created timestamp, uuid varchar(255), updated timestamp, value double not null, createdby_id integer, updatedby_id integer, type_id integer, primary key (id));
-create table StatisticalMeasurementValue_DefinedTermBase (StatisticalMeasurementValue_id integer not null, modifiers_id integer not null, primary key (StatisticalMeasurementValue_id, modifiers_id), unique (modifiers_id));
-create table SynonymRelationship (id integer not null, created timestamp, uuid varchar(255), updated timestamp, citationmicroreference varchar(255), originalnamestring varchar(255), doubtful boolean not null, partial boolean not null, proparte boolean not null, createdby_id integer, updatedby_id integer, citation_id integer, relatedfrom_id integer, relatedto_id integer, type_id integer, primary key (id));
-create table SynonymRelationship_Annotation (SynonymRelationship_id integer not null, annotations_id integer not null, primary key (SynonymRelationship_id, annotations_id), unique (annotations_id));
-create table SynonymRelationship_Marker (SynonymRelationship_id integer not null, markers_id integer not null, primary key (SynonymRelationship_id, markers_id), unique (markers_id));
-create table TaxonBase (DTYPE varchar(31) not null, id integer not null, created timestamp, uuid varchar(255), updated timestamp, lsid varchar(255), titleCache varchar(255), protectedtitlecache boolean not null, doubtful boolean not null, taxonomicchildrencount integer, createdby_id integer, updatedby_id integer, taxonName_fk integer, sec_id integer, taxonomicparentcache_id integer, primary key (id));
-create table TaxonBase_Annotation (TaxonBase_id integer not null, annotations_id integer not null, primary key (TaxonBase_id, annotations_id), unique (annotations_id));
-create table TaxonBase_Extension (TaxonBase_id integer not null, extensions_id integer not null, primary key (TaxonBase_id, extensions_id), unique (extensions_id));
-create table TaxonBase_Marker (TaxonBase_id integer not null, markers_id integer not null, primary key (TaxonBase_id, markers_id), unique (markers_id));
-create table TaxonBase_OriginalSource (TaxonBase_id integer not null, sources_id integer not null, primary key (TaxonBase_id, sources_id), unique (sources_id));
-create table TaxonBase_Rights (TaxonBase_id integer not null, rights_id integer not null, primary key (TaxonBase_id, rights_id));
-create table TaxonNameBase (DTYPE varchar(31) not null, id integer not null, created timestamp, uuid varchar(255), updated timestamp, lsid varchar(255), titleCache varchar(255), protectedtitlecache boolean not null, appendedphrase varchar(255), hasproblem boolean not null, nomenclaturalmicroreference varchar(255), fullTitleCache varchar(330), problemends integer not null, problemstarts integer not null, protectedfulltitlecache boolean not null, authorshipcache varchar(255), genusoruninomial varchar(255), infragenericepithet varchar(255), infraspecificepithet varchar(255), namecache varchar(255), protectedauthorshipcache boolean, protectednamecache boolean, specificepithet varchar(255), nameapprobation varchar(255), subgenusauthorship varchar(255), anamorphic boolean, binomhybrid boolean, hybridformula boolean, monomhybrid boolean, trinomhybrid boolean, cultivarname varchar(255), acronym varchar(255), breed varchar(255), originalpublicationyear integer, publicationyear integer, createdby_id integer, updatedby_id integer, homotypicalgroup_id integer, nomenclaturalreference_id integer, rank_id integer, basionymauthorteam_id integer, combinationauthorteam_id integer, exbasionymauthorteam_id integer, excombinationauthorteam_id integer, primary key (id));
-create table TaxonNameBase_Annotation (TaxonNameBase_id integer not null, annotations_id integer not null, primary key (TaxonNameBase_id, annotations_id), unique (annotations_id));
-create table TaxonNameBase_Extension (TaxonNameBase_id integer not null, extensions_id integer not null, primary key (TaxonNameBase_id, extensions_id), unique (extensions_id));
-create table TaxonNameBase_HybridRelationship (TaxonNameBase_id integer not null, hybridrelationships_id integer not null, primary key (TaxonNameBase_id, hybridrelationships_id), unique (hybridrelationships_id));
-create table TaxonNameBase_Marker (TaxonNameBase_id integer not null, markers_id integer not null, primary key (TaxonNameBase_id, markers_id), unique (markers_id));
-create table TaxonNameBase_NomenclaturalStatus (TaxonNameBase_id integer not null, status_id integer not null, primary key (TaxonNameBase_id, status_id), unique (status_id));
-create table TaxonNameBase_OriginalSource (TaxonNameBase_id integer not null, sources_id integer not null, primary key (TaxonNameBase_id, sources_id), unique (sources_id));
-create table TaxonNameBase_Rights (TaxonNameBase_id integer not null, rights_id integer not null, primary key (TaxonNameBase_id, rights_id));
-create table TaxonNameBase_TypeDesignationBase (TaxonNameBase_id integer not null, typedesignations_id integer not null, primary key (TaxonNameBase_id, typedesignations_id));
-create table TaxonRelationship (id integer not null, created timestamp, uuid varchar(255), updated timestamp, citationmicroreference varchar(255), originalnamestring varchar(255), doubtful boolean not null, createdby_id integer, updatedby_id integer, citation_id integer, relatedfrom_id integer, relatedto_id integer, type_id integer, primary key (id));
-create table TaxonRelationship_Annotation (TaxonRelationship_id integer not null, annotations_id integer not null, primary key (TaxonRelationship_id, annotations_id), unique (annotations_id));
-create table TaxonRelationship_Marker (TaxonRelationship_id integer not null, markers_id integer not null, primary key (TaxonRelationship_id, markers_id), unique (markers_id));
-create table TermVocabulary (DTYPE varchar(31) not null, id integer not null, created timestamp, uuid varchar(255), updated timestamp, uri varchar(255), termsourceuri varchar(255), createdby_id integer, updatedby_id integer, primary key (id));
-create table TermVocabulary_Representation (TermVocabulary_id integer not null, representations_id integer not null, primary key (TermVocabulary_id, representations_id), unique (representations_id));
-create table TypeDesignationBase (DTYPE varchar(31) not null, id integer not null, created timestamp, uuid varchar(255), updated timestamp, citationmicroreference varchar(255), originalnamestring varchar(255), notdesignated boolean not null, conservedtype boolean, lectotype boolean, rejectedtype boolean, createdby_id integer, updatedby_id integer, citation_id integer, homotypicalgroup_id integer, typename_id integer, typespecimen_id integer, typestatus_id integer, primary key (id));
-create table TypeDesignationBase_Annotation (TypeDesignationBase_id integer not null, annotations_id integer not null, primary key (TypeDesignationBase_id, annotations_id), unique (annotations_id));
-create table TypeDesignationBase_Marker (TypeDesignationBase_id integer not null, markers_id integer not null, primary key (TypeDesignationBase_id, markers_id), unique (markers_id));
-create table TypeDesignationBase_TaxonNameBase (TypeDesignationBase_id integer not null, typifiednames_id integer not null, primary key (TypeDesignationBase_id, typifiednames_id));
-create table User (id integer not null, created timestamp, uuid varchar(255), accountnonexpired boolean not null, accountnonlocked boolean not null, credentialsnonexpired boolean not null, emailaddress varchar(255), enabled boolean not null, password varchar(255), username varchar(255), createdby_id integer, primary key (id), unique (username));
-create table User_GrantedAuthorityImpl (User_id integer not null, grantedauthorities_id integer not null, primary key (User_id, grantedauthorities_id));
-create table User_PermissionGroup (members_id integer not null, groups_id integer not null, primary key (members_id, groups_id));
-alter table Address add constraint FK1ED033D4132A2FE8 foreign key (location_referencesystem_id) references DefinedTermBase;
-alter table Address add constraint FK1ED033D4EE7A4BF4 foreign key (contact_id) references Contact;
-alter table Address add constraint FK1ED033D4EF7921F6 foreign key (createdby_id) references Agent;
-alter table Address add constraint FK1ED033D42687715A foreign key (country_id) references DefinedTermBase;
-alter table Address add constraint FK1ED033D45BE3EC03 foreign key (updatedby_id) references Agent;
-create index agentTitleCacheIndex on Agent (titleCache);
-alter table Agent add constraint FK3C452E5EE7A4BF4 foreign key (contact_id) references Contact;
-alter table Agent add constraint FK3C452E5EF7921F6 foreign key (createdby_id) references Agent;
-alter table Agent add constraint FK3C452E5A830578 foreign key (ispartof_id) references Agent;
-alter table Agent add constraint FK3C452E55BE3EC03 foreign key (updatedby_id) references Agent;
-alter table Agent_Agent add constraint FKD792890B8CB642F8 foreign key (Agent_id) references Agent;
-alter table Agent_Agent add constraint FKD792890BE9E535F9 foreign key (teammembers_id) references Agent;
-alter table Agent_Annotation add constraint FKDD9D78E9C5F7EC54 foreign key (Agent_id) references Agent;
-alter table Agent_Annotation add constraint FKDD9D78E91E403E0B foreign key (annotations_id) references Annotation;
-alter table Agent_DefinedTermBase add constraint FK7029490CFE425B87 foreign key (Agent_id) references Agent;
-alter table Agent_DefinedTermBase add constraint FK7029490C9A161BED foreign key (types_id) references DefinedTermBase;
-alter table Agent_Extension add constraint FK8AC9EF45C5F7EC54 foreign key (Agent_id) references Agent;
-alter table Agent_Extension add constraint FK8AC9EF45927DE9DF foreign key (extensions_id) references Extension;
-alter table Agent_Marker add constraint FK2EEA0EF4C5F7EC54 foreign key (Agent_id) references Agent;
-alter table Agent_Marker add constraint FK2EEA0EF4777265A1 foreign key (markers_id) references Marker;
-alter table Agent_Media add constraint FKD83AB5EAC5F7EC54 foreign key (Agent_id) references Agent;
-alter table Agent_Media add constraint FKD83AB5EAC2C29593 foreign key (media_id) references Media;
-alter table Agent_OriginalSource add constraint FK774F9E06C5F7EC54 foreign key (Agent_id) references Agent;
-alter table Agent_OriginalSource add constraint FK774F9E063BAB2414 foreign key (sources_id) references OriginalSource;
-alter table Agent_Rights add constraint FK37DDFC91C5F7EC54 foreign key (Agent_id) references Agent;
-alter table Agent_Rights add constraint FK37DDFC91C13F7B21 foreign key (rights_id) references Rights;
-alter table Annotation add constraint FK1A21C74FDF299D00 foreign key (annotationtype_id) references DefinedTermBase;
-alter table Annotation add constraint FK1A21C74FEF7921F6 foreign key (createdby_id) references Agent;
-alter table Annotation add constraint FK1A21C74FE7692740 foreign key (commentator_id) references Agent;
-alter table Annotation add constraint FK1A21C74F5BE3EC03 foreign key (updatedby_id) references Agent;
-alter table Annotation add constraint FK1A21C74FE8D36B00 foreign key (language_id) references DefinedTermBase;
-alter table Annotation_Annotation add constraint FKC99DFE3F994CCE20 foreign key (Annotation_id) references Annotation;
-alter table Annotation_Annotation add constraint FKC99DFE3F1E403E0B foreign key (annotations_id) references Annotation;
-alter table Annotation_Marker add constraint FKB17EAF4A994CCE20 foreign key (Annotation_id) references Annotation;
-alter table Annotation_Marker add constraint FKB17EAF4A777265A1 foreign key (markers_id) references Marker;
-alter table CDM_VIEW add constraint FKC5DE8EF8EF7921F6 foreign key (createdby_id) references Agent;
-alter table CDM_VIEW_CDM_VIEW add constraint FK230A885F7208BB38 foreign key (superviews_id) references CDM_VIEW;
-alter table CDM_VIEW_CDM_VIEW add constraint FK230A885FC00D1213 foreign key (CDM_VIEW_id) references CDM_VIEW;
-create index collectionTitleCacheIndex on Collection (titleCache);
-alter table Collection add constraint FKF078ABECEB38EFF foreign key (supercollection_id) references Collection;
-alter table Collection add constraint FKF078ABEEF7921F6 foreign key (createdby_id) references Agent;
-alter table Collection add constraint FKF078ABE16B9CA77 foreign key (institute_id) references Agent;
-alter table Collection add constraint FKF078ABE5BE3EC03 foreign key (updatedby_id) references Agent;
-alter table Collection_Annotation add constraint FKEA970F70EB62BE9A foreign key (Collection_id) references Collection;
-alter table Collection_Annotation add constraint FKEA970F701E403E0B foreign key (annotations_id) references Annotation;
-alter table Collection_Extension add constraint FKF68FEBDE927DE9DF foreign key (extensions_id) references Extension;
-alter table Collection_Extension add constraint FKF68FEBDEEB62BE9A foreign key (Collection_id) references Collection;
-alter table Collection_Marker add constraint FKF0CA00FBEB62BE9A foreign key (Collection_id) references Collection;
-alter table Collection_Marker add constraint FKF0CA00FB777265A1 foreign key (markers_id) references Marker;
-alter table Collection_Media add constraint FK7320E703EB62BE9A foreign key (Collection_id) references Collection;
-alter table Collection_Media add constraint FK7320E703C2C29593 foreign key (media_id) references Media;
-alter table Collection_OriginalSource add constraint FKA8FC990DEB62BE9A foreign key (Collection_id) references Collection;
-alter table Collection_OriginalSource add constraint FKA8FC990D3BAB2414 foreign key (sources_id) references OriginalSource;
-alter table Collection_Rights add constraint FKF9BDEE98EB62BE9A foreign key (Collection_id) references Collection;
-alter table Collection_Rights add constraint FKF9BDEE98C13F7B21 foreign key (rights_id) references Rights;
-alter table Contact add constraint FK9BEFBC00EF7921F6 foreign key (createdby_id) references Agent;
-alter table Contact add constraint FK9BEFBC005BE3EC03 foreign key (updatedby_id) references Agent;
-alter table DefinedTermBase add constraint FK2E340A6636C6F6F6 foreign key (pointapproximation_referencesystem_id) references DefinedTermBase;
-alter table DefinedTermBase add constraint FK2E340A66EF7921F6 foreign key (createdby_id) references Agent;
-alter table DefinedTermBase add constraint FK2E340A6688206484 foreign key (type_id) references DefinedTermBase;
-alter table DefinedTermBase add constraint FK2E340A6647AF954C foreign key (vocabulary_id) references TermVocabulary;
-alter table DefinedTermBase add constraint FK2E340A663B0DA0EF foreign key (kindof_id) references DefinedTermBase;
-alter table DefinedTermBase add constraint FK2E340A6624AF3F70 foreign key (level_id) references DefinedTermBase;
-alter table DefinedTermBase add constraint FK2E340A665BE3EC03 foreign key (updatedby_id) references Agent;
-alter table DefinedTermBase add constraint FK2E340A66CC0240B6 foreign key (shape_id) references Media;
-alter table DefinedTermBase add constraint FK2E340A66D040DBF0 foreign key (partof_id) references DefinedTermBase;
-alter table DefinedTermBase_Continent add constraint FK45F60AFBE8CE10AA foreign key (DefinedTermBase_id) references DefinedTermBase;
-alter table DefinedTermBase_Continent add constraint FK45F60AFB3927C853 foreign key (continents_id) references DefinedTermBase;
-alter table DefinedTermBase_Media add constraint FK6FC908ABC0DB4934 foreign key (DefinedTermBase_id) references DefinedTermBase;
-alter table DefinedTermBase_Media add constraint FK6FC908ABC2C29593 foreign key (media_id) references Media;
-alter table DefinedTermBase_RecommendedModifierEnumeration add constraint FKA72FB5AED0BDAE9B foreign key (DefinedTermBase_id) references DefinedTermBase;
-alter table DefinedTermBase_RecommendedModifierEnumeration add constraint FKA72FB5AE5255EAFD foreign key (recommendedmodifierenumeration_id) references TermVocabulary;
-alter table DefinedTermBase_Representation add constraint FKAAC8AFE6C0DB4934 foreign key (DefinedTermBase_id) references DefinedTermBase;
-alter table DefinedTermBase_Representation add constraint FKAAC8AFE6B31C4747 foreign key (representations_id) references Representation;
-alter table DefinedTermBase_StatisticalMeasure add constraint FK6FF15DFCD0BDAE9B foreign key (DefinedTermBase_id) references DefinedTermBase;
-alter table DefinedTermBase_StatisticalMeasure add constraint FK6FF15DFCC9CD5B57 foreign key (recommendedstatisticalmeasures_id) references DefinedTermBase;
-alter table DefinedTermBase_SupportedCategoricalEnumeration add constraint FK2170B25CD0BDAE9B foreign key (DefinedTermBase_id) references DefinedTermBase;
-alter table DefinedTermBase_SupportedCategoricalEnumeration add constraint FK2170B25C5AF2C74 foreign key (supportedcategoricalenumerations_id) references TermVocabulary;
-alter table DefinedTermBase_WaterbodyOrCountry add constraint FKCAF4393CE5C0F9E foreign key (DefinedTermBase_id) references DefinedTermBase;
-alter table DefinedTermBase_WaterbodyOrCountry add constraint FKCAF43931603B036 foreign key (waterbodiesorcountries_id) references DefinedTermBase;
-alter table DerivationEvent add constraint FK426BC03EF7921F6 foreign key (createdby_id) references Agent;
-alter table DerivationEvent add constraint FK426BC038524B89D foreign key (type_id) references DefinedTermBase;
-alter table DerivationEvent add constraint FK426BC035BE3EC03 foreign key (updatedby_id) references Agent;
-alter table DerivationEvent add constraint FK426BC03C04DF64 foreign key (actor_id) references Agent;
-alter table DerivationEvent_Annotation add constraint FKEFA0D10B4AAB411A foreign key (DerivationEvent_id) references DerivationEvent;
-alter table DerivationEvent_Annotation add constraint FKEFA0D10B1E403E0B foreign key (annotations_id) references Annotation;
-alter table DerivationEvent_Marker add constraint FKE412C8164AAB411A foreign key (DerivationEvent_id) references DerivationEvent;
-alter table DerivationEvent_Marker add constraint FKE412C816777265A1 foreign key (markers_id) references Marker;
-alter table DescriptionBase add constraint FKFF4D58CDEF7921F6 foreign key (createdby_id) references Agent;
-alter table DescriptionBase add constraint FKFF4D58CDDA93512F foreign key (taxonName_fk) references TaxonNameBase;
-alter table DescriptionBase add constraint FKFF4D58CD5BE3EC03 foreign key (updatedby_id) references Agent;
-alter table DescriptionBase add constraint FKFF4D58CDDE9A3DE3 foreign key (taxon_fk) references TaxonBase;
-alter table DescriptionBase_Annotation add constraint FKF3AD3201F1DDBFAB foreign key (DescriptionBase_id) references DescriptionBase;
-alter table DescriptionBase_Annotation add constraint FKF3AD32011E403E0B foreign key (annotations_id) references Annotation;
-alter table DescriptionBase_Extension add constraint FKD5D2B32DF1DDBFAB foreign key (DescriptionBase_id) references DescriptionBase;
-alter table DescriptionBase_Extension add constraint FKD5D2B32D927DE9DF foreign key (extensions_id) references Extension;
-alter table DescriptionBase_GeoScope add constraint FK3ADD7CD5D86445CE foreign key (DescriptionBase_id) references DescriptionBase;
-alter table DescriptionBase_GeoScope add constraint FK3ADD7CD586D04E74 foreign key (geoscopes_id) references DefinedTermBase;
-alter table DescriptionBase_Marker add constraint FK6132140CF1DDBFAB foreign key (DescriptionBase_id) references DescriptionBase;
-alter table DescriptionBase_Marker add constraint FK6132140C777265A1 foreign key (markers_id) references Marker;
-alter table DescriptionBase_OriginalSource add constraint FK1E2D0B1EF1DDBFAB foreign key (DescriptionBase_id) references DescriptionBase;
-alter table DescriptionBase_OriginalSource add constraint FK1E2D0B1E3BAB2414 foreign key (sources_id) references OriginalSource;
-alter table DescriptionBase_ReferenceBase add constraint FK76188CAAF1DDBFAB foreign key (DescriptionBase_id) references DescriptionBase;
-alter table DescriptionBase_ReferenceBase add constraint FK76188CAA45AB7BBA foreign key (descriptionsources_id) references ReferenceBase;
-alter table DescriptionBase_Rights add constraint FK6A2601A9F1DDBFAB foreign key (DescriptionBase_id) references DescriptionBase;
-alter table DescriptionBase_Rights add constraint FK6A2601A9C13F7B21 foreign key (rights_id) references Rights;
-alter table DescriptionBase_Scope add constraint FKB9257C42D86445CE foreign key (DescriptionBase_id) references DescriptionBase;
-alter table DescriptionBase_Scope add constraint FKB9257C42951A5D40 foreign key (scopes_id) references DefinedTermBase;
-alter table DescriptionElementBase add constraint FK38FE767134AF0E81 foreign key (indescription_id) references DescriptionBase;
-alter table DescriptionElementBase add constraint FK38FE76716561D9B1 foreign key (associatedspecimenorobservation_id) references SpecimenOrObservationBase;
-alter table DescriptionElementBase add constraint FK38FE7671EF7921F6 foreign key (createdby_id) references Agent;
-alter table DescriptionElementBase add constraint FK38FE767110A80E07 foreign key (unit_id) references DefinedTermBase;
-alter table DescriptionElementBase add constraint FK38FE76716D0D7A56 foreign key (format_id) references DefinedTermBase;
-alter table DescriptionElementBase add constraint FK38FE76715E9914B8 foreign key (status_id) references DefinedTermBase;
-alter table DescriptionElementBase add constraint FK38FE76714220AFEB foreign key (feature_id) references DefinedTermBase;
-alter table DescriptionElementBase add constraint FK38FE76719803512F foreign key (citation_id) references ReferenceBase;
-alter table DescriptionElementBase add constraint FK38FE76715BE3EC03 foreign key (updatedby_id) references Agent;
-alter table DescriptionElementBase add constraint FK38FE76719108D9B foreign key (taxon2_id) references TaxonBase;
-alter table DescriptionElementBase add constraint FK38FE76711C3C3FF7 foreign key (area_id) references DefinedTermBase;
-alter table DescriptionElementBase add constraint FK38FE7671E8D36B00 foreign key (language_id) references DefinedTermBase;
-alter table DescriptionElementBase_Annotation add constraint FK7EE5E5DD3B8BB609 foreign key (DescriptionElementBase_id) references DescriptionElementBase;
-alter table DescriptionElementBase_Annotation add constraint FK7EE5E5DD1E403E0B foreign key (annotations_id) references Annotation;
-alter table DescriptionElementBase_LanguageString add constraint FKC753F137ACF5F60B foreign key (multilanguagetext_id) references LanguageString;
-alter table DescriptionElementBase_LanguageString add constraint FKC753F137C086B46F foreign key (DescriptionElementBase_id) references DescriptionElementBase;
-alter table DescriptionElementBase_Marker add constraint FK1CB715E83B8BB609 foreign key (DescriptionElementBase_id) references DescriptionElementBase;
-alter table DescriptionElementBase_Marker add constraint FK1CB715E8777265A1 foreign key (markers_id) references Marker;
-alter table DescriptionElementBase_Media add constraint FK21F70076C2C29593 foreign key (media_id) references Media;
-alter table DescriptionElementBase_Media add constraint FK21F700763B8BB609 foreign key (DescriptionElementBase_id) references DescriptionElementBase;
-alter table DescriptionElementBase_Modifier add constraint FK97E0D105E0960EC4 foreign key (modifiers_id) references DefinedTermBase;
-alter table DescriptionElementBase_Modifier add constraint FK97E0D1053B8BB609 foreign key (DescriptionElementBase_id) references DescriptionElementBase;
-alter table DescriptionElementBase_StateData add constraint FK592D6F6D987CC6A4 foreign key (DescriptionElementBase_id) references DescriptionElementBase;
-alter table DescriptionElementBase_StateData add constraint FK592D6F6D15153604 foreign key (states_id) references StateData;
-alter table DescriptionElementBase_StatisticalMeasurementValue add constraint FK8AF511C2D883945E foreign key (statisticalvalues_id) references StatisticalMeasurementValue;
-alter table DescriptionElementBase_StatisticalMeasurementValue add constraint FK8AF511C28F213219 foreign key (DescriptionElementBase_id) references DescriptionElementBase;
-alter table DeterminationEvent add constraint FK1DB2497EF7921F6 foreign key (createdby_id) references Agent;
-alter table DeterminationEvent add constraint FK1DB2497378D1BD foreign key (modifier_id) references DefinedTermBase;
-alter table DeterminationEvent add constraint FK1DB2497DE9A3E39 foreign key (taxon_id) references TaxonBase;
-alter table DeterminationEvent add constraint FK1DB24974B251DAD foreign key (identifiedunit_id) references SpecimenOrObservationBase;
-alter table DeterminationEvent add constraint FK1DB24975BE3EC03 foreign key (updatedby_id) references Agent;
-alter table DeterminationEvent add constraint FK1DB2497C04DF64 foreign key (actor_id) references Agent;
-alter table DeterminationEvent_Annotation add constraint FKB74F03F76BE0BFDA foreign key (DeterminationEvent_id) references DeterminationEvent;
-alter table DeterminationEvent_Annotation add constraint FKB74F03F71E403E0B foreign key (annotations_id) references Annotation;
-alter table DeterminationEvent_Marker add constraint FK5C475102777265A1 foreign key (markers_id) references Marker;
-alter table DeterminationEvent_Marker add constraint FK5C4751026BE0BFDA foreign key (DeterminationEvent_id) references DeterminationEvent;
-alter table DeterminationEvent_ReferenceBase add constraint FK6248EEF4F3C981EE foreign key (references_id) references ReferenceBase;
-alter table DeterminationEvent_ReferenceBase add constraint FK6248EEF46BE0BFDA foreign key (DeterminationEvent_id) references DeterminationEvent;
-alter table Extension add constraint FK52EF3C1FEF7921F6 foreign key (createdby_id) references Agent;
-alter table Extension add constraint FK52EF3C1FAD392BD3 foreign key (type_id) references DefinedTermBase;
-alter table Extension add constraint FK52EF3C1F5BE3EC03 foreign key (updatedby_id) references Agent;
-alter table FeatureNode add constraint FK4CEED9F8E0AD2C03 foreign key (parent_fk) references FeatureNode;
-alter table FeatureNode add constraint FK4CEED9F8EF7921F6 foreign key (createdby_id) references Agent;
-alter table FeatureNode add constraint FK4CEED9F84220AFEB foreign key (feature_id) references DefinedTermBase;
-alter table FeatureNode add constraint FK4CEED9F85BE3EC03 foreign key (updatedby_id) references Agent;
-alter table FeatureTree add constraint FK4CF19F94EF7921F6 foreign key (createdby_id) references Agent;
-alter table FeatureTree add constraint FK4CF19F94B7892921 foreign key (root_id) references FeatureNode;
-alter table FeatureTree add constraint FK4CF19F945BE3EC03 foreign key (updatedby_id) references Agent;
-alter table FeatureTree_Representation add constraint FK8C458F847C496CB foreign key (FeatureTree_id) references FeatureTree;
-alter table FeatureTree_Representation add constraint FK8C458F8B31C4747 foreign key (representations_id) references Representation;
-alter table GatheringEvent add constraint FK6F1286F3F55AFD89 foreign key (exactlocation_referencesystem_id) references DefinedTermBase;
-alter table GatheringEvent add constraint FK6F1286F38B455EC6 foreign key (locality_id) references LanguageString;
-alter table GatheringEvent add constraint FK6F1286F3EF7921F6 foreign key (createdby_id) references Agent;
-alter table GatheringEvent add constraint FK6F1286F35BE3EC03 foreign key (updatedby_id) references Agent;
-alter table GatheringEvent add constraint FK6F1286F3C04DF64 foreign key (actor_id) references Agent;
-alter table GatheringEvent_Annotation add constraint FK76DDD01BF95F225A foreign key (GatheringEvent_id) references GatheringEvent;
-alter table GatheringEvent_Annotation add constraint FK76DDD01B1E403E0B foreign key (annotations_id) references Annotation;
-alter table GatheringEvent_DefinedTermBase add constraint FK69D9A11A7C34B6D6 foreign key (collectingareas_id) references DefinedTermBase;
-alter table GatheringEvent_DefinedTermBase add constraint FK69D9A11AF95F225A foreign key (GatheringEvent_id) references GatheringEvent;
-alter table GatheringEvent_Marker add constraint FK7B49CF26777265A1 foreign key (markers_id) references Marker;
-alter table GatheringEvent_Marker add constraint FK7B49CF26F95F225A foreign key (GatheringEvent_id) references GatheringEvent;
-alter table GenBankAccession add constraint FK86C1DBF8EF7921F6 foreign key (createdby_id) references Agent;
-alter table GenBankAccession add constraint FK86C1DBF85BE3EC03 foreign key (updatedby_id) references Agent;
-alter table GrantedAuthorityImpl add constraint FKB05CF928EF7921F6 foreign key (createdby_id) references Agent;
-alter table HomotypicalGroup add constraint FK7DECCC18EF7921F6 foreign key (createdby_id) references Agent;
-alter table HomotypicalGroup add constraint FK7DECCC185BE3EC03 foreign key (updatedby_id) references Agent;
-alter table HomotypicalGroup_Annotation add constraint FK7A0351D6BFEAE500 foreign key (HomotypicalGroup_id) references HomotypicalGroup;
-alter table HomotypicalGroup_Annotation add constraint FK7A0351D61E403E0B foreign key (annotations_id) references Annotation;
-alter table HomotypicalGroup_Marker add constraint FK97D36661BFEAE500 foreign key (HomotypicalGroup_id) references HomotypicalGroup;
-alter table HomotypicalGroup_Marker add constraint FK97D36661777265A1 foreign key (markers_id) references Marker;
-alter table HybridRelationship add constraint FK9033CE745831BDC3 foreign key (relatedfrom_id) references TaxonNameBase;
-alter table HybridRelationship add constraint FK9033CE7469ABE292 foreign key (relatedto_id) references TaxonNameBase;
-alter table HybridRelationship add constraint FK9033CE74EF7921F6 foreign key (createdby_id) references Agent;
-alter table HybridRelationship add constraint FK9033CE7455F241D4 foreign key (type_id) references DefinedTermBase;
-alter table HybridRelationship add constraint FK9033CE749803512F foreign key (citation_id) references ReferenceBase;
-alter table HybridRelationship add constraint FK9033CE745BE3EC03 foreign key (updatedby_id) references Agent;
-alter table HybridRelationship_Annotation add constraint FK2C7E7DFA59832240 foreign key (HybridRelationship_id) references HybridRelationship;
-alter table HybridRelationship_Annotation add constraint FK2C7E7DFA1E403E0B foreign key (annotations_id) references Annotation;
-alter table HybridRelationship_Marker add constraint FKCEF2448559832240 foreign key (HybridRelationship_id) references HybridRelationship;
-alter table HybridRelationship_Marker add constraint FKCEF24485777265A1 foreign key (markers_id) references Marker;
-alter table IdentificationKey_Taxon add constraint FKD847ADDC996CD055 foreign key (identificationKey_fk) references Media;
-alter table IdentificationKey_Taxon add constraint FKD847ADDCDE9A3DE3 foreign key (taxon_fk) references TaxonBase;
-alter table InstitutionalMembership add constraint FK3C8E1FF9EF7921F6 foreign key (createdby_id) references Agent;
-alter table InstitutionalMembership add constraint FK3C8E1FF9AAC1B820 foreign key (person_id) references Agent;
-alter table InstitutionalMembership add constraint FK3C8E1FF916B9CA77 foreign key (institute_id) references Agent;
-alter table InstitutionalMembership add constraint FK3C8E1FF95BE3EC03 foreign key (updatedby_id) references Agent;
-alter table LanguageString add constraint FKB5FDC9A9EF7921F6 foreign key (createdby_id) references Agent;
-alter table LanguageString add constraint FKB5FDC9A95BE3EC03 foreign key (updatedby_id) references Agent;
-alter table LanguageString add constraint FKB5FDC9A9E8D36B00 foreign key (language_id) references DefinedTermBase;
-alter table LanguageString_Annotation add constraint FK8400DFA51E403E0B foreign key (annotations_id) references Annotation;
-alter table LanguageString_Annotation add constraint FK8400DFA537998500 foreign key (LanguageString_id) references LanguageString;
-alter table LanguageString_Marker add constraint FK8DA633B0777265A1 foreign key (markers_id) references Marker;
-alter table LanguageString_Marker add constraint FK8DA633B037998500 foreign key (LanguageString_id) references LanguageString;
-alter table Locus add constraint FK462F1BEEF7921F6 foreign key (createdby_id) references Agent;
-alter table Locus add constraint FK462F1BE5BE3EC03 foreign key (updatedby_id) references Agent;
-alter table Marker add constraint FK88F1805AEF7921F6 foreign key (createdby_id) references Agent;
-alter table Marker add constraint FK88F1805AD64DC020 foreign key (markertype_id) references DefinedTermBase;
-alter table Marker add constraint FK88F1805A5BE3EC03 foreign key (updatedby_id) references Agent;
-alter table Media add constraint FK46C7FC4EF7921F6 foreign key (createdby_id) references Agent;
-alter table Media add constraint FK46C7FC490A4D0D2 foreign key (artist_id) references Agent;
-alter table Media add constraint FK46C7FC49803512F foreign key (citation_id) references ReferenceBase;
-alter table Media add constraint FK46C7FC45BE3EC03 foreign key (updatedby_id) references Agent;
-alter table MediaRepresentation add constraint FK1966BDB1EF7921F6 foreign key (createdby_id) references Agent;
-alter table MediaRepresentation add constraint FK1966BDB1C2C29593 foreign key (media_id) references Media;
-alter table MediaRepresentation add constraint FK1966BDB15BE3EC03 foreign key (updatedby_id) references Agent;
-alter table MediaRepresentationPart add constraint FK67A45544E3818E37 foreign key (representation_id) references MediaRepresentation;
-alter table MediaRepresentationPart add constraint FK67A45544EF7921F6 foreign key (createdby_id) references Agent;
-alter table MediaRepresentationPart add constraint FK67A455445BE3EC03 foreign key (updatedby_id) references Agent;
-alter table Media_Annotation add constraint FKA020DAAAC2C29593 foreign key (Media_id) references Media;
-alter table Media_Annotation add constraint FKA020DAAA1E403E0B foreign key (annotations_id) references Annotation;
-alter table Media_DefinedTermBase add constraint FK96F1D7EB8A6C9D18 foreign key (Media_id) references Media;
-alter table Media_DefinedTermBase add constraint FK96F1D7EB86D04E74 foreign key (geoscopes_id) references DefinedTermBase;
-alter table Media_Marker add constraint FKD21E7935C2C29593 foreign key (Media_id) references Media;
-alter table Media_Marker add constraint FKD21E7935777265A1 foreign key (markers_id) references Marker;
-alter table Media_Rights add constraint FKDB1266D2C2C29593 foreign key (Media_id) references Media;
-alter table Media_Rights add constraint FKDB1266D2C13F7B21 foreign key (rights_id) references Rights;
-alter table Media_Sequence add constraint FK61D09FC3282B64 foreign key (Media_id) references Media;
-alter table Media_Sequence add constraint FK61D09FCF29B4761 foreign key (usedsequences_id) references Sequence;
-alter table Media_TaxonBase add constraint FK1ABD49E07C3D0017 foreign key (coveredtaxa_id) references TaxonBase;
-alter table Media_TaxonBase add constraint FK1ABD49E08A6C9D18 foreign key (Media_id) references Media;
-alter table NameRelationship add constraint FK5E5108316CDFF85 foreign key (relatedfrom_id) references TaxonNameBase;
-alter table NameRelationship add constraint FK5E5108328482454 foreign key (relatedto_id) references TaxonNameBase;
-alter table NameRelationship add constraint FK5E51083EF7921F6 foreign key (createdby_id) references Agent;
-alter table NameRelationship add constraint FK5E51083AF619DE3 foreign key (type_id) references DefinedTermBase;
-alter table NameRelationship add constraint FK5E510839803512F foreign key (citation_id) references ReferenceBase;
-alter table NameRelationship add constraint FK5E510835BE3EC03 foreign key (updatedby_id) references Agent;
-alter table NameRelationship_Annotation add constraint FK2E38AC8B7B4CB560 foreign key (NameRelationship_id) references NameRelationship;
-alter table NameRelationship_Annotation add constraint FK2E38AC8B1E403E0B foreign key (annotations_id) references Annotation;
-alter table NameRelationship_Marker add constraint FKE3E463967B4CB560 foreign key (NameRelationship_id) references NameRelationship;
-alter table NameRelationship_Marker add constraint FKE3E46396777265A1 foreign key (markers_id) references Marker;
-alter table NomenclaturalStatus add constraint FK1FFEC88BEF7921F6 foreign key (createdby_id) references Agent;
-alter table NomenclaturalStatus add constraint FK1FFEC88B7029BD9F foreign key (type_id) references DefinedTermBase;
-alter table NomenclaturalStatus add constraint FK1FFEC88B9803512F foreign key (citation_id) references ReferenceBase;
-alter table NomenclaturalStatus add constraint FK1FFEC88B5BE3EC03 foreign key (updatedby_id) references Agent;
-alter table NomenclaturalStatus_Annotation add constraint FKE6E91F838D2CB1D4 foreign key (NomenclaturalStatus_id) references NomenclaturalStatus;
-alter table NomenclaturalStatus_Annotation add constraint FKE6E91F831E403E0B foreign key (annotations_id) references Annotation;
-alter table NomenclaturalStatus_Marker add constraint FK2F5128E8D2CB1D4 foreign key (NomenclaturalStatus_id) references NomenclaturalStatus;
-alter table NomenclaturalStatus_Marker add constraint FK2F5128E777265A1 foreign key (markers_id) references Marker;
-alter table OriginalSource add constraint FK229A496CEF7921F6 foreign key (createdby_id) references Agent;
-alter table OriginalSource add constraint FK229A496C9803512F foreign key (citation_id) references ReferenceBase;
-alter table OriginalSource add constraint FK229A496C5BE3EC03 foreign key (updatedby_id) references Agent;
-alter table OriginalSource_Annotation add constraint FK5B3FF802DC2DCA20 foreign key (OriginalSource_id) references OriginalSource;
-alter table OriginalSource_Annotation add constraint FK5B3FF8021E403E0B foreign key (annotations_id) references Annotation;
-alter table OriginalSource_Marker add constraint FKCF52028DDC2DCA20 foreign key (OriginalSource_id) references OriginalSource;
-alter table OriginalSource_Marker add constraint FKCF52028D777265A1 foreign key (markers_id) references Marker;
-alter table PermissionGroup add constraint FK629941D0EF7921F6 foreign key (createdby_id) references Agent;
-alter table PermissionGroup_GrantedAuthorityImpl add constraint FK5311437CA0971A3 foreign key (PermissionGroup_id) references PermissionGroup;
-alter table PermissionGroup_GrantedAuthorityImpl add constraint FK53114371857F6C2 foreign key (grantedauthorities_id) references GrantedAuthorityImpl;
-alter table Person_Keyword add constraint FK5F559EFF13A443BE foreign key (keyword_fk) references DefinedTermBase;
-alter table Person_Keyword add constraint FK5F559EFFAAC1B7CA foreign key (person_fk) references Agent;
-create index ReferenceBaseTitleCacheIndex on ReferenceBase (titleCache);
-alter table ReferenceBase add constraint FK8F034C9C1A488155 foreign key (inbook_id) references ReferenceBase;
-alter table ReferenceBase add constraint FK8F034C9CEF7921F6 foreign key (createdby_id) references Agent;
-alter table ReferenceBase add constraint FK8F034C9C403E17F4 foreign key (institution_id) references Agent;
-alter table ReferenceBase add constraint FK8F034C9CCCE9AAE2 foreign key (inseries_id) references ReferenceBase;
-alter table ReferenceBase add constraint FK8F034C9CD893F6E6 foreign key (crossref_id) references ReferenceBase;
-alter table ReferenceBase add constraint FK8F034C9CAEC3B8B8 foreign key (school_id) references Agent;
-alter table ReferenceBase add constraint FK8F034C9CE3A02620 foreign key (type_id) references DefinedTermBase;
-alter table ReferenceBase add constraint FK8F034C9CE87E60BF foreign key (inproceedings_id) references ReferenceBase;
-alter table ReferenceBase add constraint FK8F034C9CE019003F foreign key (injournal_id) references ReferenceBase;
-alter table ReferenceBase add constraint FK8F034C9C697665E foreign key (authorteam_id) references Agent;
-alter table ReferenceBase add constraint FK8F034C9C5BE3EC03 foreign key (updatedby_id) references Agent;
-alter table ReferenceBase_Annotation add constraint FKC97616D2F443DB5A foreign key (ReferenceBase_id) references ReferenceBase;
-alter table ReferenceBase_Annotation add constraint FKC97616D21E403E0B foreign key (annotations_id) references Annotation;
-alter table ReferenceBase_Extension add constraint FK81E1703C927DE9DF foreign key (extensions_id) references Extension;
-alter table ReferenceBase_Extension add constraint FK81E1703CF443DB5A foreign key (ReferenceBase_id) references ReferenceBase;
-alter table ReferenceBase_Marker add constraint FK6888095DF443DB5A foreign key (ReferenceBase_id) references ReferenceBase;
-alter table ReferenceBase_Marker add constraint FK6888095D777265A1 foreign key (markers_id) references Marker;
-alter table ReferenceBase_Media add constraint FK3D2F4A61C2C29593 foreign key (media_id) references Media;
-alter table ReferenceBase_Media add constraint FK3D2F4A61F443DB5A foreign key (ReferenceBase_id) references ReferenceBase;
-alter table ReferenceBase_OriginalSource add constraint FK68651F6F3BAB2414 foreign key (sources_id) references OriginalSource;
-alter table ReferenceBase_OriginalSource add constraint FK68651F6FF443DB5A foreign key (ReferenceBase_id) references ReferenceBase;
-alter table ReferenceBase_Rights add constraint FK717BF6FAF443DB5A foreign key (ReferenceBase_id) references ReferenceBase;
-alter table ReferenceBase_Rights add constraint FK717BF6FAC13F7B21 foreign key (rights_id) references Rights;
-alter table RelationshipTermBase_inverseRepresentation add constraint FK98592F33ECEEF4AF foreign key (DefinedTermBase_id) references DefinedTermBase;
-alter table RelationshipTermBase_inverseRepresentation add constraint FK98592F33473FB677 foreign key (inverserepresentations_id) references Representation;
-alter table Representation add constraint FK9C4724EDEF7921F6 foreign key (createdby_id) references Agent;
-alter table Representation add constraint FK9C4724ED5BE3EC03 foreign key (updatedby_id) references Agent;
-alter table Representation add constraint FK9C4724EDE8D36B00 foreign key (language_id) references DefinedTermBase;
-alter table Representation_Annotation add constraint FK371091E147E8AE60 foreign key (Representation_id) references Representation;
-alter table Representation_Annotation add constraint FK371091E11E403E0B foreign key (annotations_id) references Annotation;
-alter table Representation_Marker add constraint FK560063EC47E8AE60 foreign key (Representation_id) references Representation;
-alter table Representation_Marker add constraint FK560063EC777265A1 foreign key (markers_id) references Marker;
-alter table Rights add constraint FK91E56DF7C5F7EC54 foreign key (agent_id) references Agent;
-alter table Rights add constraint FK91E56DF7EF7921F6 foreign key (createdby_id) references Agent;
-alter table Rights add constraint FK91E56DF7E6D2886A foreign key (type_id) references DefinedTermBase;
-alter table Rights add constraint FK91E56DF75BE3EC03 foreign key (updatedby_id) references Agent;
-alter table Rights add constraint FK91E56DF7E8D36B00 foreign key (language_id) references DefinedTermBase;
-alter table Rights_Annotation add constraint FK27CB1E97C13F7B21 foreign key (Rights_id) references Rights;
-alter table Rights_Annotation add constraint FK27CB1E971E403E0B foreign key (annotations_id) references Annotation;
-alter table Rights_Marker add constraint FKB739BBA2C13F7B21 foreign key (Rights_id) references Rights;
-alter table Rights_Marker add constraint FKB739BBA2777265A1 foreign key (markers_id) references Marker;
-create index sequenceTitleCacheIndex on Sequence (titleCache);
-alter table Sequence add constraint FK544ADBE1EF7921F6 foreign key (createdby_id) references Agent;
-alter table Sequence add constraint FK544ADBE1B982A103 foreign key (publishedin_id) references ReferenceBase;
-alter table Sequence add constraint FK544ADBE12DBE1F1F foreign key (locus_id) references Locus;
-alter table Sequence add constraint FK544ADBE15BE3EC03 foreign key (updatedby_id) references Agent;
-alter table Sequence_Annotation add constraint FK1010BA6D1E403E0B foreign key (annotations_id) references Annotation;
-alter table Sequence_Annotation add constraint FK1010BA6DD57FFDD5 foreign key (Sequence_id) references Sequence;
-alter table Sequence_Extension add constraint FK7BE66D41927DE9DF foreign key (extensions_id) references Extension;
-alter table Sequence_Extension add constraint FK7BE66D41D57FFDD5 foreign key (Sequence_id) references Sequence;
-alter table Sequence_GenBankAccession add constraint FK8F69809615C4EF35 foreign key (genbankaccession_id) references GenBankAccession;
-alter table Sequence_GenBankAccession add constraint FK8F698096D57FFDD5 foreign key (Sequence_id) references Sequence;
-alter table Sequence_Marker add constraint FK3D22B278777265A1 foreign key (markers_id) references Marker;
-alter table Sequence_Marker add constraint FK3D22B278D57FFDD5 foreign key (Sequence_id) references Sequence;
-alter table Sequence_Media add constraint FK8E5D91E666ACA7EC foreign key (chromatograms_id) references Media;
-alter table Sequence_Media add constraint FK8E5D91E6D57FFDD5 foreign key (Sequence_id) references Sequence;
-alter table Sequence_OriginalSource add constraint FKD37E7D8A3BAB2414 foreign key (sources_id) references OriginalSource;
-alter table Sequence_OriginalSource add constraint FKD37E7D8AD57FFDD5 foreign key (Sequence_id) references Sequence;
-alter table Sequence_ReferenceBase add constraint FK18D91CBE7291F8A foreign key (citations_id) references ReferenceBase;
-alter table Sequence_ReferenceBase add constraint FK18D91CBED57FFDD5 foreign key (Sequence_id) references Sequence;
-alter table Sequence_Rights add constraint FK4616A015C13F7B21 foreign key (rights_id) references Rights;
-alter table Sequence_Rights add constraint FK4616A015D57FFDD5 foreign key (Sequence_id) references Sequence;
-create index specimenOrObservationBaseTitleCacheIndex on SpecimenOrObservationBase (titleCache);
-alter table SpecimenOrObservationBase add constraint FK21CA3272C8505DB foreign key (preservation_id) references DefinedTermBase;
-alter table SpecimenOrObservationBase add constraint FK21CA3272EF7921F6 foreign key (createdby_id) references Agent;
-alter table SpecimenOrObservationBase add constraint FK21CA32727CC340C5 foreign key (storedunder_id) references TaxonNameBase;
-alter table SpecimenOrObservationBase add constraint FK21CA3272EB62BE9A foreign key (collection_id) references Collection;
-alter table SpecimenOrObservationBase add constraint FK21CA3272E17C9A6B foreign key (sex_id) references DefinedTermBase;
-alter table SpecimenOrObservationBase add constraint FK21CA32728C750E27 foreign key (lifestage_id) references DefinedTermBase;
-alter table SpecimenOrObservationBase add constraint FK21CA32724AAB411A foreign key (derivationevent_id) references DerivationEvent;
-alter table SpecimenOrObservationBase add constraint FK21CA3272F95F225A foreign key (gatheringevent_id) references GatheringEvent;
-alter table SpecimenOrObservationBase add constraint FK21CA32725BE3EC03 foreign key (updatedby_id) references Agent;
-alter table SpecimenOrObservationBase_Annotation add constraint FK365E4F3C3B8A5ABA foreign key (SpecimenOrObservationBase_id) references SpecimenOrObservationBase;
-alter table SpecimenOrObservationBase_Annotation add constraint FK365E4F3C1E403E0B foreign key (annotations_id) references Annotation;
-alter table SpecimenOrObservationBase_DerivationEvent add constraint FK20132036BD59A1AD foreign key (derivationevents_id) references DerivationEvent;
-alter table SpecimenOrObservationBase_DerivationEvent add constraint FK2013203654C216AA foreign key (originals_id) references SpecimenOrObservationBase;
-alter table SpecimenOrObservationBase_Extension add constraint FKE03B82923B8A5ABA foreign key (SpecimenOrObservationBase_id) references SpecimenOrObservationBase;
-alter table SpecimenOrObservationBase_Extension add constraint FKE03B8292927DE9DF foreign key (extensions_id) references Extension;
-alter table SpecimenOrObservationBase_Marker add constraint FK8E6106C73B8A5ABA foreign key (SpecimenOrObservationBase_id) references SpecimenOrObservationBase;
-alter table SpecimenOrObservationBase_Marker add constraint FK8E6106C7777265A1 foreign key (markers_id) references Marker;
-alter table SpecimenOrObservationBase_Media add constraint FK4EEBF7B73B8A5ABA foreign key (SpecimenOrObservationBase_id) references SpecimenOrObservationBase;
-alter table SpecimenOrObservationBase_Media add constraint FK4EEBF7B7C2C29593 foreign key (media_id) references Media;
-alter table SpecimenOrObservationBase_OriginalSource add constraint FK3C4712D93B8A5ABA foreign key (SpecimenOrObservationBase_id) references SpecimenOrObservationBase;
-alter table SpecimenOrObservationBase_OriginalSource add constraint FK3C4712D93BAB2414 foreign key (sources_id) references OriginalSource;
-alter table SpecimenOrObservationBase_Rights add constraint FK9754F4643B8A5ABA foreign key (SpecimenOrObservationBase_id) references SpecimenOrObservationBase;
-alter table SpecimenOrObservationBase_Rights add constraint FK9754F464C13F7B21 foreign key (rights_id) references Rights;
-alter table SpecimenOrObservationBase_Sequence add constraint FKBBF27B0E7EE2770E foreign key (SpecimenOrObservationBase_id) references SpecimenOrObservationBase;
-alter table SpecimenOrObservationBase_Sequence add constraint FKBBF27B0E35B10F24 foreign key (sequences_id) references Sequence;
-alter table StateData add constraint FKFB1697BBEF7921F6 foreign key (createdby_id) references Agent;
-alter table StateData add constraint FKFB1697BB682A4E4B foreign key (state_id) references DefinedTermBase;
-alter table StateData add constraint FKFB1697BB5BE3EC03 foreign key (updatedby_id) references Agent;
-alter table StateData_DefinedTermBase add constraint FK107321E28E7BF9AB foreign key (StateData_id) references StateData;
-alter table StateData_DefinedTermBase add constraint FK107321E2E0960EC4 foreign key (modifiers_id) references DefinedTermBase;
-alter table StatisticalMeasurementValue add constraint FK2DCE0290EF7921F6 foreign key (createdby_id) references Agent;
-alter table StatisticalMeasurementValue add constraint FK2DCE02904C428112 foreign key (type_id) references DefinedTermBase;
-alter table StatisticalMeasurementValue add constraint FK2DCE02905BE3EC03 foreign key (updatedby_id) references Agent;
-alter table StatisticalMeasurementValue_DefinedTermBase add constraint FK686C42B75C9F4F2B foreign key (StatisticalMeasurementValue_id) references StatisticalMeasurementValue;
-alter table StatisticalMeasurementValue_DefinedTermBase add constraint FK686C42B7E0960EC4 foreign key (modifiers_id) references DefinedTermBase;
-alter table SynonymRelationship add constraint FKF483ADB34BAC703F foreign key (relatedfrom_id) references TaxonBase;
-alter table SynonymRelationship add constraint FKF483ADB3F8991B9D foreign key (relatedto_id) references TaxonBase;
-alter table SynonymRelationship add constraint FKF483ADB3EF7921F6 foreign key (createdby_id) references Agent;
-alter table SynonymRelationship add constraint FKF483ADB380924EEC foreign key (type_id) references DefinedTermBase;
-alter table SynonymRelationship add constraint FKF483ADB39803512F foreign key (citation_id) references ReferenceBase;
-alter table SynonymRelationship add constraint FKF483ADB35BE3EC03 foreign key (updatedby_id) references Agent;
-alter table SynonymRelationship_Annotation add constraint FKF494F15B260A8379 foreign key (SynonymRelationship_id) references SynonymRelationship;
-alter table SynonymRelationship_Annotation add constraint FKF494F15B1E403E0B foreign key (annotations_id) references Annotation;
-alter table SynonymRelationship_Marker add constraint FK7A439066260A8379 foreign key (SynonymRelationship_id) references SynonymRelationship;
-alter table SynonymRelationship_Marker add constraint FK7A439066777265A1 foreign key (markers_id) references Marker;
-create index taxonBaseTitleCacheIndex on TaxonBase (titleCache);
-alter table TaxonBase add constraint FK9249B49BEF7921F6 foreign key (createdby_id) references Agent;
-alter table TaxonBase add constraint FK9249B49BDA93512F foreign key (taxonName_fk) references TaxonNameBase;
-alter table TaxonBase add constraint FK9249B49B7C7B5AED foreign key (taxonomicparentcache_id) references TaxonBase;
-alter table TaxonBase add constraint FK9249B49B5E4A2F85 foreign key (sec_id) references ReferenceBase;
-alter table TaxonBase add constraint FK9249B49B5BE3EC03 foreign key (updatedby_id) references Agent;
-alter table TaxonBase_Annotation add constraint FK41ED09739C9D39 foreign key (TaxonBase_id) references TaxonBase;
-alter table TaxonBase_Annotation add constraint FK41ED09731E403E0B foreign key (annotations_id) references Annotation;
-alter table TaxonBase_Extension add constraint FKF961257B927DE9DF foreign key (extensions_id) references Extension;
-alter table TaxonBase_Extension add constraint FKF961257B9C9D39 foreign key (TaxonBase_id) references TaxonBase;
-alter table TaxonBase_Marker add constraint FK5CDB747E9C9D39 foreign key (TaxonBase_id) references TaxonBase;
-alter table TaxonBase_Marker add constraint FK5CDB747E777265A1 foreign key (markers_id) references Marker;
-alter table TaxonBase_OriginalSource add constraint FK10EFD9903BAB2414 foreign key (sources_id) references OriginalSource;
-alter table TaxonBase_OriginalSource add constraint FK10EFD9909C9D39 foreign key (TaxonBase_id) references TaxonBase;
-alter table TaxonBase_Rights add constraint FK65CF621BC13F7B21 foreign key (rights_id) references Rights;
-alter table TaxonBase_Rights add constraint FK65CF621B9C9D39 foreign key (TaxonBase_id) references TaxonBase;
-create index taxonNameBaseTitleCacheIndex on TaxonNameBase (titleCache);
-alter table TaxonNameBase add constraint FKB4870C6EF7921F6 foreign key (createdby_id) references Agent;
-alter table TaxonNameBase add constraint FKB4870C62B4FEDD6 foreign key (basionymauthorteam_id) references Agent;
-alter table TaxonNameBase add constraint FKB4870C64AC9C024 foreign key (nomenclaturalreference_id) references ReferenceBase;
-alter table TaxonNameBase add constraint FKB4870C6B14B73EF foreign key (combinationauthorteam_id) references Agent;
-alter table TaxonNameBase add constraint FKB4870C6BFEAE500 foreign key (homotypicalgroup_id) references HomotypicalGroup;
-alter table TaxonNameBase add constraint FKB4870C662AD57A2 foreign key (excombinationauthorteam_id) references Agent;
-alter table TaxonNameBase add constraint FKB4870C67F90DF03 foreign key (exbasionymauthorteam_id) references Agent;
-alter table TaxonNameBase add constraint FKB4870C65BE3EC03 foreign key (updatedby_id) references Agent;
-alter table TaxonNameBase add constraint FKB4870C6D7BE55A0 foreign key (rank_id) references DefinedTermBase;
-alter table TaxonNameBase_Annotation add constraint FK9E7794688C85CF94 foreign key (TaxonNameBase_id) references TaxonNameBase;
-alter table TaxonNameBase_Annotation add constraint FK9E7794681E403E0B foreign key (annotations_id) references Annotation;
-alter table TaxonNameBase_Extension add constraint FKC28EE7E6927DE9DF foreign key (extensions_id) references Extension;
-alter table TaxonNameBase_Extension add constraint FKC28EE7E68C85CF94 foreign key (TaxonNameBase_id) references TaxonNameBase;
-alter table TaxonNameBase_HybridRelationship add constraint FK371B728D2D57C7D5 foreign key (hybridrelationships_id) references HybridRelationship;
-alter table TaxonNameBase_HybridRelationship add constraint FK371B728DCDE98DD2 foreign key (TaxonNameBase_id) references TaxonNameBase;
-alter table TaxonNameBase_Marker add constraint FK39E3C1F38C85CF94 foreign key (TaxonNameBase_id) references TaxonNameBase;
-alter table TaxonNameBase_Marker add constraint FK39E3C1F3777265A1 foreign key (markers_id) references Marker;
-alter table TaxonNameBase_NomenclaturalStatus add constraint FK560BA7926615E90D foreign key (status_id) references NomenclaturalStatus;
-alter table TaxonNameBase_NomenclaturalStatus add constraint FK560BA7928C85CF94 foreign key (TaxonNameBase_id) references TaxonNameBase;
-alter table TaxonNameBase_OriginalSource add constraint FKBEA1E2053BAB2414 foreign key (sources_id) references OriginalSource;
-alter table TaxonNameBase_OriginalSource add constraint FKBEA1E2058C85CF94 foreign key (TaxonNameBase_id) references TaxonNameBase;
-alter table TaxonNameBase_Rights add constraint FK42D7AF90C13F7B21 foreign key (rights_id) references Rights;
-alter table TaxonNameBase_Rights add constraint FK42D7AF908C85CF94 foreign key (TaxonNameBase_id) references TaxonNameBase;
-alter table TaxonNameBase_TypeDesignationBase add constraint FKC0D6BBB5C7DF530C foreign key (typedesignations_id) references TypeDesignationBase;
-alter table TaxonNameBase_TypeDesignationBase add constraint FKC0D6BBB58C85CF94 foreign key (TaxonNameBase_id) references TaxonNameBase;
-alter table TaxonRelationship add constraint FK7482BA02E71EF6CE foreign key (relatedfrom_id) references TaxonBase;
-alter table TaxonRelationship add constraint FK7482BA02F8991B9D foreign key (relatedto_id) references TaxonBase;
-alter table TaxonRelationship add constraint FK7482BA02EF7921F6 foreign key (createdby_id) references Agent;
-alter table TaxonRelationship add constraint FK7482BA02F11BD77B foreign key (type_id) references DefinedTermBase;
-alter table TaxonRelationship add constraint FK7482BA029803512F foreign key (citation_id) references ReferenceBase;
-alter table TaxonRelationship add constraint FK7482BA025BE3EC03 foreign key (updatedby_id) references Agent;
-alter table TaxonRelationship_Annotation add constraint FK82C86DAC1E403E0B foreign key (annotations_id) references Annotation;
-alter table TaxonRelationship_Annotation add constraint FK82C86DAC2BD180D9 foreign key (TaxonRelationship_id) references TaxonRelationship;
-alter table TaxonRelationship_Marker add constraint FK69FBDD37777265A1 foreign key (markers_id) references Marker;
-alter table TaxonRelationship_Marker add constraint FK69FBDD372BD180D9 foreign key (TaxonRelationship_id) references TaxonRelationship;
-alter table TermVocabulary add constraint FK487AA692EF7921F6 foreign key (createdby_id) references Agent;
-alter table TermVocabulary add constraint FK487AA6925BE3EC03 foreign key (updatedby_id) references Agent;
-alter table TermVocabulary_Representation add constraint FKA408B63A258E060 foreign key (TermVocabulary_id) references TermVocabulary;
-alter table TermVocabulary_Representation add constraint FKA408B63AB31C4747 foreign key (representations_id) references Representation;
-alter table TypeDesignationBase add constraint FK8AC9DCAE2FB99E97 foreign key (typestatus_id) references DefinedTermBase;
-alter table TypeDesignationBase add constraint FK8AC9DCAEEF7921F6 foreign key (createdby_id) references Agent;
-alter table TypeDesignationBase add constraint FK8AC9DCAE94DB044A foreign key (typespecimen_id) references SpecimenOrObservationBase;
-alter table TypeDesignationBase add constraint FK8AC9DCAEBFEAE500 foreign key (homotypicalgroup_id) references HomotypicalGroup;
-alter table TypeDesignationBase add constraint FK8AC9DCAE9803512F foreign key (citation_id) references ReferenceBase;
-alter table TypeDesignationBase add constraint FK8AC9DCAE4CB0F315 foreign key (typename_id) references TaxonNameBase;
-alter table TypeDesignationBase add constraint FK8AC9DCAE5BE3EC03 foreign key (updatedby_id) references Agent;
-alter table TypeDesignationBase_Annotation add constraint FK4D73278044E9E6D4 foreign key (TypeDesignationBase_id) references TypeDesignationBase;
-alter table TypeDesignationBase_Annotation add constraint FK4D7327801E403E0B foreign key (annotations_id) references Annotation;
-alter table TypeDesignationBase_Marker add constraint FKB914A10B44E9E6D4 foreign key (TypeDesignationBase_id) references TypeDesignationBase;
-alter table TypeDesignationBase_Marker add constraint FKB914A10B777265A1 foreign key (markers_id) references Marker;
-alter table TypeDesignationBase_TaxonNameBase add constraint FKF61156F54D901A92 foreign key (typifiednames_id) references TaxonNameBase;
-alter table TypeDesignationBase_TaxonNameBase add constraint FKF61156F544E9E6D4 foreign key (TypeDesignationBase_id) references TypeDesignationBase;
-alter table User add constraint FK285FEBEF7921F6 foreign key (createdby_id) references Agent;
-alter table User_GrantedAuthorityImpl add constraint FKA2FB64FCCF9BC520 foreign key (User_id) references User;
-alter table User_GrantedAuthorityImpl add constraint FKA2FB64FC1857F6C2 foreign key (grantedauthorities_id) references GrantedAuthorityImpl;
-alter table User_PermissionGroup add constraint FKDD33C17CDA9DCB5F foreign key (groups_id) references PermissionGroup;
-alter table User_PermissionGroup add constraint FKDD33C17C887E3D12 foreign key (members_id) references User;
+
+    create table Address (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        locality varchar(255),
+        location_errorradius integer,
+        location_latitude double,
+        location_longitude double,
+        pobox varchar(255),
+        postcode varchar(255),
+        region varchar(255),
+        street varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        country_id integer,
+        location_referencesystem_id integer,
+        primary key (id)
+    );
+
+    create table Address_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        locality varchar(255),
+        location_errorradius integer,
+        location_latitude double,
+        location_longitude double,
+        pobox varchar(255),
+        postcode varchar(255),
+        region varchar(255),
+        street varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        country_id integer,
+        location_referencesystem_id integer,
+        primary key (id, REV)
+    );
+
+    create table AgentBase (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        lsid_auth varchar(255),
+        lsid_authority varchar(255),
+        lsid_lsid varchar(255),
+        lsid_namespace varchar(255),
+        lsid_object varchar(255),
+        lsid_revision varchar(255),
+        protectedtitlecache bit not null,
+        titleCache varchar(255),
+        code varchar(255),
+        name varchar(255),
+        nomenclaturaltitle varchar(255),
+        firstname varchar(255),
+        lastname varchar(255),
+        lifespan_end varchar(255),
+        lifespan_start varchar(255),
+        prefix varchar(255),
+        suffix varchar(255),
+        protectednomenclaturaltitlecache bit,
+        createdby_id integer,
+        updatedby_id integer,
+        ispartof_id integer,
+        primary key (id)
+    );
+
+    create table AgentBase_AUD (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        lsid_auth varchar(255),
+        lsid_authority varchar(255),
+        lsid_lsid varchar(255),
+        lsid_namespace varchar(255),
+        lsid_object varchar(255),
+        lsid_revision varchar(255),
+        protectedtitlecache bit,
+        titleCache varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        nomenclaturaltitle varchar(255),
+        firstname varchar(255),
+        lastname varchar(255),
+        lifespan_end varchar(255),
+        lifespan_start varchar(255),
+        prefix varchar(255),
+        suffix varchar(255),
+        code varchar(255),
+        name varchar(255),
+        ispartof_id integer,
+        protectednomenclaturaltitlecache bit,
+        primary key (id, REV)
+    );
+
+    create table AgentBase_Address (
+        AgentBase_id integer not null,
+        contact_addresses_id integer not null,
+        primary key (AgentBase_id, contact_addresses_id),
+        unique (contact_addresses_id)
+    );
+
+    create table AgentBase_Address_AUD (
+        REV integer not null,
+        AgentBase_id integer not null,
+        contact_addresses_id integer not null,
+        revtype tinyint,
+        primary key (REV, AgentBase_id, contact_addresses_id)
+    );
+
+    create table AgentBase_AgentBase (
+        AgentBase_id integer not null,
+        teammembers_id integer not null
+    );
+
+    create table AgentBase_AgentBase_AUD (
+        REV integer not null,
+        AgentBase_id integer not null,
+        teammembers_id integer not null,
+        revtype tinyint,
+        primary key (REV, AgentBase_id, teammembers_id)
+    );
+
+    create table AgentBase_Annotation (
+        AgentBase_id integer not null,
+        annotations_id integer not null,
+        primary key (AgentBase_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table AgentBase_Annotation_AUD (
+        REV integer not null,
+        AgentBase_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, AgentBase_id, annotations_id)
+    );
+
+    create table AgentBase_DefinedTermBase (
+        AgentBase_id integer not null,
+        types_id integer not null,
+        primary key (AgentBase_id, types_id)
+    );
+
+    create table AgentBase_DefinedTermBase_AUD (
+        REV integer not null,
+        AgentBase_id integer not null,
+        types_id integer not null,
+        revtype tinyint,
+        primary key (REV, AgentBase_id, types_id)
+    );
+
+    create table AgentBase_Extension (
+        AgentBase_id integer not null,
+        extensions_id integer not null,
+        primary key (AgentBase_id, extensions_id),
+        unique (extensions_id)
+    );
+
+    create table AgentBase_Extension_AUD (
+        REV integer not null,
+        AgentBase_id integer not null,
+        extensions_id integer not null,
+        revtype tinyint,
+        primary key (REV, AgentBase_id, extensions_id)
+    );
+
+    create table AgentBase_Marker (
+        AgentBase_id integer not null,
+        markers_id integer not null,
+        primary key (AgentBase_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table AgentBase_Marker_AUD (
+        REV integer not null,
+        AgentBase_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, AgentBase_id, markers_id)
+    );
+
+    create table AgentBase_Media (
+        AgentBase_id integer not null,
+        media_id integer not null,
+        primary key (AgentBase_id, media_id),
+        unique (media_id)
+    );
+
+    create table AgentBase_Media_AUD (
+        REV integer not null,
+        AgentBase_id integer not null,
+        media_id integer not null,
+        revtype tinyint,
+        primary key (REV, AgentBase_id, media_id)
+    );
+
+    create table AgentBase_OriginalSource (
+        AgentBase_id integer not null,
+        sources_id integer not null,
+        primary key (AgentBase_id, sources_id),
+        unique (sources_id)
+    );
+
+    create table AgentBase_OriginalSource_AUD (
+        REV integer not null,
+        AgentBase_id integer not null,
+        sources_id integer not null,
+        revtype tinyint,
+        primary key (REV, AgentBase_id, sources_id)
+    );
+
+    create table AgentBase_Rights (
+        AgentBase_id integer not null,
+        rights_id integer not null,
+        primary key (AgentBase_id, rights_id),
+        unique (rights_id)
+    );
+
+    create table AgentBase_Rights_AUD (
+        REV integer not null,
+        AgentBase_id integer not null,
+        rights_id integer not null,
+        revtype tinyint,
+        primary key (REV, AgentBase_id, rights_id)
+    );
+
+    create table AgentBase_contact_emailaddresses (
+        AgentBase_id integer not null,
+        contact_emailaddresses_element varchar(255)
+    );
+
+    create table AgentBase_contact_emailaddresses_AUD (
+        REV integer not null,
+        AgentBase_id integer not null,
+        contact_emailaddresses_element varchar(255) not null,
+        revtype tinyint,
+        primary key (REV, AgentBase_id, contact_emailaddresses_element)
+    );
+
+    create table AgentBase_contact_faxnumbers (
+        AgentBase_id integer not null,
+        contact_faxnumbers_element varchar(255)
+    );
+
+    create table AgentBase_contact_faxnumbers_AUD (
+        REV integer not null,
+        AgentBase_id integer not null,
+        contact_faxnumbers_element varchar(255) not null,
+        revtype tinyint,
+        primary key (REV, AgentBase_id, contact_faxnumbers_element)
+    );
+
+    create table AgentBase_contact_phonenumbers (
+        AgentBase_id integer not null,
+        contact_phonenumbers_element varchar(255)
+    );
+
+    create table AgentBase_contact_phonenumbers_AUD (
+        REV integer not null,
+        AgentBase_id integer not null,
+        contact_phonenumbers_element varchar(255) not null,
+        revtype tinyint,
+        primary key (REV, AgentBase_id, contact_phonenumbers_element)
+    );
+
+    create table AgentBase_contact_urls (
+        AgentBase_id integer not null,
+        contact_urls_element varchar(255)
+    );
+
+    create table AgentBase_contact_urls_AUD (
+        REV integer not null,
+        AgentBase_id integer not null,
+        contact_urls_element varchar(255) not null,
+        revtype tinyint,
+        primary key (REV, AgentBase_id, contact_urls_element)
+    );
+
+    create table Annotation (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        text longvarchar,
+        annotatedObj_type varchar(255),
+        annotatedObj_id integer not null,
+        linkbackurl varbinary(255),
+        createdby_id integer,
+        updatedby_id integer,
+        language_id integer,
+        annotationtype_id integer,
+        commentator_id integer,
+        primary key (id)
+    );
+
+    create table Annotation_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        text longvarchar,
+        linkbackurl varbinary(255),
+        createdby_id integer,
+        updatedby_id integer,
+        language_id integer,
+        annotationtype_id integer,
+        commentator_id integer,
+        primary key (id, REV)
+    );
+
+    create table Annotation_Annotation (
+        Annotation_id integer not null,
+        annotations_id integer not null,
+        primary key (Annotation_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table Annotation_Annotation_AUD (
+        REV integer not null,
+        Annotation_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, Annotation_id, annotations_id)
+    );
+
+    create table Annotation_Marker (
+        Annotation_id integer not null,
+        markers_id integer not null,
+        primary key (Annotation_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table Annotation_Marker_AUD (
+        REV integer not null,
+        Annotation_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, Annotation_id, markers_id)
+    );
+
+    create table AuditEvent (
+        revisionnumber integer generated by default as identity (start with 1),
+        timestamp bigint,
+        uuid varchar(255),
+        primary key (revisionnumber)
+    );
+
+    create table CDM_VIEW (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        description varchar(255),
+        name varchar(255),
+        createdby_id integer,
+        reference_id integer,
+        primary key (id)
+    );
+
+    create table CDM_VIEW_CDM_VIEW (
+        CDM_VIEW_id integer not null,
+        superviews_id integer not null,
+        primary key (CDM_VIEW_id, superviews_id),
+        unique (superviews_id)
+    );
+
+    create table Collection (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        lsid_auth varchar(255),
+        lsid_authority varchar(255),
+        lsid_lsid varchar(255),
+        lsid_namespace varchar(255),
+        lsid_object varchar(255),
+        lsid_revision varchar(255),
+        protectedtitlecache bit not null,
+        titleCache varchar(255),
+        code varchar(255),
+        codestandard varchar(255),
+        name varchar(255),
+        townorlocation varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        institute_id integer,
+        supercollection_id integer,
+        primary key (id)
+    );
+
+    create table Collection_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        lsid_auth varchar(255),
+        lsid_authority varchar(255),
+        lsid_lsid varchar(255),
+        lsid_namespace varchar(255),
+        lsid_object varchar(255),
+        lsid_revision varchar(255),
+        protectedtitlecache bit,
+        titleCache varchar(255),
+        code varchar(255),
+        codestandard varchar(255),
+        name varchar(255),
+        townorlocation varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        institute_id integer,
+        supercollection_id integer,
+        primary key (id, REV)
+    );
+
+    create table Collection_Annotation (
+        Collection_id integer not null,
+        annotations_id integer not null,
+        primary key (Collection_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table Collection_Annotation_AUD (
+        REV integer not null,
+        Collection_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, Collection_id, annotations_id)
+    );
+
+    create table Collection_Extension (
+        Collection_id integer not null,
+        extensions_id integer not null,
+        primary key (Collection_id, extensions_id),
+        unique (extensions_id)
+    );
+
+    create table Collection_Extension_AUD (
+        REV integer not null,
+        Collection_id integer not null,
+        extensions_id integer not null,
+        revtype tinyint,
+        primary key (REV, Collection_id, extensions_id)
+    );
+
+    create table Collection_Marker (
+        Collection_id integer not null,
+        markers_id integer not null,
+        primary key (Collection_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table Collection_Marker_AUD (
+        REV integer not null,
+        Collection_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, Collection_id, markers_id)
+    );
+
+    create table Collection_Media (
+        Collection_id integer not null,
+        media_id integer not null,
+        primary key (Collection_id, media_id),
+        unique (media_id)
+    );
+
+    create table Collection_Media_AUD (
+        REV integer not null,
+        Collection_id integer not null,
+        media_id integer not null,
+        revtype tinyint,
+        primary key (REV, Collection_id, media_id)
+    );
+
+    create table Collection_OriginalSource (
+        Collection_id integer not null,
+        sources_id integer not null,
+        primary key (Collection_id, sources_id),
+        unique (sources_id)
+    );
+
+    create table Collection_OriginalSource_AUD (
+        REV integer not null,
+        Collection_id integer not null,
+        sources_id integer not null,
+        revtype tinyint,
+        primary key (REV, Collection_id, sources_id)
+    );
+
+    create table Collection_Rights (
+        Collection_id integer not null,
+        rights_id integer not null,
+        primary key (Collection_id, rights_id),
+        unique (rights_id)
+    );
+
+    create table Collection_Rights_AUD (
+        REV integer not null,
+        Collection_id integer not null,
+        rights_id integer not null,
+        revtype tinyint,
+        primary key (REV, Collection_id, rights_id)
+    );
+
+    create table DefinedTermBase (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        uri varchar(255),
+        orderindex integer,
+        iso639_1 varchar(2),
+        iso639_2 varchar(3),
+        symmetric bit,
+        transitive bit,
+        defaultcolor varchar(255),
+        supportscommontaxonname bit,
+        supportsdistribution bit,
+        supportsindividualassociation bit,
+        supportsquantitativedata bit,
+        supportstaxoninteraction bit,
+        supportstextdata bit,
+        pointapproximation_errorradius integer,
+        pointapproximation_latitude double,
+        pointapproximation_longitude double,
+        validperiod_end varchar(255),
+        validperiod_start varchar(255),
+        iso3166_a2 varchar(2),
+        createdby_id integer,
+        updatedby_id integer,
+        kindof_id integer,
+        partof_id integer,
+        vocabulary_id integer,
+        level_id integer,
+        pointapproximation_referencesystem_id integer,
+        shape_id integer,
+        type_id integer,
+        primary key (id)
+    );
+
+    create table DefinedTermBase_AUD (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        uri varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        kindof_id integer,
+        partof_id integer,
+        vocabulary_id integer,
+        orderindex integer,
+        iso639_1 varchar(2),
+        iso639_2 varchar(3),
+        pointapproximation_errorradius integer,
+        pointapproximation_latitude double,
+        pointapproximation_longitude double,
+        validperiod_end varchar(255),
+        validperiod_start varchar(255),
+        level_id integer,
+        pointapproximation_referencesystem_id integer,
+        shape_id integer,
+        type_id integer,
+        defaultcolor varchar(255),
+        iso3166_a2 varchar(2),
+        symmetric bit,
+        transitive bit,
+        supportscommontaxonname bit,
+        supportsdistribution bit,
+        supportsindividualassociation bit,
+        supportsquantitativedata bit,
+        supportstaxoninteraction bit,
+        supportstextdata bit,
+        primary key (id, REV)
+    );
+
+    create table DefinedTermBase_Continent (
+        DefinedTermBase_id integer not null,
+        continents_id integer not null,
+        primary key (DefinedTermBase_id, continents_id)
+    );
+
+    create table DefinedTermBase_Continent_AUD (
+        REV integer not null,
+        DefinedTermBase_id integer not null,
+        continents_id integer not null,
+        revtype tinyint,
+        primary key (REV, DefinedTermBase_id, continents_id)
+    );
+
+    create table DefinedTermBase_Media (
+        DefinedTermBase_id integer not null,
+        media_id integer not null,
+        primary key (DefinedTermBase_id, media_id),
+        unique (media_id)
+    );
+
+    create table DefinedTermBase_Media_AUD (
+        REV integer not null,
+        DefinedTermBase_id integer not null,
+        media_id integer not null,
+        revtype tinyint,
+        primary key (REV, DefinedTermBase_id, media_id)
+    );
+
+    create table DefinedTermBase_RecommendedModifierEnumeration (
+        DefinedTermBase_id integer not null,
+        recommendedmodifierenumeration_id integer not null,
+        primary key (DefinedTermBase_id, recommendedmodifierenumeration_id),
+        unique (recommendedmodifierenumeration_id)
+    );
+
+    create table DefinedTermBase_RecommendedModifierEnumeration_AUD (
+        REV integer not null,
+        DefinedTermBase_id integer not null,
+        recommendedmodifierenumeration_id integer not null,
+        revtype tinyint,
+        primary key (REV, DefinedTermBase_id, recommendedmodifierenumeration_id)
+    );
+
+    create table DefinedTermBase_Representation (
+        DefinedTermBase_id integer not null,
+        representations_id integer not null,
+        primary key (DefinedTermBase_id, representations_id),
+        unique (representations_id)
+    );
+
+    create table DefinedTermBase_Representation_AUD (
+        REV integer not null,
+        DefinedTermBase_id integer not null,
+        representations_id integer not null,
+        revtype tinyint,
+        primary key (REV, DefinedTermBase_id, representations_id)
+    );
+
+    create table DefinedTermBase_StatisticalMeasure (
+        DefinedTermBase_id integer not null,
+        recommendedstatisticalmeasures_id integer not null,
+        primary key (DefinedTermBase_id, recommendedstatisticalmeasures_id)
+    );
+
+    create table DefinedTermBase_StatisticalMeasure_AUD (
+        REV integer not null,
+        DefinedTermBase_id integer not null,
+        recommendedstatisticalmeasures_id integer not null,
+        revtype tinyint,
+        primary key (REV, DefinedTermBase_id, recommendedstatisticalmeasures_id)
+    );
+
+    create table DefinedTermBase_SupportedCategoricalEnumeration (
+        DefinedTermBase_id integer not null,
+        supportedcategoricalenumerations_id integer not null,
+        primary key (DefinedTermBase_id, supportedcategoricalenumerations_id),
+        unique (supportedcategoricalenumerations_id)
+    );
+
+    create table DefinedTermBase_SupportedCategoricalEnumeration_AUD (
+        REV integer not null,
+        DefinedTermBase_id integer not null,
+        supportedcategoricalenumerations_id integer not null,
+        revtype tinyint,
+        primary key (REV, DefinedTermBase_id, supportedcategoricalenumerations_id)
+    );
+
+    create table DefinedTermBase_WaterbodyOrCountry (
+        DefinedTermBase_id integer not null,
+        waterbodiesorcountries_id integer not null,
+        primary key (DefinedTermBase_id, waterbodiesorcountries_id)
+    );
+
+    create table DefinedTermBase_WaterbodyOrCountry_AUD (
+        REV integer not null,
+        DefinedTermBase_id integer not null,
+        waterbodiesorcountries_id integer not null,
+        revtype tinyint,
+        primary key (REV, DefinedTermBase_id, waterbodiesorcountries_id)
+    );
+
+    create table DerivationEvent (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        description varchar(255),
+        timeperiod_end varchar(255),
+        timeperiod_start varchar(255),
+        absoluteelevation integer,
+        absoluteelevationerror integer,
+        collectingmethod varchar(255),
+        distancetoground integer,
+        distancetowatersurface integer,
+        exactlocation_errorradius integer,
+        exactlocation_latitude double,
+        exactlocation_longitude double,
+        createdby_id integer,
+        updatedby_id integer,
+        actor_id integer,
+        type_id integer,
+        exactlocation_referencesystem_id integer,
+        locality_id integer,
+        primary key (id)
+    );
+
+    create table DerivationEvent_AUD (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        description varchar(255),
+        timeperiod_end varchar(255),
+        timeperiod_start varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        actor_id integer,
+        type_id integer,
+        absoluteelevation integer,
+        absoluteelevationerror integer,
+        collectingmethod varchar(255),
+        distancetoground integer,
+        distancetowatersurface integer,
+        exactlocation_errorradius integer,
+        exactlocation_latitude double,
+        exactlocation_longitude double,
+        exactlocation_referencesystem_id integer,
+        locality_id integer,
+        primary key (id, REV)
+    );
+
+    create table DerivationEvent_Annotation (
+        DerivationEvent_id integer not null,
+        annotations_id integer not null,
+        primary key (DerivationEvent_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table DerivationEvent_Annotation_AUD (
+        REV integer not null,
+        DerivationEvent_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, DerivationEvent_id, annotations_id)
+    );
+
+    create table DerivationEvent_DefinedTermBase (
+        DerivationEvent_id integer not null,
+        collectingareas_id integer not null,
+        primary key (DerivationEvent_id, collectingareas_id)
+    );
+
+    create table DerivationEvent_DefinedTermBase_AUD (
+        REV integer not null,
+        DerivationEvent_id integer not null,
+        collectingareas_id integer not null,
+        revtype tinyint,
+        primary key (REV, DerivationEvent_id, collectingareas_id)
+    );
+
+    create table DerivationEvent_Marker (
+        DerivationEvent_id integer not null,
+        markers_id integer not null,
+        primary key (DerivationEvent_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table DerivationEvent_Marker_AUD (
+        REV integer not null,
+        DerivationEvent_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, DerivationEvent_id, markers_id)
+    );
+
+    create table DescriptionBase (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        lsid_auth varchar(255),
+        lsid_authority varchar(255),
+        lsid_lsid varchar(255),
+        lsid_namespace varchar(255),
+        lsid_object varchar(255),
+        lsid_revision varchar(255),
+        protectedtitlecache bit not null,
+        titleCache varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        taxon_fk integer,
+        taxonName_fk integer,
+        primary key (id)
+    );
+
+    create table DescriptionBase_AUD (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        lsid_auth varchar(255),
+        lsid_authority varchar(255),
+        lsid_lsid varchar(255),
+        lsid_namespace varchar(255),
+        lsid_object varchar(255),
+        lsid_revision varchar(255),
+        protectedtitlecache bit,
+        titleCache varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        taxon_fk integer,
+        taxonName_fk integer,
+        primary key (id, REV)
+    );
+
+    create table DescriptionBase_Annotation (
+        DescriptionBase_id integer not null,
+        annotations_id integer not null,
+        primary key (DescriptionBase_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table DescriptionBase_Annotation_AUD (
+        REV integer not null,
+        DescriptionBase_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, DescriptionBase_id, annotations_id)
+    );
+
+    create table DescriptionBase_Extension (
+        DescriptionBase_id integer not null,
+        extensions_id integer not null,
+        primary key (DescriptionBase_id, extensions_id),
+        unique (extensions_id)
+    );
+
+    create table DescriptionBase_Extension_AUD (
+        REV integer not null,
+        DescriptionBase_id integer not null,
+        extensions_id integer not null,
+        revtype tinyint,
+        primary key (REV, DescriptionBase_id, extensions_id)
+    );
+
+    create table DescriptionBase_GeoScope (
+        DescriptionBase_id integer not null,
+        geoscopes_id integer not null,
+        primary key (DescriptionBase_id, geoscopes_id)
+    );
+
+    create table DescriptionBase_GeoScope_AUD (
+        REV integer not null,
+        DescriptionBase_id integer not null,
+        geoscopes_id integer not null,
+        revtype tinyint,
+        primary key (REV, DescriptionBase_id, geoscopes_id)
+    );
+
+    create table DescriptionBase_Marker (
+        DescriptionBase_id integer not null,
+        markers_id integer not null,
+        primary key (DescriptionBase_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table DescriptionBase_Marker_AUD (
+        REV integer not null,
+        DescriptionBase_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, DescriptionBase_id, markers_id)
+    );
+
+    create table DescriptionBase_OriginalSource (
+        DescriptionBase_id integer not null,
+        sources_id integer not null,
+        primary key (DescriptionBase_id, sources_id),
+        unique (sources_id)
+    );
+
+    create table DescriptionBase_OriginalSource_AUD (
+        REV integer not null,
+        DescriptionBase_id integer not null,
+        sources_id integer not null,
+        revtype tinyint,
+        primary key (REV, DescriptionBase_id, sources_id)
+    );
+
+    create table DescriptionBase_ReferenceBase (
+        DescriptionBase_id integer not null,
+        descriptionsources_id integer not null,
+        primary key (DescriptionBase_id, descriptionsources_id)
+    );
+
+    create table DescriptionBase_ReferenceBase_AUD (
+        REV integer not null,
+        DescriptionBase_id integer not null,
+        descriptionsources_id integer not null,
+        revtype tinyint,
+        primary key (REV, DescriptionBase_id, descriptionsources_id)
+    );
+
+    create table DescriptionBase_Rights (
+        DescriptionBase_id integer not null,
+        rights_id integer not null,
+        primary key (DescriptionBase_id, rights_id),
+        unique (rights_id)
+    );
+
+    create table DescriptionBase_Rights_AUD (
+        REV integer not null,
+        DescriptionBase_id integer not null,
+        rights_id integer not null,
+        revtype tinyint,
+        primary key (REV, DescriptionBase_id, rights_id)
+    );
+
+    create table DescriptionBase_Scope (
+        DescriptionBase_id integer not null,
+        scopes_id integer not null,
+        primary key (DescriptionBase_id, scopes_id)
+    );
+
+    create table DescriptionBase_Scope_AUD (
+        REV integer not null,
+        DescriptionBase_id integer not null,
+        scopes_id integer not null,
+        revtype tinyint,
+        primary key (REV, DescriptionBase_id, scopes_id)
+    );
+
+    create table DescriptionBase_SpecimenOrObservationBase (
+        descriptions_id integer not null,
+        describedspecimenorobservations_id integer not null,
+        primary key (descriptions_id, describedspecimenorobservations_id)
+    );
+
+    create table DescriptionBase_SpecimenOrObservationBase_AUD (
+        REV integer not null,
+        descriptions_id integer not null,
+        describedspecimenorobservations_id integer not null,
+        revtype tinyint,
+        primary key (REV, descriptions_id, describedspecimenorobservations_id)
+    );
+
+    create table DescriptionElementBase (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        citationmicroreference varchar(255),
+        originalnamestring varchar(255),
+        orderrelevant bit,
+        name varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        citation_id integer,
+        feature_id integer,
+        indescription_id integer,
+        language_id integer,
+        area_id integer,
+        status_id integer,
+        associatedspecimenorobservation_id integer,
+        unit_id integer,
+        taxon2_id integer,
+        format_id integer,
+        primary key (id)
+    );
+
+    create table DescriptionElementBase_AUD (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        citationmicroreference varchar(255),
+        originalnamestring varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        citation_id integer,
+        feature_id integer,
+        indescription_id integer,
+        taxon2_id integer,
+        area_id integer,
+        status_id integer,
+        associatedspecimenorobservation_id integer,
+        format_id integer,
+        unit_id integer,
+        name varchar(255),
+        language_id integer,
+        orderrelevant bit,
+        primary key (id, REV)
+    );
+
+    create table DescriptionElementBase_Annotation (
+        DescriptionElementBase_id integer not null,
+        annotations_id integer not null,
+        primary key (DescriptionElementBase_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table DescriptionElementBase_Annotation_AUD (
+        REV integer not null,
+        DescriptionElementBase_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, DescriptionElementBase_id, annotations_id)
+    );
+
+    create table DescriptionElementBase_LanguageString (
+        DescriptionElementBase_id integer not null,
+        multilanguagetext_id integer not null,
+        primary key (DescriptionElementBase_id, multilanguagetext_id),
+        unique (multilanguagetext_id)
+    );
+
+    create table DescriptionElementBase_LanguageString_AUD (
+        REV integer not null,
+        DescriptionElementBase_id integer not null,
+        multilanguagetext_id integer not null,
+        revtype tinyint,
+        primary key (REV, DescriptionElementBase_id, multilanguagetext_id)
+    );
+
+    create table DescriptionElementBase_Marker (
+        DescriptionElementBase_id integer not null,
+        markers_id integer not null,
+        primary key (DescriptionElementBase_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table DescriptionElementBase_Marker_AUD (
+        REV integer not null,
+        DescriptionElementBase_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, DescriptionElementBase_id, markers_id)
+    );
+
+    create table DescriptionElementBase_Media (
+        DescriptionElementBase_id integer not null,
+        media_id integer not null,
+        primary key (DescriptionElementBase_id, media_id)
+    );
+
+    create table DescriptionElementBase_Media_AUD (
+        REV integer not null,
+        DescriptionElementBase_id integer not null,
+        media_id integer not null,
+        revtype tinyint,
+        primary key (REV, DescriptionElementBase_id, media_id)
+    );
+
+    create table DescriptionElementBase_Modifier (
+        DescriptionElementBase_id integer not null,
+        modifiers_id integer not null,
+        primary key (DescriptionElementBase_id, modifiers_id)
+    );
+
+    create table DescriptionElementBase_Modifier_AUD (
+        REV integer not null,
+        DescriptionElementBase_id integer not null,
+        modifiers_id integer not null,
+        revtype tinyint,
+        primary key (REV, DescriptionElementBase_id, modifiers_id)
+    );
+
+    create table DescriptionElementBase_ModifyingText (
+        DescriptionElementBase_id integer not null,
+        modifyingtext_id integer not null,
+        modifyingtext_mapkey_id integer not null,
+        primary key (DescriptionElementBase_id, modifyingtext_mapkey_id),
+        unique (modifyingtext_id)
+    );
+
+    create table DescriptionElementBase_ModifyingText_AUD (
+        REV integer not null,
+        DescriptionElementBase_id integer not null,
+        modifyingtext_id integer not null,
+        modifyingtext_mapkey_id integer not null,
+        revtype tinyint,
+        primary key (REV, DescriptionElementBase_id, modifyingtext_id, modifyingtext_mapkey_id)
+    );
+
+    create table DescriptionElementBase_StateData (
+        DescriptionElementBase_id integer not null,
+        states_id integer not null
+    );
+
+    create table DescriptionElementBase_StateData_AUD (
+        REV integer not null,
+        DescriptionElementBase_id integer not null,
+        states_id integer not null,
+        revtype tinyint,
+        primary key (REV, DescriptionElementBase_id, states_id)
+    );
+
+    create table DescriptionElementBase_StatisticalMeasurementValue (
+        DescriptionElementBase_id integer not null,
+        statisticalvalues_id integer not null,
+        primary key (DescriptionElementBase_id, statisticalvalues_id),
+        unique (statisticalvalues_id)
+    );
+
+    create table DescriptionElementBase_StatisticalMeasurementValue_AUD (
+        REV integer not null,
+        DescriptionElementBase_id integer not null,
+        statisticalvalues_id integer not null,
+        revtype tinyint,
+        primary key (REV, DescriptionElementBase_id, statisticalvalues_id)
+    );
+
+    create table DeterminationEvent (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        description varchar(255),
+        timeperiod_end varchar(255),
+        timeperiod_start varchar(255),
+        preferredflag bit not null,
+        createdby_id integer,
+        updatedby_id integer,
+        actor_id integer,
+        identifiedunit_id integer,
+        modifier_id integer,
+        taxon_id integer,
+        primary key (id)
+    );
+
+    create table DeterminationEvent_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        description varchar(255),
+        timeperiod_end varchar(255),
+        timeperiod_start varchar(255),
+        preferredflag bit,
+        createdby_id integer,
+        updatedby_id integer,
+        actor_id integer,
+        identifiedunit_id integer,
+        modifier_id integer,
+        taxon_id integer,
+        primary key (id, REV)
+    );
+
+    create table DeterminationEvent_Annotation (
+        DeterminationEvent_id integer not null,
+        annotations_id integer not null,
+        primary key (DeterminationEvent_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table DeterminationEvent_Annotation_AUD (
+        REV integer not null,
+        DeterminationEvent_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, DeterminationEvent_id, annotations_id)
+    );
+
+    create table DeterminationEvent_Marker (
+        DeterminationEvent_id integer not null,
+        markers_id integer not null,
+        primary key (DeterminationEvent_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table DeterminationEvent_Marker_AUD (
+        REV integer not null,
+        DeterminationEvent_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, DeterminationEvent_id, markers_id)
+    );
+
+    create table DeterminationEvent_ReferenceBase (
+        DeterminationEvent_id integer not null,
+        setofreferences_id integer not null,
+        primary key (DeterminationEvent_id, setofreferences_id)
+    );
+
+    create table DeterminationEvent_ReferenceBase_AUD (
+        REV integer not null,
+        DeterminationEvent_id integer not null,
+        setofreferences_id integer not null,
+        revtype tinyint,
+        primary key (REV, DeterminationEvent_id, setofreferences_id)
+    );
+
+    create table Extension (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        extendedObj_type varchar(255),
+        extendedObj_id integer not null,
+        value varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        type_id integer,
+        primary key (id)
+    );
+
+    create table Extension_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        value varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        type_id integer,
+        primary key (id, REV)
+    );
+
+    create table FeatureNode (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        createdby_id integer,
+        updatedby_id integer,
+        feature_id integer,
+        parent_fk integer,
+        primary key (id)
+    );
+
+    create table FeatureNode_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        createdby_id integer,
+        updatedby_id integer,
+        feature_id integer,
+        parent_fk integer,
+        primary key (id, REV)
+    );
+
+    create table FeatureTree (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        uri varchar(255),
+        descriptionseparated bit not null,
+        createdby_id integer,
+        updatedby_id integer,
+        root_id integer,
+        primary key (id)
+    );
+
+    create table FeatureTree_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        uri varchar(255),
+        descriptionseparated bit,
+        createdby_id integer,
+        updatedby_id integer,
+        root_id integer,
+        primary key (id, REV)
+    );
+
+    create table FeatureTree_Representation (
+        FeatureTree_id integer not null,
+        representations_id integer not null,
+        primary key (FeatureTree_id, representations_id),
+        unique (representations_id)
+    );
+
+    create table FeatureTree_Representation_AUD (
+        REV integer not null,
+        FeatureTree_id integer not null,
+        representations_id integer not null,
+        revtype tinyint,
+        primary key (REV, FeatureTree_id, representations_id)
+    );
+
+    create table GenBankAccession (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        accessionnumber varchar(255),
+        uri varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        primary key (id)
+    );
+
+    create table GenBankAccession_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        accessionnumber varchar(255),
+        uri varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        primary key (id, REV)
+    );
+
+    create table GrantedAuthorityImpl (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        authority varchar(255),
+        createdby_id integer,
+        primary key (id),
+        unique (authority)
+    );
+
+    create table HomotypicalGroup (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        createdby_id integer,
+        updatedby_id integer,
+        primary key (id)
+    );
+
+    create table HomotypicalGroup_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        createdby_id integer,
+        updatedby_id integer,
+        primary key (id, REV)
+    );
+
+    create table HomotypicalGroup_Annotation (
+        HomotypicalGroup_id integer not null,
+        annotations_id integer not null,
+        primary key (HomotypicalGroup_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table HomotypicalGroup_Annotation_AUD (
+        REV integer not null,
+        HomotypicalGroup_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, HomotypicalGroup_id, annotations_id)
+    );
+
+    create table HomotypicalGroup_Marker (
+        HomotypicalGroup_id integer not null,
+        markers_id integer not null,
+        primary key (HomotypicalGroup_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table HomotypicalGroup_Marker_AUD (
+        REV integer not null,
+        HomotypicalGroup_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, HomotypicalGroup_id, markers_id)
+    );
+
+    create table HybridRelationship (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        citationmicroreference varchar(255),
+        originalnamestring varchar(255),
+        doubtful bit not null,
+        ruleconsidered varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        citation_id integer,
+        relatedfrom_id integer,
+        relatedto_id integer,
+        type_id integer,
+        primary key (id)
+    );
+
+    create table HybridRelationship_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        citationmicroreference varchar(255),
+        originalnamestring varchar(255),
+        doubtful bit,
+        ruleconsidered varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        citation_id integer,
+        relatedfrom_id integer,
+        relatedto_id integer,
+        type_id integer,
+        primary key (id, REV)
+    );
+
+    create table HybridRelationship_Annotation (
+        HybridRelationship_id integer not null,
+        annotations_id integer not null,
+        primary key (HybridRelationship_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table HybridRelationship_Annotation_AUD (
+        REV integer not null,
+        HybridRelationship_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, HybridRelationship_id, annotations_id)
+    );
+
+    create table HybridRelationship_Marker (
+        HybridRelationship_id integer not null,
+        markers_id integer not null,
+        primary key (HybridRelationship_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table HybridRelationship_Marker_AUD (
+        REV integer not null,
+        HybridRelationship_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, HybridRelationship_id, markers_id)
+    );
+
+    create table IdentificationKey_Taxon (
+        identificationKey_fk integer not null,
+        taxon_fk integer not null,
+        primary key (identificationKey_fk, taxon_fk)
+    );
+
+    create table IdentificationKey_Taxon_AUD (
+        REV integer not null,
+        identificationKey_fk integer not null,
+        taxon_fk integer not null,
+        revtype tinyint,
+        primary key (REV, identificationKey_fk, taxon_fk)
+    );
+
+    create table IndividualAssociation_LanguageString (
+        DescriptionElementBase_id integer not null,
+        description_id integer not null,
+        description_mapkey_id integer not null,
+        primary key (DescriptionElementBase_id, description_mapkey_id),
+        unique (description_id)
+    );
+
+    create table IndividualAssociation_LanguageString_AUD (
+        REV integer not null,
+        DescriptionElementBase_id integer not null,
+        description_id integer not null,
+        description_mapkey_id integer not null,
+        revtype tinyint,
+        primary key (REV, DescriptionElementBase_id, description_id, description_mapkey_id)
+    );
+
+    create table InstitutionalMembership (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        department varchar(255),
+        period_end varchar(255),
+        period_start varchar(255),
+        role varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        institute_id integer,
+        person_id integer,
+        primary key (id)
+    );
+
+    create table InstitutionalMembership_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        department varchar(255),
+        period_end varchar(255),
+        period_start varchar(255),
+        role varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        institute_id integer,
+        person_id integer,
+        primary key (id, REV)
+    );
+
+    create table LSIDAuthority (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        authority varchar(255),
+        authoritywsdl longvarchar,
+        port integer not null,
+        server varchar(255),
+        url varchar(255),
+        createdby_id integer,
+        primary key (id),
+        unique (authority)
+    );
+
+    create table LSIDAuthority_namespaces (
+        LSIDAuthority_id integer not null,
+        namespaces_element varchar(255),
+        namespaces_mapkey varchar(255),
+        primary key (LSIDAuthority_id, namespaces_mapkey)
+    );
+
+    create table LanguageString (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        text longvarchar,
+        createdby_id integer,
+        updatedby_id integer,
+        language_id integer,
+        primary key (id)
+    );
+
+    create table LanguageString_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        text longvarchar,
+        createdby_id integer,
+        updatedby_id integer,
+        language_id integer,
+        primary key (id, REV)
+    );
+
+    create table LanguageString_Annotation (
+        LanguageString_id integer not null,
+        annotations_id integer not null,
+        primary key (LanguageString_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table LanguageString_Annotation_AUD (
+        REV integer not null,
+        LanguageString_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, LanguageString_id, annotations_id)
+    );
+
+    create table LanguageString_Marker (
+        LanguageString_id integer not null,
+        markers_id integer not null,
+        primary key (LanguageString_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table LanguageString_Marker_AUD (
+        REV integer not null,
+        LanguageString_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, LanguageString_id, markers_id)
+    );
+
+    create table Locus (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        description varchar(255),
+        name varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        primary key (id)
+    );
+
+    create table Locus_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        description varchar(255),
+        name varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        primary key (id, REV)
+    );
+
+    create table Marker (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        flag bit not null,
+        markedObj_type varchar(255),
+        markedObj_id integer not null,
+        createdby_id integer,
+        updatedby_id integer,
+        markertype_id integer,
+        primary key (id)
+    );
+
+    create table Marker_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        flag bit,
+        createdby_id integer,
+        updatedby_id integer,
+        markertype_id integer,
+        primary key (id, REV)
+    );
+
+    create table Media (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        mediacreated date,
+        citationmicroreference varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        artist_id integer,
+        citation_id integer,
+        primary key (id)
+    );
+
+    create table MediaRepresentation (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        mimetype varchar(255),
+        suffix varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        media_id integer,
+        primary key (id)
+    );
+
+    create table MediaRepresentationPart (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        size integer,
+        uri varchar(255),
+        duration integer,
+        height integer,
+        width integer,
+        createdby_id integer,
+        updatedby_id integer,
+        representation_id integer not null,
+        sortIndex integer,
+        primary key (id)
+    );
+
+    create table MediaRepresentationPart_AUD (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        size integer,
+        uri varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        representation_id integer,
+        duration integer,
+        height integer,
+        width integer,
+        primary key (id, REV)
+    );
+
+    create table MediaRepresentation_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        mimetype varchar(255),
+        suffix varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        media_id integer,
+        primary key (id, REV)
+    );
+
+    create table MediaRepresentation_MediaRepresentationPart_AUD (
+        REV integer not null,
+        representation_id integer not null,
+        id integer not null,
+        sortIndex integer not null,
+        revtype tinyint,
+        primary key (REV, representation_id, id, sortIndex)
+    );
+
+    create table Media_AUD (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        mediacreated date,
+        createdby_id integer,
+        updatedby_id integer,
+        artist_id integer,
+        citationmicroreference varchar(255),
+        citation_id integer,
+        primary key (id, REV)
+    );
+
+    create table Media_Annotation (
+        Media_id integer not null,
+        annotations_id integer not null,
+        primary key (Media_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table Media_Annotation_AUD (
+        REV integer not null,
+        Media_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, Media_id, annotations_id)
+    );
+
+    create table Media_DefinedTermBase (
+        Media_id integer not null,
+        geoscopes_id integer not null,
+        primary key (Media_id, geoscopes_id)
+    );
+
+    create table Media_DefinedTermBase_AUD (
+        REV integer not null,
+        Media_id integer not null,
+        geoscopes_id integer not null,
+        revtype tinyint,
+        primary key (REV, Media_id, geoscopes_id)
+    );
+
+    create table Media_Description (
+        Media_id integer not null,
+        description_id integer not null,
+        description_mapkey_id integer not null,
+        primary key (Media_id, description_mapkey_id),
+        unique (description_id)
+    );
+
+    create table Media_Description_AUD (
+        REV integer not null,
+        Media_id integer not null,
+        description_id integer not null,
+        description_mapkey_id integer not null,
+        revtype tinyint,
+        primary key (REV, Media_id, description_id, description_mapkey_id)
+    );
+
+    create table Media_LanguageString (
+        Media_id integer not null,
+        title_id integer not null,
+        title_mapkey_id integer not null,
+        primary key (Media_id, title_mapkey_id),
+        unique (title_id)
+    );
+
+    create table Media_LanguageString_AUD (
+        REV integer not null,
+        Media_id integer not null,
+        title_id integer not null,
+        title_mapkey_id integer not null,
+        revtype tinyint,
+        primary key (REV, Media_id, title_id, title_mapkey_id)
+    );
+
+    create table Media_Marker (
+        Media_id integer not null,
+        markers_id integer not null,
+        primary key (Media_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table Media_Marker_AUD (
+        REV integer not null,
+        Media_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, Media_id, markers_id)
+    );
+
+    create table Media_Rights (
+        Media_id integer not null,
+        rights_id integer not null,
+        primary key (Media_id, rights_id)
+    );
+
+    create table Media_Rights_AUD (
+        REV integer not null,
+        Media_id integer not null,
+        rights_id integer not null,
+        revtype tinyint,
+        primary key (REV, Media_id, rights_id)
+    );
+
+    create table Media_Sequence (
+        Media_id integer not null,
+        usedsequences_id integer not null,
+        primary key (Media_id, usedsequences_id),
+        unique (usedsequences_id)
+    );
+
+    create table Media_Sequence_AUD (
+        REV integer not null,
+        Media_id integer not null,
+        usedsequences_id integer not null,
+        revtype tinyint,
+        primary key (REV, Media_id, usedsequences_id)
+    );
+
+    create table Media_TaxonBase (
+        Media_id integer not null,
+        coveredtaxa_id integer not null,
+        primary key (Media_id, coveredtaxa_id),
+        unique (coveredtaxa_id)
+    );
+
+    create table Media_TaxonBase_AUD (
+        REV integer not null,
+        Media_id integer not null,
+        coveredtaxa_id integer not null,
+        revtype tinyint,
+        primary key (REV, Media_id, coveredtaxa_id)
+    );
+
+    create table NameRelationship (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        citationmicroreference varchar(255),
+        originalnamestring varchar(255),
+        doubtful bit not null,
+        ruleconsidered varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        citation_id integer,
+        relatedfrom_id integer,
+        relatedto_id integer,
+        type_id integer,
+        primary key (id)
+    );
+
+    create table NameRelationship_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        citationmicroreference varchar(255),
+        originalnamestring varchar(255),
+        doubtful bit,
+        ruleconsidered varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        citation_id integer,
+        relatedfrom_id integer,
+        relatedto_id integer,
+        type_id integer,
+        primary key (id, REV)
+    );
+
+    create table NameRelationship_Annotation (
+        NameRelationship_id integer not null,
+        annotations_id integer not null,
+        primary key (NameRelationship_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table NameRelationship_Annotation_AUD (
+        REV integer not null,
+        NameRelationship_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, NameRelationship_id, annotations_id)
+    );
+
+    create table NameRelationship_Marker (
+        NameRelationship_id integer not null,
+        markers_id integer not null,
+        primary key (NameRelationship_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table NameRelationship_Marker_AUD (
+        REV integer not null,
+        NameRelationship_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, NameRelationship_id, markers_id)
+    );
+
+    create table NomenclaturalStatus (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        citationmicroreference varchar(255),
+        originalnamestring varchar(255),
+        ruleconsidered varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        citation_id integer,
+        type_id integer,
+        primary key (id)
+    );
+
+    create table NomenclaturalStatus_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        citationmicroreference varchar(255),
+        originalnamestring varchar(255),
+        ruleconsidered varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        citation_id integer,
+        type_id integer,
+        primary key (id, REV)
+    );
+
+    create table NomenclaturalStatus_Annotation (
+        NomenclaturalStatus_id integer not null,
+        annotations_id integer not null,
+        primary key (NomenclaturalStatus_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table NomenclaturalStatus_Annotation_AUD (
+        REV integer not null,
+        NomenclaturalStatus_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, NomenclaturalStatus_id, annotations_id)
+    );
+
+    create table NomenclaturalStatus_Marker (
+        NomenclaturalStatus_id integer not null,
+        markers_id integer not null,
+        primary key (NomenclaturalStatus_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table NomenclaturalStatus_Marker_AUD (
+        REV integer not null,
+        NomenclaturalStatus_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, NomenclaturalStatus_id, markers_id)
+    );
+
+    create table OriginalSource (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        citationmicroreference varchar(255),
+        originalnamestring varchar(255),
+        idinsource varchar(255),
+        idnamespace varchar(255),
+        sourcedObj_type varchar(255),
+        sourcedObj_id integer not null,
+        createdby_id integer,
+        updatedby_id integer,
+        citation_id integer,
+        primary key (id)
+    );
+
+    create table OriginalSource_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        citationmicroreference varchar(255),
+        originalnamestring varchar(255),
+        idinsource varchar(255),
+        idnamespace varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        citation_id integer,
+        primary key (id, REV)
+    );
+
+    create table OriginalSource_Annotation (
+        OriginalSource_id integer not null,
+        annotations_id integer not null,
+        primary key (OriginalSource_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table OriginalSource_Annotation_AUD (
+        REV integer not null,
+        OriginalSource_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, OriginalSource_id, annotations_id)
+    );
+
+    create table OriginalSource_Marker (
+        OriginalSource_id integer not null,
+        markers_id integer not null,
+        primary key (OriginalSource_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table OriginalSource_Marker_AUD (
+        REV integer not null,
+        OriginalSource_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, OriginalSource_id, markers_id)
+    );
+
+    create table PermissionGroup (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        name varchar(255),
+        createdby_id integer,
+        primary key (id),
+        unique (name)
+    );
+
+    create table PermissionGroup_GrantedAuthorityImpl (
+        PermissionGroup_id integer not null,
+        grantedauthorities_id integer not null,
+        primary key (PermissionGroup_id, grantedauthorities_id)
+    );
+
+    create table Person_Keyword (
+        person_fk integer not null,
+        keyword_fk integer not null,
+        primary key (person_fk, keyword_fk)
+    );
+
+    create table Person_Keyword_AUD (
+        REV integer not null,
+        person_fk integer not null,
+        keyword_fk integer not null,
+        revtype tinyint,
+        primary key (REV, person_fk, keyword_fk)
+    );
+
+    create table ReferenceBase (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        lsid_auth varchar(255),
+        lsid_authority varchar(255),
+        lsid_lsid varchar(255),
+        lsid_namespace varchar(255),
+        lsid_object varchar(255),
+        lsid_revision varchar(255),
+        protectedtitlecache bit not null,
+        titleCache varchar(255),
+        hasproblem bit not null,
+        nomenclaturallyrelevant bit not null,
+        problemends integer not null,
+        problemstarts integer not null,
+        uri varchar(255),
+        datepublished_end varchar(255),
+        datepublished_start varchar(255),
+        title varchar(255),
+        pages varchar(255),
+        series varchar(255),
+        volume varchar(255),
+        address varchar(255),
+        annote varchar(255),
+        booktitle varchar(255),
+        chapter varchar(255),
+        edition varchar(255),
+        editor varchar(255),
+        eprint varchar(255),
+        howpublished varchar(255),
+        institution varchar(255),
+        journal varchar(255),
+        month varchar(255),
+        note varchar(255),
+        number varchar(255),
+        organization varchar(255),
+        publisher varchar(255),
+        reporttype varchar(255),
+        school varchar(255),
+        year varchar(255),
+        placepublished varchar(255),
+        seriespart varchar(255),
+        isbn varchar(255),
+        issn varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        authorteam_id integer,
+        injournal_id integer,
+        crossref_id integer,
+        type_id integer,
+        inseries_id integer,
+        inbook_id integer,
+        inproceedings_id integer,
+        institution_id integer,
+        school_id integer,
+        primary key (id)
+    );
+
+    create table ReferenceBase_AUD (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        lsid_auth varchar(255),
+        lsid_authority varchar(255),
+        lsid_lsid varchar(255),
+        lsid_namespace varchar(255),
+        lsid_object varchar(255),
+        lsid_revision varchar(255),
+        protectedtitlecache bit,
+        titleCache varchar(255),
+        hasproblem bit,
+        nomenclaturallyrelevant bit,
+        problemends integer,
+        problemstarts integer,
+        uri varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        authorteam_id integer,
+        address varchar(255),
+        annote varchar(255),
+        booktitle varchar(255),
+        chapter varchar(255),
+        edition varchar(255),
+        editor varchar(255),
+        eprint varchar(255),
+        howpublished varchar(255),
+        institution varchar(255),
+        journal varchar(255),
+        month varchar(255),
+        note varchar(255),
+        number varchar(255),
+        organization varchar(255),
+        pages varchar(255),
+        publisher varchar(255),
+        reporttype varchar(255),
+        school varchar(255),
+        series varchar(255),
+        title varchar(255),
+        volume varchar(255),
+        year varchar(255),
+        crossref_id integer,
+        type_id integer,
+        datepublished_end varchar(255),
+        datepublished_start varchar(255),
+        inproceedings_id integer,
+        inbook_id integer,
+        placepublished varchar(255),
+        institution_id integer,
+        issn varchar(255),
+        seriespart varchar(255),
+        inseries_id integer,
+        isbn varchar(255),
+        school_id integer,
+        injournal_id integer,
+        primary key (id, REV)
+    );
+
+    create table ReferenceBase_Annotation (
+        ReferenceBase_id integer not null,
+        annotations_id integer not null,
+        primary key (ReferenceBase_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table ReferenceBase_Annotation_AUD (
+        REV integer not null,
+        ReferenceBase_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, ReferenceBase_id, annotations_id)
+    );
+
+    create table ReferenceBase_Extension (
+        ReferenceBase_id integer not null,
+        extensions_id integer not null,
+        primary key (ReferenceBase_id, extensions_id),
+        unique (extensions_id)
+    );
+
+    create table ReferenceBase_Extension_AUD (
+        REV integer not null,
+        ReferenceBase_id integer not null,
+        extensions_id integer not null,
+        revtype tinyint,
+        primary key (REV, ReferenceBase_id, extensions_id)
+    );
+
+    create table ReferenceBase_Marker (
+        ReferenceBase_id integer not null,
+        markers_id integer not null,
+        primary key (ReferenceBase_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table ReferenceBase_Marker_AUD (
+        REV integer not null,
+        ReferenceBase_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, ReferenceBase_id, markers_id)
+    );
+
+    create table ReferenceBase_Media (
+        ReferenceBase_id integer not null,
+        media_id integer not null,
+        primary key (ReferenceBase_id, media_id),
+        unique (media_id)
+    );
+
+    create table ReferenceBase_Media_AUD (
+        REV integer not null,
+        ReferenceBase_id integer not null,
+        media_id integer not null,
+        revtype tinyint,
+        primary key (REV, ReferenceBase_id, media_id)
+    );
+
+    create table ReferenceBase_OriginalSource (
+        ReferenceBase_id integer not null,
+        sources_id integer not null,
+        primary key (ReferenceBase_id, sources_id),
+        unique (sources_id)
+    );
+
+    create table ReferenceBase_OriginalSource_AUD (
+        REV integer not null,
+        ReferenceBase_id integer not null,
+        sources_id integer not null,
+        revtype tinyint,
+        primary key (REV, ReferenceBase_id, sources_id)
+    );
+
+    create table ReferenceBase_Rights (
+        ReferenceBase_id integer not null,
+        rights_id integer not null,
+        primary key (ReferenceBase_id, rights_id),
+        unique (rights_id)
+    );
+
+    create table ReferenceBase_Rights_AUD (
+        REV integer not null,
+        ReferenceBase_id integer not null,
+        rights_id integer not null,
+        revtype tinyint,
+        primary key (REV, ReferenceBase_id, rights_id)
+    );
+
+    create table RelationshipTermBase_inverseRepresentation (
+        DefinedTermBase_id integer not null,
+        inverserepresentations_id integer not null,
+        primary key (DefinedTermBase_id, inverserepresentations_id),
+        unique (inverserepresentations_id)
+    );
+
+    create table RelationshipTermBase_inverseRepresentation_AUD (
+        REV integer not null,
+        DefinedTermBase_id integer not null,
+        inverserepresentations_id integer not null,
+        revtype tinyint,
+        primary key (REV, DefinedTermBase_id, inverserepresentations_id)
+    );
+
+    create table Representation (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        text longvarchar,
+        abbreviatedlabel varchar(255),
+        label varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        language_id integer,
+        primary key (id)
+    );
+
+    create table Representation_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        text longvarchar,
+        abbreviatedlabel varchar(255),
+        label varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        language_id integer,
+        primary key (id, REV)
+    );
+
+    create table Representation_Annotation (
+        Representation_id integer not null,
+        annotations_id integer not null,
+        primary key (Representation_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table Representation_Annotation_AUD (
+        REV integer not null,
+        Representation_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, Representation_id, annotations_id)
+    );
+
+    create table Representation_Marker (
+        Representation_id integer not null,
+        markers_id integer not null,
+        primary key (Representation_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table Representation_Marker_AUD (
+        REV integer not null,
+        Representation_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, Representation_id, markers_id)
+    );
+
+    create table Rights (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        text longvarchar,
+        abbreviatedtext varchar(255),
+        uri varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        language_id integer,
+        agent_id integer,
+        type_id integer,
+        primary key (id)
+    );
+
+    create table Rights_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        text longvarchar,
+        abbreviatedtext varchar(255),
+        uri varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        language_id integer,
+        agent_id integer,
+        type_id integer,
+        primary key (id, REV)
+    );
+
+    create table Rights_Annotation (
+        Rights_id integer not null,
+        annotations_id integer not null,
+        primary key (Rights_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table Rights_Annotation_AUD (
+        REV integer not null,
+        Rights_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, Rights_id, annotations_id)
+    );
+
+    create table Rights_Marker (
+        Rights_id integer not null,
+        markers_id integer not null,
+        primary key (Rights_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table Rights_Marker_AUD (
+        REV integer not null,
+        Rights_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, Rights_id, markers_id)
+    );
+
+    create table Sequence (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        lsid_auth varchar(255),
+        lsid_authority varchar(255),
+        lsid_lsid varchar(255),
+        lsid_namespace varchar(255),
+        lsid_object varchar(255),
+        lsid_revision varchar(255),
+        protectedtitlecache bit not null,
+        titleCache varchar(255),
+        barcode bit not null,
+        citationmicroreference varchar(255),
+        datesequenced date,
+        length integer,
+        sequence varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        locus_id integer,
+        publishedin_id integer,
+        primary key (id)
+    );
+
+    create table Sequence_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        lsid_auth varchar(255),
+        lsid_authority varchar(255),
+        lsid_lsid varchar(255),
+        lsid_namespace varchar(255),
+        lsid_object varchar(255),
+        lsid_revision varchar(255),
+        protectedtitlecache bit,
+        titleCache varchar(255),
+        barcode bit,
+        citationmicroreference varchar(255),
+        datesequenced date,
+        length integer,
+        sequence varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        locus_id integer,
+        publishedin_id integer,
+        primary key (id, REV)
+    );
+
+    create table Sequence_Annotation (
+        Sequence_id integer not null,
+        annotations_id integer not null,
+        primary key (Sequence_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table Sequence_Annotation_AUD (
+        REV integer not null,
+        Sequence_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, Sequence_id, annotations_id)
+    );
+
+    create table Sequence_Extension (
+        Sequence_id integer not null,
+        extensions_id integer not null,
+        primary key (Sequence_id, extensions_id),
+        unique (extensions_id)
+    );
+
+    create table Sequence_Extension_AUD (
+        REV integer not null,
+        Sequence_id integer not null,
+        extensions_id integer not null,
+        revtype tinyint,
+        primary key (REV, Sequence_id, extensions_id)
+    );
+
+    create table Sequence_GenBankAccession (
+        Sequence_id integer not null,
+        genbankaccession_id integer not null,
+        primary key (Sequence_id, genbankaccession_id),
+        unique (genbankaccession_id)
+    );
+
+    create table Sequence_GenBankAccession_AUD (
+        REV integer not null,
+        Sequence_id integer not null,
+        genbankaccession_id integer not null,
+        revtype tinyint,
+        primary key (REV, Sequence_id, genbankaccession_id)
+    );
+
+    create table Sequence_Marker (
+        Sequence_id integer not null,
+        markers_id integer not null,
+        primary key (Sequence_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table Sequence_Marker_AUD (
+        REV integer not null,
+        Sequence_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, Sequence_id, markers_id)
+    );
+
+    create table Sequence_Media (
+        Sequence_id integer not null,
+        chromatograms_id integer not null,
+        primary key (Sequence_id, chromatograms_id),
+        unique (chromatograms_id)
+    );
+
+    create table Sequence_Media_AUD (
+        REV integer not null,
+        Sequence_id integer not null,
+        chromatograms_id integer not null,
+        revtype tinyint,
+        primary key (REV, Sequence_id, chromatograms_id)
+    );
+
+    create table Sequence_OriginalSource (
+        Sequence_id integer not null,
+        sources_id integer not null,
+        primary key (Sequence_id, sources_id),
+        unique (sources_id)
+    );
+
+    create table Sequence_OriginalSource_AUD (
+        REV integer not null,
+        Sequence_id integer not null,
+        sources_id integer not null,
+        revtype tinyint,
+        primary key (REV, Sequence_id, sources_id)
+    );
+
+    create table Sequence_ReferenceBase (
+        Sequence_id integer not null,
+        citations_id integer not null,
+        primary key (Sequence_id, citations_id),
+        unique (citations_id)
+    );
+
+    create table Sequence_ReferenceBase_AUD (
+        REV integer not null,
+        Sequence_id integer not null,
+        citations_id integer not null,
+        revtype tinyint,
+        primary key (REV, Sequence_id, citations_id)
+    );
+
+    create table Sequence_Rights (
+        Sequence_id integer not null,
+        rights_id integer not null,
+        primary key (Sequence_id, rights_id),
+        unique (rights_id)
+    );
+
+    create table Sequence_Rights_AUD (
+        REV integer not null,
+        Sequence_id integer not null,
+        rights_id integer not null,
+        revtype tinyint,
+        primary key (REV, Sequence_id, rights_id)
+    );
+
+    create table SpecimenOrObservationBase (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        lsid_auth varchar(255),
+        lsid_authority varchar(255),
+        lsid_lsid varchar(255),
+        lsid_namespace varchar(255),
+        lsid_object varchar(255),
+        lsid_revision varchar(255),
+        protectedtitlecache bit not null,
+        titleCache varchar(255),
+        individualcount integer,
+        accessionnumber varchar(255),
+        catalognumber varchar(255),
+        collectorsnumber varchar(255),
+        fieldnotes varchar(255),
+        fieldnumber varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        lifestage_id integer,
+        sex_id integer,
+        collection_id integer,
+        derivationevent_id integer,
+        storedunder_id integer,
+        preservation_id integer,
+        primary key (id)
+    );
+
+    create table SpecimenOrObservationBase_AUD (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        lsid_auth varchar(255),
+        lsid_authority varchar(255),
+        lsid_lsid varchar(255),
+        lsid_namespace varchar(255),
+        lsid_object varchar(255),
+        lsid_revision varchar(255),
+        protectedtitlecache bit,
+        titleCache varchar(255),
+        individualcount integer,
+        createdby_id integer,
+        updatedby_id integer,
+        lifestage_id integer,
+        sex_id integer,
+        accessionnumber varchar(255),
+        catalognumber varchar(255),
+        collectorsnumber varchar(255),
+        collection_id integer,
+        derivationevent_id integer,
+        storedunder_id integer,
+        preservation_id integer,
+        fieldnotes varchar(255),
+        fieldnumber varchar(255),
+        primary key (id, REV)
+    );
+
+    create table SpecimenOrObservationBase_Annotation (
+        SpecimenOrObservationBase_id integer not null,
+        annotations_id integer not null,
+        primary key (SpecimenOrObservationBase_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table SpecimenOrObservationBase_Annotation_AUD (
+        REV integer not null,
+        SpecimenOrObservationBase_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, SpecimenOrObservationBase_id, annotations_id)
+    );
+
+    create table SpecimenOrObservationBase_DerivationEvent (
+        originals_id integer not null,
+        derivationevents_id integer not null,
+        primary key (originals_id, derivationevents_id)
+    );
+
+    create table SpecimenOrObservationBase_DerivationEvent_AUD (
+        REV integer not null,
+        originals_id integer not null,
+        derivationevents_id integer not null,
+        revtype tinyint,
+        primary key (REV, originals_id, derivationevents_id)
+    );
+
+    create table SpecimenOrObservationBase_Extension (
+        SpecimenOrObservationBase_id integer not null,
+        extensions_id integer not null,
+        primary key (SpecimenOrObservationBase_id, extensions_id),
+        unique (extensions_id)
+    );
+
+    create table SpecimenOrObservationBase_Extension_AUD (
+        REV integer not null,
+        SpecimenOrObservationBase_id integer not null,
+        extensions_id integer not null,
+        revtype tinyint,
+        primary key (REV, SpecimenOrObservationBase_id, extensions_id)
+    );
+
+    create table SpecimenOrObservationBase_LanguageString (
+        SpecimenOrObservationBase_id integer not null,
+        description_id integer not null,
+        description_mapkey_id integer not null,
+        primary key (SpecimenOrObservationBase_id, description_mapkey_id),
+        unique (description_id)
+    );
+
+    create table SpecimenOrObservationBase_LanguageString_AUD (
+        REV integer not null,
+        SpecimenOrObservationBase_id integer not null,
+        description_id integer not null,
+        description_mapkey_id integer not null,
+        revtype tinyint,
+        primary key (REV, SpecimenOrObservationBase_id, description_id, description_mapkey_id)
+    );
+
+    create table SpecimenOrObservationBase_Marker (
+        SpecimenOrObservationBase_id integer not null,
+        markers_id integer not null,
+        primary key (SpecimenOrObservationBase_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table SpecimenOrObservationBase_Marker_AUD (
+        REV integer not null,
+        SpecimenOrObservationBase_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, SpecimenOrObservationBase_id, markers_id)
+    );
+
+    create table SpecimenOrObservationBase_Media (
+        SpecimenOrObservationBase_id integer not null,
+        media_id integer not null,
+        primary key (SpecimenOrObservationBase_id, media_id),
+        unique (media_id)
+    );
+
+    create table SpecimenOrObservationBase_Media_AUD (
+        REV integer not null,
+        SpecimenOrObservationBase_id integer not null,
+        media_id integer not null,
+        revtype tinyint,
+        primary key (REV, SpecimenOrObservationBase_id, media_id)
+    );
+
+    create table SpecimenOrObservationBase_OriginalSource (
+        SpecimenOrObservationBase_id integer not null,
+        sources_id integer not null,
+        primary key (SpecimenOrObservationBase_id, sources_id),
+        unique (sources_id)
+    );
+
+    create table SpecimenOrObservationBase_OriginalSource_AUD (
+        REV integer not null,
+        SpecimenOrObservationBase_id integer not null,
+        sources_id integer not null,
+        revtype tinyint,
+        primary key (REV, SpecimenOrObservationBase_id, sources_id)
+    );
+
+    create table SpecimenOrObservationBase_Rights (
+        SpecimenOrObservationBase_id integer not null,
+        rights_id integer not null,
+        primary key (SpecimenOrObservationBase_id, rights_id),
+        unique (rights_id)
+    );
+
+    create table SpecimenOrObservationBase_Rights_AUD (
+        REV integer not null,
+        SpecimenOrObservationBase_id integer not null,
+        rights_id integer not null,
+        revtype tinyint,
+        primary key (REV, SpecimenOrObservationBase_id, rights_id)
+    );
+
+    create table SpecimenOrObservationBase_Sequence (
+        SpecimenOrObservationBase_id integer not null,
+        sequences_id integer not null,
+        primary key (SpecimenOrObservationBase_id, sequences_id),
+        unique (sequences_id)
+    );
+
+    create table SpecimenOrObservationBase_Sequence_AUD (
+        REV integer not null,
+        SpecimenOrObservationBase_id integer not null,
+        sequences_id integer not null,
+        revtype tinyint,
+        primary key (REV, SpecimenOrObservationBase_id, sequences_id)
+    );
+
+    create table StateData (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        createdby_id integer,
+        updatedby_id integer,
+        state_id integer,
+        primary key (id)
+    );
+
+    create table StateData_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        createdby_id integer,
+        updatedby_id integer,
+        state_id integer,
+        primary key (id, REV)
+    );
+
+    create table StateData_DefinedTermBase (
+        StateData_id integer not null,
+        modifiers_id integer not null,
+        primary key (StateData_id, modifiers_id),
+        unique (modifiers_id)
+    );
+
+    create table StateData_DefinedTermBase_AUD (
+        REV integer not null,
+        StateData_id integer not null,
+        modifiers_id integer not null,
+        revtype tinyint,
+        primary key (REV, StateData_id, modifiers_id)
+    );
+
+    create table StateData_LanguageString (
+        StateData_id integer not null,
+        modifyingtext_id integer not null,
+        modifyingtext_mapkey_id integer not null,
+        primary key (StateData_id, modifyingtext_mapkey_id),
+        unique (modifyingtext_id)
+    );
+
+    create table StateData_LanguageString_AUD (
+        REV integer not null,
+        StateData_id integer not null,
+        modifyingtext_id integer not null,
+        modifyingtext_mapkey_id integer not null,
+        revtype tinyint,
+        primary key (REV, StateData_id, modifyingtext_id, modifyingtext_mapkey_id)
+    );
+
+    create table StatisticalMeasurementValue (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        value float not null,
+        createdby_id integer,
+        updatedby_id integer,
+        type_id integer,
+        primary key (id)
+    );
+
+    create table StatisticalMeasurementValue_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        value float,
+        createdby_id integer,
+        updatedby_id integer,
+        type_id integer,
+        primary key (id, REV)
+    );
+
+    create table StatisticalMeasurementValue_DefinedTermBase (
+        StatisticalMeasurementValue_id integer not null,
+        modifiers_id integer not null,
+        primary key (StatisticalMeasurementValue_id, modifiers_id),
+        unique (modifiers_id)
+    );
+
+    create table StatisticalMeasurementValue_DefinedTermBase_AUD (
+        REV integer not null,
+        StatisticalMeasurementValue_id integer not null,
+        modifiers_id integer not null,
+        revtype tinyint,
+        primary key (REV, StatisticalMeasurementValue_id, modifiers_id)
+    );
+
+    create table SynonymRelationship (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        citationmicroreference varchar(255),
+        originalnamestring varchar(255),
+        doubtful bit not null,
+        partial bit not null,
+        proparte bit not null,
+        createdby_id integer,
+        updatedby_id integer,
+        citation_id integer,
+        relatedfrom_id integer,
+        relatedto_id integer,
+        type_id integer,
+        primary key (id)
+    );
+
+    create table SynonymRelationship_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        citationmicroreference varchar(255),
+        originalnamestring varchar(255),
+        doubtful bit,
+        partial bit,
+        proparte bit,
+        createdby_id integer,
+        updatedby_id integer,
+        citation_id integer,
+        relatedfrom_id integer,
+        relatedto_id integer,
+        type_id integer,
+        primary key (id, REV)
+    );
+
+    create table SynonymRelationship_Annotation (
+        SynonymRelationship_id integer not null,
+        annotations_id integer not null,
+        primary key (SynonymRelationship_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table SynonymRelationship_Annotation_AUD (
+        REV integer not null,
+        SynonymRelationship_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, SynonymRelationship_id, annotations_id)
+    );
+
+    create table SynonymRelationship_Marker (
+        SynonymRelationship_id integer not null,
+        markers_id integer not null,
+        primary key (SynonymRelationship_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table SynonymRelationship_Marker_AUD (
+        REV integer not null,
+        SynonymRelationship_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, SynonymRelationship_id, markers_id)
+    );
+
+    create table TaxonBase (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        lsid_auth varchar(255),
+        lsid_authority varchar(255),
+        lsid_lsid varchar(255),
+        lsid_namespace varchar(255),
+        lsid_object varchar(255),
+        lsid_revision varchar(255),
+        protectedtitlecache bit not null,
+        titleCache varchar(255),
+        doubtful bit not null,
+        taxonomicchildrencount integer,
+        createdby_id integer,
+        updatedby_id integer,
+        taxonName_fk integer,
+        sec_id integer,
+        taxonomicparentcache_id integer,
+        primary key (id)
+    );
+
+    create table TaxonBase_AUD (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        lsid_auth varchar(255),
+        lsid_authority varchar(255),
+        lsid_lsid varchar(255),
+        lsid_namespace varchar(255),
+        lsid_object varchar(255),
+        lsid_revision varchar(255),
+        protectedtitlecache bit,
+        titleCache varchar(255),
+        doubtful bit,
+        createdby_id integer,
+        updatedby_id integer,
+        taxonName_fk integer,
+        sec_id integer,
+        taxonomicchildrencount integer,
+        taxonomicparentcache_id integer,
+        primary key (id, REV)
+    );
+
+    create table TaxonBase_Annotation (
+        TaxonBase_id integer not null,
+        annotations_id integer not null,
+        primary key (TaxonBase_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table TaxonBase_Annotation_AUD (
+        REV integer not null,
+        TaxonBase_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, TaxonBase_id, annotations_id)
+    );
+
+    create table TaxonBase_Extension (
+        TaxonBase_id integer not null,
+        extensions_id integer not null,
+        primary key (TaxonBase_id, extensions_id),
+        unique (extensions_id)
+    );
+
+    create table TaxonBase_Extension_AUD (
+        REV integer not null,
+        TaxonBase_id integer not null,
+        extensions_id integer not null,
+        revtype tinyint,
+        primary key (REV, TaxonBase_id, extensions_id)
+    );
+
+    create table TaxonBase_Marker (
+        TaxonBase_id integer not null,
+        markers_id integer not null,
+        primary key (TaxonBase_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table TaxonBase_Marker_AUD (
+        REV integer not null,
+        TaxonBase_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, TaxonBase_id, markers_id)
+    );
+
+    create table TaxonBase_OriginalSource (
+        TaxonBase_id integer not null,
+        sources_id integer not null,
+        primary key (TaxonBase_id, sources_id),
+        unique (sources_id)
+    );
+
+    create table TaxonBase_OriginalSource_AUD (
+        REV integer not null,
+        TaxonBase_id integer not null,
+        sources_id integer not null,
+        revtype tinyint,
+        primary key (REV, TaxonBase_id, sources_id)
+    );
+
+    create table TaxonBase_Rights (
+        TaxonBase_id integer not null,
+        rights_id integer not null,
+        primary key (TaxonBase_id, rights_id),
+        unique (rights_id)
+    );
+
+    create table TaxonBase_Rights_AUD (
+        REV integer not null,
+        TaxonBase_id integer not null,
+        rights_id integer not null,
+        revtype tinyint,
+        primary key (REV, TaxonBase_id, rights_id)
+    );
+
+    create table TaxonInteraction_LanguageString (
+        DescriptionElementBase_id integer not null,
+        description_id integer not null,
+        description_mapkey_id integer not null,
+        primary key (DescriptionElementBase_id, description_mapkey_id),
+        unique (description_id)
+    );
+
+    create table TaxonInteraction_LanguageString_AUD (
+        REV integer not null,
+        DescriptionElementBase_id integer not null,
+        description_id integer not null,
+        description_mapkey_id integer not null,
+        revtype tinyint,
+        primary key (REV, DescriptionElementBase_id, description_id, description_mapkey_id)
+    );
+
+    create table TaxonNameBase (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        lsid_auth varchar(255),
+        lsid_authority varchar(255),
+        lsid_lsid varchar(255),
+        lsid_namespace varchar(255),
+        lsid_object varchar(255),
+        lsid_revision varchar(255),
+        protectedtitlecache bit not null,
+        titleCache varchar(255),
+        appendedphrase varchar(255),
+        fullTitleCache varchar(330),
+        hasproblem bit not null,
+        nomenclaturalmicroreference varchar(255),
+        problemends integer not null,
+        problemstarts integer not null,
+        protectedfulltitlecache bit not null,
+        authorshipcache varchar(255),
+        genusoruninomial varchar(255),
+        infragenericepithet varchar(255),
+        infraspecificepithet varchar(255),
+        namecache varchar(255),
+        protectedauthorshipcache bit,
+        protectednamecache bit,
+        specificepithet varchar(255),
+        nameapprobation varchar(255),
+        subgenusauthorship varchar(255),
+        anamorphic bit,
+        binomhybrid bit,
+        hybridformula bit,
+        monomhybrid bit,
+        trinomhybrid bit,
+        cultivarname varchar(255),
+        acronym varchar(255),
+        breed varchar(255),
+        originalpublicationyear integer,
+        publicationyear integer,
+        createdby_id integer,
+        updatedby_id integer,
+        homotypicalgroup_id integer,
+        nomenclaturalreference_id integer,
+        rank_id integer,
+        basionymauthorteam_id integer,
+        combinationauthorteam_id integer,
+        exbasionymauthorteam_id integer,
+        excombinationauthorteam_id integer,
+        primary key (id)
+    );
+
+    create table TaxonNameBase_AUD (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        lsid_auth varchar(255),
+        lsid_authority varchar(255),
+        lsid_lsid varchar(255),
+        lsid_namespace varchar(255),
+        lsid_object varchar(255),
+        lsid_revision varchar(255),
+        protectedtitlecache bit,
+        titleCache varchar(255),
+        appendedphrase varchar(255),
+        fullTitleCache varchar(330),
+        hasproblem bit,
+        nomenclaturalmicroreference varchar(255),
+        problemends integer,
+        problemstarts integer,
+        protectedfulltitlecache bit,
+        createdby_id integer,
+        updatedby_id integer,
+        homotypicalgroup_id integer,
+        nomenclaturalreference_id integer,
+        rank_id integer,
+        acronym varchar(255),
+        authorshipcache varchar(255),
+        genusoruninomial varchar(255),
+        infragenericepithet varchar(255),
+        infraspecificepithet varchar(255),
+        namecache varchar(255),
+        protectedauthorshipcache bit,
+        protectednamecache bit,
+        specificepithet varchar(255),
+        basionymauthorteam_id integer,
+        combinationauthorteam_id integer,
+        exbasionymauthorteam_id integer,
+        excombinationauthorteam_id integer,
+        breed varchar(255),
+        originalpublicationyear integer,
+        publicationyear integer,
+        anamorphic bit,
+        binomhybrid bit,
+        hybridformula bit,
+        monomhybrid bit,
+        trinomhybrid bit,
+        nameapprobation varchar(255),
+        subgenusauthorship varchar(255),
+        cultivarname varchar(255),
+        primary key (id, REV)
+    );
+
+    create table TaxonNameBase_Annotation (
+        TaxonNameBase_id integer not null,
+        annotations_id integer not null,
+        primary key (TaxonNameBase_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table TaxonNameBase_Annotation_AUD (
+        REV integer not null,
+        TaxonNameBase_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, TaxonNameBase_id, annotations_id)
+    );
+
+    create table TaxonNameBase_Extension (
+        TaxonNameBase_id integer not null,
+        extensions_id integer not null,
+        primary key (TaxonNameBase_id, extensions_id),
+        unique (extensions_id)
+    );
+
+    create table TaxonNameBase_Extension_AUD (
+        REV integer not null,
+        TaxonNameBase_id integer not null,
+        extensions_id integer not null,
+        revtype tinyint,
+        primary key (REV, TaxonNameBase_id, extensions_id)
+    );
+
+    create table TaxonNameBase_HybridRelationship (
+        TaxonNameBase_id integer not null,
+        hybridrelationships_id integer not null,
+        primary key (TaxonNameBase_id, hybridrelationships_id),
+        unique (hybridrelationships_id)
+    );
+
+    create table TaxonNameBase_HybridRelationship_AUD (
+        REV integer not null,
+        TaxonNameBase_id integer not null,
+        hybridrelationships_id integer not null,
+        revtype tinyint,
+        primary key (REV, TaxonNameBase_id, hybridrelationships_id)
+    );
+
+    create table TaxonNameBase_Marker (
+        TaxonNameBase_id integer not null,
+        markers_id integer not null,
+        primary key (TaxonNameBase_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table TaxonNameBase_Marker_AUD (
+        REV integer not null,
+        TaxonNameBase_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, TaxonNameBase_id, markers_id)
+    );
+
+    create table TaxonNameBase_NomenclaturalStatus (
+        TaxonNameBase_id integer not null,
+        status_id integer not null,
+        primary key (TaxonNameBase_id, status_id),
+        unique (status_id)
+    );
+
+    create table TaxonNameBase_NomenclaturalStatus_AUD (
+        REV integer not null,
+        TaxonNameBase_id integer not null,
+        status_id integer not null,
+        revtype tinyint,
+        primary key (REV, TaxonNameBase_id, status_id)
+    );
+
+    create table TaxonNameBase_OriginalSource (
+        TaxonNameBase_id integer not null,
+        sources_id integer not null,
+        primary key (TaxonNameBase_id, sources_id),
+        unique (sources_id)
+    );
+
+    create table TaxonNameBase_OriginalSource_AUD (
+        REV integer not null,
+        TaxonNameBase_id integer not null,
+        sources_id integer not null,
+        revtype tinyint,
+        primary key (REV, TaxonNameBase_id, sources_id)
+    );
+
+    create table TaxonNameBase_Rights (
+        TaxonNameBase_id integer not null,
+        rights_id integer not null,
+        primary key (TaxonNameBase_id, rights_id),
+        unique (rights_id)
+    );
+
+    create table TaxonNameBase_Rights_AUD (
+        REV integer not null,
+        TaxonNameBase_id integer not null,
+        rights_id integer not null,
+        revtype tinyint,
+        primary key (REV, TaxonNameBase_id, rights_id)
+    );
+
+    create table TaxonNameBase_TypeDesignationBase (
+        TaxonNameBase_id integer not null,
+        typedesignations_id integer not null,
+        primary key (TaxonNameBase_id, typedesignations_id)
+    );
+
+    create table TaxonNameBase_TypeDesignationBase_AUD (
+        REV integer not null,
+        TaxonNameBase_id integer not null,
+        typedesignations_id integer not null,
+        revtype tinyint,
+        primary key (REV, TaxonNameBase_id, typedesignations_id)
+    );
+
+    create table TaxonRelationship (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        citationmicroreference varchar(255),
+        originalnamestring varchar(255),
+        doubtful bit not null,
+        createdby_id integer,
+        updatedby_id integer,
+        citation_id integer,
+        relatedfrom_id integer,
+        relatedto_id integer,
+        type_id integer,
+        primary key (id)
+    );
+
+    create table TaxonRelationship_AUD (
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        citationmicroreference varchar(255),
+        originalnamestring varchar(255),
+        doubtful bit,
+        createdby_id integer,
+        updatedby_id integer,
+        citation_id integer,
+        relatedfrom_id integer,
+        relatedto_id integer,
+        type_id integer,
+        primary key (id, REV)
+    );
+
+    create table TaxonRelationship_Annotation (
+        TaxonRelationship_id integer not null,
+        annotations_id integer not null,
+        primary key (TaxonRelationship_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table TaxonRelationship_Annotation_AUD (
+        REV integer not null,
+        TaxonRelationship_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, TaxonRelationship_id, annotations_id)
+    );
+
+    create table TaxonRelationship_Marker (
+        TaxonRelationship_id integer not null,
+        markers_id integer not null,
+        primary key (TaxonRelationship_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table TaxonRelationship_Marker_AUD (
+        REV integer not null,
+        TaxonRelationship_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, TaxonRelationship_id, markers_id)
+    );
+
+    create table TermVocabulary (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        uri varchar(255),
+        termsourceuri varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        primary key (id)
+    );
+
+    create table TermVocabulary_AUD (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        uri varchar(255),
+        termsourceuri varchar(255),
+        createdby_id integer,
+        updatedby_id integer,
+        primary key (id, REV)
+    );
+
+    create table TermVocabulary_Representation (
+        TermVocabulary_id integer not null,
+        representations_id integer not null,
+        primary key (TermVocabulary_id, representations_id),
+        unique (representations_id)
+    );
+
+    create table TermVocabulary_Representation_AUD (
+        REV integer not null,
+        TermVocabulary_id integer not null,
+        representations_id integer not null,
+        revtype tinyint,
+        primary key (REV, TermVocabulary_id, representations_id)
+    );
+
+    create table TypeDesignationBase (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        citationmicroreference varchar(255),
+        originalnamestring varchar(255),
+        notdesignated bit not null,
+        conservedtype bit,
+        lectotype bit,
+        rejectedtype bit,
+        createdby_id integer,
+        updatedby_id integer,
+        citation_id integer,
+        homotypicalgroup_id integer,
+        typename_id integer,
+        typespecimen_id integer,
+        typestatus_id integer,
+        primary key (id)
+    );
+
+    create table TypeDesignationBase_AUD (
+        DTYPE varchar(31) not null,
+        id integer not null,
+        REV integer not null,
+        revtype tinyint,
+        created timestamp,
+        uuid varchar(255),
+        updated timestamp,
+        citationmicroreference varchar(255),
+        originalnamestring varchar(255),
+        notdesignated bit,
+        createdby_id integer,
+        updatedby_id integer,
+        citation_id integer,
+        homotypicalgroup_id integer,
+        conservedtype bit,
+        lectotype bit,
+        rejectedtype bit,
+        typename_id integer,
+        typespecimen_id integer,
+        typestatus_id integer,
+        primary key (id, REV)
+    );
+
+    create table TypeDesignationBase_Annotation (
+        TypeDesignationBase_id integer not null,
+        annotations_id integer not null,
+        primary key (TypeDesignationBase_id, annotations_id),
+        unique (annotations_id)
+    );
+
+    create table TypeDesignationBase_Annotation_AUD (
+        REV integer not null,
+        TypeDesignationBase_id integer not null,
+        annotations_id integer not null,
+        revtype tinyint,
+        primary key (REV, TypeDesignationBase_id, annotations_id)
+    );
+
+    create table TypeDesignationBase_Marker (
+        TypeDesignationBase_id integer not null,
+        markers_id integer not null,
+        primary key (TypeDesignationBase_id, markers_id),
+        unique (markers_id)
+    );
+
+    create table TypeDesignationBase_Marker_AUD (
+        REV integer not null,
+        TypeDesignationBase_id integer not null,
+        markers_id integer not null,
+        revtype tinyint,
+        primary key (REV, TypeDesignationBase_id, markers_id)
+    );
+
+    create table TypeDesignationBase_TaxonNameBase (
+        TypeDesignationBase_id integer not null,
+        typifiednames_id integer not null,
+        primary key (TypeDesignationBase_id, typifiednames_id)
+    );
+
+    create table TypeDesignationBase_TaxonNameBase_AUD (
+        REV integer not null,
+        TypeDesignationBase_id integer not null,
+        typifiednames_id integer not null,
+        revtype tinyint,
+        primary key (REV, TypeDesignationBase_id, typifiednames_id)
+    );
+
+    create table User (
+        id integer not null,
+        created timestamp,
+        uuid varchar(255),
+        accountnonexpired bit not null,
+        accountnonlocked bit not null,
+        credentialsnonexpired bit not null,
+        emailaddress varchar(255),
+        enabled bit not null,
+        password varchar(255),
+        username varchar(255),
+        createdby_id integer,
+        primary key (id),
+        unique (username)
+    );
+
+    create table User_GrantedAuthorityImpl (
+        User_id integer not null,
+        grantedauthorities_id integer not null,
+        primary key (User_id, grantedauthorities_id)
+    );
+
+    create table User_PermissionGroup (
+        members_id integer not null,
+        groups_id integer not null,
+        primary key (members_id, groups_id)
+    );
+
+    alter table Address 
+        add constraint FK1ED033D4132A2FE8 
+        foreign key (location_referencesystem_id) 
+        references DefinedTermBase;
+
+    alter table Address 
+        add constraint FK1ED033D4EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table Address 
+        add constraint FK1ED033D42687715A 
+        foreign key (country_id) 
+        references DefinedTermBase;
+
+    alter table Address 
+        add constraint FK1ED033D45BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table Address_AUD 
+        add constraint FK115657A534869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    create index agentTitleCacheIndex on AgentBase (titleCache);
+
+    alter table AgentBase 
+        add constraint FK1205D356EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table AgentBase 
+        add constraint FK1205D356A830578 
+        foreign key (ispartof_id) 
+        references AgentBase;
+
+    alter table AgentBase 
+        add constraint FK1205D3565BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table AgentBase_AUD 
+        add constraint FK29CC662734869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table AgentBase_Address 
+        add constraint FK1EDFF7EB50751EC5 
+        foreign key (contact_addresses_id) 
+        references Address;
+
+    alter table AgentBase_Address 
+        add constraint FK1EDFF7EB86EFC5D4 
+        foreign key (AgentBase_id) 
+        references AgentBase;
+
+    alter table AgentBase_Address_AUD 
+        add constraint FK3D28383C34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table AgentBase_AgentBase 
+        add constraint FK4D34EDAD1C0E9907 
+        foreign key (AgentBase_id) 
+        references AgentBase;
+
+    alter table AgentBase_AgentBase 
+        add constraint FK4D34EDADE9E535F9 
+        foreign key (teammembers_id) 
+        references AgentBase;
+
+    alter table AgentBase_AgentBase_AUD 
+        add constraint FKA8A87CFE34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table AgentBase_Annotation 
+        add constraint FK44D5F7D886EFC5D4 
+        foreign key (AgentBase_id) 
+        references AgentBase;
+
+    alter table AgentBase_Annotation 
+        add constraint FK44D5F7D81E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table AgentBase_Annotation_AUD 
+        add constraint FK771279A934869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table AgentBase_DefinedTermBase 
+        add constraint FK6665C77D9A161BED 
+        foreign key (types_id) 
+        references DefinedTermBase;
+
+    alter table AgentBase_DefinedTermBase 
+        add constraint FK6665C77D8D9AB196 
+        foreign key (AgentBase_id) 
+        references AgentBase;
+
+    alter table AgentBase_DefinedTermBase_AUD 
+        add constraint FKA737EECE34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table AgentBase_Extension 
+        add constraint FK8E1E5676927DE9DF 
+        foreign key (extensions_id) 
+        references Extension;
+
+    alter table AgentBase_Extension 
+        add constraint FK8E1E567686EFC5D4 
+        foreign key (AgentBase_id) 
+        references AgentBase;
+
+    alter table AgentBase_Extension_AUD 
+        add constraint FK11AE594734869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table AgentBase_Marker 
+        add constraint FK365D5D6386EFC5D4 
+        foreign key (AgentBase_id) 
+        references AgentBase;
+
+    alter table AgentBase_Marker 
+        add constraint FK365D5D63777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table AgentBase_Marker_AUD 
+        add constraint FKE40621B434869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table AgentBase_Media 
+        add constraint FKE8FC5D9BC2C29593 
+        foreign key (media_id) 
+        references Media;
+
+    alter table AgentBase_Media 
+        add constraint FKE8FC5D9B86EFC5D4 
+        foreign key (AgentBase_id) 
+        references AgentBase;
+
+    alter table AgentBase_Media_AUD 
+        add constraint FK323A45EC34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table AgentBase_OriginalSource 
+        add constraint FK7F410D753BAB2414 
+        foreign key (sources_id) 
+        references OriginalSource;
+
+    alter table AgentBase_OriginalSource 
+        add constraint FK7F410D7586EFC5D4 
+        foreign key (AgentBase_id) 
+        references AgentBase;
+
+    alter table AgentBase_OriginalSource_AUD 
+        add constraint FKB48F78C634869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table AgentBase_Rights 
+        add constraint FK3F514B0086EFC5D4 
+        foreign key (AgentBase_id) 
+        references AgentBase;
+
+    alter table AgentBase_Rights 
+        add constraint FK3F514B00C13F7B21 
+        foreign key (rights_id) 
+        references Rights;
+
+    alter table AgentBase_Rights_AUD 
+        add constraint FK4FDFF8D134869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table AgentBase_contact_emailaddresses 
+        add constraint FK4BD2B08E86EFC5D4 
+        foreign key (AgentBase_id) 
+        references AgentBase;
+
+    alter table AgentBase_contact_emailaddresses_AUD 
+        add constraint FKCAF7E75F34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table AgentBase_contact_faxnumbers 
+        add constraint FK52E1AD9586EFC5D4 
+        foreign key (AgentBase_id) 
+        references AgentBase;
+
+    alter table AgentBase_contact_faxnumbers_AUD 
+        add constraint FK88A308E634869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table AgentBase_contact_phonenumbers 
+        add constraint FKC171CC2486EFC5D4 
+        foreign key (AgentBase_id) 
+        references AgentBase;
+
+    alter table AgentBase_contact_phonenumbers_AUD 
+        add constraint FKDDD347F534869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table AgentBase_contact_urls 
+        add constraint FK9A9643EC86EFC5D4 
+        foreign key (AgentBase_id) 
+        references AgentBase;
+
+    alter table AgentBase_contact_urls_AUD 
+        add constraint FK1CE69BBD34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Annotation 
+        add constraint FK1A21C74FDF299D00 
+        foreign key (annotationtype_id) 
+        references DefinedTermBase;
+
+    alter table Annotation 
+        add constraint FK1A21C74FEF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table Annotation 
+        add constraint FK1A21C74FE7692740 
+        foreign key (commentator_id) 
+        references AgentBase;
+
+    alter table Annotation 
+        add constraint FK1A21C74F5BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table Annotation 
+        add constraint FK1A21C74FE8D36B00 
+        foreign key (language_id) 
+        references DefinedTermBase;
+
+    alter table Annotation_AUD 
+        add constraint FK1A6BB5A034869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Annotation_Annotation 
+        add constraint FKC99DFE3F994CCE20 
+        foreign key (Annotation_id) 
+        references Annotation;
+
+    alter table Annotation_Annotation 
+        add constraint FKC99DFE3F1E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table Annotation_Annotation_AUD 
+        add constraint FKB212F49034869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Annotation_Marker 
+        add constraint FKB17EAF4A994CCE20 
+        foreign key (Annotation_id) 
+        references Annotation;
+
+    alter table Annotation_Marker 
+        add constraint FKB17EAF4A777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table Annotation_Marker_AUD 
+        add constraint FK68CE281B34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table CDM_VIEW 
+        add constraint FKC5DE8EF8765B124B 
+        foreign key (reference_id) 
+        references ReferenceBase;
+
+    alter table CDM_VIEW 
+        add constraint FKC5DE8EF8EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table CDM_VIEW_CDM_VIEW 
+        add constraint FK230A885F7208BB38 
+        foreign key (superviews_id) 
+        references CDM_VIEW;
+
+    alter table CDM_VIEW_CDM_VIEW 
+        add constraint FK230A885FC00D1213 
+        foreign key (CDM_VIEW_id) 
+        references CDM_VIEW;
+
+    create index collectionTitleCacheIndex on Collection (titleCache);
+
+    alter table Collection 
+        add constraint FKF078ABECEB38EFF 
+        foreign key (supercollection_id) 
+        references Collection;
+
+    alter table Collection 
+        add constraint FKF078ABEEF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table Collection 
+        add constraint FKF078ABE16B9CA77 
+        foreign key (institute_id) 
+        references AgentBase;
+
+    alter table Collection 
+        add constraint FKF078ABE5BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table Collection_AUD 
+        add constraint FKD6D4298F34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Collection_Annotation 
+        add constraint FKEA970F70EB62BE9A 
+        foreign key (Collection_id) 
+        references Collection;
+
+    alter table Collection_Annotation 
+        add constraint FKEA970F701E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table Collection_Annotation_AUD 
+        add constraint FKA0CE054134869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Collection_Extension 
+        add constraint FKF68FEBDE927DE9DF 
+        foreign key (extensions_id) 
+        references Extension;
+
+    alter table Collection_Extension 
+        add constraint FKF68FEBDEEB62BE9A 
+        foreign key (Collection_id) 
+        references Collection;
+
+    alter table Collection_Extension_AUD 
+        add constraint FK1306FAAF34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Collection_Marker 
+        add constraint FKF0CA00FBEB62BE9A 
+        foreign key (Collection_id) 
+        references Collection;
+
+    alter table Collection_Marker 
+        add constraint FKF0CA00FB777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table Collection_Marker_AUD 
+        add constraint FK89C7394C34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Collection_Media 
+        add constraint FK7320E703EB62BE9A 
+        foreign key (Collection_id) 
+        references Collection;
+
+    alter table Collection_Media 
+        add constraint FK7320E703C2C29593 
+        foreign key (media_id) 
+        references Media;
+
+    alter table Collection_Media_AUD 
+        add constraint FK9AABDB5434869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Collection_OriginalSource 
+        add constraint FKA8FC990DEB62BE9A 
+        foreign key (Collection_id) 
+        references Collection;
+
+    alter table Collection_OriginalSource 
+        add constraint FKA8FC990D3BAB2414 
+        foreign key (sources_id) 
+        references OriginalSource;
+
+    alter table Collection_OriginalSource_AUD 
+        add constraint FK37EB785E34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Collection_Rights 
+        add constraint FKF9BDEE98EB62BE9A 
+        foreign key (Collection_id) 
+        references Collection;
+
+    alter table Collection_Rights 
+        add constraint FKF9BDEE98C13F7B21 
+        foreign key (rights_id) 
+        references Rights;
+
+    alter table Collection_Rights_AUD 
+        add constraint FKF5A1106934869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DefinedTermBase 
+        add constraint FK2E340A6636C6F6F6 
+        foreign key (pointapproximation_referencesystem_id) 
+        references DefinedTermBase;
+
+    alter table DefinedTermBase 
+        add constraint FK2E340A66EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table DefinedTermBase 
+        add constraint FK2E340A6688206484 
+        foreign key (type_id) 
+        references DefinedTermBase;
+
+    alter table DefinedTermBase 
+        add constraint FK2E340A6647AF954C 
+        foreign key (vocabulary_id) 
+        references TermVocabulary;
+
+    alter table DefinedTermBase 
+        add constraint FK2E340A663B0DA0EF 
+        foreign key (kindof_id) 
+        references DefinedTermBase;
+
+    alter table DefinedTermBase 
+        add constraint FK2E340A6624AF3F70 
+        foreign key (level_id) 
+        references DefinedTermBase;
+
+    alter table DefinedTermBase 
+        add constraint FK2E340A665BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table DefinedTermBase 
+        add constraint FK2E340A66CC0240B6 
+        foreign key (shape_id) 
+        references Media;
+
+    alter table DefinedTermBase 
+        add constraint FK2E340A66D040DBF0 
+        foreign key (partof_id) 
+        references DefinedTermBase;
+
+    alter table DefinedTermBase_AUD 
+        add constraint FK86E8953734869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DefinedTermBase_Continent 
+        add constraint FK45F60AFBE8CE10AA 
+        foreign key (DefinedTermBase_id) 
+        references DefinedTermBase;
+
+    alter table DefinedTermBase_Continent 
+        add constraint FK45F60AFB3927C853 
+        foreign key (continents_id) 
+        references DefinedTermBase;
+
+    alter table DefinedTermBase_Continent_AUD 
+        add constraint FKF5DE434C34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DefinedTermBase_Media 
+        add constraint FK6FC908ABC0DB4934 
+        foreign key (DefinedTermBase_id) 
+        references DefinedTermBase;
+
+    alter table DefinedTermBase_Media 
+        add constraint FK6FC908ABC2C29593 
+        foreign key (media_id) 
+        references Media;
+
+    alter table DefinedTermBase_Media_AUD 
+        add constraint FKDD9AE8FC34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DefinedTermBase_RecommendedModifierEnumeration 
+        add constraint FKA72FB5AED0BDAE9B 
+        foreign key (DefinedTermBase_id) 
+        references DefinedTermBase;
+
+    alter table DefinedTermBase_RecommendedModifierEnumeration 
+        add constraint FKA72FB5AE5255EAFD 
+        foreign key (recommendedmodifierenumeration_id) 
+        references TermVocabulary;
+
+    alter table DefinedTermBase_RecommendedModifierEnumeration_AUD 
+        add constraint FK780D5C7F34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DefinedTermBase_Representation 
+        add constraint FKAAC8AFE6C0DB4934 
+        foreign key (DefinedTermBase_id) 
+        references DefinedTermBase;
+
+    alter table DefinedTermBase_Representation 
+        add constraint FKAAC8AFE6B31C4747 
+        foreign key (representations_id) 
+        references Representation;
+
+    alter table DefinedTermBase_Representation_AUD 
+        add constraint FKB5AE7AB734869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DefinedTermBase_StatisticalMeasure 
+        add constraint FK6FF15DFCD0BDAE9B 
+        foreign key (DefinedTermBase_id) 
+        references DefinedTermBase;
+
+    alter table DefinedTermBase_StatisticalMeasure 
+        add constraint FK6FF15DFCC9CD5B57 
+        foreign key (recommendedstatisticalmeasures_id) 
+        references DefinedTermBase;
+
+    alter table DefinedTermBase_StatisticalMeasure_AUD 
+        add constraint FK3C062DCD34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DefinedTermBase_SupportedCategoricalEnumeration 
+        add constraint FK2170B25CD0BDAE9B 
+        foreign key (DefinedTermBase_id) 
+        references DefinedTermBase;
+
+    alter table DefinedTermBase_SupportedCategoricalEnumeration 
+        add constraint FK2170B25C5AF2C74 
+        foreign key (supportedcategoricalenumerations_id) 
+        references TermVocabulary;
+
+    alter table DefinedTermBase_SupportedCategoricalEnumeration_AUD 
+        add constraint FKBB04522D34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DefinedTermBase_WaterbodyOrCountry 
+        add constraint FKCAF4393CE5C0F9E 
+        foreign key (DefinedTermBase_id) 
+        references DefinedTermBase;
+
+    alter table DefinedTermBase_WaterbodyOrCountry 
+        add constraint FKCAF43931603B036 
+        foreign key (waterbodiesorcountries_id) 
+        references DefinedTermBase;
+
+    alter table DefinedTermBase_WaterbodyOrCountry_AUD 
+        add constraint FKD5996FE434869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DerivationEvent 
+        add constraint FK426BC03F55AFD89 
+        foreign key (exactlocation_referencesystem_id) 
+        references DefinedTermBase;
+
+    alter table DerivationEvent 
+        add constraint FK426BC038B455EC6 
+        foreign key (locality_id) 
+        references LanguageString;
+
+    alter table DerivationEvent 
+        add constraint FK426BC03EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table DerivationEvent 
+        add constraint FK426BC038524B89D 
+        foreign key (type_id) 
+        references DefinedTermBase;
+
+    alter table DerivationEvent 
+        add constraint FK426BC035BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table DerivationEvent 
+        add constraint FK426BC033DA462D5 
+        foreign key (actor_id) 
+        references AgentBase;
+
+    alter table DerivationEvent_AUD 
+        add constraint FKDABF305434869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DerivationEvent_Annotation 
+        add constraint FKEFA0D10B4AAB411A 
+        foreign key (DerivationEvent_id) 
+        references DerivationEvent;
+
+    alter table DerivationEvent_Annotation 
+        add constraint FKEFA0D10B1E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table DerivationEvent_Annotation_AUD 
+        add constraint FKA197815C34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DerivationEvent_DefinedTermBase 
+        add constraint FK8C81B62AF0EA970A 
+        foreign key (DerivationEvent_id) 
+        references DerivationEvent;
+
+    alter table DerivationEvent_DefinedTermBase 
+        add constraint FK8C81B62A7C34B6D6 
+        foreign key (collectingareas_id) 
+        references DefinedTermBase;
+
+    alter table DerivationEvent_DefinedTermBase_AUD 
+        add constraint FK6B32BEFB34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DerivationEvent_Marker 
+        add constraint FKE412C8164AAB411A 
+        foreign key (DerivationEvent_id) 
+        references DerivationEvent;
+
+    alter table DerivationEvent_Marker 
+        add constraint FKE412C816777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table DerivationEvent_Marker_AUD 
+        add constraint FK8ED0FAE734869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DescriptionBase 
+        add constraint FKFF4D58CDEF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table DescriptionBase 
+        add constraint FKFF4D58CDDA93512F 
+        foreign key (taxonName_fk) 
+        references TaxonNameBase;
+
+    alter table DescriptionBase 
+        add constraint FKFF4D58CD5BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table DescriptionBase 
+        add constraint FKFF4D58CDDE9A3DE3 
+        foreign key (taxon_fk) 
+        references TaxonBase;
+
+    alter table DescriptionBase_AUD 
+        add constraint FK7456581E34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DescriptionBase_Annotation 
+        add constraint FKF3AD3201F1DDBFAB 
+        foreign key (DescriptionBase_id) 
+        references DescriptionBase;
+
+    alter table DescriptionBase_Annotation 
+        add constraint FKF3AD32011E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table DescriptionBase_Annotation_AUD 
+        add constraint FK15FE775234869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DescriptionBase_Extension 
+        add constraint FKD5D2B32DF1DDBFAB 
+        foreign key (DescriptionBase_id) 
+        references DescriptionBase;
+
+    alter table DescriptionBase_Extension 
+        add constraint FKD5D2B32D927DE9DF 
+        foreign key (extensions_id) 
+        references Extension;
+
+    alter table DescriptionBase_Extension_AUD 
+        add constraint FK79E7827E34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DescriptionBase_GeoScope 
+        add constraint FK3ADD7CD5D86445CE 
+        foreign key (DescriptionBase_id) 
+        references DescriptionBase;
+
+    alter table DescriptionBase_GeoScope 
+        add constraint FK3ADD7CD586D04E74 
+        foreign key (geoscopes_id) 
+        references DefinedTermBase;
+
+    alter table DescriptionBase_GeoScope_AUD 
+        add constraint FK63A5382634869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DescriptionBase_Marker 
+        add constraint FK6132140CF1DDBFAB 
+        foreign key (DescriptionBase_id) 
+        references DescriptionBase;
+
+    alter table DescriptionBase_Marker 
+        add constraint FK6132140C777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table DescriptionBase_Marker_AUD 
+        add constraint FK92DD5BDD34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DescriptionBase_OriginalSource 
+        add constraint FK1E2D0B1EF1DDBFAB 
+        foreign key (DescriptionBase_id) 
+        references DescriptionBase;
+
+    alter table DescriptionBase_OriginalSource 
+        add constraint FK1E2D0B1E3BAB2414 
+        foreign key (sources_id) 
+        references OriginalSource;
+
+    alter table DescriptionBase_OriginalSource_AUD 
+        add constraint FKDC8279EF34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DescriptionBase_ReferenceBase 
+        add constraint FK76188CAAF1DDBFAB 
+        foreign key (DescriptionBase_id) 
+        references DescriptionBase;
+
+    alter table DescriptionBase_ReferenceBase 
+        add constraint FK76188CAA45AB7BBA 
+        foreign key (descriptionsources_id) 
+        references ReferenceBase;
+
+    alter table DescriptionBase_ReferenceBase_AUD 
+        add constraint FK687A557B34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DescriptionBase_Rights 
+        add constraint FK6A2601A9F1DDBFAB 
+        foreign key (DescriptionBase_id) 
+        references DescriptionBase;
+
+    alter table DescriptionBase_Rights 
+        add constraint FK6A2601A9C13F7B21 
+        foreign key (rights_id) 
+        references Rights;
+
+    alter table DescriptionBase_Rights_AUD 
+        add constraint FKFEB732FA34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DescriptionBase_Scope 
+        add constraint FKB9257C42D86445CE 
+        foreign key (DescriptionBase_id) 
+        references DescriptionBase;
+
+    alter table DescriptionBase_Scope 
+        add constraint FKB9257C42951A5D40 
+        foreign key (scopes_id) 
+        references DefinedTermBase;
+
+    alter table DescriptionBase_Scope_AUD 
+        add constraint FK75D5B91334869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DescriptionBase_SpecimenOrObservationBase 
+        add constraint FKDE29CD8033B8A841 
+        foreign key (descriptions_id) 
+        references DescriptionBase;
+
+    alter table DescriptionBase_SpecimenOrObservationBase 
+        add constraint FKDE29CD805C9E3461 
+        foreign key (describedspecimenorobservations_id) 
+        references SpecimenOrObservationBase;
+
+    alter table DescriptionBase_SpecimenOrObservationBase_AUD 
+        add constraint FKF1B33B5134869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DescriptionElementBase 
+        add constraint FK38FE767134AF0E81 
+        foreign key (indescription_id) 
+        references DescriptionBase;
+
+    alter table DescriptionElementBase 
+        add constraint FK38FE76716561D9B1 
+        foreign key (associatedspecimenorobservation_id) 
+        references SpecimenOrObservationBase;
+
+    alter table DescriptionElementBase 
+        add constraint FK38FE7671EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table DescriptionElementBase 
+        add constraint FK38FE767110A80E07 
+        foreign key (unit_id) 
+        references DefinedTermBase;
+
+    alter table DescriptionElementBase 
+        add constraint FK38FE76716D0D7A56 
+        foreign key (format_id) 
+        references DefinedTermBase;
+
+    alter table DescriptionElementBase 
+        add constraint FK38FE76715E9914B8 
+        foreign key (status_id) 
+        references DefinedTermBase;
+
+    alter table DescriptionElementBase 
+        add constraint FK38FE76714220AFEB 
+        foreign key (feature_id) 
+        references DefinedTermBase;
+
+    alter table DescriptionElementBase 
+        add constraint FK38FE76719803512F 
+        foreign key (citation_id) 
+        references ReferenceBase;
+
+    alter table DescriptionElementBase 
+        add constraint FK38FE76715BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table DescriptionElementBase 
+        add constraint FK38FE76719108D9B 
+        foreign key (taxon2_id) 
+        references TaxonBase;
+
+    alter table DescriptionElementBase 
+        add constraint FK38FE76711C3C3FF7 
+        foreign key (area_id) 
+        references DefinedTermBase;
+
+    alter table DescriptionElementBase 
+        add constraint FK38FE7671E8D36B00 
+        foreign key (language_id) 
+        references DefinedTermBase;
+
+    alter table DescriptionElementBase_AUD 
+        add constraint FKF3803C234869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DescriptionElementBase_Annotation 
+        add constraint FK7EE5E5DD3B8BB609 
+        foreign key (DescriptionElementBase_id) 
+        references DescriptionElementBase;
+
+    alter table DescriptionElementBase_Annotation 
+        add constraint FK7EE5E5DD1E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table DescriptionElementBase_Annotation_AUD 
+        add constraint FK2BC1DD2E34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DescriptionElementBase_LanguageString 
+        add constraint FKC753F137ACF5F60B 
+        foreign key (multilanguagetext_id) 
+        references LanguageString;
+
+    alter table DescriptionElementBase_LanguageString 
+        add constraint FKC753F137C086B46F 
+        foreign key (DescriptionElementBase_id) 
+        references DescriptionElementBase;
+
+    alter table DescriptionElementBase_LanguageString_AUD 
+        add constraint FK2D26AB8834869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DescriptionElementBase_Marker 
+        add constraint FK1CB715E83B8BB609 
+        foreign key (DescriptionElementBase_id) 
+        references DescriptionElementBase;
+
+    alter table DescriptionElementBase_Marker 
+        add constraint FK1CB715E8777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table DescriptionElementBase_Marker_AUD 
+        add constraint FK1E160FB934869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DescriptionElementBase_Media 
+        add constraint FK21F70076C2C29593 
+        foreign key (media_id) 
+        references Media;
+
+    alter table DescriptionElementBase_Media 
+        add constraint FK21F700763B8BB609 
+        foreign key (DescriptionElementBase_id) 
+        references DescriptionElementBase;
+
+    alter table DescriptionElementBase_Media_AUD 
+        add constraint FK5522034734869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DescriptionElementBase_Modifier 
+        add constraint FK97E0D105E0960EC4 
+        foreign key (modifiers_id) 
+        references DefinedTermBase;
+
+    alter table DescriptionElementBase_Modifier 
+        add constraint FK97E0D1053B8BB609 
+        foreign key (DescriptionElementBase_id) 
+        references DescriptionElementBase;
+
+    alter table DescriptionElementBase_Modifier_AUD 
+        add constraint FK2982F45634869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DescriptionElementBase_ModifyingText 
+        add constraint FK522D90C7F05D08D4 
+        foreign key (modifyingtext_id) 
+        references LanguageString;
+
+    alter table DescriptionElementBase_ModifyingText 
+        add constraint FK522D90C73B8BB609 
+        foreign key (DescriptionElementBase_id) 
+        references DescriptionElementBase;
+
+    alter table DescriptionElementBase_ModifyingText 
+        add constraint FK522D90C79682414B 
+        foreign key (modifyingtext_mapkey_id) 
+        references DefinedTermBase;
+
+    alter table DescriptionElementBase_ModifyingText_AUD 
+        add constraint FK6C06031834869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DescriptionElementBase_StateData 
+        add constraint FK592D6F6D987CC6A4 
+        foreign key (DescriptionElementBase_id) 
+        references DescriptionElementBase;
+
+    alter table DescriptionElementBase_StateData 
+        add constraint FK592D6F6D15153604 
+        foreign key (states_id) 
+        references StateData;
+
+    alter table DescriptionElementBase_StateData_AUD 
+        add constraint FK1D0A1EBE34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DescriptionElementBase_StatisticalMeasurementValue 
+        add constraint FK8AF511C2D883945E 
+        foreign key (statisticalvalues_id) 
+        references StatisticalMeasurementValue;
+
+    alter table DescriptionElementBase_StatisticalMeasurementValue 
+        add constraint FK8AF511C28F213219 
+        foreign key (DescriptionElementBase_id) 
+        references DescriptionElementBase;
+
+    alter table DescriptionElementBase_StatisticalMeasurementValue_AUD 
+        add constraint FK2DE8E9334869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DeterminationEvent 
+        add constraint FK1DB2497EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table DeterminationEvent 
+        add constraint FK1DB2497378D1BD 
+        foreign key (modifier_id) 
+        references DefinedTermBase;
+
+    alter table DeterminationEvent 
+        add constraint FK1DB2497DE9A3E39 
+        foreign key (taxon_id) 
+        references TaxonBase;
+
+    alter table DeterminationEvent 
+        add constraint FK1DB24974B251DAD 
+        foreign key (identifiedunit_id) 
+        references SpecimenOrObservationBase;
+
+    alter table DeterminationEvent 
+        add constraint FK1DB24975BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table DeterminationEvent 
+        add constraint FK1DB24973DA462D5 
+        foreign key (actor_id) 
+        references AgentBase;
+
+    alter table DeterminationEvent_AUD 
+        add constraint FKA0252EE834869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DeterminationEvent_Annotation 
+        add constraint FKB74F03F76BE0BFDA 
+        foreign key (DeterminationEvent_id) 
+        references DeterminationEvent;
+
+    alter table DeterminationEvent_Annotation 
+        add constraint FKB74F03F71E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table DeterminationEvent_Annotation_AUD 
+        add constraint FKAFDA5E4834869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DeterminationEvent_Marker 
+        add constraint FK5C475102777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table DeterminationEvent_Marker 
+        add constraint FK5C4751026BE0BFDA 
+        foreign key (DeterminationEvent_id) 
+        references DeterminationEvent;
+
+    alter table DeterminationEvent_Marker_AUD 
+        add constraint FK567F2DD334869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table DeterminationEvent_ReferenceBase 
+        add constraint FK6248EEF43EF09CD5 
+        foreign key (setofreferences_id) 
+        references ReferenceBase;
+
+    alter table DeterminationEvent_ReferenceBase 
+        add constraint FK6248EEF46BE0BFDA 
+        foreign key (DeterminationEvent_id) 
+        references DeterminationEvent;
+
+    alter table DeterminationEvent_ReferenceBase_AUD 
+        add constraint FK25BC82C534869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Extension 
+        add constraint FK52EF3C1FEF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table Extension 
+        add constraint FK52EF3C1FAD392BD3 
+        foreign key (type_id) 
+        references DefinedTermBase;
+
+    alter table Extension 
+        add constraint FK52EF3C1F5BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table Extension_AUD 
+        add constraint FK92D2427034869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table FeatureNode 
+        add constraint FK4CEED9F8E0AD2C03 
+        foreign key (parent_fk) 
+        references FeatureNode;
+
+    alter table FeatureNode 
+        add constraint FK4CEED9F8EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table FeatureNode 
+        add constraint FK4CEED9F84220AFEB 
+        foreign key (feature_id) 
+        references DefinedTermBase;
+
+    alter table FeatureNode 
+        add constraint FK4CEED9F85BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table FeatureNode_AUD 
+        add constraint FK25AD4BC934869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table FeatureTree 
+        add constraint FK4CF19F94EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table FeatureTree 
+        add constraint FK4CF19F94B7892921 
+        foreign key (root_id) 
+        references FeatureNode;
+
+    alter table FeatureTree 
+        add constraint FK4CF19F945BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table FeatureTree_AUD 
+        add constraint FK355BE36534869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table FeatureTree_Representation 
+        add constraint FK8C458F847C496CB 
+        foreign key (FeatureTree_id) 
+        references FeatureTree;
+
+    alter table FeatureTree_Representation 
+        add constraint FK8C458F8B31C4747 
+        foreign key (representations_id) 
+        references Representation;
+
+    alter table FeatureTree_Representation_AUD 
+        add constraint FKECAB4AC934869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table GenBankAccession 
+        add constraint FK86C1DBF8EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table GenBankAccession 
+        add constraint FK86C1DBF85BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table GenBankAccession_AUD 
+        add constraint FK5A2F4DC934869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table GrantedAuthorityImpl 
+        add constraint FKB05CF928EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table HomotypicalGroup 
+        add constraint FK7DECCC18EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table HomotypicalGroup 
+        add constraint FK7DECCC185BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table HomotypicalGroup_AUD 
+        add constraint FKE4252DE934869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table HomotypicalGroup_Annotation 
+        add constraint FK7A0351D6BFEAE500 
+        foreign key (HomotypicalGroup_id) 
+        references HomotypicalGroup;
+
+    alter table HomotypicalGroup_Annotation 
+        add constraint FK7A0351D61E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table HomotypicalGroup_Annotation_AUD 
+        add constraint FK41E6A4A734869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table HomotypicalGroup_Marker 
+        add constraint FK97D36661BFEAE500 
+        foreign key (HomotypicalGroup_id) 
+        references HomotypicalGroup;
+
+    alter table HomotypicalGroup_Marker 
+        add constraint FK97D36661777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table HomotypicalGroup_Marker_AUD 
+        add constraint FK19337BB234869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table HybridRelationship 
+        add constraint FK9033CE745831BDC3 
+        foreign key (relatedfrom_id) 
+        references TaxonNameBase;
+
+    alter table HybridRelationship 
+        add constraint FK9033CE7469ABE292 
+        foreign key (relatedto_id) 
+        references TaxonNameBase;
+
+    alter table HybridRelationship 
+        add constraint FK9033CE74EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table HybridRelationship 
+        add constraint FK9033CE7455F241D4 
+        foreign key (type_id) 
+        references DefinedTermBase;
+
+    alter table HybridRelationship 
+        add constraint FK9033CE749803512F 
+        foreign key (citation_id) 
+        references ReferenceBase;
+
+    alter table HybridRelationship 
+        add constraint FK9033CE745BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table HybridRelationship_AUD 
+        add constraint FK9C2BA24534869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table HybridRelationship_Annotation 
+        add constraint FK2C7E7DFA59832240 
+        foreign key (HybridRelationship_id) 
+        references HybridRelationship;
+
+    alter table HybridRelationship_Annotation 
+        add constraint FK2C7E7DFA1E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table HybridRelationship_Annotation_AUD 
+        add constraint FKACE71ECB34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table HybridRelationship_Marker 
+        add constraint FKCEF2448559832240 
+        foreign key (HybridRelationship_id) 
+        references HybridRelationship;
+
+    alter table HybridRelationship_Marker 
+        add constraint FKCEF24485777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table HybridRelationship_Marker_AUD 
+        add constraint FKCBAEA7D634869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table IdentificationKey_Taxon 
+        add constraint FKD847ADDC996CD055 
+        foreign key (identificationKey_fk) 
+        references Media;
+
+    alter table IdentificationKey_Taxon 
+        add constraint FKD847ADDCDE9A3DE3 
+        foreign key (taxon_fk) 
+        references TaxonBase;
+
+    alter table IdentificationKey_Taxon_AUD 
+        add constraint FKEEF18DAD34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table IndividualAssociation_LanguageString 
+        add constraint FKB5C75EC02BEBA58D 
+        foreign key (description_id) 
+        references LanguageString;
+
+    alter table IndividualAssociation_LanguageString 
+        add constraint FKB5C75EC084FF3EDF 
+        foreign key (DescriptionElementBase_id) 
+        references DescriptionElementBase;
+
+    alter table IndividualAssociation_LanguageString 
+        add constraint FKB5C75EC028459272 
+        foreign key (description_mapkey_id) 
+        references DefinedTermBase;
+
+    alter table IndividualAssociation_LanguageString_AUD 
+        add constraint FKB1A62C9134869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table InstitutionalMembership 
+        add constraint FK3C8E1FF9EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table InstitutionalMembership 
+        add constraint FK3C8E1FF9AAC1B820 
+        foreign key (person_id) 
+        references AgentBase;
+
+    alter table InstitutionalMembership 
+        add constraint FK3C8E1FF916B9CA77 
+        foreign key (institute_id) 
+        references AgentBase;
+
+    alter table InstitutionalMembership 
+        add constraint FK3C8E1FF95BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table InstitutionalMembership_AUD 
+        add constraint FK847A94A34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table LSIDAuthority 
+        add constraint FK759DB881EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table LSIDAuthority_namespaces 
+        add constraint FKB04948F64FFCFD94 
+        foreign key (LSIDAuthority_id) 
+        references LSIDAuthority;
+
+    alter table LanguageString 
+        add constraint FKB5FDC9A9EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table LanguageString 
+        add constraint FKB5FDC9A95BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table LanguageString 
+        add constraint FKB5FDC9A9E8D36B00 
+        foreign key (language_id) 
+        references DefinedTermBase;
+
+    alter table LanguageString_AUD 
+        add constraint FK896AFAFA34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table LanguageString_Annotation 
+        add constraint FK8400DFA51E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table LanguageString_Annotation 
+        add constraint FK8400DFA537998500 
+        foreign key (LanguageString_id) 
+        references LanguageString;
+
+    alter table LanguageString_Annotation_AUD 
+        add constraint FKD3BAB2F634869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table LanguageString_Marker 
+        add constraint FK8DA633B0777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table LanguageString_Marker 
+        add constraint FK8DA633B037998500 
+        foreign key (LanguageString_id) 
+        references LanguageString;
+
+    alter table LanguageString_Marker_AUD 
+        add constraint FK2331098134869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Locus 
+        add constraint FK462F1BEEF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table Locus 
+        add constraint FK462F1BE5BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table Locus_AUD 
+        add constraint FK5224108F34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Marker 
+        add constraint FK88F1805AEF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table Marker 
+        add constraint FK88F1805AD64DC020 
+        foreign key (markertype_id) 
+        references DefinedTermBase;
+
+    alter table Marker 
+        add constraint FK88F1805A5BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table Marker_AUD 
+        add constraint FKB951F12B34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Media 
+        add constraint FK46C7FC4EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table Media 
+        add constraint FK46C7FC4C2445443 
+        foreign key (artist_id) 
+        references AgentBase;
+
+    alter table Media 
+        add constraint FK46C7FC49803512F 
+        foreign key (citation_id) 
+        references ReferenceBase;
+
+    alter table Media 
+        add constraint FK46C7FC45BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table MediaRepresentation 
+        add constraint FK1966BDB1EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table MediaRepresentation 
+        add constraint FK1966BDB1C2C29593 
+        foreign key (media_id) 
+        references Media;
+
+    alter table MediaRepresentation 
+        add constraint FK1966BDB15BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table MediaRepresentationPart 
+        add constraint FK67A45544E3818E37 
+        foreign key (representation_id) 
+        references MediaRepresentation;
+
+    alter table MediaRepresentationPart 
+        add constraint FK67A45544EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table MediaRepresentationPart 
+        add constraint FK67A455445BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table MediaRepresentationPart_AUD 
+        add constraint FKA75C411534869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table MediaRepresentation_AUD 
+        add constraint FK67AAAB0234869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table MediaRepresentation_MediaRepresentationPart_AUD 
+        add constraint FK3544378734869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Media_AUD 
+        add constraint FKF70B2B9534869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Media_Annotation 
+        add constraint FKA020DAAAC2C29593 
+        foreign key (Media_id) 
+        references Media;
+
+    alter table Media_Annotation 
+        add constraint FKA020DAAA1E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table Media_Annotation_AUD 
+        add constraint FK99ABA37B34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Media_DefinedTermBase 
+        add constraint FK96F1D7EB8A6C9D18 
+        foreign key (Media_id) 
+        references Media;
+
+    alter table Media_DefinedTermBase 
+        add constraint FK96F1D7EB86D04E74 
+        foreign key (geoscopes_id) 
+        references DefinedTermBase;
+
+    alter table Media_DefinedTermBase_AUD 
+        add constraint FK994A183C34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Media_Description 
+        add constraint FK368283E1C2C29593 
+        foreign key (Media_id) 
+        references Media;
+
+    alter table Media_Description 
+        add constraint FK368283E12BEBA58D 
+        foreign key (description_id) 
+        references LanguageString;
+
+    alter table Media_Description 
+        add constraint FK368283E128459272 
+        foreign key (description_mapkey_id) 
+        references DefinedTermBase;
+
+    alter table Media_Description_AUD 
+        add constraint FK6817D93234869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Media_LanguageString 
+        add constraint FK353DB784A0A6EDCE 
+        foreign key (title_mapkey_id) 
+        references DefinedTermBase;
+
+    alter table Media_LanguageString 
+        add constraint FK353DB784C2C29593 
+        foreign key (Media_id) 
+        references Media;
+
+    alter table Media_LanguageString 
+        add constraint FK353DB784A1CA19B1 
+        foreign key (title_id) 
+        references LanguageString;
+
+    alter table Media_LanguageString_AUD 
+        add constraint FK68FA835534869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Media_Marker 
+        add constraint FKD21E7935C2C29593 
+        foreign key (Media_id) 
+        references Media;
+
+    alter table Media_Marker 
+        add constraint FKD21E7935777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table Media_Marker_AUD 
+        add constraint FK3F51048634869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Media_Rights 
+        add constraint FKDB1266D2C2C29593 
+        foreign key (Media_id) 
+        references Media;
+
+    alter table Media_Rights 
+        add constraint FKDB1266D2C13F7B21 
+        foreign key (rights_id) 
+        references Rights;
+
+    alter table Media_Rights_AUD 
+        add constraint FKAB2ADBA334869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Media_Sequence 
+        add constraint FK61D09FC3282B64 
+        foreign key (Media_id) 
+        references Media;
+
+    alter table Media_Sequence 
+        add constraint FK61D09FCF29B4761 
+        foreign key (usedsequences_id) 
+        references Sequence;
+
+    alter table Media_Sequence_AUD 
+        add constraint FK3C7BD9CD34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Media_TaxonBase 
+        add constraint FK1ABD49E07C3D0017 
+        foreign key (coveredtaxa_id) 
+        references TaxonBase;
+
+    alter table Media_TaxonBase 
+        add constraint FK1ABD49E08A6C9D18 
+        foreign key (Media_id) 
+        references Media;
+
+    alter table Media_TaxonBase_AUD 
+        add constraint FK857187B134869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table NameRelationship 
+        add constraint FK5E5108316CDFF85 
+        foreign key (relatedfrom_id) 
+        references TaxonNameBase;
+
+    alter table NameRelationship 
+        add constraint FK5E5108328482454 
+        foreign key (relatedto_id) 
+        references TaxonNameBase;
+
+    alter table NameRelationship 
+        add constraint FK5E51083EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table NameRelationship 
+        add constraint FK5E51083AF619DE3 
+        foreign key (type_id) 
+        references DefinedTermBase;
+
+    alter table NameRelationship 
+        add constraint FK5E510839803512F 
+        foreign key (citation_id) 
+        references ReferenceBase;
+
+    alter table NameRelationship 
+        add constraint FK5E510835BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table NameRelationship_AUD 
+        add constraint FK743F44D434869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table NameRelationship_Annotation 
+        add constraint FK2E38AC8B7B4CB560 
+        foreign key (NameRelationship_id) 
+        references NameRelationship;
+
+    alter table NameRelationship_Annotation 
+        add constraint FK2E38AC8B1E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table NameRelationship_Annotation_AUD 
+        add constraint FKD1D59CDC34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table NameRelationship_Marker 
+        add constraint FKE3E463967B4CB560 
+        foreign key (NameRelationship_id) 
+        references NameRelationship;
+
+    alter table NameRelationship_Marker 
+        add constraint FKE3E46396777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table NameRelationship_Marker_AUD 
+        add constraint FKCD68D66734869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table NomenclaturalStatus 
+        add constraint FK1FFEC88BEF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table NomenclaturalStatus 
+        add constraint FK1FFEC88B7029BD9F 
+        foreign key (type_id) 
+        references DefinedTermBase;
+
+    alter table NomenclaturalStatus 
+        add constraint FK1FFEC88B9803512F 
+        foreign key (citation_id) 
+        references ReferenceBase;
+
+    alter table NomenclaturalStatus 
+        add constraint FK1FFEC88B5BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table NomenclaturalStatus_AUD 
+        add constraint FKFB2DB8DC34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table NomenclaturalStatus_Annotation 
+        add constraint FKE6E91F838D2CB1D4 
+        foreign key (NomenclaturalStatus_id) 
+        references NomenclaturalStatus;
+
+    alter table NomenclaturalStatus_Annotation 
+        add constraint FKE6E91F831E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table NomenclaturalStatus_Annotation_AUD 
+        add constraint FK6A3D3D434869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table NomenclaturalStatus_Marker 
+        add constraint FK2F5128E8D2CB1D4 
+        foreign key (NomenclaturalStatus_id) 
+        references NomenclaturalStatus;
+
+    alter table NomenclaturalStatus_Marker 
+        add constraint FK2F5128E777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table NomenclaturalStatus_Marker_AUD 
+        add constraint FK8619495F34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table OriginalSource 
+        add constraint FK229A496CEF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table OriginalSource 
+        add constraint FK229A496C9803512F 
+        foreign key (citation_id) 
+        references ReferenceBase;
+
+    alter table OriginalSource 
+        add constraint FK229A496C5BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table OriginalSource_AUD 
+        add constraint FK506BE13D34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table OriginalSource_Annotation 
+        add constraint FK5B3FF802DC2DCA20 
+        foreign key (OriginalSource_id) 
+        references OriginalSource;
+
+    alter table OriginalSource_Annotation 
+        add constraint FK5B3FF8021E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table OriginalSource_Annotation_AUD 
+        add constraint FK4ACC54D334869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table OriginalSource_Marker 
+        add constraint FKCF52028DDC2DCA20 
+        foreign key (OriginalSource_id) 
+        references OriginalSource;
+
+    alter table OriginalSource_Marker 
+        add constraint FKCF52028D777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table OriginalSource_Marker_AUD 
+        add constraint FKFA7021DE34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table PermissionGroup 
+        add constraint FK629941D0EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table PermissionGroup_GrantedAuthorityImpl 
+        add constraint FK5311437CA0971A3 
+        foreign key (PermissionGroup_id) 
+        references PermissionGroup;
+
+    alter table PermissionGroup_GrantedAuthorityImpl 
+        add constraint FK53114371857F6C2 
+        foreign key (grantedauthorities_id) 
+        references GrantedAuthorityImpl;
+
+    alter table Person_Keyword 
+        add constraint FK5F559EFF13A443BE 
+        foreign key (keyword_fk) 
+        references DefinedTermBase;
+
+    alter table Person_Keyword 
+        add constraint FK5F559EFFAAC1B7CA 
+        foreign key (person_fk) 
+        references AgentBase;
+
+    alter table Person_Keyword_AUD 
+        add constraint FK6D8C355034869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    create index ReferenceBaseTitleCacheIndex on ReferenceBase (titleCache);
+
+    alter table ReferenceBase 
+        add constraint FK8F034C9C1A488155 
+        foreign key (inbook_id) 
+        references ReferenceBase;
+
+    alter table ReferenceBase 
+        add constraint FK8F034C9CEF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table ReferenceBase 
+        add constraint FK8F034C9C403E17F4 
+        foreign key (institution_id) 
+        references AgentBase;
+
+    alter table ReferenceBase 
+        add constraint FK8F034C9CCCE9AAE2 
+        foreign key (inseries_id) 
+        references ReferenceBase;
+
+    alter table ReferenceBase 
+        add constraint FK8F034C9CD893F6E6 
+        foreign key (crossref_id) 
+        references ReferenceBase;
+
+    alter table ReferenceBase 
+        add constraint FK8F034C9CAEC3B8B8 
+        foreign key (school_id) 
+        references AgentBase;
+
+    alter table ReferenceBase 
+        add constraint FK8F034C9CE3A02620 
+        foreign key (type_id) 
+        references DefinedTermBase;
+
+    alter table ReferenceBase 
+        add constraint FK8F034C9CE87E60BF 
+        foreign key (inproceedings_id) 
+        references ReferenceBase;
+
+    alter table ReferenceBase 
+        add constraint FK8F034C9CE019003F 
+        foreign key (injournal_id) 
+        references ReferenceBase;
+
+    alter table ReferenceBase 
+        add constraint FK8F034C9C697665E 
+        foreign key (authorteam_id) 
+        references AgentBase;
+
+    alter table ReferenceBase 
+        add constraint FK8F034C9C5BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table ReferenceBase_AUD 
+        add constraint FK8D3FCC6D34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table ReferenceBase_Annotation 
+        add constraint FKC97616D2F443DB5A 
+        foreign key (ReferenceBase_id) 
+        references ReferenceBase;
+
+    alter table ReferenceBase_Annotation 
+        add constraint FKC97616D21E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table ReferenceBase_Annotation_AUD 
+        add constraint FK60368BA334869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table ReferenceBase_Extension 
+        add constraint FK81E1703C927DE9DF 
+        foreign key (extensions_id) 
+        references Extension;
+
+    alter table ReferenceBase_Extension 
+        add constraint FK81E1703CF443DB5A 
+        foreign key (ReferenceBase_id) 
+        references ReferenceBase;
+
+    alter table ReferenceBase_Extension_AUD 
+        add constraint FKD723200D34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table ReferenceBase_Marker 
+        add constraint FK6888095DF443DB5A 
+        foreign key (ReferenceBase_id) 
+        references ReferenceBase;
+
+    alter table ReferenceBase_Marker 
+        add constraint FK6888095D777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table ReferenceBase_Marker_AUD 
+        add constraint FK68A640AE34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table ReferenceBase_Media 
+        add constraint FK3D2F4A61C2C29593 
+        foreign key (media_id) 
+        references Media;
+
+    alter table ReferenceBase_Media 
+        add constraint FK3D2F4A61F443DB5A 
+        foreign key (ReferenceBase_id) 
+        references ReferenceBase;
+
+    alter table ReferenceBase_Media_AUD 
+        add constraint FK25FD5FB234869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table ReferenceBase_OriginalSource 
+        add constraint FK68651F6F3BAB2414 
+        foreign key (sources_id) 
+        references OriginalSource;
+
+    alter table ReferenceBase_OriginalSource 
+        add constraint FK68651F6FF443DB5A 
+        foreign key (ReferenceBase_id) 
+        references ReferenceBase;
+
+    alter table ReferenceBase_OriginalSource_AUD 
+        add constraint FK6905FDC034869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table ReferenceBase_Rights 
+        add constraint FK717BF6FAF443DB5A 
+        foreign key (ReferenceBase_id) 
+        references ReferenceBase;
+
+    alter table ReferenceBase_Rights 
+        add constraint FK717BF6FAC13F7B21 
+        foreign key (rights_id) 
+        references Rights;
+
+    alter table ReferenceBase_Rights_AUD 
+        add constraint FKD48017CB34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table RelationshipTermBase_inverseRepresentation 
+        add constraint FK98592F33ECEEF4AF 
+        foreign key (DefinedTermBase_id) 
+        references DefinedTermBase;
+
+    alter table RelationshipTermBase_inverseRepresentation 
+        add constraint FK98592F33473FB677 
+        foreign key (inverserepresentations_id) 
+        references Representation;
+
+    alter table RelationshipTermBase_inverseRepresentation_AUD 
+        add constraint FK5D248B8434869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Representation 
+        add constraint FK9C4724EDEF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table Representation 
+        add constraint FK9C4724ED5BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table Representation 
+        add constraint FK9C4724EDE8D36B00 
+        foreign key (language_id) 
+        references DefinedTermBase;
+
+    alter table Representation_AUD 
+        add constraint FK294D143E34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Representation_Annotation 
+        add constraint FK371091E147E8AE60 
+        foreign key (Representation_id) 
+        references Representation;
+
+    alter table Representation_Annotation 
+        add constraint FK371091E11E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table Representation_Annotation_AUD 
+        add constraint FK36EEE73234869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Representation_Marker 
+        add constraint FK560063EC47E8AE60 
+        foreign key (Representation_id) 
+        references Representation;
+
+    alter table Representation_Marker 
+        add constraint FK560063EC777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table Representation_Marker_AUD 
+        add constraint FKD640BBBD34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Rights 
+        add constraint FK91E56DF7F7976FC5 
+        foreign key (agent_id) 
+        references AgentBase;
+
+    alter table Rights 
+        add constraint FK91E56DF7EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table Rights 
+        add constraint FK91E56DF7E6D2886A 
+        foreign key (type_id) 
+        references DefinedTermBase;
+
+    alter table Rights 
+        add constraint FK91E56DF75BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table Rights 
+        add constraint FK91E56DF7E8D36B00 
+        foreign key (language_id) 
+        references DefinedTermBase;
+
+    alter table Rights_AUD 
+        add constraint FK252BC84834869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Rights_Annotation 
+        add constraint FK27CB1E97C13F7B21 
+        foreign key (Rights_id) 
+        references Rights;
+
+    alter table Rights_Annotation 
+        add constraint FK27CB1E971E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table Rights_Annotation_AUD 
+        add constraint FKF98828E834869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Rights_Marker 
+        add constraint FKB739BBA2C13F7B21 
+        foreign key (Rights_id) 
+        references Rights;
+
+    alter table Rights_Marker 
+        add constraint FKB739BBA2777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table Rights_Marker_AUD 
+        add constraint FKC6FB487334869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    create index sequenceTitleCacheIndex on Sequence (titleCache);
+
+    alter table Sequence 
+        add constraint FK544ADBE1EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table Sequence 
+        add constraint FK544ADBE1B982A103 
+        foreign key (publishedin_id) 
+        references ReferenceBase;
+
+    alter table Sequence 
+        add constraint FK544ADBE12DBE1F1F 
+        foreign key (locus_id) 
+        references Locus;
+
+    alter table Sequence 
+        add constraint FK544ADBE15BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table Sequence_AUD 
+        add constraint FK39F4313234869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Sequence_Annotation 
+        add constraint FK1010BA6D1E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table Sequence_Annotation 
+        add constraint FK1010BA6DD57FFDD5 
+        foreign key (Sequence_id) 
+        references Sequence;
+
+    alter table Sequence_Annotation_AUD 
+        add constraint FKCB4FE9BE34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Sequence_Extension 
+        add constraint FK7BE66D41927DE9DF 
+        foreign key (extensions_id) 
+        references Extension;
+
+    alter table Sequence_Extension 
+        add constraint FK7BE66D41D57FFDD5 
+        foreign key (Sequence_id) 
+        references Sequence;
+
+    alter table Sequence_Extension_AUD 
+        add constraint FK1CA8129234869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Sequence_GenBankAccession 
+        add constraint FK8F69809615C4EF35 
+        foreign key (genbankaccession_id) 
+        references GenBankAccession;
+
+    alter table Sequence_GenBankAccession 
+        add constraint FK8F698096D57FFDD5 
+        foreign key (Sequence_id) 
+        references Sequence;
+
+    alter table Sequence_GenBankAccession_AUD 
+        add constraint FKC717736734869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Sequence_Marker 
+        add constraint FK3D22B278777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table Sequence_Marker 
+        add constraint FK3D22B278D57FFDD5 
+        foreign key (Sequence_id) 
+        references Sequence;
+
+    alter table Sequence_Marker_AUD 
+        add constraint FKAF40E44934869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Sequence_Media 
+        add constraint FK8E5D91E666ACA7EC 
+        foreign key (chromatograms_id) 
+        references Media;
+
+    alter table Sequence_Media 
+        add constraint FK8E5D91E6D57FFDD5 
+        foreign key (Sequence_id) 
+        references Sequence;
+
+    alter table Sequence_Media_AUD 
+        add constraint FK20025CB734869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Sequence_OriginalSource 
+        add constraint FKD37E7D8A3BAB2414 
+        foreign key (sources_id) 
+        references OriginalSource;
+
+    alter table Sequence_OriginalSource 
+        add constraint FKD37E7D8AD57FFDD5 
+        foreign key (Sequence_id) 
+        references Sequence;
+
+    alter table Sequence_OriginalSource_AUD 
+        add constraint FKCDBCD65B34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Sequence_ReferenceBase 
+        add constraint FK18D91CBE7291F8A 
+        foreign key (citations_id) 
+        references ReferenceBase;
+
+    alter table Sequence_ReferenceBase 
+        add constraint FK18D91CBED57FFDD5 
+        foreign key (Sequence_id) 
+        references Sequence;
+
+    alter table Sequence_ReferenceBase_AUD 
+        add constraint FK998CBB8F34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table Sequence_Rights 
+        add constraint FK4616A015C13F7B21 
+        foreign key (rights_id) 
+        references Rights;
+
+    alter table Sequence_Rights 
+        add constraint FK4616A015D57FFDD5 
+        foreign key (Sequence_id) 
+        references Sequence;
+
+    alter table Sequence_Rights_AUD 
+        add constraint FK1B1ABB6634869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    create index specimenOrObservationBaseTitleCacheIndex on SpecimenOrObservationBase (titleCache);
+
+    alter table SpecimenOrObservationBase 
+        add constraint FK21CA3272C8505DB 
+        foreign key (preservation_id) 
+        references DefinedTermBase;
+
+    alter table SpecimenOrObservationBase 
+        add constraint FK21CA3272EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table SpecimenOrObservationBase 
+        add constraint FK21CA32727CC340C5 
+        foreign key (storedunder_id) 
+        references TaxonNameBase;
+
+    alter table SpecimenOrObservationBase 
+        add constraint FK21CA3272EB62BE9A 
+        foreign key (collection_id) 
+        references Collection;
+
+    alter table SpecimenOrObservationBase 
+        add constraint FK21CA3272E17C9A6B 
+        foreign key (sex_id) 
+        references DefinedTermBase;
+
+    alter table SpecimenOrObservationBase 
+        add constraint FK21CA32728C750E27 
+        foreign key (lifestage_id) 
+        references DefinedTermBase;
+
+    alter table SpecimenOrObservationBase 
+        add constraint FK21CA32724AAB411A 
+        foreign key (derivationevent_id) 
+        references DerivationEvent;
+
+    alter table SpecimenOrObservationBase 
+        add constraint FK21CA32725BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table SpecimenOrObservationBase_AUD 
+        add constraint FKF3D3D74334869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table SpecimenOrObservationBase_Annotation 
+        add constraint FK365E4F3C3B8A5ABA 
+        foreign key (SpecimenOrObservationBase_id) 
+        references SpecimenOrObservationBase;
+
+    alter table SpecimenOrObservationBase_Annotation 
+        add constraint FK365E4F3C1E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table SpecimenOrObservationBase_Annotation_AUD 
+        add constraint FK34187F0D34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table SpecimenOrObservationBase_DerivationEvent 
+        add constraint FK20132036BD59A1AD 
+        foreign key (derivationevents_id) 
+        references DerivationEvent;
+
+    alter table SpecimenOrObservationBase_DerivationEvent 
+        add constraint FK2013203654C216AA 
+        foreign key (originals_id) 
+        references SpecimenOrObservationBase;
+
+    alter table SpecimenOrObservationBase_DerivationEvent_AUD 
+        add constraint FKA4A8430734869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table SpecimenOrObservationBase_Extension 
+        add constraint FKE03B82923B8A5ABA 
+        foreign key (SpecimenOrObservationBase_id) 
+        references SpecimenOrObservationBase;
+
+    alter table SpecimenOrObservationBase_Extension 
+        add constraint FKE03B8292927DE9DF 
+        foreign key (extensions_id) 
+        references Extension;
+
+    alter table SpecimenOrObservationBase_Extension_AUD 
+        add constraint FK7AE0176334869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table SpecimenOrObservationBase_LanguageString 
+        add constraint FKCFAA93163B8A5ABA 
+        foreign key (SpecimenOrObservationBase_id) 
+        references SpecimenOrObservationBase;
+
+    alter table SpecimenOrObservationBase_LanguageString 
+        add constraint FKCFAA93162BEBA58D 
+        foreign key (description_id) 
+        references LanguageString;
+
+    alter table SpecimenOrObservationBase_LanguageString 
+        add constraint FKCFAA931628459272 
+        foreign key (description_mapkey_id) 
+        references DefinedTermBase;
+
+    alter table SpecimenOrObservationBase_LanguageString_AUD 
+        add constraint FK38B45E734869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table SpecimenOrObservationBase_Marker 
+        add constraint FK8E6106C73B8A5ABA 
+        foreign key (SpecimenOrObservationBase_id) 
+        references SpecimenOrObservationBase;
+
+    alter table SpecimenOrObservationBase_Marker 
+        add constraint FK8E6106C7777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table SpecimenOrObservationBase_Marker_AUD 
+        add constraint FKD58E791834869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table SpecimenOrObservationBase_Media 
+        add constraint FK4EEBF7B73B8A5ABA 
+        foreign key (SpecimenOrObservationBase_id) 
+        references SpecimenOrObservationBase;
+
+    alter table SpecimenOrObservationBase_Media 
+        add constraint FK4EEBF7B7C2C29593 
+        foreign key (media_id) 
+        references Media;
+
+    alter table SpecimenOrObservationBase_Media_AUD 
+        add constraint FK8457720834869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table SpecimenOrObservationBase_OriginalSource 
+        add constraint FK3C4712D93B8A5ABA 
+        foreign key (SpecimenOrObservationBase_id) 
+        references SpecimenOrObservationBase;
+
+    alter table SpecimenOrObservationBase_OriginalSource 
+        add constraint FK3C4712D93BAB2414 
+        foreign key (sources_id) 
+        references OriginalSource;
+
+    alter table SpecimenOrObservationBase_OriginalSource_AUD 
+        add constraint FKCA8C2C2A34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table SpecimenOrObservationBase_Rights 
+        add constraint FK9754F4643B8A5ABA 
+        foreign key (SpecimenOrObservationBase_id) 
+        references SpecimenOrObservationBase;
+
+    alter table SpecimenOrObservationBase_Rights 
+        add constraint FK9754F464C13F7B21 
+        foreign key (rights_id) 
+        references Rights;
+
+    alter table SpecimenOrObservationBase_Rights_AUD 
+        add constraint FK4168503534869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table SpecimenOrObservationBase_Sequence 
+        add constraint FKBBF27B0E7EE2770E 
+        foreign key (SpecimenOrObservationBase_id) 
+        references SpecimenOrObservationBase;
+
+    alter table SpecimenOrObservationBase_Sequence 
+        add constraint FKBBF27B0E35B10F24 
+        foreign key (sequences_id) 
+        references Sequence;
+
+    alter table SpecimenOrObservationBase_Sequence_AUD 
+        add constraint FK392E71DF34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table StateData 
+        add constraint FKFB1697BBEF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table StateData 
+        add constraint FKFB1697BB682A4E4B 
+        foreign key (state_id) 
+        references DefinedTermBase;
+
+    alter table StateData 
+        add constraint FKFB1697BB5BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table StateData_AUD 
+        add constraint FKDA6A700C34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table StateData_DefinedTermBase 
+        add constraint FK107321E28E7BF9AB 
+        foreign key (StateData_id) 
+        references StateData;
+
+    alter table StateData_DefinedTermBase 
+        add constraint FK107321E2E0960EC4 
+        foreign key (modifiers_id) 
+        references DefinedTermBase;
+
+    alter table StateData_DefinedTermBase_AUD 
+        add constraint FK7C978EB334869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table StateData_LanguageString 
+        add constraint FK93FFD2AD8E7BF9AB 
+        foreign key (StateData_id) 
+        references StateData;
+
+    alter table StateData_LanguageString 
+        add constraint FK93FFD2ADF05D08D4 
+        foreign key (modifyingtext_id) 
+        references LanguageString;
+
+    alter table StateData_LanguageString 
+        add constraint FK93FFD2AD9682414B 
+        foreign key (modifyingtext_mapkey_id) 
+        references DefinedTermBase;
+
+    alter table StateData_LanguageString_AUD 
+        add constraint FK1578E1FE34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table StatisticalMeasurementValue 
+        add constraint FK2DCE0290EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table StatisticalMeasurementValue 
+        add constraint FK2DCE02904C428112 
+        foreign key (type_id) 
+        references DefinedTermBase;
+
+    alter table StatisticalMeasurementValue 
+        add constraint FK2DCE02905BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table StatisticalMeasurementValue_AUD 
+        add constraint FKBB16686134869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table StatisticalMeasurementValue_DefinedTermBase 
+        add constraint FK686C42B75C9F4F2B 
+        foreign key (StatisticalMeasurementValue_id) 
+        references StatisticalMeasurementValue;
+
+    alter table StatisticalMeasurementValue_DefinedTermBase 
+        add constraint FK686C42B7E0960EC4 
+        foreign key (modifiers_id) 
+        references DefinedTermBase;
+
+    alter table StatisticalMeasurementValue_DefinedTermBase_AUD 
+        add constraint FKFEBA3D0834869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table SynonymRelationship 
+        add constraint FKF483ADB34BAC703F 
+        foreign key (relatedfrom_id) 
+        references TaxonBase;
+
+    alter table SynonymRelationship 
+        add constraint FKF483ADB3F8991B9D 
+        foreign key (relatedto_id) 
+        references TaxonBase;
+
+    alter table SynonymRelationship 
+        add constraint FKF483ADB3EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table SynonymRelationship 
+        add constraint FKF483ADB380924EEC 
+        foreign key (type_id) 
+        references DefinedTermBase;
+
+    alter table SynonymRelationship 
+        add constraint FKF483ADB39803512F 
+        foreign key (citation_id) 
+        references ReferenceBase;
+
+    alter table SynonymRelationship 
+        add constraint FKF483ADB35BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table SynonymRelationship_AUD 
+        add constraint FK8AEBCA0434869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table SynonymRelationship_Annotation 
+        add constraint FKF494F15B260A8379 
+        foreign key (SynonymRelationship_id) 
+        references SynonymRelationship;
+
+    alter table SynonymRelationship_Annotation 
+        add constraint FKF494F15B1E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table SynonymRelationship_Annotation_AUD 
+        add constraint FKD3E2F9AC34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table SynonymRelationship_Marker 
+        add constraint FK7A439066260A8379 
+        foreign key (SynonymRelationship_id) 
+        references SynonymRelationship;
+
+    alter table SynonymRelationship_Marker 
+        add constraint FK7A439066777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table SynonymRelationship_Marker_AUD 
+        add constraint FK93C51B3734869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    create index taxonBaseTitleCacheIndex on TaxonBase (titleCache);
+
+    alter table TaxonBase 
+        add constraint FK9249B49BEF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table TaxonBase 
+        add constraint FK9249B49BDA93512F 
+        foreign key (taxonName_fk) 
+        references TaxonNameBase;
+
+    alter table TaxonBase 
+        add constraint FK9249B49B7C7B5AED 
+        foreign key (taxonomicparentcache_id) 
+        references TaxonBase;
+
+    alter table TaxonBase 
+        add constraint FK9249B49B5E4A2F85 
+        foreign key (sec_id) 
+        references ReferenceBase;
+
+    alter table TaxonBase 
+        add constraint FK9249B49B5BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table TaxonBase_AUD 
+        add constraint FK37041CEC34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TaxonBase_Annotation 
+        add constraint FK41ED09739C9D39 
+        foreign key (TaxonBase_id) 
+        references TaxonBase;
+
+    alter table TaxonBase_Annotation 
+        add constraint FK41ED09731E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table TaxonBase_Annotation_AUD 
+        add constraint FK8C145C434869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TaxonBase_Extension 
+        add constraint FKF961257B927DE9DF 
+        foreign key (extensions_id) 
+        references Extension;
+
+    alter table TaxonBase_Extension 
+        add constraint FKF961257B9C9D39 
+        foreign key (TaxonBase_id) 
+        references TaxonBase;
+
+    alter table TaxonBase_Extension_AUD 
+        add constraint FK71381DCC34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TaxonBase_Marker 
+        add constraint FK5CDB747E9C9D39 
+        foreign key (TaxonBase_id) 
+        references TaxonBase;
+
+    alter table TaxonBase_Marker 
+        add constraint FK5CDB747E777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table TaxonBase_Marker_AUD 
+        add constraint FKE11D334F34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TaxonBase_OriginalSource 
+        add constraint FK10EFD9903BAB2414 
+        foreign key (sources_id) 
+        references OriginalSource;
+
+    alter table TaxonBase_OriginalSource 
+        add constraint FK10EFD9909C9D39 
+        foreign key (TaxonBase_id) 
+        references TaxonBase;
+
+    alter table TaxonBase_OriginalSource_AUD 
+        add constraint FKFB74BF6134869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TaxonBase_Rights 
+        add constraint FK65CF621BC13F7B21 
+        foreign key (rights_id) 
+        references Rights;
+
+    alter table TaxonBase_Rights 
+        add constraint FK65CF621B9C9D39 
+        foreign key (TaxonBase_id) 
+        references TaxonBase;
+
+    alter table TaxonBase_Rights_AUD 
+        add constraint FK4CF70A6C34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TaxonInteraction_LanguageString 
+        add constraint FK579A1DC02BEBA58D 
+        foreign key (description_id) 
+        references LanguageString;
+
+    alter table TaxonInteraction_LanguageString 
+        add constraint FK579A1DC086C86FE0 
+        foreign key (DescriptionElementBase_id) 
+        references DescriptionElementBase;
+
+    alter table TaxonInteraction_LanguageString 
+        add constraint FK579A1DC028459272 
+        foreign key (description_mapkey_id) 
+        references DefinedTermBase;
+
+    alter table TaxonInteraction_LanguageString_AUD 
+        add constraint FK9E016B9134869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    create index taxonNameBaseTitleCacheIndex on TaxonNameBase (titleCache);
+
+    alter table TaxonNameBase 
+        add constraint FKB4870C6EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table TaxonNameBase 
+        add constraint FKB4870C62B4FEDD6 
+        foreign key (basionymauthorteam_id) 
+        references AgentBase;
+
+    alter table TaxonNameBase 
+        add constraint FKB4870C64AC9C024 
+        foreign key (nomenclaturalreference_id) 
+        references ReferenceBase;
+
+    alter table TaxonNameBase 
+        add constraint FKB4870C6B14B73EF 
+        foreign key (combinationauthorteam_id) 
+        references AgentBase;
+
+    alter table TaxonNameBase 
+        add constraint FKB4870C6BFEAE500 
+        foreign key (homotypicalgroup_id) 
+        references HomotypicalGroup;
+
+    alter table TaxonNameBase 
+        add constraint FKB4870C662AD57A2 
+        foreign key (excombinationauthorteam_id) 
+        references AgentBase;
+
+    alter table TaxonNameBase 
+        add constraint FKB4870C67F90DF03 
+        foreign key (exbasionymauthorteam_id) 
+        references AgentBase;
+
+    alter table TaxonNameBase 
+        add constraint FKB4870C65BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table TaxonNameBase 
+        add constraint FKB4870C6D7BE55A0 
+        foreign key (rank_id) 
+        references DefinedTermBase;
+
+    alter table TaxonNameBase_AUD 
+        add constraint FK5CA2CB9734869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TaxonNameBase_Annotation 
+        add constraint FK9E7794688C85CF94 
+        foreign key (TaxonNameBase_id) 
+        references TaxonNameBase;
+
+    alter table TaxonNameBase_Annotation 
+        add constraint FK9E7794681E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table TaxonNameBase_Annotation_AUD 
+        add constraint FKB6734E3934869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TaxonNameBase_Extension 
+        add constraint FKC28EE7E6927DE9DF 
+        foreign key (extensions_id) 
+        references Extension;
+
+    alter table TaxonNameBase_Extension 
+        add constraint FKC28EE7E68C85CF94 
+        foreign key (TaxonNameBase_id) 
+        references TaxonNameBase;
+
+    alter table TaxonNameBase_Extension_AUD 
+        add constraint FK8F98B2B734869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TaxonNameBase_HybridRelationship 
+        add constraint FK371B728D2D57C7D5 
+        foreign key (hybridrelationships_id) 
+        references HybridRelationship;
+
+    alter table TaxonNameBase_HybridRelationship 
+        add constraint FK371B728DCDE98DD2 
+        foreign key (TaxonNameBase_id) 
+        references TaxonNameBase;
+
+    alter table TaxonNameBase_HybridRelationship_AUD 
+        add constraint FK800191DE34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TaxonNameBase_Marker 
+        add constraint FK39E3C1F38C85CF94 
+        foreign key (TaxonNameBase_id) 
+        references TaxonNameBase;
+
+    alter table TaxonNameBase_Marker 
+        add constraint FK39E3C1F3777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table TaxonNameBase_Marker_AUD 
+        add constraint FK3DA7BE4434869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TaxonNameBase_NomenclaturalStatus 
+        add constraint FK560BA7926615E90D 
+        foreign key (status_id) 
+        references NomenclaturalStatus;
+
+    alter table TaxonNameBase_NomenclaturalStatus 
+        add constraint FK560BA7928C85CF94 
+        foreign key (TaxonNameBase_id) 
+        references TaxonNameBase;
+
+    alter table TaxonNameBase_NomenclaturalStatus_AUD 
+        add constraint FK9215BC6334869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TaxonNameBase_OriginalSource 
+        add constraint FKBEA1E2053BAB2414 
+        foreign key (sources_id) 
+        references OriginalSource;
+
+    alter table TaxonNameBase_OriginalSource 
+        add constraint FKBEA1E2058C85CF94 
+        foreign key (TaxonNameBase_id) 
+        references TaxonNameBase;
+
+    alter table TaxonNameBase_OriginalSource_AUD 
+        add constraint FKF753855634869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TaxonNameBase_Rights 
+        add constraint FK42D7AF90C13F7B21 
+        foreign key (rights_id) 
+        references Rights;
+
+    alter table TaxonNameBase_Rights 
+        add constraint FK42D7AF908C85CF94 
+        foreign key (TaxonNameBase_id) 
+        references TaxonNameBase;
+
+    alter table TaxonNameBase_Rights_AUD 
+        add constraint FKA981956134869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TaxonNameBase_TypeDesignationBase 
+        add constraint FKC0D6BBB5C7DF530C 
+        foreign key (typedesignations_id) 
+        references TypeDesignationBase;
+
+    alter table TaxonNameBase_TypeDesignationBase 
+        add constraint FKC0D6BBB58C85CF94 
+        foreign key (TaxonNameBase_id) 
+        references TaxonNameBase;
+
+    alter table TaxonNameBase_TypeDesignationBase_AUD 
+        add constraint FKBB24070634869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TaxonRelationship 
+        add constraint FK7482BA02E71EF6CE 
+        foreign key (relatedfrom_id) 
+        references TaxonBase;
+
+    alter table TaxonRelationship 
+        add constraint FK7482BA02F8991B9D 
+        foreign key (relatedto_id) 
+        references TaxonBase;
+
+    alter table TaxonRelationship 
+        add constraint FK7482BA02EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table TaxonRelationship 
+        add constraint FK7482BA02F11BD77B 
+        foreign key (type_id) 
+        references DefinedTermBase;
+
+    alter table TaxonRelationship 
+        add constraint FK7482BA029803512F 
+        foreign key (citation_id) 
+        references ReferenceBase;
+
+    alter table TaxonRelationship 
+        add constraint FK7482BA025BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table TaxonRelationship_AUD 
+        add constraint FKA0DE16D334869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TaxonRelationship_Annotation 
+        add constraint FK82C86DAC1E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table TaxonRelationship_Annotation 
+        add constraint FK82C86DAC2BD180D9 
+        foreign key (TaxonRelationship_id) 
+        references TaxonRelationship;
+
+    alter table TaxonRelationship_Annotation_AUD 
+        add constraint FKE86DE57D34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TaxonRelationship_Marker 
+        add constraint FK69FBDD37777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table TaxonRelationship_Marker 
+        add constraint FK69FBDD372BD180D9 
+        foreign key (TaxonRelationship_id) 
+        references TaxonRelationship;
+
+    alter table TaxonRelationship_Marker_AUD 
+        add constraint FK21F8978834869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TermVocabulary 
+        add constraint FK487AA692EF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table TermVocabulary 
+        add constraint FK487AA6925BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table TermVocabulary_AUD 
+        add constraint FKA6ED3B6334869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TermVocabulary_Representation 
+        add constraint FKA408B63A258E060 
+        foreign key (TermVocabulary_id) 
+        references TermVocabulary;
+
+    alter table TermVocabulary_Representation 
+        add constraint FKA408B63AB31C4747 
+        foreign key (representations_id) 
+        references Representation;
+
+    alter table TermVocabulary_Representation_AUD 
+        add constraint FK681B370B34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TypeDesignationBase 
+        add constraint FK8AC9DCAE2FB99E97 
+        foreign key (typestatus_id) 
+        references DefinedTermBase;
+
+    alter table TypeDesignationBase 
+        add constraint FK8AC9DCAEEF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table TypeDesignationBase 
+        add constraint FK8AC9DCAE94DB044A 
+        foreign key (typespecimen_id) 
+        references SpecimenOrObservationBase;
+
+    alter table TypeDesignationBase 
+        add constraint FK8AC9DCAEBFEAE500 
+        foreign key (homotypicalgroup_id) 
+        references HomotypicalGroup;
+
+    alter table TypeDesignationBase 
+        add constraint FK8AC9DCAE9803512F 
+        foreign key (citation_id) 
+        references ReferenceBase;
+
+    alter table TypeDesignationBase 
+        add constraint FK8AC9DCAE4CB0F315 
+        foreign key (typename_id) 
+        references TaxonNameBase;
+
+    alter table TypeDesignationBase 
+        add constraint FK8AC9DCAE5BE3EC03 
+        foreign key (updatedby_id) 
+        references AgentBase;
+
+    alter table TypeDesignationBase_AUD 
+        add constraint FK243C037F34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TypeDesignationBase_Annotation 
+        add constraint FK4D73278044E9E6D4 
+        foreign key (TypeDesignationBase_id) 
+        references TypeDesignationBase;
+
+    alter table TypeDesignationBase_Annotation 
+        add constraint FK4D7327801E403E0B 
+        foreign key (annotations_id) 
+        references Annotation;
+
+    alter table TypeDesignationBase_Annotation_AUD 
+        add constraint FK88BF955134869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TypeDesignationBase_Marker 
+        add constraint FKB914A10B44E9E6D4 
+        foreign key (TypeDesignationBase_id) 
+        references TypeDesignationBase;
+
+    alter table TypeDesignationBase_Marker 
+        add constraint FKB914A10B777265A1 
+        foreign key (markers_id) 
+        references Marker;
+
+    alter table TypeDesignationBase_Marker_AUD 
+        add constraint FKECA3515C34869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table TypeDesignationBase_TaxonNameBase 
+        add constraint FKF61156F54D901A92 
+        foreign key (typifiednames_id) 
+        references TaxonNameBase;
+
+    alter table TypeDesignationBase_TaxonNameBase 
+        add constraint FKF61156F544E9E6D4 
+        foreign key (TypeDesignationBase_id) 
+        references TypeDesignationBase;
+
+    alter table TypeDesignationBase_TaxonNameBase_AUD 
+        add constraint FK4F1F024634869AAE 
+        foreign key (REV) 
+        references AuditEvent;
+
+    alter table User 
+        add constraint FK285FEBEF7921F6 
+        foreign key (createdby_id) 
+        references AgentBase;
+
+    alter table User_GrantedAuthorityImpl 
+        add constraint FKA2FB64FCCF9BC520 
+        foreign key (User_id) 
+        references User;
+
+    alter table User_GrantedAuthorityImpl 
+        add constraint FKA2FB64FC1857F6C2 
+        foreign key (grantedauthorities_id) 
+        references GrantedAuthorityImpl;
+
+    alter table User_PermissionGroup 
+        add constraint FKDD33C17CDA9DCB5F 
+        foreign key (groups_id) 
+        references PermissionGroup;
+
+    alter table User_PermissionGroup 
+        add constraint FKDD33C17C887E3D12 
+        foreign key (members_id) 
+        references User;
index a784937ed3c8b4842a794dac2394fe03e9f890ac..8781896f400434fe5995fcad51f541be1222b2f1 100644 (file)
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="PUBLIC" targetNamespace="PUBLIC">
-       <xsd:element name="AGENT_ORIGINALSOURCE" type="AGENT_ORIGINALSOURCE__type" />
-       <xsd:element name="TAXONRELATIONSHIP_MARKER" type="TAXONRELATIONSHIP_MARKER__type" />
-       <xsd:element name="TAXONNAMEBASE" type="TAXONNAMEBASE__type" />
-       <xsd:element name="REFERENCEBASE_MARKER" type="REFERENCEBASE_MARKER__type" />
-       <xsd:element name="DETERMINATIONEVENT_REFERENCEBASE" type="DETERMINATIONEVENT_REFERENCEBASE__type" />
-       <xsd:element name="GATHERINGEVENT_ANNOTATION" type="GATHERINGEVENT_ANNOTATION__type" />
-       <xsd:element name="CDM_VIEW" type="CDM_VIEW__type" />
+       <xsd:element name="SPECIMENOROBSERVATIONBASE_ANNOTATION_AUD" type="SPECIMENOROBSERVATIONBASE_ANNOTATION_AUD__type" />
+       <xsd:element name="DESCRIPTIONELEMENTBASE_LANGUAGESTRING" type="DESCRIPTIONELEMENTBASE_LANGUAGESTRING__type" />
+       <xsd:element name="TAXONINTERACTION_LANGUAGESTRING_AUD" type="TAXONINTERACTION_LANGUAGESTRING_AUD__type" />
+       <xsd:element name="AUDITEVENT" type="AUDITEVENT__type" />
+       <xsd:element name="TERMVOCABULARY_AUD" type="TERMVOCABULARY_AUD__type" />
+       <xsd:element name="DESCRIPTIONELEMENTBASE_STATEDATA_AUD" type="DESCRIPTIONELEMENTBASE_STATEDATA_AUD__type" />
+       <xsd:element name="DEFINEDTERMBASE_CONTINENT" type="DEFINEDTERMBASE_CONTINENT__type" />
+       <xsd:element name="TAXONNAMEBASE_HYBRIDRELATIONSHIP_AUD" type="TAXONNAMEBASE_HYBRIDRELATIONSHIP_AUD__type" />
+       <xsd:element name="REFERENCEBASE_ANNOTATION" type="REFERENCEBASE_ANNOTATION__type" />
+       <xsd:element name="DETERMINATIONEVENT_MARKER_AUD" type="DETERMINATIONEVENT_MARKER_AUD__type" />
+       <xsd:element name="LANGUAGESTRING_ANNOTATION_AUD" type="LANGUAGESTRING_ANNOTATION_AUD__type" />
+       <xsd:element name="TAXONRELATIONSHIP_ANNOTATION_AUD" type="TAXONRELATIONSHIP_ANNOTATION_AUD__type" />
+       <xsd:element name="NOMENCLATURALSTATUS_AUD" type="NOMENCLATURALSTATUS_AUD__type" />
+       <xsd:element name="DESCRIPTIONBASE_ANNOTATION" type="DESCRIPTIONBASE_ANNOTATION__type" />
+       <xsd:element name="SEQUENCE_MEDIA_AUD" type="SEQUENCE_MEDIA_AUD__type" />
+       <xsd:element name="MEDIA" type="MEDIA__type" />
+       <xsd:element name="AGENTBASE_DEFINEDTERMBASE" type="AGENTBASE_DEFINEDTERMBASE__type" />
+       <xsd:element name="COLLECTION_AUD" type="COLLECTION_AUD__type" />
+       <xsd:element name="DETERMINATIONEVENT" type="DETERMINATIONEVENT__type" />
+       <xsd:element name="LSIDAUTHORITY" type="LSIDAUTHORITY__type" />
+       <xsd:element name="RIGHTS_MARKER" type="RIGHTS_MARKER__type" />
+       <xsd:element name="LANGUAGESTRING_MARKER_AUD" type="LANGUAGESTRING_MARKER_AUD__type" />
        <xsd:element name="SEQUENCE_GENBANKACCESSION" type="SEQUENCE_GENBANKACCESSION__type" />
-       <xsd:element name="DETERMINATIONEVENT_ANNOTATION" type="DETERMINATIONEVENT_ANNOTATION__type" />
+       <xsd:element name="DETERMINATIONEVENT_MARKER" type="DETERMINATIONEVENT_MARKER__type" />
+       <xsd:element name="REPRESENTATION" type="REPRESENTATION__type" />
+       <xsd:element name="REFERENCEBASE_ANNOTATION_AUD" type="REFERENCEBASE_ANNOTATION_AUD__type" />
+       <xsd:element name="TERMVOCABULARY_REPRESENTATION" type="TERMVOCABULARY_REPRESENTATION__type" />
+       <xsd:element name="FEATURENODE" type="FEATURENODE__type" />
+       <xsd:element name="REPRESENTATION_MARKER_AUD" type="REPRESENTATION_MARKER_AUD__type" />
+       <xsd:element name="NAMERELATIONSHIP_ANNOTATION" type="NAMERELATIONSHIP_ANNOTATION__type" />
+       <xsd:element name="FEATURETREE" type="FEATURETREE__type" />
+       <xsd:element name="SPECIMENOROBSERVATIONBASE_RIGHTS" type="SPECIMENOROBSERVATIONBASE_RIGHTS__type" />
+       <xsd:element name="DESCRIPTIONBASE" type="DESCRIPTIONBASE__type" />
        <xsd:element name="STATISTICALMEASUREMENTVALUE" type="STATISTICALMEASUREMENTVALUE__type" />
-       <xsd:element name="NAMERELATIONSHIP_MARKER" type="NAMERELATIONSHIP_MARKER__type" />
-       <xsd:element name="DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE" type="DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE__type" />
+       <xsd:element name="STATEDATA_DEFINEDTERMBASE_AUD" type="STATEDATA_DEFINEDTERMBASE_AUD__type" />
+       <xsd:element name="SPECIMENOROBSERVATIONBASE_MARKER_AUD" type="SPECIMENOROBSERVATIONBASE_MARKER_AUD__type" />
+       <xsd:element name="TAXONNAMEBASE_NOMENCLATURALSTATUS" type="TAXONNAMEBASE_NOMENCLATURALSTATUS__type" />
+       <xsd:element name="AGENTBASE_ADDRESS" type="AGENTBASE_ADDRESS__type" />
+       <xsd:element name="DETERMINATIONEVENT_ANNOTATION_AUD" type="DETERMINATIONEVENT_ANNOTATION_AUD__type" />
+       <xsd:element name="LOCUS" type="LOCUS__type" />
+       <xsd:element name="MEDIA_ANNOTATION" type="MEDIA_ANNOTATION__type" />
+       <xsd:element name="GRANTEDAUTHORITYIMPL" type="GRANTEDAUTHORITYIMPL__type" />
        <xsd:element name="TAXONNAMEBASE_ORIGINALSOURCE" type="TAXONNAMEBASE_ORIGINALSOURCE__type" />
-       <xsd:element name="TAXONBASE_EXTENSION" type="TAXONBASE_EXTENSION__type" />
-       <xsd:element name="SYNONYMRELATIONSHIP_MARKER" type="SYNONYMRELATIONSHIP_MARKER__type" />
-       <xsd:element name="COLLECTION_EXTENSION" type="COLLECTION_EXTENSION__type" />
-       <xsd:element name="TAXONNAMEBASE_TYPEDESIGNATIONBASE" type="TAXONNAMEBASE_TYPEDESIGNATIONBASE__type" />
-       <xsd:element name="AGENT_MEDIA" type="AGENT_MEDIA__type" />
-       <xsd:element name="MEDIA" type="MEDIA__type" />
+       <xsd:element name="HYBRIDRELATIONSHIP_MARKER" type="HYBRIDRELATIONSHIP_MARKER__type" />
+       <xsd:element name="SEQUENCE_RIGHTS_AUD" type="SEQUENCE_RIGHTS_AUD__type" />
+       <xsd:element name="DESCRIPTIONBASE_EXTENSION_AUD" type="DESCRIPTIONBASE_EXTENSION_AUD__type" />
+       <xsd:element name="SYNONYMRELATIONSHIP_MARKER_AUD" type="SYNONYMRELATIONSHIP_MARKER_AUD__type" />
+       <xsd:element name="TYPEDESIGNATIONBASE_TAXONNAMEBASE_AUD" type="TYPEDESIGNATIONBASE_TAXONNAMEBASE_AUD__type" />
+       <xsd:element name="MEDIA_AUD" type="MEDIA_AUD__type" />
+       <xsd:element name="SPECIMENOROBSERVATIONBASE_EXTENSION" type="SPECIMENOROBSERVATIONBASE_EXTENSION__type" />
+       <xsd:element name="RIGHTS_AUD" type="RIGHTS_AUD__type" />
+       <xsd:element name="TYPEDESIGNATIONBASE_ANNOTATION_AUD" type="TYPEDESIGNATIONBASE_ANNOTATION_AUD__type" />
+       <xsd:element name="SPECIMENOROBSERVATIONBASE_MEDIA_AUD" type="SPECIMENOROBSERVATIONBASE_MEDIA_AUD__type" />
+       <xsd:element name="DERIVATIONEVENT_DEFINEDTERMBASE" type="DERIVATIONEVENT_DEFINEDTERMBASE__type" />
+       <xsd:element name="AGENTBASE_CONTACT_EMAILADDRESSES" type="AGENTBASE_CONTACT_EMAILADDRESSES__type" />
+       <xsd:element name="REPRESENTATION_MARKER" type="REPRESENTATION_MARKER__type" />
+       <xsd:element name="REFERENCEBASE_MEDIA_AUD" type="REFERENCEBASE_MEDIA_AUD__type" />
+       <xsd:element name="AGENTBASE_MEDIA_AUD" type="AGENTBASE_MEDIA_AUD__type" />
+       <xsd:element name="TAXONBASE_MARKER_AUD" type="TAXONBASE_MARKER_AUD__type" />
+       <xsd:element name="DEFINEDTERMBASE_REPRESENTATION_AUD" type="DEFINEDTERMBASE_REPRESENTATION_AUD__type" />
+       <xsd:element name="ORIGINALSOURCE_MARKER_AUD" type="ORIGINALSOURCE_MARKER_AUD__type" />
+       <xsd:element name="SPECIMENOROBSERVATIONBASE_LANGUAGESTRING_AUD" type="SPECIMENOROBSERVATIONBASE_LANGUAGESTRING_AUD__type" />
+       <xsd:element name="DESCRIPTIONBASE_ANNOTATION_AUD" type="DESCRIPTIONBASE_ANNOTATION_AUD__type" />
+       <xsd:element name="DEFINEDTERMBASE_STATISTICALMEASURE_AUD" type="DEFINEDTERMBASE_STATISTICALMEASURE_AUD__type" />
+       <xsd:element name="HOMOTYPICALGROUP_ANNOTATION" type="HOMOTYPICALGROUP_ANNOTATION__type" />
+       <xsd:element name="AGENTBASE_CONTACT_EMAILADDRESSES_AUD" type="AGENTBASE_CONTACT_EMAILADDRESSES_AUD__type" />
+       <xsd:element name="NAMERELATIONSHIP_MARKER_AUD" type="NAMERELATIONSHIP_MARKER_AUD__type" />
+       <xsd:element name="DESCRIPTIONBASE_REFERENCEBASE" type="DESCRIPTIONBASE_REFERENCEBASE__type" />
+       <xsd:element name="SEQUENCE_AUD" type="SEQUENCE_AUD__type" />
+       <xsd:element name="EXTENSION" type="EXTENSION__type" />
+       <xsd:element name="DESCRIPTIONBASE_RIGHTS_AUD" type="DESCRIPTIONBASE_RIGHTS_AUD__type" />
+       <xsd:element name="DESCRIPTIONBASE_RIGHTS" type="DESCRIPTIONBASE_RIGHTS__type" />
+       <xsd:element name="ADDRESS" type="ADDRESS__type" />
+       <xsd:element name="SEQUENCE_ANNOTATION_AUD" type="SEQUENCE_ANNOTATION_AUD__type" />
+       <xsd:element name="HYBRIDRELATIONSHIP_AUD" type="HYBRIDRELATIONSHIP_AUD__type" />
+       <xsd:element name="AGENTBASE" type="AGENTBASE__type" />
+       <xsd:element name="HYBRIDRELATIONSHIP_ANNOTATION_AUD" type="HYBRIDRELATIONSHIP_ANNOTATION_AUD__type" />
+       <xsd:element name="NAMERELATIONSHIP_AUD" type="NAMERELATIONSHIP_AUD__type" />
+       <xsd:element name="ANNOTATION_ANNOTATION" type="ANNOTATION_ANNOTATION__type" />
+       <xsd:element name="COLLECTION" type="COLLECTION__type" />
+       <xsd:element name="DEFINEDTERMBASE_CONTINENT_AUD" type="DEFINEDTERMBASE_CONTINENT_AUD__type" />
+       <xsd:element name="TAXONNAMEBASE_RIGHTS_AUD" type="TAXONNAMEBASE_RIGHTS_AUD__type" />
+       <xsd:element name="TAXONNAMEBASE_ORIGINALSOURCE_AUD" type="TAXONNAMEBASE_ORIGINALSOURCE_AUD__type" />
+       <xsd:element name="MEDIA_TAXONBASE" type="MEDIA_TAXONBASE__type" />
+       <xsd:element name="SPECIMENOROBSERVATIONBASE_MARKER" type="SPECIMENOROBSERVATIONBASE_MARKER__type" />
+       <xsd:element name="DEFINEDTERMBASE_AUD" type="DEFINEDTERMBASE_AUD__type" />
+       <xsd:element name="COLLECTION_ANNOTATION_AUD" type="COLLECTION_ANNOTATION_AUD__type" />
+       <xsd:element name="DESCRIPTIONELEMENTBASE_MODIFIER_AUD" type="DESCRIPTIONELEMENTBASE_MODIFIER_AUD__type" />
+       <xsd:element name="EXTENSION_AUD" type="EXTENSION_AUD__type" />
+       <xsd:element name="SEQUENCE_REFERENCEBASE_AUD" type="SEQUENCE_REFERENCEBASE_AUD__type" />
+       <xsd:element name="REFERENCEBASE_EXTENSION_AUD" type="REFERENCEBASE_EXTENSION_AUD__type" />
+       <xsd:element name="HOMOTYPICALGROUP" type="HOMOTYPICALGROUP__type" />
+       <xsd:element name="SEQUENCE_REFERENCEBASE" type="SEQUENCE_REFERENCEBASE__type" />
+       <xsd:element name="TYPEDESIGNATIONBASE_ANNOTATION" type="TYPEDESIGNATIONBASE_ANNOTATION__type" />
+       <xsd:element name="AGENTBASE_MEDIA" type="AGENTBASE_MEDIA__type" />
+       <xsd:element name="DESCRIPTIONELEMENTBASE_MARKER_AUD" type="DESCRIPTIONELEMENTBASE_MARKER_AUD__type" />
+       <xsd:element name="ORIGINALSOURCE_MARKER" type="ORIGINALSOURCE_MARKER__type" />
+       <xsd:element name="TAXONNAMEBASE_AUD" type="TAXONNAMEBASE_AUD__type" />
+       <xsd:element name="ANNOTATION_AUD" type="ANNOTATION_AUD__type" />
+       <xsd:element name="AGENTBASE_CONTACT_FAXNUMBERS" type="AGENTBASE_CONTACT_FAXNUMBERS__type" />
+       <xsd:element name="HYBRIDRELATIONSHIP_ANNOTATION" type="HYBRIDRELATIONSHIP_ANNOTATION__type" />
+       <xsd:element name="SYNONYMRELATIONSHIP" type="SYNONYMRELATIONSHIP__type" />
+       <xsd:element name="DEFINEDTERMBASE" type="DEFINEDTERMBASE__type" />
+       <xsd:element name="PERSON_KEYWORD" type="PERSON_KEYWORD__type" />
        <xsd:element name="TYPEDESIGNATIONBASE_MARKER" type="TYPEDESIGNATIONBASE_MARKER__type" />
-       <xsd:element name="HYBRIDRELATIONSHIP" type="HYBRIDRELATIONSHIP__type" />
-       <xsd:element name="DESCRIPTIONBASE_EXTENSION" type="DESCRIPTIONBASE_EXTENSION__type" />
-       <xsd:element name="USER_PERMISSIONGROUP" type="USER_PERMISSIONGROUP__type" />
-       <xsd:element name="SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE" type="SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE__type" />
+       <xsd:element name="DESCRIPTIONBASE_GEOSCOPE" type="DESCRIPTIONBASE_GEOSCOPE__type" />
+       <xsd:element name="AGENTBASE_CONTACT_URLS" type="AGENTBASE_CONTACT_URLS__type" />
+       <xsd:element name="MARKER_AUD" type="MARKER_AUD__type" />
+       <xsd:element name="TAXONBASE_ANNOTATION" type="TAXONBASE_ANNOTATION__type" />
+       <xsd:element name="DESCRIPTIONBASE_AUD" type="DESCRIPTIONBASE_AUD__type" />
+       <xsd:element name="REFERENCEBASE_EXTENSION" type="REFERENCEBASE_EXTENSION__type" />
+       <xsd:element name="AGENTBASE_CONTACT_PHONENUMBERS" type="AGENTBASE_CONTACT_PHONENUMBERS__type" />
+       <xsd:element name="AGENTBASE_MARKER_AUD" type="AGENTBASE_MARKER_AUD__type" />
+       <xsd:element name="LANGUAGESTRING_ANNOTATION" type="LANGUAGESTRING_ANNOTATION__type" />
+       <xsd:element name="TAXONBASE_MARKER" type="TAXONBASE_MARKER__type" />
        <xsd:element name="CDM_VIEW_CDM_VIEW" type="CDM_VIEW_CDM_VIEW__type" />
+       <xsd:element name="DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE_AUD" type="DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE_AUD__type" />
+       <xsd:element name="IDENTIFICATIONKEY_TAXON_AUD" type="IDENTIFICATIONKEY_TAXON_AUD__type" />
+       <xsd:element name="TERMVOCABULARY" type="TERMVOCABULARY__type" />
+       <xsd:element name="DESCRIPTIONBASE_ORIGINALSOURCE_AUD" type="DESCRIPTIONBASE_ORIGINALSOURCE_AUD__type" />
+       <xsd:element name="DERIVATIONEVENT_MARKER" type="DERIVATIONEVENT_MARKER__type" />
+       <xsd:element name="ORIGINALSOURCE_AUD" type="ORIGINALSOURCE_AUD__type" />
+       <xsd:element name="DESCRIPTIONBASE_SCOPE_AUD" type="DESCRIPTIONBASE_SCOPE_AUD__type" />
+       <xsd:element name="DESCRIPTIONELEMENTBASE_AUD" type="DESCRIPTIONELEMENTBASE_AUD__type" />
+       <xsd:element name="MEDIAREPRESENTATION" type="MEDIAREPRESENTATION__type" />
+       <xsd:element name="REPRESENTATION_AUD" type="REPRESENTATION_AUD__type" />
+       <xsd:element name="DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE" type="DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE__type" />
+       <xsd:element name="MEDIA_TAXONBASE_AUD" type="MEDIA_TAXONBASE_AUD__type" />
+       <xsd:element name="DESCRIPTIONELEMENTBASE_ANNOTATION_AUD" type="DESCRIPTIONELEMENTBASE_ANNOTATION_AUD__type" />
+       <xsd:element name="ANNOTATION_MARKER" type="ANNOTATION_MARKER__type" />
+       <xsd:element name="STATISTICALMEASUREMENTVALUE_AUD" type="STATISTICALMEASUREMENTVALUE_AUD__type" />
+       <xsd:element name="REPRESENTATION_ANNOTATION" type="REPRESENTATION_ANNOTATION__type" />
+       <xsd:element name="TAXONNAMEBASE_RIGHTS" type="TAXONNAMEBASE_RIGHTS__type" />
+       <xsd:element name="DESCRIPTIONELEMENTBASE_LANGUAGESTRING_AUD" type="DESCRIPTIONELEMENTBASE_LANGUAGESTRING_AUD__type" />
+       <xsd:element name="NAMERELATIONSHIP" type="NAMERELATIONSHIP__type" />
+       <xsd:element name="REFERENCEBASE_ORIGINALSOURCE" type="REFERENCEBASE_ORIGINALSOURCE__type" />
        <xsd:element name="DESCRIPTIONELEMENTBASE_MARKER" type="DESCRIPTIONELEMENTBASE_MARKER__type" />
-       <xsd:element name="AGENT_ANNOTATION" type="AGENT_ANNOTATION__type" />
-       <xsd:element name="AGENT_RIGHTS" type="AGENT_RIGHTS__type" />
-       <xsd:element name="DESCRIPTIONBASE_SCOPE" type="DESCRIPTIONBASE_SCOPE__type" />
-       <xsd:element name="COLLECTION_MEDIA" type="COLLECTION_MEDIA__type" />
-       <xsd:element name="USER_GRANTEDAUTHORITYIMPL" type="USER_GRANTEDAUTHORITYIMPL__type" />
+       <xsd:element name="STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE" type="STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE__type" />
+       <xsd:element name="SEQUENCE_ORIGINALSOURCE" type="SEQUENCE_ORIGINALSOURCE__type" />
+       <xsd:element name="COLLECTION_EXTENSION" type="COLLECTION_EXTENSION__type" />
        <xsd:element name="TAXONNAMEBASE_HYBRIDRELATIONSHIP" type="TAXONNAMEBASE_HYBRIDRELATIONSHIP__type" />
-       <xsd:element name="TAXONBASE_MARKER" type="TAXONBASE_MARKER__type" />
+       <xsd:element name="SYNONYMRELATIONSHIP_MARKER" type="SYNONYMRELATIONSHIP_MARKER__type" />
+       <xsd:element name="COLLECTION_ANNOTATION" type="COLLECTION_ANNOTATION__type" />
+       <xsd:element name="MEDIA_LANGUAGESTRING" type="MEDIA_LANGUAGESTRING__type" />
+       <xsd:element name="TAXONBASE_EXTENSION" type="TAXONBASE_EXTENSION__type" />
+       <xsd:element name="MEDIA_SEQUENCE" type="MEDIA_SEQUENCE__type" />
+       <xsd:element name="MEDIA_DESCRIPTION" type="MEDIA_DESCRIPTION__type" />
+       <xsd:element name="COLLECTION_RIGHTS_AUD" type="COLLECTION_RIGHTS_AUD__type" />
+       <xsd:element name="NOMENCLATURALSTATUS_MARKER" type="NOMENCLATURALSTATUS_MARKER__type" />
+       <xsd:element name="SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE" type="SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE__type" />
+       <xsd:element name="AGENTBASE_AGENTBASE" type="AGENTBASE_AGENTBASE__type" />
+       <xsd:element name="TYPEDESIGNATIONBASE_AUD" type="TYPEDESIGNATIONBASE_AUD__type" />
+       <xsd:element name="AGENTBASE_CONTACT_PHONENUMBERS_AUD" type="AGENTBASE_CONTACT_PHONENUMBERS_AUD__type" />
+       <xsd:element name="COLLECTION_RIGHTS" type="COLLECTION_RIGHTS__type" />
+       <xsd:element name="RIGHTS" type="RIGHTS__type" />
+       <xsd:element name="TAXONNAMEBASE_EXTENSION_AUD" type="TAXONNAMEBASE_EXTENSION_AUD__type" />
+       <xsd:element name="PERSON_KEYWORD_AUD" type="PERSON_KEYWORD_AUD__type" />
+       <xsd:element name="SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE_AUD" type="SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE_AUD__type" />
+       <xsd:element name="DERIVATIONEVENT_ANNOTATION_AUD" type="DERIVATIONEVENT_ANNOTATION_AUD__type" />
+       <xsd:element name="MEDIA_DESCRIPTION_AUD" type="MEDIA_DESCRIPTION_AUD__type" />
+       <xsd:element name="COLLECTION_MARKER" type="COLLECTION_MARKER__type" />
+       <xsd:element name="TAXONNAMEBASE" type="TAXONNAMEBASE__type" />
+       <xsd:element name="SEQUENCE_GENBANKACCESSION_AUD" type="SEQUENCE_GENBANKACCESSION_AUD__type" />
+       <xsd:element name="STATEDATA_LANGUAGESTRING" type="STATEDATA_LANGUAGESTRING__type" />
+       <xsd:element name="COLLECTION_MEDIA_AUD" type="COLLECTION_MEDIA_AUD__type" />
+       <xsd:element name="DESCRIPTIONELEMENTBASE_MODIFYINGTEXT_AUD" type="DESCRIPTIONELEMENTBASE_MODIFYINGTEXT_AUD__type" />
+       <xsd:element name="DESCRIPTIONELEMENTBASE_ANNOTATION" type="DESCRIPTIONELEMENTBASE_ANNOTATION__type" />
+       <xsd:element name="TAXONRELATIONSHIP" type="TAXONRELATIONSHIP__type" />
+       <xsd:element name="SYNONYMRELATIONSHIP_ANNOTATION_AUD" type="SYNONYMRELATIONSHIP_ANNOTATION_AUD__type" />
+       <xsd:element name="SYNONYMRELATIONSHIP_AUD" type="SYNONYMRELATIONSHIP_AUD__type" />
+       <xsd:element name="NAMERELATIONSHIP_ANNOTATION_AUD" type="NAMERELATIONSHIP_ANNOTATION_AUD__type" />
+       <xsd:element name="COLLECTION_ORIGINALSOURCE" type="COLLECTION_ORIGINALSOURCE__type" />
+       <xsd:element name="COLLECTION_ORIGINALSOURCE_AUD" type="COLLECTION_ORIGINALSOURCE_AUD__type" />
+       <xsd:element name="SPECIMENOROBSERVATIONBASE" type="SPECIMENOROBSERVATIONBASE__type" />
+       <xsd:element name="RELATIONSHIPTERMBASE_INVERSEREPRESENTATION_AUD" type="RELATIONSHIPTERMBASE_INVERSEREPRESENTATION_AUD__type" />
+       <xsd:element name="FEATURENODE_AUD" type="FEATURENODE_AUD__type" />
        <xsd:element name="ORIGINALSOURCE" type="ORIGINALSOURCE__type" />
-       <xsd:element name="FEATURENODE" type="FEATURENODE__type" />
-       <xsd:element name="TERMVOCABULARY_REPRESENTATION" type="TERMVOCABULARY_REPRESENTATION__type" />
-       <xsd:element name="DETERMINATIONEVENT" type="DETERMINATIONEVENT__type" />
-       <xsd:element name="TAXONNAMEBASE_NOMENCLATURALSTATUS" type="TAXONNAMEBASE_NOMENCLATURALSTATUS__type" />
+       <xsd:element name="HOMOTYPICALGROUP_MARKER_AUD" type="HOMOTYPICALGROUP_MARKER_AUD__type" />
+       <xsd:element name="DESCRIPTIONBASE_SPECIMENOROBSERVATIONBASE_AUD" type="DESCRIPTIONBASE_SPECIMENOROBSERVATIONBASE_AUD__type" />
+       <xsd:element name="LOCUS_AUD" type="LOCUS_AUD__type" />
+       <xsd:element name="HYBRIDRELATIONSHIP" type="HYBRIDRELATIONSHIP__type" />
+       <xsd:element name="SYNONYMRELATIONSHIP_ANNOTATION" type="SYNONYMRELATIONSHIP_ANNOTATION__type" />
+       <xsd:element name="COLLECTION_MEDIA" type="COLLECTION_MEDIA__type" />
+       <xsd:element name="STATEDATA" type="STATEDATA__type" />
        <xsd:element name="SEQUENCE_MEDIA" type="SEQUENCE_MEDIA__type" />
-       <xsd:element name="LANGUAGESTRING_ANNOTATION" type="LANGUAGESTRING_ANNOTATION__type" />
-       <xsd:element name="SEQUENCE_REFERENCEBASE" type="SEQUENCE_REFERENCEBASE__type" />
-       <xsd:element name="IDENTIFICATIONKEY_TAXON" type="IDENTIFICATIONKEY_TAXON__type" />
+       <xsd:element name="SPECIMENOROBSERVATIONBASE_EXTENSION_AUD" type="SPECIMENOROBSERVATIONBASE_EXTENSION_AUD__type" />
+       <xsd:element name="DEFINEDTERMBASE_MEDIA_AUD" type="DEFINEDTERMBASE_MEDIA_AUD__type" />
+       <xsd:element name="SEQUENCE_RIGHTS" type="SEQUENCE_RIGHTS__type" />
+       <xsd:element name="RIGHTS_ANNOTATION_AUD" type="RIGHTS_ANNOTATION_AUD__type" />
        <xsd:element name="DEFINEDTERMBASE_SUPPORTEDCATEGORICALENUMERATION" type="DEFINEDTERMBASE_SUPPORTEDCATEGORICALENUMERATION__type" />
-       <xsd:element name="DESCRIPTIONELEMENTBASE_MEDIA" type="DESCRIPTIONELEMENTBASE_MEDIA__type" />
-       <xsd:element name="DESCRIPTIONELEMENTBASE_MODIFIER" type="DESCRIPTIONELEMENTBASE_MODIFIER__type" />
-       <xsd:element name="SPECIMENOROBSERVATIONBASE_MEDIA" type="SPECIMENOROBSERVATIONBASE_MEDIA__type" />
-       <xsd:element name="GENBANKACCESSION" type="GENBANKACCESSION__type" />
-       <xsd:element name="AGENT_MARKER" type="AGENT_MARKER__type" />
-       <xsd:element name="GATHERINGEVENT_MARKER" type="GATHERINGEVENT_MARKER__type" />
-       <xsd:element name="DEFINEDTERMBASE_WATERBODYORCOUNTRY" type="DEFINEDTERMBASE_WATERBODYORCOUNTRY__type" />
-       <xsd:element name="MARKER" type="MARKER__type" />
+       <xsd:element name="DESCRIPTIONBASE_SCOPE" type="DESCRIPTIONBASE_SCOPE__type" />
+       <xsd:element name="DERIVATIONEVENT_ANNOTATION" type="DERIVATIONEVENT_ANNOTATION__type" />
+       <xsd:element name="DESCRIPTIONBASE_REFERENCEBASE_AUD" type="DESCRIPTIONBASE_REFERENCEBASE_AUD__type" />
+       <xsd:element name="AGENTBASE_ORIGINALSOURCE_AUD" type="AGENTBASE_ORIGINALSOURCE_AUD__type" />
+       <xsd:element name="SPECIMENOROBSERVATIONBASE_RIGHTS_AUD" type="SPECIMENOROBSERVATIONBASE_RIGHTS_AUD__type" />
+       <xsd:element name="TAXONBASE" type="TAXONBASE__type" />
+       <xsd:element name="STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE_AUD" type="STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE_AUD__type" />
+       <xsd:element name="REPRESENTATION_ANNOTATION_AUD" type="REPRESENTATION_ANNOTATION_AUD__type" />
+       <xsd:element name="TAXONNAMEBASE_TYPEDESIGNATIONBASE_AUD" type="TAXONNAMEBASE_TYPEDESIGNATIONBASE_AUD__type" />
        <xsd:element name="DESCRIPTIONBASE_MARKER" type="DESCRIPTIONBASE_MARKER__type" />
-       <xsd:element name="SPECIMENOROBSERVATIONBASE_EXTENSION" type="SPECIMENOROBSERVATIONBASE_EXTENSION__type" />
-       <xsd:element name="LOCUS" type="LOCUS__type" />
-       <xsd:element name="TAXONRELATIONSHIP_ANNOTATION" type="TAXONRELATIONSHIP_ANNOTATION__type" />
-       <xsd:element name="AGENT_EXTENSION" type="AGENT_EXTENSION__type" />
-       <xsd:element name="LANGUAGESTRING_MARKER" type="LANGUAGESTRING_MARKER__type" />
-       <xsd:element name="TAXONBASE_ORIGINALSOURCE" type="TAXONBASE_ORIGINALSOURCE__type" />
+       <xsd:element name="MEDIAREPRESENTATIONPART_AUD" type="MEDIAREPRESENTATIONPART_AUD__type" />
+       <xsd:element name="REFERENCEBASE_MEDIA" type="REFERENCEBASE_MEDIA__type" />
+       <xsd:element name="DETERMINATIONEVENT_REFERENCEBASE_AUD" type="DETERMINATIONEVENT_REFERENCEBASE_AUD__type" />
+       <xsd:element name="RIGHTS_MARKER_AUD" type="RIGHTS_MARKER_AUD__type" />
+       <xsd:element name="REFERENCEBASE_RIGHTS_AUD" type="REFERENCEBASE_RIGHTS_AUD__type" />
+       <xsd:element name="NAMERELATIONSHIP_MARKER" type="NAMERELATIONSHIP_MARKER__type" />
+       <xsd:element name="MEDIA_MARKER_AUD" type="MEDIA_MARKER_AUD__type" />
+       <xsd:element name="TAXONRELATIONSHIP_AUD" type="TAXONRELATIONSHIP_AUD__type" />
+       <xsd:element name="SEQUENCE_ANNOTATION" type="SEQUENCE_ANNOTATION__type" />
+       <xsd:element name="DEFINEDTERMBASE_WATERBODYORCOUNTRY_AUD" type="DEFINEDTERMBASE_WATERBODYORCOUNTRY_AUD__type" />
+       <xsd:element name="TAXONRELATIONSHIP_MARKER" type="TAXONRELATIONSHIP_MARKER__type" />
+       <xsd:element name="TAXONRELATIONSHIP_MARKER_AUD" type="TAXONRELATIONSHIP_MARKER_AUD__type" />
+       <xsd:element name="TAXONNAMEBASE_TYPEDESIGNATIONBASE" type="TAXONNAMEBASE_TYPEDESIGNATIONBASE__type" />
+       <xsd:element name="DERIVATIONEVENT" type="DERIVATIONEVENT__type" />
+       <xsd:element name="AGENTBASE_EXTENSION_AUD" type="AGENTBASE_EXTENSION_AUD__type" />
+       <xsd:element name="COLLECTION_MARKER_AUD" type="COLLECTION_MARKER_AUD__type" />
+       <xsd:element name="FEATURETREE_REPRESENTATION_AUD" type="FEATURETREE_REPRESENTATION_AUD__type" />
+       <xsd:element name="TYPEDESIGNATIONBASE_TAXONNAMEBASE" type="TYPEDESIGNATIONBASE_TAXONNAMEBASE__type" />
+       <xsd:element name="AGENTBASE_RIGHTS" type="AGENTBASE_RIGHTS__type" />
+       <xsd:element name="AGENTBASE_ANNOTATION_AUD" type="AGENTBASE_ANNOTATION_AUD__type" />
+       <xsd:element name="MEDIA_LANGUAGESTRING_AUD" type="MEDIA_LANGUAGESTRING_AUD__type" />
+       <xsd:element name="MEDIAREPRESENTATION_MEDIAREPRESENTATIONPART_AUD" type="MEDIAREPRESENTATION_MEDIAREPRESENTATIONPART_AUD__type" />
+       <xsd:element name="INDIVIDUALASSOCIATION_LANGUAGESTRING" type="INDIVIDUALASSOCIATION_LANGUAGESTRING__type" />
        <xsd:element name="PERMISSIONGROUP" type="PERMISSIONGROUP__type" />
-       <xsd:element name="SEQUENCE" type="SEQUENCE__type" />
-       <xsd:element name="DESCRIPTIONBASE_REFERENCEBASE" type="DESCRIPTIONBASE_REFERENCEBASE__type" />
-       <xsd:element name="SPECIMENOROBSERVATIONBASE_MARKER" type="SPECIMENOROBSERVATIONBASE_MARKER__type" />
-       <xsd:element name="PERMISSIONGROUP_GRANTEDAUTHORITYIMPL" type="PERMISSIONGROUP_GRANTEDAUTHORITYIMPL__type" />
-       <xsd:element name="COLLECTION_ANNOTATION" type="COLLECTION_ANNOTATION__type" />
-       <xsd:element name="MEDIAREPRESENTATION" type="MEDIAREPRESENTATION__type" />
-       <xsd:element name="MEDIA_RIGHTS" type="MEDIA_RIGHTS__type" />
-       <xsd:element name="MEDIA_TAXONBASE" type="MEDIA_TAXONBASE__type" />
-       <xsd:element name="REFERENCEBASE" type="REFERENCEBASE__type" />
-       <xsd:element name="STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE" type="STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE__type" />
-       <xsd:element name="AGENT_AGENT" type="AGENT_AGENT__type" />
-       <xsd:element name="NOMENCLATURALSTATUS_ANNOTATION" type="NOMENCLATURALSTATUS_ANNOTATION__type" />
-       <xsd:element name="USER" type="USER__type" />
-       <xsd:element name="DEFINEDTERMBASE_MEDIA" type="DEFINEDTERMBASE_MEDIA__type" />
-       <xsd:element name="AGENT" type="AGENT__type" />
-       <xsd:element name="DESCRIPTIONELEMENTBASE_STATEDATA" type="DESCRIPTIONELEMENTBASE_STATEDATA__type" />
+       <xsd:element name="MEDIA_SEQUENCE_AUD" type="MEDIA_SEQUENCE_AUD__type" />
+       <xsd:element name="SEQUENCE_EXTENSION" type="SEQUENCE_EXTENSION__type" />
        <xsd:element name="FEATURETREE_REPRESENTATION" type="FEATURETREE_REPRESENTATION__type" />
-       <xsd:element name="REFERENCEBASE_RIGHTS" type="REFERENCEBASE_RIGHTS__type" />
-       <xsd:element name="DESCRIPTIONELEMENTBASE_LANGUAGESTRING" type="DESCRIPTIONELEMENTBASE_LANGUAGESTRING__type" />
-       <xsd:element name="DESCRIPTIONBASE_ORIGINALSOURCE" type="DESCRIPTIONBASE_ORIGINALSOURCE__type" />
-       <xsd:element name="ANNOTATION_ANNOTATION" type="ANNOTATION_ANNOTATION__type" />
-       <xsd:element name="MEDIA_ANNOTATION" type="MEDIA_ANNOTATION__type" />
-       <xsd:element name="STATEDATA" type="STATEDATA__type" />
-       <xsd:element name="ANNOTATION_MARKER" type="ANNOTATION_MARKER__type" />
-       <xsd:element name="DEFINEDTERMBASE_CONTINENT" type="DEFINEDTERMBASE_CONTINENT__type" />
-       <xsd:element name="DEFINEDTERMBASE_STATISTICALMEASURE" type="DEFINEDTERMBASE_STATISTICALMEASURE__type" />
-       <xsd:element name="GATHERINGEVENT" type="GATHERINGEVENT__type" />
        <xsd:element name="SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT" type="SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT__type" />
-       <xsd:element name="TAXONNAMEBASE_EXTENSION" type="TAXONNAMEBASE_EXTENSION__type" />
-       <xsd:element name="TYPEDESIGNATIONBASE_TAXONNAMEBASE" type="TYPEDESIGNATIONBASE_TAXONNAMEBASE__type" />
-       <xsd:element name="COLLECTION_ORIGINALSOURCE" type="COLLECTION_ORIGINALSOURCE__type" />
-       <xsd:element name="TAXONNAMEBASE_RIGHTS" type="TAXONNAMEBASE_RIGHTS__type" />
-       <xsd:element name="SEQUENCE_ORIGINALSOURCE" type="SEQUENCE_ORIGINALSOURCE__type" />
-       <xsd:element name="DETERMINATIONEVENT_MARKER" type="DETERMINATIONEVENT_MARKER__type" />
-       <xsd:element name="DESCRIPTIONBASE_ANNOTATION" type="DESCRIPTIONBASE_ANNOTATION__type" />
-       <xsd:element name="ORIGINALSOURCE_MARKER" type="ORIGINALSOURCE_MARKER__type" />
-       <xsd:element name="DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION" type="DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION__type" />
-       <xsd:element name="ANNOTATION" type="ANNOTATION__type" />
-       <xsd:element name="NOMENCLATURALSTATUS" type="NOMENCLATURALSTATUS__type" />
-       <xsd:element name="SPECIMENOROBSERVATIONBASE_RIGHTS" type="SPECIMENOROBSERVATIONBASE_RIGHTS__type" />
-       <xsd:element name="DERIVATIONEVENT_MARKER" type="DERIVATIONEVENT_MARKER__type" />
-       <xsd:element name="REFERENCEBASE_ORIGINALSOURCE" type="REFERENCEBASE_ORIGINALSOURCE__type" />
-       <xsd:element name="SEQUENCE_RIGHTS" type="SEQUENCE_RIGHTS__type" />
-       <xsd:element name="COLLECTION_MARKER" type="COLLECTION_MARKER__type" />
-       <xsd:element name="FEATURETREE" type="FEATURETREE__type" />
-       <xsd:element name="RIGHTS_ANNOTATION" type="RIGHTS_ANNOTATION__type" />
-       <xsd:element name="COLLECTION_RIGHTS" type="COLLECTION_RIGHTS__type" />
-       <xsd:element name="RIGHTS_MARKER" type="RIGHTS_MARKER__type" />
+       <xsd:element name="REFERENCEBASE" type="REFERENCEBASE__type" />
+       <xsd:element name="FEATURETREE_AUD" type="FEATURETREE_AUD__type" />
+       <xsd:element name="LANGUAGESTRING" type="LANGUAGESTRING__type" />
+       <xsd:element name="TAXONBASE_ORIGINALSOURCE_AUD" type="TAXONBASE_ORIGINALSOURCE_AUD__type" />
+       <xsd:element name="AGENTBASE_ADDRESS_AUD" type="AGENTBASE_ADDRESS_AUD__type" />
+       <xsd:element name="DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION_AUD" type="DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION_AUD__type" />
+       <xsd:element name="AGENTBASE_RIGHTS_AUD" type="AGENTBASE_RIGHTS_AUD__type" />
+       <xsd:element name="TERMVOCABULARY_REPRESENTATION_AUD" type="TERMVOCABULARY_REPRESENTATION_AUD__type" />
+       <xsd:element name="DERIVATIONEVENT_AUD" type="DERIVATIONEVENT_AUD__type" />
+       <xsd:element name="AGENTBASE_MARKER" type="AGENTBASE_MARKER__type" />
+       <xsd:element name="STATEDATA_DEFINEDTERMBASE" type="STATEDATA_DEFINEDTERMBASE__type" />
+       <xsd:element name="ORIGINALSOURCE_ANNOTATION_AUD" type="ORIGINALSOURCE_ANNOTATION_AUD__type" />
+       <xsd:element name="AGENTBASE_CONTACT_FAXNUMBERS_AUD" type="AGENTBASE_CONTACT_FAXNUMBERS_AUD__type" />
+       <xsd:element name="SPECIMENOROBSERVATIONBASE_LANGUAGESTRING" type="SPECIMENOROBSERVATIONBASE_LANGUAGESTRING__type" />
+       <xsd:element name="SEQUENCE_MARKER_AUD" type="SEQUENCE_MARKER_AUD__type" />
+       <xsd:element name="DESCRIPTIONELEMENTBASE_MEDIA_AUD" type="DESCRIPTIONELEMENTBASE_MEDIA_AUD__type" />
+       <xsd:element name="TAXONINTERACTION_LANGUAGESTRING" type="TAXONINTERACTION_LANGUAGESTRING__type" />
+       <xsd:element name="DESCRIPTIONBASE_GEOSCOPE_AUD" type="DESCRIPTIONBASE_GEOSCOPE_AUD__type" />
+       <xsd:element name="DEFINEDTERMBASE_WATERBODYORCOUNTRY" type="DEFINEDTERMBASE_WATERBODYORCOUNTRY__type" />
        <xsd:element name="TAXONBASE_RIGHTS" type="TAXONBASE_RIGHTS__type" />
-       <xsd:element name="DESCRIPTIONELEMENTBASE" type="DESCRIPTIONELEMENTBASE__type" />
-       <xsd:element name="HOMOTYPICALGROUP" type="HOMOTYPICALGROUP__type" />
-       <xsd:element name="REFERENCEBASE_MEDIA" type="REFERENCEBASE_MEDIA__type" />
-       <xsd:element name="DESCRIPTIONBASE_RIGHTS" type="DESCRIPTIONBASE_RIGHTS__type" />
-       <xsd:element name="COLLECTION" type="COLLECTION__type" />
-       <xsd:element name="TAXONBASE_ANNOTATION" type="TAXONBASE_ANNOTATION__type" />
-       <xsd:element name="TAXONRELATIONSHIP" type="TAXONRELATIONSHIP__type" />
-       <xsd:element name="HOMOTYPICALGROUP_MARKER" type="HOMOTYPICALGROUP_MARKER__type" />
+       <xsd:element name="DESCRIPTIONBASE_ORIGINALSOURCE" type="DESCRIPTIONBASE_ORIGINALSOURCE__type" />
+       <xsd:element name="TAXONNAMEBASE_ANNOTATION_AUD" type="TAXONNAMEBASE_ANNOTATION_AUD__type" />
+       <xsd:element name="SPECIMENOROBSERVATIONBASE_SEQUENCE_AUD" type="SPECIMENOROBSERVATIONBASE_SEQUENCE_AUD__type" />
+       <xsd:element name="ANNOTATION" type="ANNOTATION__type" />
+       <xsd:element name="INSTITUTIONALMEMBERSHIP" type="INSTITUTIONALMEMBERSHIP__type" />
+       <xsd:element name="LANGUAGESTRING_MARKER" type="LANGUAGESTRING_MARKER__type" />
+       <xsd:element name="STATEDATA_LANGUAGESTRING_AUD" type="STATEDATA_LANGUAGESTRING_AUD__type" />
+       <xsd:element name="LSIDAUTHORITY_NAMESPACES" type="LSIDAUTHORITY_NAMESPACES__type" />
        <xsd:element name="RELATIONSHIPTERMBASE_INVERSEREPRESENTATION" type="RELATIONSHIPTERMBASE_INVERSEREPRESENTATION__type" />
-       <xsd:element name="RIGHTS" type="RIGHTS__type" />
-       <xsd:element name="SPECIMENOROBSERVATIONBASE" type="SPECIMENOROBSERVATIONBASE__type" />
-       <xsd:element name="PERSON_KEYWORD" type="PERSON_KEYWORD__type" />
-       <xsd:element name="MEDIA_SEQUENCE" type="MEDIA_SEQUENCE__type" />
-       <xsd:element name="TAXONBASE" type="TAXONBASE__type" />
-       <xsd:element name="REFERENCEBASE_ANNOTATION" type="REFERENCEBASE_ANNOTATION__type" />
-       <xsd:element name="GATHERINGEVENT_DEFINEDTERMBASE" type="GATHERINGEVENT_DEFINEDTERMBASE__type" />
+       <xsd:element name="MEDIA_RIGHTS_AUD" type="MEDIA_RIGHTS_AUD__type" />
+       <xsd:element name="HYBRIDRELATIONSHIP_MARKER_AUD" type="HYBRIDRELATIONSHIP_MARKER_AUD__type" />
+       <xsd:element name="TAXONNAMEBASE_NOMENCLATURALSTATUS_AUD" type="TAXONNAMEBASE_NOMENCLATURALSTATUS_AUD__type" />
+       <xsd:element name="DESCRIPTIONBASE_SPECIMENOROBSERVATIONBASE" type="DESCRIPTIONBASE_SPECIMENOROBSERVATIONBASE__type" />
+       <xsd:element name="ANNOTATION_ANNOTATION_AUD" type="ANNOTATION_ANNOTATION_AUD__type" />
+       <xsd:element name="SEQUENCE_EXTENSION_AUD" type="SEQUENCE_EXTENSION_AUD__type" />
+       <xsd:element name="DESCRIPTIONBASE_MARKER_AUD" type="DESCRIPTIONBASE_MARKER_AUD__type" />
        <xsd:element name="MEDIA_MARKER" type="MEDIA_MARKER__type" />
-       <xsd:element name="GRANTEDAUTHORITYIMPL" type="GRANTEDAUTHORITYIMPL__type" />
-       <xsd:element name="DB_VERSION" type="DB_VERSION__type" />
-       <xsd:element name="REPRESENTATION_MARKER" type="REPRESENTATION_MARKER__type" />
-       <xsd:element name="REPRESENTATION_ANNOTATION" type="REPRESENTATION_ANNOTATION__type" />
-       <xsd:element name="REPRESENTATION" type="REPRESENTATION__type" />
-       <xsd:element name="DESCRIPTIONBASE" type="DESCRIPTIONBASE__type" />
+       <xsd:element name="DETERMINATIONEVENT_REFERENCEBASE" type="DETERMINATIONEVENT_REFERENCEBASE__type" />
+       <xsd:element name="REFERENCEBASE_AUD" type="REFERENCEBASE_AUD__type" />
+       <xsd:element name="SEQUENCE_MARKER" type="SEQUENCE_MARKER__type" />
+       <xsd:element name="GENBANKACCESSION_AUD" type="GENBANKACCESSION_AUD__type" />
+       <xsd:element name="TYPEDESIGNATIONBASE" type="TYPEDESIGNATIONBASE__type" />
+       <xsd:element name="REFERENCEBASE_MARKER" type="REFERENCEBASE_MARKER__type" />
+       <xsd:element name="NOMENCLATURALSTATUS_ANNOTATION" type="NOMENCLATURALSTATUS_ANNOTATION__type" />
+       <xsd:element name="TAXONNAMEBASE_EXTENSION" type="TAXONNAMEBASE_EXTENSION__type" />
        <xsd:element name="TAXONNAMEBASE_MARKER" type="TAXONNAMEBASE_MARKER__type" />
-       <xsd:element name="DERIVATIONEVENT" type="DERIVATIONEVENT__type" />
-       <xsd:element name="NAMERELATIONSHIP" type="NAMERELATIONSHIP__type" />
+       <xsd:element name="AGENTBASE_AUD" type="AGENTBASE_AUD__type" />
+       <xsd:element name="CDM_VIEW" type="CDM_VIEW__type" />
+       <xsd:element name="AGENTBASE_ORIGINALSOURCE" type="AGENTBASE_ORIGINALSOURCE__type" />
+       <xsd:element name="AGENTBASE_AGENTBASE_AUD" type="AGENTBASE_AGENTBASE_AUD__type" />
+       <xsd:element name="MEDIA_RIGHTS" type="MEDIA_RIGHTS__type" />
+       <xsd:element name="TAXONNAMEBASE_MARKER_AUD" type="TAXONNAMEBASE_MARKER_AUD__type" />
+       <xsd:element name="DESCRIPTIONELEMENTBASE_MODIFYINGTEXT" type="DESCRIPTIONELEMENTBASE_MODIFYINGTEXT__type" />
+       <xsd:element name="AGENTBASE_DEFINEDTERMBASE_AUD" type="AGENTBASE_DEFINEDTERMBASE_AUD__type" />
+       <xsd:element name="AGENTBASE_EXTENSION" type="AGENTBASE_EXTENSION__type" />
+       <xsd:element name="SPECIMENOROBSERVATIONBASE_ANNOTATION" type="SPECIMENOROBSERVATIONBASE_ANNOTATION__type" />
+       <xsd:element name="IDENTIFICATIONKEY_TAXON" type="IDENTIFICATIONKEY_TAXON__type" />
+       <xsd:element name="USER_GRANTEDAUTHORITYIMPL" type="USER_GRANTEDAUTHORITYIMPL__type" />
+       <xsd:element name="SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT_AUD" type="SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT_AUD__type" />
+       <xsd:element name="RIGHTS_ANNOTATION" type="RIGHTS_ANNOTATION__type" />
+       <xsd:element name="NOMENCLATURALSTATUS_MARKER_AUD" type="NOMENCLATURALSTATUS_MARKER_AUD__type" />
+       <xsd:element name="REFERENCEBASE_RIGHTS" type="REFERENCEBASE_RIGHTS__type" />
+       <xsd:element name="DB_VERSION" type="DB_VERSION__type" />
+       <xsd:element name="TAXONBASE_ORIGINALSOURCE" type="TAXONBASE_ORIGINALSOURCE__type" />
+       <xsd:element name="DEFINEDTERMBASE_STATISTICALMEASURE" type="DEFINEDTERMBASE_STATISTICALMEASURE__type" />
+       <xsd:element name="DEFINEDTERMBASE_MEDIA" type="DEFINEDTERMBASE_MEDIA__type" />
+       <xsd:element name="MEDIAREPRESENTATIONPART" type="MEDIAREPRESENTATIONPART__type" />
        <xsd:element name="TAXONNAMEBASE_ANNOTATION" type="TAXONNAMEBASE_ANNOTATION__type" />
+       <xsd:element name="AGENTBASE_ANNOTATION" type="AGENTBASE_ANNOTATION__type" />
+       <xsd:element name="SPECIMENOROBSERVATIONBASE_SEQUENCE" type="SPECIMENOROBSERVATIONBASE_SEQUENCE__type" />
+       <xsd:element name="COLLECTION_EXTENSION_AUD" type="COLLECTION_EXTENSION_AUD__type" />
+       <xsd:element name="DESCRIPTIONELEMENTBASE_MEDIA" type="DESCRIPTIONELEMENTBASE_MEDIA__type" />
+       <xsd:element name="DETERMINATIONEVENT_ANNOTATION" type="DETERMINATIONEVENT_ANNOTATION__type" />
+       <xsd:element name="DESCRIPTIONBASE_EXTENSION" type="DESCRIPTIONBASE_EXTENSION__type" />
+       <xsd:element name="DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION" type="DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION__type" />
+       <xsd:element name="DESCRIPTIONELEMENTBASE_MODIFIER" type="DESCRIPTIONELEMENTBASE_MODIFIER__type" />
+       <xsd:element name="SPECIMENOROBSERVATIONBASE_MEDIA" type="SPECIMENOROBSERVATIONBASE_MEDIA__type" />
+       <xsd:element name="REFERENCEBASE_ORIGINALSOURCE_AUD" type="REFERENCEBASE_ORIGINALSOURCE_AUD__type" />
+       <xsd:element name="USER" type="USER__type" />
+       <xsd:element name="TAXONBASE_AUD" type="TAXONBASE_AUD__type" />
+       <xsd:element name="USER_PERMISSIONGROUP" type="USER_PERMISSIONGROUP__type" />
+       <xsd:element name="NOMENCLATURALSTATUS" type="NOMENCLATURALSTATUS__type" />
        <xsd:element name="ORIGINALSOURCE_ANNOTATION" type="ORIGINALSOURCE_ANNOTATION__type" />
-       <xsd:element name="DESCRIPTIONBASE_GEOSCOPE" type="DESCRIPTIONBASE_GEOSCOPE__type" />
+       <xsd:element name="DERIVATIONEVENT_MARKER_AUD" type="DERIVATIONEVENT_MARKER_AUD__type" />
        <xsd:element name="DEFINEDTERMBASE_REPRESENTATION" type="DEFINEDTERMBASE_REPRESENTATION__type" />
-       <xsd:element name="INSTITUTIONALMEMBERSHIP" type="INSTITUTIONALMEMBERSHIP__type" />
-       <xsd:element name="DEFINEDTERMBASE" type="DEFINEDTERMBASE__type" />
-       <xsd:element name="TYPEDESIGNATIONBASE_ANNOTATION" type="TYPEDESIGNATIONBASE_ANNOTATION__type" />
-       <xsd:element name="DESCRIPTIONELEMENTBASE_ANNOTATION" type="DESCRIPTIONELEMENTBASE_ANNOTATION__type" />
-       <xsd:element name="NAMERELATIONSHIP_ANNOTATION" type="NAMERELATIONSHIP_ANNOTATION__type" />
-       <xsd:element name="STATEDATA_DEFINEDTERMBASE" type="STATEDATA_DEFINEDTERMBASE__type" />
-       <xsd:element name="ADDRESS" type="ADDRESS__type" />
-       <xsd:element name="NOMENCLATURALSTATUS_MARKER" type="NOMENCLATURALSTATUS_MARKER__type" />
-       <xsd:element name="HYBRIDRELATIONSHIP_ANNOTATION" type="HYBRIDRELATIONSHIP_ANNOTATION__type" />
-       <xsd:element name="MEDIAREPRESENTATIONPART" type="MEDIAREPRESENTATIONPART__type" />
-       <xsd:element name="SYNONYMRELATIONSHIP" type="SYNONYMRELATIONSHIP__type" />
-       <xsd:element name="CONTACT" type="CONTACT__type" />
+       <xsd:element name="GENBANKACCESSION" type="GENBANKACCESSION__type" />
+       <xsd:element name="REFERENCEBASE_MARKER_AUD" type="REFERENCEBASE_MARKER_AUD__type" />
+       <xsd:element name="HOMOTYPICALGROUP_MARKER" type="HOMOTYPICALGROUP_MARKER__type" />
+       <xsd:element name="AGENTBASE_CONTACT_URLS_AUD" type="AGENTBASE_CONTACT_URLS_AUD__type" />
+       <xsd:element name="DERIVATIONEVENT_DEFINEDTERMBASE_AUD" type="DERIVATIONEVENT_DEFINEDTERMBASE_AUD__type" />
        <xsd:element name="MEDIA_DEFINEDTERMBASE" type="MEDIA_DEFINEDTERMBASE__type" />
-       <xsd:element name="TYPEDESIGNATIONBASE" type="TYPEDESIGNATIONBASE__type" />
-       <xsd:element name="LANGUAGESTRING" type="LANGUAGESTRING__type" />
-       <xsd:element name="HOMOTYPICALGROUP_ANNOTATION" type="HOMOTYPICALGROUP_ANNOTATION__type" />
-       <xsd:element name="HYBRIDRELATIONSHIP_MARKER" type="HYBRIDRELATIONSHIP_MARKER__type" />
-       <xsd:element name="SPECIMENOROBSERVATIONBASE_ANNOTATION" type="SPECIMENOROBSERVATIONBASE_ANNOTATION__type" />
-       <xsd:element name="SEQUENCE_MARKER" type="SEQUENCE_MARKER__type" />
-       <xsd:element name="SEQUENCE_ANNOTATION" type="SEQUENCE_ANNOTATION__type" />
-       <xsd:element name="REFERENCEBASE_EXTENSION" type="REFERENCEBASE_EXTENSION__type" />
-       <xsd:element name="SEQUENCE_EXTENSION" type="SEQUENCE_EXTENSION__type" />
-       <xsd:element name="SYNONYMRELATIONSHIP_ANNOTATION" type="SYNONYMRELATIONSHIP_ANNOTATION__type" />
-       <xsd:element name="TERMVOCABULARY" type="TERMVOCABULARY__type" />
-       <xsd:element name="SPECIMENOROBSERVATIONBASE_SEQUENCE" type="SPECIMENOROBSERVATIONBASE_SEQUENCE__type" />
-       <xsd:element name="EXTENSION" type="EXTENSION__type" />
-       <xsd:element name="DERIVATIONEVENT_ANNOTATION" type="DERIVATIONEVENT_ANNOTATION__type" />
-       <xsd:element name="AGENT_DEFINEDTERMBASE" type="AGENT_DEFINEDTERMBASE__type" />
-       <xsd:complexType name="AGENT_ORIGINALSOURCE__type">
+       <xsd:element name="DESCRIPTIONELEMENTBASE" type="DESCRIPTIONELEMENTBASE__type" />
+       <xsd:element name="MEDIA_ANNOTATION_AUD" type="MEDIA_ANNOTATION_AUD__type" />
+       <xsd:element name="TAXONBASE_RIGHTS_AUD" type="TAXONBASE_RIGHTS_AUD__type" />
+       <xsd:element name="MEDIA_DEFINEDTERMBASE_AUD" type="MEDIA_DEFINEDTERMBASE_AUD__type" />
+       <xsd:element name="SEQUENCE_ORIGINALSOURCE_AUD" type="SEQUENCE_ORIGINALSOURCE_AUD__type" />
+       <xsd:element name="SEQUENCE" type="SEQUENCE__type" />
+       <xsd:element name="STATEDATA_AUD" type="STATEDATA_AUD__type" />
+       <xsd:element name="SPECIMENOROBSERVATIONBASE_AUD" type="SPECIMENOROBSERVATIONBASE_AUD__type" />
+       <xsd:element name="DESCRIPTIONELEMENTBASE_STATEDATA" type="DESCRIPTIONELEMENTBASE_STATEDATA__type" />
+       <xsd:element name="HOMOTYPICALGROUP_ANNOTATION_AUD" type="HOMOTYPICALGROUP_ANNOTATION_AUD__type" />
+       <xsd:element name="LANGUAGESTRING_AUD" type="LANGUAGESTRING_AUD__type" />
+       <xsd:element name="NOMENCLATURALSTATUS_ANNOTATION_AUD" type="NOMENCLATURALSTATUS_ANNOTATION_AUD__type" />
+       <xsd:element name="TAXONBASE_EXTENSION_AUD" type="TAXONBASE_EXTENSION_AUD__type" />
+       <xsd:element name="MEDIAREPRESENTATION_AUD" type="MEDIAREPRESENTATION_AUD__type" />
+       <xsd:element name="DETERMINATIONEVENT_AUD" type="DETERMINATIONEVENT_AUD__type" />
+       <xsd:element name="INSTITUTIONALMEMBERSHIP_AUD" type="INSTITUTIONALMEMBERSHIP_AUD__type" />
+       <xsd:element name="TAXONRELATIONSHIP_ANNOTATION" type="TAXONRELATIONSHIP_ANNOTATION__type" />
+       <xsd:element name="ANNOTATION_MARKER_AUD" type="ANNOTATION_MARKER_AUD__type" />
+       <xsd:element name="ADDRESS_AUD" type="ADDRESS_AUD__type" />
+       <xsd:element name="HOMOTYPICALGROUP_AUD" type="HOMOTYPICALGROUP_AUD__type" />
+       <xsd:element name="MARKER" type="MARKER__type" />
+       <xsd:element name="TYPEDESIGNATIONBASE_MARKER_AUD" type="TYPEDESIGNATIONBASE_MARKER_AUD__type" />
+       <xsd:element name="DEFINEDTERMBASE_SUPPORTEDCATEGORICALENUMERATION_AUD" type="DEFINEDTERMBASE_SUPPORTEDCATEGORICALENUMERATION_AUD__type" />
+       <xsd:element name="INDIVIDUALASSOCIATION_LANGUAGESTRING_AUD" type="INDIVIDUALASSOCIATION_LANGUAGESTRING_AUD__type" />
+       <xsd:element name="TAXONBASE_ANNOTATION_AUD" type="TAXONBASE_ANNOTATION_AUD__type" />
+       <xsd:element name="PERMISSIONGROUP_GRANTEDAUTHORITYIMPL" type="PERMISSIONGROUP_GRANTEDAUTHORITYIMPL__type" />
+       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_ANNOTATION_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONELEMENTBASE_LANGUAGESTRING__type">
+               <xsd:attribute name="MULTILANGUAGETEXT_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TAXONINTERACTION_LANGUAGESTRING_AUD__type">
+               <xsd:attribute name="DESCRIPTION_MAPKEY_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTION_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="AUDITEVENT__type">
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="TIMESTAMP" use="optional" />
+               <xsd:attribute name="REVISIONNUMBER" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TERMVOCABULARY_AUD__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="TERMSOURCEURI" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="URI" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONELEMENTBASE_STATEDATA_AUD__type">
+               <xsd:attribute name="STATES_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DEFINEDTERMBASE_CONTINENT__type">
+               <xsd:attribute name="CONTINENTS_ID" use="optional" />
+               <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TAXONNAMEBASE_HYBRIDRELATIONSHIP_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="HYBRIDRELATIONSHIPS_ID" use="optional" />
+               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="REFERENCEBASE_ANNOTATION__type">
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="REFERENCEBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DETERMINATIONEVENT_MARKER_AUD__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="DETERMINATIONEVENT_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="LANGUAGESTRING_ANNOTATION_AUD__type">
+               <xsd:attribute name="LANGUAGESTRING_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TAXONRELATIONSHIP_ANNOTATION_AUD__type">
+               <xsd:attribute name="TAXONRELATIONSHIP_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="NOMENCLATURALSTATUS_AUD__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="RULECONSIDERED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="CITATION_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
+               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONBASE_ANNOTATION__type">
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SEQUENCE_MEDIA_AUD__type">
+               <xsd:attribute name="SEQUENCE_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="CHROMATOGRAMS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="MEDIA__type">
+               <xsd:attribute name="MEDIACREATED" use="optional" />
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="ARTIST_ID" use="optional" />
+               <xsd:attribute name="CITATION_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="AGENTBASE_DEFINEDTERMBASE__type">
+               <xsd:attribute name="TYPES_ID" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="COLLECTION_AUD__type">
+               <xsd:attribute name="INSTITUTE_ID" use="optional" />
+               <xsd:attribute name="LSID_OBJECT" use="optional" />
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="LSID_NAMESPACE" use="optional" />
+               <xsd:attribute name="LSID_LSID" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="TOWNORLOCATION" use="optional" />
+               <xsd:attribute name="CODESTANDARD" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="TITLECACHE" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
+               <xsd:attribute name="CODE" use="optional" />
+               <xsd:attribute name="NAME" use="optional" />
+               <xsd:attribute name="LSID_REVISION" use="optional" />
+               <xsd:attribute name="LSID_AUTH" use="optional" />
+               <xsd:attribute name="LSID_AUTHORITY" use="optional" />
+               <xsd:attribute name="SUPERCOLLECTION_ID" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DETERMINATIONEVENT__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="PREFERREDFLAG" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="TIMEPERIOD_END" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="ACTOR_ID" use="optional" />
+               <xsd:attribute name="TIMEPERIOD_START" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="MODIFIER_ID" use="optional" />
+               <xsd:attribute name="IDENTIFIEDUNIT_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTION" use="optional" />
+               <xsd:attribute name="TAXON_ID" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="LSIDAUTHORITY__type">
+               <xsd:attribute name="AUTHORITY" use="optional" />
+               <xsd:attribute name="AUTHORITYWSDL" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="SERVER" use="optional" />
+               <xsd:attribute name="URL" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="PORT" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="RIGHTS_MARKER__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="RIGHTS_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="LANGUAGESTRING_MARKER_AUD__type">
+               <xsd:attribute name="LANGUAGESTRING_ID" use="optional" />
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SEQUENCE_GENBANKACCESSION__type">
+               <xsd:attribute name="SEQUENCE_ID" use="optional" />
+               <xsd:attribute name="GENBANKACCESSION_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DETERMINATIONEVENT_MARKER__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="DETERMINATIONEVENT_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="REPRESENTATION__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="LABEL" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="ABBREVIATEDLABEL" use="optional" />
+               <xsd:attribute name="LANGUAGE_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="TEXT" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="REFERENCEBASE_ANNOTATION_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="REFERENCEBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TERMVOCABULARY_REPRESENTATION__type">
+               <xsd:attribute name="TERMVOCABULARY_ID" use="optional" />
+               <xsd:attribute name="REPRESENTATIONS_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="FEATURENODE__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="FEATURE_ID" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="PARENT_FK" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="REPRESENTATION_MARKER_AUD__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REPRESENTATION_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="NAMERELATIONSHIP_ANNOTATION__type">
+               <xsd:attribute name="NAMERELATIONSHIP_ID" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="FEATURETREE__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONSEPARATED" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="ROOT_ID" use="optional" />
+               <xsd:attribute name="URI" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_RIGHTS__type">
+               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
+               <xsd:attribute name="RIGHTS_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONBASE__type">
+               <xsd:attribute name="LSID_OBJECT" use="optional" />
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="LSID_NAMESPACE" use="optional" />
+               <xsd:attribute name="LSID_LSID" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="TITLECACHE" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
+               <xsd:attribute name="TAXONNAME_FK" use="optional" />
+               <xsd:attribute name="TAXON_FK" use="optional" />
+               <xsd:attribute name="LSID_REVISION" use="optional" />
+               <xsd:attribute name="LSID_AUTH" use="optional" />
+               <xsd:attribute name="LSID_AUTHORITY" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="STATISTICALMEASUREMENTVALUE__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="VALUE" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="STATEDATA_DEFINEDTERMBASE_AUD__type">
+               <xsd:attribute name="STATEDATA_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="MODIFIERS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_MARKER_AUD__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TAXONNAMEBASE_NOMENCLATURALSTATUS__type">
+               <xsd:attribute name="STATUS_ID" use="optional" />
+               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="AGENTBASE_ADDRESS__type">
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+               <xsd:attribute name="CONTACT_ADDRESSES_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DETERMINATIONEVENT_ANNOTATION_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="DETERMINATIONEVENT_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="LOCUS__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="NAME" use="optional" />
+               <xsd:attribute name="DESCRIPTION" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="MEDIA_ANNOTATION__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="GRANTEDAUTHORITYIMPL__type">
+               <xsd:attribute name="AUTHORITY" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TAXONNAMEBASE_ORIGINALSOURCE__type">
+               <xsd:attribute name="SOURCES_ID" use="optional" />
+               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="HYBRIDRELATIONSHIP_MARKER__type">
+               <xsd:attribute name="HYBRIDRELATIONSHIP_ID" use="optional" />
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SEQUENCE_RIGHTS_AUD__type">
+               <xsd:attribute name="SEQUENCE_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="RIGHTS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONBASE_EXTENSION_AUD__type">
+               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SYNONYMRELATIONSHIP_MARKER_AUD__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="SYNONYMRELATIONSHIP_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TYPEDESIGNATIONBASE_TAXONNAMEBASE_AUD__type">
+               <xsd:attribute name="TYPEDESIGNATIONBASE_ID" use="optional" />
+               <xsd:attribute name="TYPIFIEDNAMES_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="MEDIA_AUD__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="CITATION_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="MEDIACREATED" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
+               <xsd:attribute name="ARTIST_ID" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_EXTENSION__type">
+               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
+               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="RIGHTS_AUD__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="AGENT_ID" use="optional" />
+               <xsd:attribute name="LANGUAGE_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="TEXT" use="optional" />
+               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="ABBREVIATEDTEXT" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="URI" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TYPEDESIGNATIONBASE_ANNOTATION_AUD__type">
+               <xsd:attribute name="TYPEDESIGNATIONBASE_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_MEDIA_AUD__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DERIVATIONEVENT_DEFINEDTERMBASE__type">
+               <xsd:attribute name="COLLECTINGAREAS_ID" use="optional" />
+               <xsd:attribute name="DERIVATIONEVENT_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="AGENTBASE_CONTACT_EMAILADDRESSES__type">
+               <xsd:attribute name="CONTACT_EMAILADDRESSES_ELEMENT" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="REPRESENTATION_MARKER__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="REPRESENTATION_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="REFERENCEBASE_MEDIA_AUD__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REFERENCEBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="AGENTBASE_MEDIA_AUD__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TAXONBASE_MARKER_AUD__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="TAXONBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DEFINEDTERMBASE_REPRESENTATION_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REPRESENTATIONS_ID" use="optional" />
+               <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="ORIGINALSOURCE_MARKER_AUD__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="ORIGINALSOURCE_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_LANGUAGESTRING_AUD__type">
+               <xsd:attribute name="DESCRIPTION_MAPKEY_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTION_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONBASE_ANNOTATION_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DEFINEDTERMBASE_STATISTICALMEASURE_AUD__type">
+               <xsd:attribute name="RECOMMENDEDSTATISTICALMEASURES_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="HOMOTYPICALGROUP_ANNOTATION__type">
+               <xsd:attribute name="HOMOTYPICALGROUP_ID" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="AGENTBASE_CONTACT_EMAILADDRESSES_AUD__type">
+               <xsd:attribute name="CONTACT_EMAILADDRESSES_ELEMENT" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="NAMERELATIONSHIP_MARKER_AUD__type">
+               <xsd:attribute name="NAMERELATIONSHIP_ID" use="optional" />
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONBASE_REFERENCEBASE__type">
+               <xsd:attribute name="DESCRIPTIONSOURCES_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SEQUENCE_AUD__type">
+               <xsd:attribute name="LSID_OBJECT" use="optional" />
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="LSID_NAMESPACE" use="optional" />
+               <xsd:attribute name="LSID_LSID" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="DATESEQUENCED" use="optional" />
+               <xsd:attribute name="BARCODE" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="SEQUENCE" use="optional" />
+               <xsd:attribute name="LENGTH" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="TITLECACHE" use="optional" />
+               <xsd:attribute name="LOCUS_ID" use="optional" />
+               <xsd:attribute name="PUBLISHEDIN_ID" use="optional" />
+               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
+               <xsd:attribute name="LSID_REVISION" use="optional" />
+               <xsd:attribute name="LSID_AUTH" use="optional" />
+               <xsd:attribute name="LSID_AUTHORITY" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="EXTENSION__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="EXTENDEDOBJ_TYPE" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="EXTENDEDOBJ_ID" use="optional" />
+               <xsd:attribute name="VALUE" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONBASE_RIGHTS_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
+               <xsd:attribute name="RIGHTS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONBASE_RIGHTS__type">
+               <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
+               <xsd:attribute name="RIGHTS_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="ADDRESS__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="LOCATION_LATITUDE" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="LOCATION_LONGITUDE" use="optional" />
+               <xsd:attribute name="POBOX" use="optional" />
+               <xsd:attribute name="POSTCODE" use="optional" />
+               <xsd:attribute name="STREET" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="REGION" use="optional" />
+               <xsd:attribute name="LOCATION_ERRORRADIUS" use="optional" />
+               <xsd:attribute name="LOCALITY" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="LOCATION_REFERENCESYSTEM_ID" use="optional" />
+               <xsd:attribute name="COUNTRY_ID" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SEQUENCE_ANNOTATION_AUD__type">
+               <xsd:attribute name="SEQUENCE_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="HYBRIDRELATIONSHIP_AUD__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="RULECONSIDERED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="CITATION_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
+               <xsd:attribute name="DOUBTFUL" use="optional" />
+               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="RELATEDTO_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
+               <xsd:attribute name="RELATEDFROM_ID" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="AGENTBASE__type">
+               <xsd:attribute name="LSID_NAMESPACE" use="optional" />
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="LASTNAME" use="optional" />
+               <xsd:attribute name="LIFESPAN_END" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="LSID_REVISION" use="optional" />
+               <xsd:attribute name="LSID_AUTHORITY" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="LSID_OBJECT" use="optional" />
+               <xsd:attribute name="PREFIX" use="optional" />
+               <xsd:attribute name="LSID_LSID" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="NOMENCLATURALTITLE" use="optional" />
+               <xsd:attribute name="FIRSTNAME" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="TITLECACHE" use="optional" />
+               <xsd:attribute name="ISPARTOF_ID" use="optional" />
+               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
+               <xsd:attribute name="CODE" use="optional" />
+               <xsd:attribute name="NAME" use="optional" />
+               <xsd:attribute name="SUFFIX" use="optional" />
+               <xsd:attribute name="LSID_AUTH" use="optional" />
+               <xsd:attribute name="PROTECTEDNOMENCLATURALTITLECACHE" use="optional" />
+               <xsd:attribute name="LIFESPAN_START" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="HYBRIDRELATIONSHIP_ANNOTATION_AUD__type">
+               <xsd:attribute name="HYBRIDRELATIONSHIP_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="NAMERELATIONSHIP_AUD__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="RULECONSIDERED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="CITATION_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
+               <xsd:attribute name="DOUBTFUL" use="optional" />
+               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="RELATEDTO_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
+               <xsd:attribute name="RELATEDFROM_ID" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="ANNOTATION_ANNOTATION__type">
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="ANNOTATION_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="COLLECTION__type">
+               <xsd:attribute name="INSTITUTE_ID" use="optional" />
+               <xsd:attribute name="LSID_OBJECT" use="optional" />
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="LSID_NAMESPACE" use="optional" />
+               <xsd:attribute name="LSID_LSID" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="TOWNORLOCATION" use="optional" />
+               <xsd:attribute name="CODESTANDARD" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="TITLECACHE" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
+               <xsd:attribute name="CODE" use="optional" />
+               <xsd:attribute name="NAME" use="optional" />
+               <xsd:attribute name="LSID_REVISION" use="optional" />
+               <xsd:attribute name="LSID_AUTH" use="optional" />
+               <xsd:attribute name="LSID_AUTHORITY" use="optional" />
+               <xsd:attribute name="SUPERCOLLECTION_ID" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DEFINEDTERMBASE_CONTINENT_AUD__type">
+               <xsd:attribute name="CONTINENTS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TAXONNAMEBASE_RIGHTS_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="RIGHTS_ID" use="optional" />
+               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TAXONNAMEBASE_ORIGINALSOURCE_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="SOURCES_ID" use="optional" />
+               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="MEDIA_TAXONBASE__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="COVEREDTAXA_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_MARKER__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DEFINEDTERMBASE_AUD__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="SUPPORTSINDIVIDUALASSOCIATION" use="optional" />
+               <xsd:attribute name="SUPPORTSCOMMONTAXONNAME" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ORDERINDEX" use="optional" />
+               <xsd:attribute name="SUPPORTSTAXONINTERACTION" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="SUPPORTSTEXTDATA" use="optional" />
+               <xsd:attribute name="DEFAULTCOLOR" use="optional" />
+               <xsd:attribute name="SYMMETRIC" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="ISO3166_A2" use="optional" />
+               <xsd:attribute name="SUPPORTSQUANTITATIVEDATA" use="optional" />
+               <xsd:attribute name="URI" use="optional" />
+               <xsd:attribute name="POINTAPPROXIMATION_LATITUDE" use="optional" />
+               <xsd:attribute name="KINDOF_ID" use="optional" />
+               <xsd:attribute name="POINTAPPROXIMATION_LONGITUDE" use="optional" />
+               <xsd:attribute name="VOCABULARY_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="VALIDPERIOD_START" use="optional" />
+               <xsd:attribute name="SHAPE_ID" use="optional" />
+               <xsd:attribute name="SUPPORTSDISTRIBUTION" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="ISO639_2" use="optional" />
+               <xsd:attribute name="VALIDPERIOD_END" use="optional" />
+               <xsd:attribute name="POINTAPPROXIMATION_ERRORRADIUS" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="LEVEL_ID" use="optional" />
+               <xsd:attribute name="ISO639_1" use="optional" />
+               <xsd:attribute name="POINTAPPROXIMATION_REFERENCESYSTEM_ID" use="optional" />
+               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="TRANSITIVE" use="optional" />
+               <xsd:attribute name="PARTOF_ID" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="COLLECTION_ANNOTATION_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="COLLECTION_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONELEMENTBASE_MODIFIER_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="MODIFIERS_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="EXTENSION_AUD__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="VALUE" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SEQUENCE_REFERENCEBASE_AUD__type">
+               <xsd:attribute name="SEQUENCE_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="CITATIONS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="REFERENCEBASE_EXTENSION_AUD__type">
+               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REFERENCEBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="HOMOTYPICALGROUP__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SEQUENCE_REFERENCEBASE__type">
+               <xsd:attribute name="SEQUENCE_ID" use="optional" />
+               <xsd:attribute name="CITATIONS_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TYPEDESIGNATIONBASE_ANNOTATION__type">
+               <xsd:attribute name="TYPEDESIGNATIONBASE_ID" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="AGENTBASE_MEDIA__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONELEMENTBASE_MARKER_AUD__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="ORIGINALSOURCE_MARKER__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="ORIGINALSOURCE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TAXONNAMEBASE_AUD__type">
+               <xsd:attribute name="PROTECTEDAUTHORSHIPCACHE" use="optional" />
+               <xsd:attribute name="HYBRIDFORMULA" use="optional" />
+               <xsd:attribute name="BINOMHYBRID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="SPECIFICEPITHET" use="optional" />
+               <xsd:attribute name="NAMECACHE" use="optional" />
+               <xsd:attribute name="BREED" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="EXCOMBINATIONAUTHORTEAM_ID" use="optional" />
+               <xsd:attribute name="LSID_LSID" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="SUBGENUSAUTHORSHIP" use="optional" />
+               <xsd:attribute name="INFRASPECIFICEPITHET" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="GENUSORUNINOMIAL" use="optional" />
+               <xsd:attribute name="HOMOTYPICALGROUP_ID" use="optional" />
+               <xsd:attribute name="INFRAGENERICEPITHET" use="optional" />
+               <xsd:attribute name="PROBLEMSTARTS" use="optional" />
+               <xsd:attribute name="ACRONYM" use="optional" />
+               <xsd:attribute name="PROTECTEDNAMECACHE" use="optional" />
+               <xsd:attribute name="MONOMHYBRID" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="LSID_NAMESPACE" use="optional" />
+               <xsd:attribute name="NOMENCLATURALREFERENCE_ID" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="COMBINATIONAUTHORTEAM_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="PROTECTEDFULLTITLECACHE" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="LSID_REVISION" use="optional" />
+               <xsd:attribute name="NAMEAPPROBATION" use="optional" />
+               <xsd:attribute name="LSID_AUTHORITY" use="optional" />
+               <xsd:attribute name="ORIGINALPUBLICATIONYEAR" use="optional" />
+               <xsd:attribute name="LSID_OBJECT" use="optional" />
+               <xsd:attribute name="RANK_ID" use="optional" />
+               <xsd:attribute name="ANAMORPHIC" use="optional" />
+               <xsd:attribute name="HASPROBLEM" use="optional" />
+               <xsd:attribute name="EXBASIONYMAUTHORTEAM_ID" use="optional" />
+               <xsd:attribute name="FULLTITLECACHE" use="optional" />
+               <xsd:attribute name="BASIONYMAUTHORTEAM_ID" use="optional" />
+               <xsd:attribute name="NOMENCLATURALMICROREFERENCE" use="optional" />
+               <xsd:attribute name="TRINOMHYBRID" use="optional" />
+               <xsd:attribute name="APPENDEDPHRASE" use="optional" />
+               <xsd:attribute name="TITLECACHE" use="optional" />
+               <xsd:attribute name="CULTIVARNAME" use="optional" />
+               <xsd:attribute name="PROBLEMENDS" use="optional" />
+               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
+               <xsd:attribute name="LSID_AUTH" use="optional" />
+               <xsd:attribute name="AUTHORSHIPCACHE" use="optional" />
+               <xsd:attribute name="PUBLICATIONYEAR" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="ANNOTATION_AUD__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="ANNOTATIONTYPE_ID" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="LANGUAGE_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="TEXT" use="optional" />
+               <xsd:attribute name="COMMENTATOR_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="LINKBACKURL" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="AGENTBASE_CONTACT_FAXNUMBERS__type">
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+               <xsd:attribute name="CONTACT_FAXNUMBERS_ELEMENT" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="HYBRIDRELATIONSHIP_ANNOTATION__type">
+               <xsd:attribute name="HYBRIDRELATIONSHIP_ID" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SYNONYMRELATIONSHIP__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="PARTIAL" use="optional" />
+               <xsd:attribute name="CITATION_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
+               <xsd:attribute name="DOUBTFUL" use="optional" />
+               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="RELATEDTO_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
+               <xsd:attribute name="RELATEDFROM_ID" use="optional" />
+               <xsd:attribute name="PROPARTE" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DEFINEDTERMBASE__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="SUPPORTSINDIVIDUALASSOCIATION" use="optional" />
+               <xsd:attribute name="SUPPORTSCOMMONTAXONNAME" use="optional" />
+               <xsd:attribute name="ORDERINDEX" use="optional" />
+               <xsd:attribute name="SUPPORTSTAXONINTERACTION" use="optional" />
+               <xsd:attribute name="SUPPORTSTEXTDATA" use="optional" />
+               <xsd:attribute name="DEFAULTCOLOR" use="optional" />
+               <xsd:attribute name="SYMMETRIC" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="ISO3166_A2" use="optional" />
+               <xsd:attribute name="SUPPORTSQUANTITATIVEDATA" use="optional" />
+               <xsd:attribute name="URI" use="optional" />
+               <xsd:attribute name="POINTAPPROXIMATION_LATITUDE" use="optional" />
+               <xsd:attribute name="KINDOF_ID" use="optional" />
+               <xsd:attribute name="POINTAPPROXIMATION_LONGITUDE" use="optional" />
+               <xsd:attribute name="VOCABULARY_ID" use="optional" />
+               <xsd:attribute name="SHAPE_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="VALIDPERIOD_START" use="optional" />
+               <xsd:attribute name="SUPPORTSDISTRIBUTION" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="ISO639_2" use="optional" />
+               <xsd:attribute name="VALIDPERIOD_END" use="optional" />
+               <xsd:attribute name="POINTAPPROXIMATION_ERRORRADIUS" use="optional" />
+               <xsd:attribute name="LEVEL_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="ISO639_1" use="optional" />
+               <xsd:attribute name="POINTAPPROXIMATION_REFERENCESYSTEM_ID" use="optional" />
+               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="TRANSITIVE" use="optional" />
+               <xsd:attribute name="PARTOF_ID" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="PERSON_KEYWORD__type">
+               <xsd:attribute name="KEYWORD_FK" use="optional" />
+               <xsd:attribute name="PERSON_FK" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TYPEDESIGNATIONBASE_MARKER__type">
+               <xsd:attribute name="TYPEDESIGNATIONBASE_ID" use="optional" />
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONBASE_GEOSCOPE__type">
+               <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
+               <xsd:attribute name="GEOSCOPES_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="AGENTBASE_CONTACT_URLS__type">
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+               <xsd:attribute name="CONTACT_URLS_ELEMENT" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="MARKER_AUD__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="FLAG" use="optional" />
+               <xsd:attribute name="MARKERTYPE_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TAXONBASE_ANNOTATION__type">
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="TAXONBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONBASE_AUD__type">
+               <xsd:attribute name="LSID_OBJECT" use="optional" />
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="LSID_NAMESPACE" use="optional" />
+               <xsd:attribute name="LSID_LSID" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="TITLECACHE" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
+               <xsd:attribute name="TAXONNAME_FK" use="optional" />
+               <xsd:attribute name="TAXON_FK" use="optional" />
+               <xsd:attribute name="LSID_REVISION" use="optional" />
+               <xsd:attribute name="LSID_AUTH" use="optional" />
+               <xsd:attribute name="LSID_AUTHORITY" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="REFERENCEBASE_EXTENSION__type">
+               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
+               <xsd:attribute name="REFERENCEBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="AGENTBASE_CONTACT_PHONENUMBERS__type">
+               <xsd:attribute name="CONTACT_PHONENUMBERS_ELEMENT" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="AGENTBASE_MARKER_AUD__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="LANGUAGESTRING_ANNOTATION__type">
+               <xsd:attribute name="LANGUAGESTRING_ID" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TAXONBASE_MARKER__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="TAXONBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="CDM_VIEW_CDM_VIEW__type">
+               <xsd:attribute name="SUPERVIEWS_ID" use="optional" />
+               <xsd:attribute name="CDM_VIEW_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="STATISTICALVALUES_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="IDENTIFICATIONKEY_TAXON_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="TAXON_FK" use="optional" />
+               <xsd:attribute name="IDENTIFICATIONKEY_FK" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TERMVOCABULARY__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="TERMSOURCEURI" use="optional" />
+               <xsd:attribute name="URI" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONBASE_ORIGINALSOURCE_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
+               <xsd:attribute name="SOURCES_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DERIVATIONEVENT_MARKER__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="DERIVATIONEVENT_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="ORIGINALSOURCE_AUD__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="IDNAMESPACE" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="CITATION_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
+               <xsd:attribute name="IDINSOURCE" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONBASE_SCOPE_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
+               <xsd:attribute name="SCOPES_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONELEMENTBASE_AUD__type">
+               <xsd:attribute name="ASSOCIATEDSPECIMENOROBSERVATION_ID" use="optional" />
+               <xsd:attribute name="TAXON2_ID" use="optional" />
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UNIT_ID" use="optional" />
+               <xsd:attribute name="INDESCRIPTION_ID" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="LANGUAGE_ID" use="optional" />
+               <xsd:attribute name="CITATION_ID" use="optional" />
+               <xsd:attribute name="STATUS_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
+               <xsd:attribute name="FORMAT_ID" use="optional" />
+               <xsd:attribute name="FEATURE_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
+               <xsd:attribute name="ORDERRELEVANT" use="optional" />
+               <xsd:attribute name="NAME" use="optional" />
+               <xsd:attribute name="AREA_ID" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="MEDIAREPRESENTATION__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="SUFFIX" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="MIMETYPE" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="REPRESENTATION_AUD__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="LABEL" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="ABBREVIATEDLABEL" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="LANGUAGE_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="TEXT" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE__type">
+               <xsd:attribute name="STATISTICALVALUES_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="MEDIA_TAXONBASE_AUD__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="COVEREDTAXA_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONELEMENTBASE_ANNOTATION_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="ANNOTATION_MARKER__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="ANNOTATION_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="STATISTICALMEASUREMENTVALUE_AUD__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="VALUE" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="REPRESENTATION_ANNOTATION__type">
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="REPRESENTATION_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TAXONNAMEBASE_RIGHTS__type">
+               <xsd:attribute name="RIGHTS_ID" use="optional" />
+               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONELEMENTBASE_LANGUAGESTRING_AUD__type">
+               <xsd:attribute name="MULTILANGUAGETEXT_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="NAMERELATIONSHIP__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="RULECONSIDERED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="CITATION_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
+               <xsd:attribute name="DOUBTFUL" use="optional" />
+               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="RELATEDTO_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
+               <xsd:attribute name="RELATEDFROM_ID" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="REFERENCEBASE_ORIGINALSOURCE__type">
+               <xsd:attribute name="SOURCES_ID" use="optional" />
+               <xsd:attribute name="REFERENCEBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONELEMENTBASE_MARKER__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE__type">
+               <xsd:attribute name="STATISTICALMEASUREMENTVALUE_ID" use="optional" />
+               <xsd:attribute name="MODIFIERS_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SEQUENCE_ORIGINALSOURCE__type">
+               <xsd:attribute name="SEQUENCE_ID" use="optional" />
+               <xsd:attribute name="SOURCES_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="COLLECTION_EXTENSION__type">
+               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
+               <xsd:attribute name="COLLECTION_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TAXONNAMEBASE_HYBRIDRELATIONSHIP__type">
+               <xsd:attribute name="HYBRIDRELATIONSHIPS_ID" use="optional" />
+               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SYNONYMRELATIONSHIP_MARKER__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="SYNONYMRELATIONSHIP_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="COLLECTION_ANNOTATION__type">
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="COLLECTION_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="MEDIA_LANGUAGESTRING__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="TITLE_ID" use="optional" />
+               <xsd:attribute name="TITLE_MAPKEY_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TAXONBASE_EXTENSION__type">
+               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
+               <xsd:attribute name="TAXONBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="MEDIA_SEQUENCE__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="USEDSEQUENCES_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="MEDIA_DESCRIPTION__type">
+               <xsd:attribute name="DESCRIPTION_MAPKEY_ID" use="optional" />
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTION_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="COLLECTION_RIGHTS_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="COLLECTION_ID" use="optional" />
+               <xsd:attribute name="RIGHTS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="NOMENCLATURALSTATUS_MARKER__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="NOMENCLATURALSTATUS_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE__type">
                <xsd:attribute name="SOURCES_ID" use="optional" />
+               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="AGENTBASE_AGENTBASE__type">
+               <xsd:attribute name="TEAMMEMBERS_ID" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TYPEDESIGNATIONBASE_AUD__type">
+               <xsd:attribute name="TYPENAME_ID" use="optional" />
+               <xsd:attribute name="TYPESTATUS_ID" use="optional" />
+               <xsd:attribute name="LECTOTYPE" use="optional" />
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="CONSERVEDTYPE" use="optional" />
+               <xsd:attribute name="CITATION_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
+               <xsd:attribute name="HOMOTYPICALGROUP_ID" use="optional" />
+               <xsd:attribute name="NOTDESIGNATED" use="optional" />
+               <xsd:attribute name="REJECTEDTYPE" use="optional" />
+               <xsd:attribute name="TYPESPECIMEN_ID" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="AGENTBASE_CONTACT_PHONENUMBERS_AUD__type">
+               <xsd:attribute name="CONTACT_PHONENUMBERS_ELEMENT" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="COLLECTION_RIGHTS__type">
+               <xsd:attribute name="COLLECTION_ID" use="optional" />
+               <xsd:attribute name="RIGHTS_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="RIGHTS__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="ABBREVIATEDTEXT" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
                <xsd:attribute name="AGENT_ID" use="optional" />
+               <xsd:attribute name="URI" use="optional" />
+               <xsd:attribute name="LANGUAGE_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="TEXT" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="TAXONRELATIONSHIP_MARKER__type">
+       <xsd:complexType name="TAXONNAMEBASE_EXTENSION_AUD__type">
+               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="PERSON_KEYWORD_AUD__type">
+               <xsd:attribute name="KEYWORD_FK" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="PERSON_FK" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="SOURCES_ID" use="optional" />
+               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DERIVATIONEVENT_ANNOTATION_AUD__type">
+               <xsd:attribute name="DERIVATIONEVENT_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="MEDIA_DESCRIPTION_AUD__type">
+               <xsd:attribute name="DESCRIPTION_MAPKEY_ID" use="optional" />
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTION_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="COLLECTION_MARKER__type">
                <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="TAXONRELATIONSHIP_ID" use="optional" />
+               <xsd:attribute name="COLLECTION_ID" use="optional" />
        </xsd:complexType>
        <xsd:complexType name="TAXONNAMEBASE__type">
-               <xsd:attribute name="ANAMORPHIC" use="optional" />
-               <xsd:attribute name="TRINOMHYBRID" use="optional" />
-               <xsd:attribute name="PROBLEMENDS" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="PROTECTEDAUTHORSHIPCACHE" use="optional" />
+               <xsd:attribute name="HYBRIDFORMULA" use="optional" />
+               <xsd:attribute name="BINOMHYBRID" use="optional" />
+               <xsd:attribute name="SPECIFICEPITHET" use="optional" />
+               <xsd:attribute name="NAMECACHE" use="optional" />
                <xsd:attribute name="BREED" use="optional" />
-               <xsd:attribute name="HASPROBLEM" use="optional" />
-               <xsd:attribute name="INFRAGENERICEPITHET" use="optional" />
-               <xsd:attribute name="APPENDEDPHRASE" use="optional" />
-               <xsd:attribute name="ACRONYM" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
                <xsd:attribute name="EXCOMBINATIONAUTHORTEAM_ID" use="optional" />
-               <xsd:attribute name="EXBASIONYMAUTHORTEAM_ID" use="optional" />
+               <xsd:attribute name="LSID_LSID" use="optional" />
                <xsd:attribute name="DTYPE" use="optional" />
-               <xsd:attribute name="PROTECTEDNAMECACHE" use="optional" />
-               <xsd:attribute name="HYBRIDFORMULA" use="optional" />
-               <xsd:attribute name="NAMECACHE" use="optional" />
-               <xsd:attribute name="BASIONYMAUTHORTEAM_ID" use="optional" />
-               <xsd:attribute name="FULLTITLECACHE" use="optional" />
-               <xsd:attribute name="ORIGINALPUBLICATIONYEAR" use="optional" />
+               <xsd:attribute name="INFRASPECIFICEPITHET" use="optional" />
+               <xsd:attribute name="SUBGENUSAUTHORSHIP" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="GENUSORUNINOMIAL" use="optional" />
+               <xsd:attribute name="INFRAGENERICEPITHET" use="optional" />
                <xsd:attribute name="HOMOTYPICALGROUP_ID" use="optional" />
                <xsd:attribute name="PROBLEMSTARTS" use="optional" />
-               <xsd:attribute name="AUTHORSHIPCACHE" use="optional" />
-               <xsd:attribute name="PROTECTEDAUTHORSHIPCACHE" use="optional" />
-               <xsd:attribute name="SPECIFICEPITHET" use="optional" />
-               <xsd:attribute name="GENUSORUNINOMIAL" use="optional" />
-               <xsd:attribute name="LSID" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="BINOMHYBRID" use="optional" />
-               <xsd:attribute name="NOMENCLATURALMICROREFERENCE" use="optional" />
+               <xsd:attribute name="ACRONYM" use="optional" />
+               <xsd:attribute name="PROTECTEDNAMECACHE" use="optional" />
+               <xsd:attribute name="MONOMHYBRID" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="LSID_NAMESPACE" use="optional" />
+               <xsd:attribute name="NOMENCLATURALREFERENCE_ID" use="optional" />
                <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="PUBLICATIONYEAR" use="optional" />
                <xsd:attribute name="COMBINATIONAUTHORTEAM_ID" use="optional" />
+               <xsd:attribute name="PROTECTEDFULLTITLECACHE" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="LSID_REVISION" use="optional" />
                <xsd:attribute name="NAMEAPPROBATION" use="optional" />
-               <xsd:attribute name="TITLECACHE" use="optional" />
+               <xsd:attribute name="LSID_AUTHORITY" use="optional" />
+               <xsd:attribute name="ORIGINALPUBLICATIONYEAR" use="optional" />
+               <xsd:attribute name="LSID_OBJECT" use="optional" />
                <xsd:attribute name="RANK_ID" use="optional" />
-               <xsd:attribute name="MONOMHYBRID" use="optional" />
-               <xsd:attribute name="PROTECTEDFULLTITLECACHE" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="SUBGENUSAUTHORSHIP" use="optional" />
+               <xsd:attribute name="ANAMORPHIC" use="optional" />
+               <xsd:attribute name="HASPROBLEM" use="optional" />
+               <xsd:attribute name="EXBASIONYMAUTHORTEAM_ID" use="optional" />
+               <xsd:attribute name="FULLTITLECACHE" use="optional" />
+               <xsd:attribute name="BASIONYMAUTHORTEAM_ID" use="optional" />
+               <xsd:attribute name="NOMENCLATURALMICROREFERENCE" use="optional" />
+               <xsd:attribute name="TRINOMHYBRID" use="optional" />
+               <xsd:attribute name="APPENDEDPHRASE" use="optional" />
+               <xsd:attribute name="TITLECACHE" use="optional" />
                <xsd:attribute name="CULTIVARNAME" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="INFRASPECIFICEPITHET" use="optional" />
-               <xsd:attribute name="NOMENCLATURALREFERENCE_ID" use="optional" />
+               <xsd:attribute name="PROBLEMENDS" use="optional" />
                <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
+               <xsd:attribute name="AUTHORSHIPCACHE" use="optional" />
+               <xsd:attribute name="LSID_AUTH" use="optional" />
+               <xsd:attribute name="PUBLICATIONYEAR" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="REFERENCEBASE_MARKER__type">
-               <xsd:attribute name="REFERENCEBASE_ID" use="optional" />
-               <xsd:attribute name="MARKERS_ID" use="optional" />
+       <xsd:complexType name="SEQUENCE_GENBANKACCESSION_AUD__type">
+               <xsd:attribute name="SEQUENCE_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="GENBANKACCESSION_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DETERMINATIONEVENT_REFERENCEBASE__type">
-               <xsd:attribute name="REFERENCES_ID" use="optional" />
-               <xsd:attribute name="DETERMINATIONEVENT_ID" use="optional" />
+       <xsd:complexType name="STATEDATA_LANGUAGESTRING__type">
+               <xsd:attribute name="STATEDATA_ID" use="optional" />
+               <xsd:attribute name="MODIFYINGTEXT_ID" use="optional" />
+               <xsd:attribute name="MODIFYINGTEXT_MAPKEY_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="COLLECTION_MEDIA_AUD__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="COLLECTION_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="GATHERINGEVENT_ANNOTATION__type">
+       <xsd:complexType name="DESCRIPTIONELEMENTBASE_MODIFYINGTEXT_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="MODIFYINGTEXT_ID" use="optional" />
+               <xsd:attribute name="MODIFYINGTEXT_MAPKEY_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONELEMENTBASE_ANNOTATION__type">
                <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="GATHERINGEVENT_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="CDM_VIEW__type">
-               <xsd:attribute name="REFERENCE" use="optional" />
-               <xsd:attribute name="NAME" use="optional" />
-               <xsd:attribute name="DESCRIPTION" use="optional" />
+       <xsd:complexType name="TAXONRELATIONSHIP__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="CITATION_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
+               <xsd:attribute name="DOUBTFUL" use="optional" />
+               <xsd:attribute name="RELATEDTO_ID" use="optional" />
+               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
+               <xsd:attribute name="RELATEDFROM_ID" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SYNONYMRELATIONSHIP_ANNOTATION_AUD__type">
+               <xsd:attribute name="SYNONYMRELATIONSHIP_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SYNONYMRELATIONSHIP_AUD__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="PARTIAL" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="CITATION_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
+               <xsd:attribute name="DOUBTFUL" use="optional" />
+               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="RELATEDTO_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
+               <xsd:attribute name="RELATEDFROM_ID" use="optional" />
+               <xsd:attribute name="PROPARTE" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="NAMERELATIONSHIP_ANNOTATION_AUD__type">
+               <xsd:attribute name="NAMERELATIONSHIP_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="COLLECTION_ORIGINALSOURCE__type">
+               <xsd:attribute name="SOURCES_ID" use="optional" />
+               <xsd:attribute name="COLLECTION_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="COLLECTION_ORIGINALSOURCE_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="SOURCES_ID" use="optional" />
+               <xsd:attribute name="COLLECTION_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SPECIMENOROBSERVATIONBASE__type">
+               <xsd:attribute name="LSID_NAMESPACE" use="optional" />
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="STOREDUNDER_ID" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="PRESERVATION_ID" use="optional" />
+               <xsd:attribute name="COLLECTION_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="SEX_ID" use="optional" />
+               <xsd:attribute name="LSID_REVISION" use="optional" />
+               <xsd:attribute name="LSID_AUTHORITY" use="optional" />
+               <xsd:attribute name="FIELDNOTES" use="optional" />
+               <xsd:attribute name="FIELDNUMBER" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="INDIVIDUALCOUNT" use="optional" />
+               <xsd:attribute name="CATALOGNUMBER" use="optional" />
+               <xsd:attribute name="LSID_OBJECT" use="optional" />
+               <xsd:attribute name="LSID_LSID" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="LIFESTAGE_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="TITLECACHE" use="optional" />
+               <xsd:attribute name="DERIVATIONEVENT_ID" use="optional" />
+               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
+               <xsd:attribute name="LSID_AUTH" use="optional" />
+               <xsd:attribute name="ACCESSIONNUMBER" use="optional" />
+               <xsd:attribute name="COLLECTORSNUMBER" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="RELATIONSHIPTERMBASE_INVERSEREPRESENTATION_AUD__type">
+               <xsd:attribute name="INVERSEREPRESENTATIONS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="FEATURENODE_AUD__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="FEATURE_ID" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="PARENT_FK" use="optional" />
                <xsd:attribute name="CREATEDBY_ID" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="SEQUENCE_GENBANKACCESSION__type">
-               <xsd:attribute name="GENBANKACCESSION_ID" use="optional" />
-               <xsd:attribute name="SEQUENCE_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="DETERMINATIONEVENT_ANNOTATION__type">
-               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="DETERMINATIONEVENT_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="STATISTICALMEASUREMENTVALUE__type">
-               <xsd:attribute name="VALUE" use="optional" />
+       <xsd:complexType name="ORIGINALSOURCE__type">
                <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="IDNAMESPACE" use="optional" />
+               <xsd:attribute name="SOURCEDOBJ_ID" use="optional" />
+               <xsd:attribute name="CITATION_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
+               <xsd:attribute name="IDINSOURCE" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
+               <xsd:attribute name="SOURCEDOBJ_TYPE" use="optional" />
                <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="NAMERELATIONSHIP_MARKER__type">
-               <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="NAMERELATIONSHIP_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE__type">
-               <xsd:attribute name="STATISTICALVALUES_ID" use="optional" />
-               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="TAXONNAMEBASE_ORIGINALSOURCE__type">
-               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
-               <xsd:attribute name="SOURCES_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="TAXONBASE_EXTENSION__type">
-               <xsd:attribute name="TAXONBASE_ID" use="optional" />
-               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="SYNONYMRELATIONSHIP_MARKER__type">
+       <xsd:complexType name="HOMOTYPICALGROUP_MARKER_AUD__type">
                <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="SYNONYMRELATIONSHIP_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="COLLECTION_EXTENSION__type">
-               <xsd:attribute name="COLLECTION_ID" use="optional" />
-               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="TAXONNAMEBASE_TYPEDESIGNATIONBASE__type">
-               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
-               <xsd:attribute name="TYPEDESIGNATIONS_ID" use="optional" />
+               <xsd:attribute name="HOMOTYPICALGROUP_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="AGENT_MEDIA__type">
-               <xsd:attribute name="MEDIA_ID" use="optional" />
-               <xsd:attribute name="AGENT_ID" use="optional" />
+       <xsd:complexType name="DESCRIPTIONBASE_SPECIMENOROBSERVATIONBASE_AUD__type">
+               <xsd:attribute name="DESCRIPTIONS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="DESCRIBEDSPECIMENOROBSERVATIONS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="MEDIA__type">
-               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
-               <xsd:attribute name="DESCRIPTION" use="optional" />
+       <xsd:complexType name="LOCUS_AUD__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="MEDIACREATED" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="NAME" use="optional" />
+               <xsd:attribute name="DESCRIPTION" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="CITATION_ID" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
                <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="ARTIST_ID" use="optional" />
-               <xsd:attribute name="DTYPE" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="TITLE" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="TYPEDESIGNATIONBASE_MARKER__type">
-               <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="TYPEDESIGNATIONBASE_ID" use="optional" />
        </xsd:complexType>
        <xsd:complexType name="HYBRIDRELATIONSHIP__type">
-               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="RELATEDTO_ID" use="optional" />
+               <xsd:attribute name="UPDATED" use="optional" />
                <xsd:attribute name="RULECONSIDERED" use="optional" />
-               <xsd:attribute name="RELATEDFROM_ID" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
                <xsd:attribute name="UPDATEDBY_ID" use="optional" />
                <xsd:attribute name="CITATION_ID" use="optional" />
-               <xsd:attribute name="DOUBTFUL" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
                <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
+               <xsd:attribute name="DOUBTFUL" use="optional" />
                <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="RELATEDTO_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
+               <xsd:attribute name="RELATEDFROM_ID" use="optional" />
                <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DESCRIPTIONBASE_EXTENSION__type">
-               <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
-               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
+       <xsd:complexType name="SYNONYMRELATIONSHIP_ANNOTATION__type">
+               <xsd:attribute name="SYNONYMRELATIONSHIP_ID" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="USER_PERMISSIONGROUP__type">
-               <xsd:attribute name="GROUPS_ID" use="optional" />
-               <xsd:attribute name="MEMBERS_ID" use="optional" />
+       <xsd:complexType name="COLLECTION_MEDIA__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="COLLECTION_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE__type">
+       <xsd:complexType name="STATEDATA__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="STATE_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SEQUENCE_MEDIA__type">
+               <xsd:attribute name="SEQUENCE_ID" use="optional" />
+               <xsd:attribute name="CHROMATOGRAMS_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_EXTENSION_AUD__type">
+               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
                <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
-               <xsd:attribute name="SOURCES_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="CDM_VIEW_CDM_VIEW__type">
-               <xsd:attribute name="CDM_VIEW_ID" use="optional" />
-               <xsd:attribute name="SUPERVIEWS_ID" use="optional" />
+       <xsd:complexType name="DEFINEDTERMBASE_MEDIA_AUD__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DESCRIPTIONELEMENTBASE_MARKER__type">
-               <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
+       <xsd:complexType name="SEQUENCE_RIGHTS__type">
+               <xsd:attribute name="SEQUENCE_ID" use="optional" />
+               <xsd:attribute name="RIGHTS_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="AGENT_ANNOTATION__type">
+       <xsd:complexType name="RIGHTS_ANNOTATION_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
                <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="AGENT_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="AGENT_RIGHTS__type">
-               <xsd:attribute name="AGENT_ID" use="optional" />
                <xsd:attribute name="RIGHTS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DEFINEDTERMBASE_SUPPORTEDCATEGORICALENUMERATION__type">
+               <xsd:attribute name="SUPPORTEDCATEGORICALENUMERATIONS_ID" use="optional" />
+               <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
        </xsd:complexType>
        <xsd:complexType name="DESCRIPTIONBASE_SCOPE__type">
-               <xsd:attribute name="SCOPES_ID" use="optional" />
                <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
+               <xsd:attribute name="SCOPES_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="COLLECTION_MEDIA__type">
-               <xsd:attribute name="COLLECTION_ID" use="optional" />
-               <xsd:attribute name="MEDIA_ID" use="optional" />
+       <xsd:complexType name="DERIVATIONEVENT_ANNOTATION__type">
+               <xsd:attribute name="DERIVATIONEVENT_ID" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="USER_GRANTEDAUTHORITYIMPL__type">
-               <xsd:attribute name="USER_ID" use="optional" />
-               <xsd:attribute name="GRANTEDAUTHORITIES_ID" use="optional" />
+       <xsd:complexType name="DESCRIPTIONBASE_REFERENCEBASE_AUD__type">
+               <xsd:attribute name="DESCRIPTIONSOURCES_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="TAXONNAMEBASE_HYBRIDRELATIONSHIP__type">
-               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
-               <xsd:attribute name="HYBRIDRELATIONSHIPS_ID" use="optional" />
+       <xsd:complexType name="AGENTBASE_ORIGINALSOURCE_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="SOURCES_ID" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="TAXONBASE_MARKER__type">
-               <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="TAXONBASE_ID" use="optional" />
+       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_RIGHTS_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
+               <xsd:attribute name="RIGHTS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="ORIGINALSOURCE__type">
-               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="IDINSOURCE" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="CITATION_ID" use="optional" />
-               <xsd:attribute name="IDNAMESPACE" use="optional" />
+       <xsd:complexType name="TAXONBASE__type">
+               <xsd:attribute name="LSID_OBJECT" use="optional" />
                <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
-               <xsd:attribute name="SOURCEDOBJ_ID" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="LSID_NAMESPACE" use="optional" />
+               <xsd:attribute name="LSID_LSID" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="SEC_ID" use="optional" />
                <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="SOURCEDOBJ_TYPE" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="FEATURENODE__type">
-               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="TAXONOMICCHILDRENCOUNT" use="optional" />
+               <xsd:attribute name="DOUBTFUL" use="optional" />
+               <xsd:attribute name="TITLECACHE" use="optional" />
+               <xsd:attribute name="TAXONOMICPARENTCACHE_ID" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
+               <xsd:attribute name="TAXONNAME_FK" use="optional" />
+               <xsd:attribute name="LSID_REVISION" use="optional" />
+               <xsd:attribute name="LSID_AUTH" use="optional" />
+               <xsd:attribute name="LSID_AUTHORITY" use="optional" />
                <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="FEATURE_ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="PARENT_FK" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="TERMVOCABULARY_REPRESENTATION__type">
-               <xsd:attribute name="TERMVOCABULARY_ID" use="optional" />
-               <xsd:attribute name="REPRESENTATIONS_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="DETERMINATIONEVENT__type">
-               <xsd:attribute name="TIMEPERIOD_START" use="optional" />
-               <xsd:attribute name="DESCRIPTION" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="TAXON_ID" use="optional" />
-               <xsd:attribute name="MODIFIER_ID" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="PREFERREDFLAG" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="ACTOR_ID" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="IDENTIFIEDUNIT_ID" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="TIMEPERIOD_END" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="TAXONNAMEBASE_NOMENCLATURALSTATUS__type">
-               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
-               <xsd:attribute name="STATUS_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="SEQUENCE_MEDIA__type">
-               <xsd:attribute name="CHROMATOGRAMS_ID" use="optional" />
-               <xsd:attribute name="SEQUENCE_ID" use="optional" />
+       <xsd:complexType name="STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE_AUD__type">
+               <xsd:attribute name="STATISTICALMEASUREMENTVALUE_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="MODIFIERS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="LANGUAGESTRING_ANNOTATION__type">
+       <xsd:complexType name="REPRESENTATION_ANNOTATION_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
                <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="LANGUAGESTRING_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="SEQUENCE_REFERENCEBASE__type">
-               <xsd:attribute name="CITATIONS_ID" use="optional" />
-               <xsd:attribute name="SEQUENCE_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="IDENTIFICATIONKEY_TAXON__type">
-               <xsd:attribute name="TAXON_FK" use="optional" />
-               <xsd:attribute name="IDENTIFICATIONKEY_FK" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="DEFINEDTERMBASE_SUPPORTEDCATEGORICALENUMERATION__type">
-               <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
-               <xsd:attribute name="SUPPORTEDCATEGORICALENUMERATIONS_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="DESCRIPTIONELEMENTBASE_MEDIA__type">
-               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
-               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="REPRESENTATION_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DESCRIPTIONELEMENTBASE_MODIFIER__type">
-               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
-               <xsd:attribute name="MODIFIERS_ID" use="optional" />
+       <xsd:complexType name="TAXONNAMEBASE_TYPEDESIGNATIONBASE_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="TYPEDESIGNATIONS_ID" use="optional" />
+               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_MEDIA__type">
-               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
-               <xsd:attribute name="MEDIA_ID" use="optional" />
+       <xsd:complexType name="DESCRIPTIONBASE_MARKER__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="GENBANKACCESSION__type">
+       <xsd:complexType name="MEDIAREPRESENTATIONPART_AUD__type">
                <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="DURATION" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="REPRESENTATION_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="SIZE" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="HEIGHT" use="optional" />
+               <xsd:attribute name="URI" use="optional" />
+               <xsd:attribute name="WIDTH" use="optional" />
                <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="ACCESSIONNUMBER" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="URI" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="AGENT_MARKER__type">
-               <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="AGENT_ID" use="optional" />
+       <xsd:complexType name="REFERENCEBASE_MEDIA__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="REFERENCEBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="GATHERINGEVENT_MARKER__type">
-               <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="GATHERINGEVENT_ID" use="optional" />
+       <xsd:complexType name="DETERMINATIONEVENT_REFERENCEBASE_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="DETERMINATIONEVENT_ID" use="optional" />
+               <xsd:attribute name="SETOFREFERENCES_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DEFINEDTERMBASE_WATERBODYORCOUNTRY__type">
-               <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
-               <xsd:attribute name="WATERBODIESORCOUNTRIES_ID" use="optional" />
+       <xsd:complexType name="RIGHTS_MARKER_AUD__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="RIGHTS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="MARKER__type">
-               <xsd:attribute name="MARKEDOBJ_ID" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="MARKERTYPE_ID" use="optional" />
-               <xsd:attribute name="MARKEDOBJ_TYPE" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="FLAG" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+       <xsd:complexType name="REFERENCEBASE_RIGHTS_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="RIGHTS_ID" use="optional" />
+               <xsd:attribute name="REFERENCEBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DESCRIPTIONBASE_MARKER__type">
+       <xsd:complexType name="NAMERELATIONSHIP_MARKER__type">
+               <xsd:attribute name="NAMERELATIONSHIP_ID" use="optional" />
                <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_EXTENSION__type">
-               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
-               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
+       <xsd:complexType name="MEDIA_MARKER_AUD__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="LOCUS__type">
-               <xsd:attribute name="NAME" use="optional" />
-               <xsd:attribute name="DESCRIPTION" use="optional" />
+       <xsd:complexType name="TAXONRELATIONSHIP_AUD__type">
                <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="CITATION_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
+               <xsd:attribute name="DOUBTFUL" use="optional" />
+               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="RELATEDTO_ID" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
+               <xsd:attribute name="RELATEDFROM_ID" use="optional" />
                <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="TAXONRELATIONSHIP_ANNOTATION__type">
+       <xsd:complexType name="SEQUENCE_ANNOTATION__type">
+               <xsd:attribute name="SEQUENCE_ID" use="optional" />
                <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="TAXONRELATIONSHIP_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="AGENT_EXTENSION__type">
-               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
-               <xsd:attribute name="AGENT_ID" use="optional" />
+       <xsd:complexType name="DEFINEDTERMBASE_WATERBODYORCOUNTRY_AUD__type">
+               <xsd:attribute name="WATERBODIESORCOUNTRIES_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="LANGUAGESTRING_MARKER__type">
+       <xsd:complexType name="TAXONRELATIONSHIP_MARKER__type">
+               <xsd:attribute name="TAXONRELATIONSHIP_ID" use="optional" />
                <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="LANGUAGESTRING_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="TAXONBASE_ORIGINALSOURCE__type">
-               <xsd:attribute name="TAXONBASE_ID" use="optional" />
-               <xsd:attribute name="SOURCES_ID" use="optional" />
+       <xsd:complexType name="TAXONRELATIONSHIP_MARKER_AUD__type">
+               <xsd:attribute name="TAXONRELATIONSHIP_ID" use="optional" />
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="PERMISSIONGROUP__type">
-               <xsd:attribute name="NAME" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
+       <xsd:complexType name="TAXONNAMEBASE_TYPEDESIGNATIONBASE__type">
+               <xsd:attribute name="TYPEDESIGNATIONS_ID" use="optional" />
+               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="SEQUENCE__type">
-               <xsd:attribute name="SEQUENCE" use="optional" />
-               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="LSID" use="optional" />
-               <xsd:attribute name="PUBLISHEDIN_ID" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="TITLECACHE" use="optional" />
-               <xsd:attribute name="DATESEQUENCED" use="optional" />
-               <xsd:attribute name="LOCUS_ID" use="optional" />
+       <xsd:complexType name="DERIVATIONEVENT__type">
                <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="BARCODE" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="ABSOLUTEELEVATIONERROR" use="optional" />
+               <xsd:attribute name="TIMEPERIOD_END" use="optional" />
+               <xsd:attribute name="EXACTLOCATION_REFERENCESYSTEM_ID" use="optional" />
                <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="LENGTH" use="optional" />
-               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
+               <xsd:attribute name="EXACTLOCATION_LATITUDE" use="optional" />
+               <xsd:attribute name="LOCALITY_ID" use="optional" />
+               <xsd:attribute name="EXACTLOCATION_LONGITUDE" use="optional" />
+               <xsd:attribute name="ABSOLUTEELEVATION" use="optional" />
+               <xsd:attribute name="DISTANCETOWATERSURFACE" use="optional" />
+               <xsd:attribute name="ACTOR_ID" use="optional" />
+               <xsd:attribute name="TIMEPERIOD_START" use="optional" />
+               <xsd:attribute name="DISTANCETOGROUND" use="optional" />
+               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="DESCRIPTION" use="optional" />
+               <xsd:attribute name="COLLECTINGMETHOD" use="optional" />
+               <xsd:attribute name="EXACTLOCATION_ERRORRADIUS" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DESCRIPTIONBASE_REFERENCEBASE__type">
-               <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
-               <xsd:attribute name="DESCRIPTIONSOURCES_ID" use="optional" />
+       <xsd:complexType name="AGENTBASE_EXTENSION_AUD__type">
+               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_MARKER__type">
-               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
+       <xsd:complexType name="COLLECTION_MARKER_AUD__type">
                <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="COLLECTION_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="PERMISSIONGROUP_GRANTEDAUTHORITYIMPL__type">
-               <xsd:attribute name="PERMISSIONGROUP_ID" use="optional" />
-               <xsd:attribute name="GRANTEDAUTHORITIES_ID" use="optional" />
+       <xsd:complexType name="FEATURETREE_REPRESENTATION_AUD__type">
+               <xsd:attribute name="FEATURETREE_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REPRESENTATIONS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="COLLECTION_ANNOTATION__type">
+       <xsd:complexType name="TYPEDESIGNATIONBASE_TAXONNAMEBASE__type">
+               <xsd:attribute name="TYPEDESIGNATIONBASE_ID" use="optional" />
+               <xsd:attribute name="TYPIFIEDNAMES_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="AGENTBASE_RIGHTS__type">
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+               <xsd:attribute name="RIGHTS_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="AGENTBASE_ANNOTATION_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
                <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="COLLECTION_ID" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="MEDIAREPRESENTATION__type">
-               <xsd:attribute name="SUFFIX" use="optional" />
+       <xsd:complexType name="MEDIA_LANGUAGESTRING_AUD__type">
                <xsd:attribute name="MEDIA_ID" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="TITLE_ID" use="optional" />
+               <xsd:attribute name="TITLE_MAPKEY_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="MEDIAREPRESENTATION_MEDIAREPRESENTATIONPART_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="SORTINDEX" use="optional" />
+               <xsd:attribute name="REPRESENTATION_ID" use="optional" />
                <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="MIMETYPE" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="INDIVIDUALASSOCIATION_LANGUAGESTRING__type">
+               <xsd:attribute name="DESCRIPTION_MAPKEY_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTION_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="PERMISSIONGROUP__type">
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="NAME" use="optional" />
                <xsd:attribute name="CREATEDBY_ID" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="MEDIA_RIGHTS__type">
+       <xsd:complexType name="MEDIA_SEQUENCE_AUD__type">
                <xsd:attribute name="MEDIA_ID" use="optional" />
-               <xsd:attribute name="RIGHTS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="USEDSEQUENCES_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="MEDIA_TAXONBASE__type">
-               <xsd:attribute name="COVEREDTAXA_ID" use="optional" />
-               <xsd:attribute name="MEDIA_ID" use="optional" />
+       <xsd:complexType name="SEQUENCE_EXTENSION__type">
+               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
+               <xsd:attribute name="SEQUENCE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="FEATURETREE_REPRESENTATION__type">
+               <xsd:attribute name="FEATURETREE_ID" use="optional" />
+               <xsd:attribute name="REPRESENTATIONS_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT__type">
+               <xsd:attribute name="ORIGINALS_ID" use="optional" />
+               <xsd:attribute name="DERIVATIONEVENTS_ID" use="optional" />
        </xsd:complexType>
        <xsd:complexType name="REFERENCEBASE__type">
-               <xsd:attribute name="INSERIES_ID" use="optional" />
                <xsd:attribute name="INSTITUTION" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="YEAR" use="optional" />
-               <xsd:attribute name="PUBLISHER" use="optional" />
-               <xsd:attribute name="JOURNAL" use="optional" />
-               <xsd:attribute name="INSTITUTION_ID" use="optional" />
+               <xsd:attribute name="NOMENCLATURALLYRELEVANT" use="optional" />
+               <xsd:attribute name="INSERIES_ID" use="optional" />
+               <xsd:attribute name="NUMBER" use="optional" />
+               <xsd:attribute name="REPORTTYPE" use="optional" />
                <xsd:attribute name="CHAPTER" use="optional" />
-               <xsd:attribute name="DATEPUBLISHED_START" use="optional" />
-               <xsd:attribute name="HASPROBLEM" use="optional" />
-               <xsd:attribute name="HOWPUBLISHED" use="optional" />
-               <xsd:attribute name="EPRINT" use="optional" />
+               <xsd:attribute name="INPROCEEDINGS_ID" use="optional" />
+               <xsd:attribute name="EDITOR" use="optional" />
+               <xsd:attribute name="URI" use="optional" />
                <xsd:attribute name="AUTHORTEAM_ID" use="optional" />
-               <xsd:attribute name="SCHOOL" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="MONTH" use="optional" />
+               <xsd:attribute name="VOLUME" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="LSID_LSID" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="PUBLISHER" use="optional" />
                <xsd:attribute name="INJOURNAL_ID" use="optional" />
-               <xsd:attribute name="EDITOR" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="INBOOK_ID" use="optional" />
+               <xsd:attribute name="MONTH" use="optional" />
+               <xsd:attribute name="TITLE" use="optional" />
+               <xsd:attribute name="ORGANIZATION" use="optional" />
+               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="SCHOOL_ID" use="optional" />
+               <xsd:attribute name="SERIES" use="optional" />
                <xsd:attribute name="PROBLEMSTARTS" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="LSID_NAMESPACE" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="JOURNAL" use="optional" />
                <xsd:attribute name="SERIESPART" use="optional" />
-               <xsd:attribute name="SCHOOL_ID" use="optional" />
+               <xsd:attribute name="INSTITUTION_ID" use="optional" />
+               <xsd:attribute name="YEAR" use="optional" />
+               <xsd:attribute name="ANNOTE" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
                <xsd:attribute name="NOTE" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="LSID" use="optional" />
-               <xsd:attribute name="NOMENCLATURALLYRELEVANT" use="optional" />
-               <xsd:attribute name="TITLECACHE" use="optional" />
-               <xsd:attribute name="PAGES" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="CROSSREF_ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="EDITION" use="optional" />
-               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
+               <xsd:attribute name="LSID_REVISION" use="optional" />
                <xsd:attribute name="PLACEPUBLISHED" use="optional" />
-               <xsd:attribute name="REPORTTYPE" use="optional" />
+               <xsd:attribute name="LSID_AUTHORITY" use="optional" />
+               <xsd:attribute name="LSID_OBJECT" use="optional" />
+               <xsd:attribute name="ISSN" use="optional" />
+               <xsd:attribute name="EDITION" use="optional" />
+               <xsd:attribute name="HASPROBLEM" use="optional" />
+               <xsd:attribute name="HOWPUBLISHED" use="optional" />
+               <xsd:attribute name="DATEPUBLISHED_START" use="optional" />
+               <xsd:attribute name="TITLECACHE" use="optional" />
                <xsd:attribute name="ISBN" use="optional" />
-               <xsd:attribute name="SERIES" use="optional" />
+               <xsd:attribute name="BOOKTITLE" use="optional" />
                <xsd:attribute name="PROBLEMENDS" use="optional" />
+               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
+               <xsd:attribute name="EPRINT" use="optional" />
+               <xsd:attribute name="SCHOOL" use="optional" />
+               <xsd:attribute name="CROSSREF_ID" use="optional" />
+               <xsd:attribute name="LSID_AUTH" use="optional" />
                <xsd:attribute name="DATEPUBLISHED_END" use="optional" />
-               <xsd:attribute name="NUMBER" use="optional" />
-               <xsd:attribute name="ORGANIZATION" use="optional" />
-               <xsd:attribute name="DTYPE" use="optional" />
-               <xsd:attribute name="URI" use="optional" />
-               <xsd:attribute name="BOOKTITLE" use="optional" />
-               <xsd:attribute name="INPROCEEDINGS_ID" use="optional" />
-               <xsd:attribute name="INBOOK_ID" use="optional" />
+               <xsd:attribute name="PAGES" use="optional" />
                <xsd:attribute name="ADDRESS" use="optional" />
-               <xsd:attribute name="VOLUME" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="ANNOTE" use="optional" />
-               <xsd:attribute name="ISSN" use="optional" />
-               <xsd:attribute name="TYPE_ID" use="optional" />
-               <xsd:attribute name="TITLE" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE__type">
-               <xsd:attribute name="STATISTICALMEASUREMENTVALUE_ID" use="optional" />
-               <xsd:attribute name="MODIFIERS_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="AGENT_AGENT__type">
-               <xsd:attribute name="AGENT_ID" use="optional" />
-               <xsd:attribute name="TEAMMEMBERS_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="NOMENCLATURALSTATUS_ANNOTATION__type">
-               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="NOMENCLATURALSTATUS_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="USER__type">
-               <xsd:attribute name="CREDENTIALSNONEXPIRED" use="optional" />
-               <xsd:attribute name="ENABLED" use="optional" />
-               <xsd:attribute name="ACCOUNTNONLOCKED" use="optional" />
+       <xsd:complexType name="FEATURETREE_AUD__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONSEPARATED" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ROOT_ID" use="optional" />
+               <xsd:attribute name="URI" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
                <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="USERNAME" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="LANGUAGESTRING__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="LANGUAGE_ID" use="optional" />
                <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="ACCOUNTNONEXPIRED" use="optional" />
-               <xsd:attribute name="PASSWORD" use="optional" />
+               <xsd:attribute name="TEXT" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="EMAILADDRESS" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DEFINEDTERMBASE_MEDIA__type">
+       <xsd:complexType name="TAXONBASE_ORIGINALSOURCE_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="SOURCES_ID" use="optional" />
+               <xsd:attribute name="TAXONBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="AGENTBASE_ADDRESS_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+               <xsd:attribute name="CONTACT_ADDRESSES_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION_AUD__type">
+               <xsd:attribute name="RECOMMENDEDMODIFIERENUMERATION_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
                <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
-               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="AGENT__type">
-               <xsd:attribute name="PREFIX" use="optional" />
-               <xsd:attribute name="NOMENCLATURALTITLE" use="optional" />
-               <xsd:attribute name="NAME" use="optional" />
-               <xsd:attribute name="SUFFIX" use="optional" />
-               <xsd:attribute name="ISPARTOF_ID" use="optional" />
-               <xsd:attribute name="LIFESPAN_START" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="CONTACT_ID" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="LSID" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="FIRSTNAME" use="optional" />
-               <xsd:attribute name="TITLECACHE" use="optional" />
+       <xsd:complexType name="AGENTBASE_RIGHTS_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+               <xsd:attribute name="RIGHTS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TERMVOCABULARY_REPRESENTATION_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="TERMVOCABULARY_ID" use="optional" />
+               <xsd:attribute name="REPRESENTATIONS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DERIVATIONEVENT_AUD__type">
                <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="LIFESPAN_END" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="ABSOLUTEELEVATIONERROR" use="optional" />
                <xsd:attribute name="DTYPE" use="optional" />
-               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
-               <xsd:attribute name="CODE" use="optional" />
-               <xsd:attribute name="LASTNAME" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="TIMEPERIOD_END" use="optional" />
+               <xsd:attribute name="EXACTLOCATION_REFERENCESYSTEM_ID" use="optional" />
+               <xsd:attribute name="EXACTLOCATION_LATITUDE" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="LOCALITY_ID" use="optional" />
+               <xsd:attribute name="EXACTLOCATION_LONGITUDE" use="optional" />
+               <xsd:attribute name="DISTANCETOWATERSURFACE" use="optional" />
+               <xsd:attribute name="ABSOLUTEELEVATION" use="optional" />
+               <xsd:attribute name="ACTOR_ID" use="optional" />
+               <xsd:attribute name="DISTANCETOGROUND" use="optional" />
+               <xsd:attribute name="TIMEPERIOD_START" use="optional" />
+               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="COLLECTINGMETHOD" use="optional" />
+               <xsd:attribute name="DESCRIPTION" use="optional" />
+               <xsd:attribute name="EXACTLOCATION_ERRORRADIUS" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DESCRIPTIONELEMENTBASE_STATEDATA__type">
-               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
-               <xsd:attribute name="STATES_ID" use="optional" />
+       <xsd:complexType name="AGENTBASE_MARKER__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="FEATURETREE_REPRESENTATION__type">
-               <xsd:attribute name="FEATURETREE_ID" use="optional" />
-               <xsd:attribute name="REPRESENTATIONS_ID" use="optional" />
+       <xsd:complexType name="STATEDATA_DEFINEDTERMBASE__type">
+               <xsd:attribute name="STATEDATA_ID" use="optional" />
+               <xsd:attribute name="MODIFIERS_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="REFERENCEBASE_RIGHTS__type">
-               <xsd:attribute name="REFERENCEBASE_ID" use="optional" />
-               <xsd:attribute name="RIGHTS_ID" use="optional" />
+       <xsd:complexType name="ORIGINALSOURCE_ANNOTATION_AUD__type">
+               <xsd:attribute name="ORIGINALSOURCE_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DESCRIPTIONELEMENTBASE_LANGUAGESTRING__type">
+       <xsd:complexType name="AGENTBASE_CONTACT_FAXNUMBERS_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+               <xsd:attribute name="CONTACT_FAXNUMBERS_ELEMENT" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_LANGUAGESTRING__type">
+               <xsd:attribute name="DESCRIPTION_MAPKEY_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTION_ID" use="optional" />
+               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SEQUENCE_MARKER_AUD__type">
+               <xsd:attribute name="SEQUENCE_ID" use="optional" />
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONELEMENTBASE_MEDIA_AUD__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
                <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
-               <xsd:attribute name="MULTILANGUAGETEXT_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TAXONINTERACTION_LANGUAGESTRING__type">
+               <xsd:attribute name="DESCRIPTION_MAPKEY_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTION_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONBASE_GEOSCOPE_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
+               <xsd:attribute name="GEOSCOPES_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DEFINEDTERMBASE_WATERBODYORCOUNTRY__type">
+               <xsd:attribute name="WATERBODIESORCOUNTRIES_ID" use="optional" />
+               <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TAXONBASE_RIGHTS__type">
+               <xsd:attribute name="TAXONBASE_ID" use="optional" />
+               <xsd:attribute name="RIGHTS_ID" use="optional" />
        </xsd:complexType>
        <xsd:complexType name="DESCRIPTIONBASE_ORIGINALSOURCE__type">
-               <xsd:attribute name="SOURCES_ID" use="optional" />
                <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
+               <xsd:attribute name="SOURCES_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="ANNOTATION_ANNOTATION__type">
+       <xsd:complexType name="TAXONNAMEBASE_ANNOTATION_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
                <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="ANNOTATION_ID" use="optional" />
+               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="MEDIA_ANNOTATION__type">
-               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="MEDIA_ID" use="optional" />
+       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_SEQUENCE_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="SEQUENCES_ID" use="optional" />
+               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="STATEDATA__type">
-               <xsd:attribute name="STATE_ID" use="optional" />
+       <xsd:complexType name="ANNOTATION__type">
                <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="ANNOTATIONTYPE_ID" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="ANNOTATEDOBJ_TYPE" use="optional" />
+               <xsd:attribute name="LANGUAGE_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="TEXT" use="optional" />
+               <xsd:attribute name="COMMENTATOR_ID" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="ANNOTATEDOBJ_ID" use="optional" />
+               <xsd:attribute name="LINKBACKURL" use="optional" />
                <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="MODIFYINGTEXT" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="INSTITUTIONALMEMBERSHIP__type">
+               <xsd:attribute name="INSTITUTE_ID" use="optional" />
+               <xsd:attribute name="PERSON_ID" use="optional" />
+               <xsd:attribute name="PERIOD_END" use="optional" />
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="DEPARTMENT" use="optional" />
                <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="PERIOD_START" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="ROLE" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="ANNOTATION_MARKER__type">
+       <xsd:complexType name="LANGUAGESTRING_MARKER__type">
+               <xsd:attribute name="LANGUAGESTRING_ID" use="optional" />
                <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="ANNOTATION_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DEFINEDTERMBASE_CONTINENT__type">
-               <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
-               <xsd:attribute name="CONTINENTS_ID" use="optional" />
+       <xsd:complexType name="STATEDATA_LANGUAGESTRING_AUD__type">
+               <xsd:attribute name="STATEDATA_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="MODIFYINGTEXT_ID" use="optional" />
+               <xsd:attribute name="MODIFYINGTEXT_MAPKEY_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DEFINEDTERMBASE_STATISTICALMEASURE__type">
+       <xsd:complexType name="LSIDAUTHORITY_NAMESPACES__type">
+               <xsd:attribute name="LSIDAUTHORITY_ID" use="optional" />
+               <xsd:attribute name="NAMESPACES_MAPKEY" use="optional" />
+               <xsd:attribute name="NAMESPACES_ELEMENT" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="RELATIONSHIPTERMBASE_INVERSEREPRESENTATION__type">
+               <xsd:attribute name="INVERSEREPRESENTATIONS_ID" use="optional" />
                <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
-               <xsd:attribute name="RECOMMENDEDSTATISTICALMEASURES_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="GATHERINGEVENT__type">
-               <xsd:attribute name="TIMEPERIOD_START" use="optional" />
-               <xsd:attribute name="DESCRIPTION" use="optional" />
-               <xsd:attribute name="LOCALITY_ID" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="EXACTLOCATION_REFERENCESYSTEM_ID" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="EXACTLOCATION_LONGITUDE" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="ABSOLUTEELEVATIONERROR" use="optional" />
-               <xsd:attribute name="EXACTLOCATION_ERRORRADIUS" use="optional" />
-               <xsd:attribute name="ACTOR_ID" use="optional" />
-               <xsd:attribute name="DISTANCETOWATERSURFACE" use="optional" />
-               <xsd:attribute name="ABSOLUTEELEVATION" use="optional" />
-               <xsd:attribute name="EXACTLOCATION_LATITUDE" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="TIMEPERIOD_END" use="optional" />
-               <xsd:attribute name="DISTANCETOGROUND" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="COLLECTINGMETHOD" use="optional" />
+       <xsd:complexType name="MEDIA_RIGHTS_AUD__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="RIGHTS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT__type">
-               <xsd:attribute name="DERIVATIONEVENTS_ID" use="optional" />
-               <xsd:attribute name="ORIGINALS_ID" use="optional" />
+       <xsd:complexType name="HYBRIDRELATIONSHIP_MARKER_AUD__type">
+               <xsd:attribute name="HYBRIDRELATIONSHIP_ID" use="optional" />
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="TAXONNAMEBASE_EXTENSION__type">
+       <xsd:complexType name="TAXONNAMEBASE_NOMENCLATURALSTATUS_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="STATUS_ID" use="optional" />
                <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONBASE_SPECIMENOROBSERVATIONBASE__type">
+               <xsd:attribute name="DESCRIPTIONS_ID" use="optional" />
+               <xsd:attribute name="DESCRIBEDSPECIMENOROBSERVATIONS_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="ANNOTATION_ANNOTATION_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="ANNOTATION_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SEQUENCE_EXTENSION_AUD__type">
                <xsd:attribute name="EXTENSIONS_ID" use="optional" />
+               <xsd:attribute name="SEQUENCE_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="TYPEDESIGNATIONBASE_TAXONNAMEBASE__type">
-               <xsd:attribute name="TYPIFIEDNAMES_ID" use="optional" />
-               <xsd:attribute name="TYPEDESIGNATIONBASE_ID" use="optional" />
+       <xsd:complexType name="DESCRIPTIONBASE_MARKER_AUD__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="COLLECTION_ORIGINALSOURCE__type">
-               <xsd:attribute name="SOURCES_ID" use="optional" />
-               <xsd:attribute name="COLLECTION_ID" use="optional" />
+       <xsd:complexType name="MEDIA_MARKER__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="MARKERS_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="TAXONNAMEBASE_RIGHTS__type">
-               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
-               <xsd:attribute name="RIGHTS_ID" use="optional" />
+       <xsd:complexType name="DETERMINATIONEVENT_REFERENCEBASE__type">
+               <xsd:attribute name="DETERMINATIONEVENT_ID" use="optional" />
+               <xsd:attribute name="SETOFREFERENCES_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="REFERENCEBASE_AUD__type">
+               <xsd:attribute name="INSTITUTION" use="optional" />
+               <xsd:attribute name="NOMENCLATURALLYRELEVANT" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="INSERIES_ID" use="optional" />
+               <xsd:attribute name="NUMBER" use="optional" />
+               <xsd:attribute name="REPORTTYPE" use="optional" />
+               <xsd:attribute name="CHAPTER" use="optional" />
+               <xsd:attribute name="INPROCEEDINGS_ID" use="optional" />
+               <xsd:attribute name="EDITOR" use="optional" />
+               <xsd:attribute name="URI" use="optional" />
+               <xsd:attribute name="AUTHORTEAM_ID" use="optional" />
+               <xsd:attribute name="VOLUME" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="LSID_LSID" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="PUBLISHER" use="optional" />
+               <xsd:attribute name="INJOURNAL_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="INBOOK_ID" use="optional" />
+               <xsd:attribute name="MONTH" use="optional" />
+               <xsd:attribute name="ORGANIZATION" use="optional" />
+               <xsd:attribute name="TITLE" use="optional" />
+               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="SCHOOL_ID" use="optional" />
+               <xsd:attribute name="SERIES" use="optional" />
+               <xsd:attribute name="PROBLEMSTARTS" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="LSID_NAMESPACE" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="JOURNAL" use="optional" />
+               <xsd:attribute name="SERIESPART" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="INSTITUTION_ID" use="optional" />
+               <xsd:attribute name="YEAR" use="optional" />
+               <xsd:attribute name="ANNOTE" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="NOTE" use="optional" />
+               <xsd:attribute name="LSID_REVISION" use="optional" />
+               <xsd:attribute name="PLACEPUBLISHED" use="optional" />
+               <xsd:attribute name="LSID_AUTHORITY" use="optional" />
+               <xsd:attribute name="ISSN" use="optional" />
+               <xsd:attribute name="LSID_OBJECT" use="optional" />
+               <xsd:attribute name="EDITION" use="optional" />
+               <xsd:attribute name="HASPROBLEM" use="optional" />
+               <xsd:attribute name="HOWPUBLISHED" use="optional" />
+               <xsd:attribute name="DATEPUBLISHED_START" use="optional" />
+               <xsd:attribute name="TITLECACHE" use="optional" />
+               <xsd:attribute name="ISBN" use="optional" />
+               <xsd:attribute name="BOOKTITLE" use="optional" />
+               <xsd:attribute name="PROBLEMENDS" use="optional" />
+               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
+               <xsd:attribute name="EPRINT" use="optional" />
+               <xsd:attribute name="SCHOOL" use="optional" />
+               <xsd:attribute name="LSID_AUTH" use="optional" />
+               <xsd:attribute name="CROSSREF_ID" use="optional" />
+               <xsd:attribute name="DATEPUBLISHED_END" use="optional" />
+               <xsd:attribute name="PAGES" use="optional" />
+               <xsd:attribute name="ADDRESS" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="SEQUENCE_ORIGINALSOURCE__type">
-               <xsd:attribute name="SOURCES_ID" use="optional" />
+       <xsd:complexType name="SEQUENCE_MARKER__type">
                <xsd:attribute name="SEQUENCE_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="DETERMINATIONEVENT_MARKER__type">
-               <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="DETERMINATIONEVENT_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="DESCRIPTIONBASE_ANNOTATION__type">
-               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="ORIGINALSOURCE_MARKER__type">
                <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="ORIGINALSOURCE_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION__type">
-               <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
-               <xsd:attribute name="RECOMMENDEDMODIFIERENUMERATION_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="ANNOTATION__type">
-               <xsd:attribute name="LINKBACKURLSTR" use="optional" />
-               <xsd:attribute name="LANGUAGE_ID" use="optional" />
+       <xsd:complexType name="GENBANKACCESSION_AUD__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="URI" use="optional" />
+               <xsd:attribute name="ACCESSIONNUMBER" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="ANNOTATEDOBJ_TYPE" use="optional" />
-               <xsd:attribute name="ANNOTATIONTYPE_ID" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="TEXT" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
                <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="ANNOTATEDOBJ_ID" use="optional" />
-               <xsd:attribute name="COMMENTATOR_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="NOMENCLATURALSTATUS__type">
+       <xsd:complexType name="TYPEDESIGNATIONBASE__type">
+               <xsd:attribute name="TYPENAME_ID" use="optional" />
+               <xsd:attribute name="TYPESTATUS_ID" use="optional" />
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="LECTOTYPE" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="CONSERVEDTYPE" use="optional" />
                <xsd:attribute name="CITATION_ID" use="optional" />
-               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
                <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="TYPE_ID" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
+               <xsd:attribute name="HOMOTYPICALGROUP_ID" use="optional" />
+               <xsd:attribute name="NOTDESIGNATED" use="optional" />
+               <xsd:attribute name="REJECTEDTYPE" use="optional" />
+               <xsd:attribute name="TYPESPECIMEN_ID" use="optional" />
                <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="RULECONSIDERED" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_RIGHTS__type">
-               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
-               <xsd:attribute name="RIGHTS_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DERIVATIONEVENT_MARKER__type">
+       <xsd:complexType name="REFERENCEBASE_MARKER__type">
                <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="DERIVATIONEVENT_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="REFERENCEBASE_ORIGINALSOURCE__type">
                <xsd:attribute name="REFERENCEBASE_ID" use="optional" />
-               <xsd:attribute name="SOURCES_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="SEQUENCE_RIGHTS__type">
-               <xsd:attribute name="SEQUENCE_ID" use="optional" />
-               <xsd:attribute name="RIGHTS_ID" use="optional" />
+       <xsd:complexType name="NOMENCLATURALSTATUS_ANNOTATION__type">
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="NOMENCLATURALSTATUS_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="COLLECTION_MARKER__type">
+       <xsd:complexType name="TAXONNAMEBASE_EXTENSION__type">
+               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
+               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TAXONNAMEBASE_MARKER__type">
                <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="COLLECTION_ID" use="optional" />
+               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="FEATURETREE__type">
-               <xsd:attribute name="DESCRIPTIONSEPARATED" use="optional" />
-               <xsd:attribute name="ROOT_ID" use="optional" />
+       <xsd:complexType name="AGENTBASE_AUD__type">
+               <xsd:attribute name="LSID_NAMESPACE" use="optional" />
                <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="LASTNAME" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="LIFESPAN_END" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="LSID_REVISION" use="optional" />
+               <xsd:attribute name="LSID_AUTHORITY" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="LSID_OBJECT" use="optional" />
+               <xsd:attribute name="PREFIX" use="optional" />
+               <xsd:attribute name="LSID_LSID" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="NOMENCLATURALTITLE" use="optional" />
+               <xsd:attribute name="FIRSTNAME" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="TITLECACHE" use="optional" />
+               <xsd:attribute name="ISPARTOF_ID" use="optional" />
+               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
+               <xsd:attribute name="CODE" use="optional" />
+               <xsd:attribute name="NAME" use="optional" />
+               <xsd:attribute name="SUFFIX" use="optional" />
+               <xsd:attribute name="PROTECTEDNOMENCLATURALTITLECACHE" use="optional" />
+               <xsd:attribute name="LSID_AUTH" use="optional" />
+               <xsd:attribute name="LIFESPAN_START" use="optional" />
                <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="CDM_VIEW__type">
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="NAME" use="optional" />
+               <xsd:attribute name="DESCRIPTION" use="optional" />
+               <xsd:attribute name="REFERENCE_ID" use="optional" />
                <xsd:attribute name="CREATEDBY_ID" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="URI" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="RIGHTS_ANNOTATION__type">
-               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="RIGHTS_ID" use="optional" />
+       <xsd:complexType name="AGENTBASE_ORIGINALSOURCE__type">
+               <xsd:attribute name="SOURCES_ID" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="COLLECTION_RIGHTS__type">
-               <xsd:attribute name="COLLECTION_ID" use="optional" />
+       <xsd:complexType name="AGENTBASE_AGENTBASE_AUD__type">
+               <xsd:attribute name="TEAMMEMBERS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="MEDIA_RIGHTS__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
                <xsd:attribute name="RIGHTS_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="RIGHTS_MARKER__type">
+       <xsd:complexType name="TAXONNAMEBASE_MARKER_AUD__type">
                <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="RIGHTS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="TAXONBASE_RIGHTS__type">
-               <xsd:attribute name="TAXONBASE_ID" use="optional" />
-               <xsd:attribute name="RIGHTS_ID" use="optional" />
+       <xsd:complexType name="DESCRIPTIONELEMENTBASE_MODIFYINGTEXT__type">
+               <xsd:attribute name="MODIFYINGTEXT_ID" use="optional" />
+               <xsd:attribute name="MODIFYINGTEXT_MAPKEY_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DESCRIPTIONELEMENTBASE__type">
-               <xsd:attribute name="NAME" use="optional" />
-               <xsd:attribute name="STATUS_ID" use="optional" />
-               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
-               <xsd:attribute name="LANGUAGE_ID" use="optional" />
-               <xsd:attribute name="DESCRIPTION" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="UNIT_ID" use="optional" />
-               <xsd:attribute name="MODIFYINGTEXT" use="optional" />
-               <xsd:attribute name="ASSOCIATEDSPECIMENOROBSERVATION_ID" use="optional" />
-               <xsd:attribute name="AREA_ID" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="INDESCRIPTION_ID" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="CITATION_ID" use="optional" />
-               <xsd:attribute name="TAXON2_ID" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="FEATURE_ID" use="optional" />
-               <xsd:attribute name="DTYPE" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="ORDERRELEVANT" use="optional" />
-               <xsd:attribute name="FORMAT_ID" use="optional" />
+       <xsd:complexType name="AGENTBASE_DEFINEDTERMBASE_AUD__type">
+               <xsd:attribute name="TYPES_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="HOMOTYPICALGROUP__type">
-               <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+       <xsd:complexType name="AGENTBASE_EXTENSION__type">
+               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="REFERENCEBASE_MEDIA__type">
-               <xsd:attribute name="REFERENCEBASE_ID" use="optional" />
-               <xsd:attribute name="MEDIA_ID" use="optional" />
+       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_ANNOTATION__type">
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DESCRIPTIONBASE_RIGHTS__type">
-               <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
-               <xsd:attribute name="RIGHTS_ID" use="optional" />
+       <xsd:complexType name="IDENTIFICATIONKEY_TAXON__type">
+               <xsd:attribute name="TAXON_FK" use="optional" />
+               <xsd:attribute name="IDENTIFICATIONKEY_FK" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="COLLECTION__type">
-               <xsd:attribute name="SUPERCOLLECTION_ID" use="optional" />
-               <xsd:attribute name="NAME" use="optional" />
-               <xsd:attribute name="TOWNORLOCATION" use="optional" />
-               <xsd:attribute name="CODESTANDARD" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="LSID" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="TITLECACHE" use="optional" />
-               <xsd:attribute name="INSTITUTE_ID" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
-               <xsd:attribute name="CODE" use="optional" />
+       <xsd:complexType name="USER_GRANTEDAUTHORITYIMPL__type">
+               <xsd:attribute name="GRANTEDAUTHORITIES_ID" use="optional" />
+               <xsd:attribute name="USER_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="TAXONBASE_ANNOTATION__type">
-               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="TAXONBASE_ID" use="optional" />
+       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ORIGINALS_ID" use="optional" />
+               <xsd:attribute name="DERIVATIONEVENTS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="TAXONRELATIONSHIP__type">
-               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="RELATEDTO_ID" use="optional" />
-               <xsd:attribute name="RELATEDFROM_ID" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="CITATION_ID" use="optional" />
-               <xsd:attribute name="DOUBTFUL" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="TYPE_ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+       <xsd:complexType name="RIGHTS_ANNOTATION__type">
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="RIGHTS_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="HOMOTYPICALGROUP_MARKER__type">
+       <xsd:complexType name="NOMENCLATURALSTATUS_MARKER_AUD__type">
                <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="HOMOTYPICALGROUP_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="RELATIONSHIPTERMBASE_INVERSEREPRESENTATION__type">
-               <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
-               <xsd:attribute name="INVERSEREPRESENTATIONS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="NOMENCLATURALSTATUS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="RIGHTS__type">
-               <xsd:attribute name="ABBREVIATEDTEXT" use="optional" />
-               <xsd:attribute name="LANGUAGE_ID" use="optional" />
-               <xsd:attribute name="TEXT" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="TYPE_ID" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="AGENT_ID" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="URI" use="optional" />
+       <xsd:complexType name="REFERENCEBASE_RIGHTS__type">
+               <xsd:attribute name="RIGHTS_ID" use="optional" />
+               <xsd:attribute name="REFERENCEBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="SPECIMENOROBSERVATIONBASE__type">
-               <xsd:attribute name="PRESERVATION_ID" use="optional" />
-               <xsd:attribute name="COLLECTION_ID" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="STOREDUNDER_ID" use="optional" />
-               <xsd:attribute name="INDIVIDUALCOUNT" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="LSID" use="optional" />
-               <xsd:attribute name="FIELDNOTES" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="SEX_ID" use="optional" />
-               <xsd:attribute name="DEFINITION" use="optional" />
-               <xsd:attribute name="TITLECACHE" use="optional" />
-               <xsd:attribute name="GATHERINGEVENT_ID" use="optional" />
-               <xsd:attribute name="LIFESTAGE_ID" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="FIELDNUMBER" use="optional" />
-               <xsd:attribute name="DTYPE" use="optional" />
-               <xsd:attribute name="DERIVATIONEVENT_ID" use="optional" />
-               <xsd:attribute name="CATALOGNUMBER" use="optional" />
-               <xsd:attribute name="COLLECTORSNUMBER" use="optional" />
-               <xsd:attribute name="ACCESSIONNUMBER" use="optional" />
-               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
+       <xsd:complexType name="DB_VERSION__type">
+               <xsd:attribute name="CODESCRIPTS_TIMESTAMP" use="optional" />
+               <xsd:attribute name="VERSION_TIMESTAMP" use="optional" />
+               <xsd:attribute name="LAST_CODEUPDATE_SUCCEEDED" use="optional" />
+               <xsd:attribute name="LAST_UPDATE_SUCCEEDED" use="optional" />
+               <xsd:attribute name="VERSION_INDEX" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="PERSON_KEYWORD__type">
-               <xsd:attribute name="PERSON_FK" use="optional" />
-               <xsd:attribute name="KEYWORD_FK" use="optional" />
+       <xsd:complexType name="TAXONBASE_ORIGINALSOURCE__type">
+               <xsd:attribute name="SOURCES_ID" use="optional" />
+               <xsd:attribute name="TAXONBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="MEDIA_SEQUENCE__type">
+       <xsd:complexType name="DEFINEDTERMBASE_STATISTICALMEASURE__type">
+               <xsd:attribute name="RECOMMENDEDSTATISTICALMEASURES_ID" use="optional" />
+               <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DEFINEDTERMBASE_MEDIA__type">
                <xsd:attribute name="MEDIA_ID" use="optional" />
-               <xsd:attribute name="USEDSEQUENCES_ID" use="optional" />
+               <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="TAXONBASE__type">
-               <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="LSID" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="TITLECACHE" use="optional" />
-               <xsd:attribute name="TAXONNAME_FK" use="optional" />
-               <xsd:attribute name="SEC_ID" use="optional" />
-               <xsd:attribute name="DOUBTFUL" use="optional" />
+       <xsd:complexType name="MEDIAREPRESENTATIONPART__type">
                <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
                <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="DURATION" use="optional" />
+               <xsd:attribute name="SORTINDEX" use="optional" />
                <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="TAXONOMICCHILDRENCOUNT" use="optional" />
-               <xsd:attribute name="TAXONOMICPARENTCACHE_ID" use="optional" />
-               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
+               <xsd:attribute name="REPRESENTATION_ID" use="optional" />
+               <xsd:attribute name="SIZE" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="HEIGHT" use="optional" />
+               <xsd:attribute name="URI" use="optional" />
+               <xsd:attribute name="WIDTH" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="REFERENCEBASE_ANNOTATION__type">
+       <xsd:complexType name="TAXONNAMEBASE_ANNOTATION__type">
                <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="REFERENCEBASE_ID" use="optional" />
+               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="GATHERINGEVENT_DEFINEDTERMBASE__type">
-               <xsd:attribute name="COLLECTINGAREAS_ID" use="optional" />
-               <xsd:attribute name="GATHERINGEVENT_ID" use="optional" />
+       <xsd:complexType name="AGENTBASE_ANNOTATION__type">
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="MEDIA_MARKER__type">
-               <xsd:attribute name="MARKERS_ID" use="optional" />
+       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_SEQUENCE__type">
+               <xsd:attribute name="SEQUENCES_ID" use="optional" />
+               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="COLLECTION_EXTENSION_AUD__type">
+               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="COLLECTION_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONELEMENTBASE_MEDIA__type">
                <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="GRANTEDAUTHORITYIMPL__type">
-               <xsd:attribute name="AUTHORITY" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
+       <xsd:complexType name="DETERMINATIONEVENT_ANNOTATION__type">
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="DETERMINATIONEVENT_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DB_VERSION__type">
-               <xsd:attribute name="VERSION_TIMESTAMP" use="optional" />
-               <xsd:attribute name="CODESCRIPTS_TIMESTAMP" use="optional" />
-               <xsd:attribute name="VERSION_INDEX" use="optional" />
-               <xsd:attribute name="LAST_CODEUPDATE_SUCCEEDED" use="optional" />
-               <xsd:attribute name="LAST_UPDATE_SUCCEEDED" use="optional" />
+       <xsd:complexType name="DESCRIPTIONBASE_EXTENSION__type">
+               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="REPRESENTATION_MARKER__type">
-               <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="REPRESENTATION_ID" use="optional" />
+       <xsd:complexType name="DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION__type">
+               <xsd:attribute name="RECOMMENDEDMODIFIERENUMERATION_ID" use="optional" />
+               <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="REPRESENTATION_ANNOTATION__type">
-               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="REPRESENTATION_ID" use="optional" />
+       <xsd:complexType name="DESCRIPTIONELEMENTBASE_MODIFIER__type">
+               <xsd:attribute name="MODIFIERS_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="REPRESENTATION__type">
-               <xsd:attribute name="LANGUAGE_ID" use="optional" />
-               <xsd:attribute name="TEXT" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="LABEL" use="optional" />
+       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_MEDIA__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="REFERENCEBASE_ORIGINALSOURCE_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="SOURCES_ID" use="optional" />
+               <xsd:attribute name="REFERENCEBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="USER__type">
+               <xsd:attribute name="ACCOUNTNONEXPIRED" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="ABBREVIATEDLABEL" use="optional" />
+               <xsd:attribute name="USERNAME" use="optional" />
+               <xsd:attribute name="PASSWORD" use="optional" />
+               <xsd:attribute name="EMAILADDRESS" use="optional" />
+               <xsd:attribute name="ENABLED" use="optional" />
                <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="CREDENTIALSNONEXPIRED" use="optional" />
+               <xsd:attribute name="ACCOUNTNONLOCKED" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DESCRIPTIONBASE__type">
-               <xsd:attribute name="TAXONNAME_FK" use="optional" />
-               <xsd:attribute name="TITLECACHE" use="optional" />
+       <xsd:complexType name="TAXONBASE_AUD__type">
+               <xsd:attribute name="LSID_OBJECT" use="optional" />
                <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="TAXON_FK" use="optional" />
+               <xsd:attribute name="LSID_NAMESPACE" use="optional" />
+               <xsd:attribute name="LSID_LSID" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="SEC_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="TAXONOMICCHILDRENCOUNT" use="optional" />
+               <xsd:attribute name="DOUBTFUL" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="TITLECACHE" use="optional" />
+               <xsd:attribute name="TAXONOMICPARENTCACHE_ID" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
+               <xsd:attribute name="TAXONNAME_FK" use="optional" />
+               <xsd:attribute name="LSID_REVISION" use="optional" />
+               <xsd:attribute name="LSID_AUTH" use="optional" />
+               <xsd:attribute name="LSID_AUTHORITY" use="optional" />
                <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="DTYPE" use="optional" />
-               <xsd:attribute name="LSID" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="TAXONNAMEBASE_MARKER__type">
-               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
-               <xsd:attribute name="MARKERS_ID" use="optional" />
+       <xsd:complexType name="USER_PERMISSIONGROUP__type">
+               <xsd:attribute name="MEMBERS_ID" use="optional" />
+               <xsd:attribute name="GROUPS_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DERIVATIONEVENT__type">
-               <xsd:attribute name="TIMEPERIOD_START" use="optional" />
-               <xsd:attribute name="ACTOR_ID" use="optional" />
-               <xsd:attribute name="DESCRIPTION" use="optional" />
+       <xsd:complexType name="NOMENCLATURALSTATUS__type">
+               <xsd:attribute name="RULECONSIDERED" use="optional" />
                <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="TYPE_ID" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="TIMEPERIOD_END" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
                <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="NAMERELATIONSHIP__type">
+               <xsd:attribute name="TYPE_ID" use="optional" />
                <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="RELATEDTO_ID" use="optional" />
-               <xsd:attribute name="RULECONSIDERED" use="optional" />
-               <xsd:attribute name="RELATEDFROM_ID" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
                <xsd:attribute name="CITATION_ID" use="optional" />
-               <xsd:attribute name="DOUBTFUL" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
                <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
-               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
                <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="TAXONNAMEBASE_ANNOTATION__type">
-               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="TAXONNAMEBASE_ID" use="optional" />
        </xsd:complexType>
        <xsd:complexType name="ORIGINALSOURCE_ANNOTATION__type">
-               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
                <xsd:attribute name="ORIGINALSOURCE_ID" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DESCRIPTIONBASE_GEOSCOPE__type">
-               <xsd:attribute name="GEOSCOPES_ID" use="optional" />
-               <xsd:attribute name="DESCRIPTIONBASE_ID" use="optional" />
+       <xsd:complexType name="DERIVATIONEVENT_MARKER_AUD__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="DERIVATIONEVENT_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
        <xsd:complexType name="DEFINEDTERMBASE_REPRESENTATION__type">
-               <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
                <xsd:attribute name="REPRESENTATIONS_ID" use="optional" />
+               <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="INSTITUTIONALMEMBERSHIP__type">
-               <xsd:attribute name="INSTITUTE_ID" use="optional" />
-               <xsd:attribute name="PERSON_ID" use="optional" />
-               <xsd:attribute name="ROLE" use="optional" />
+       <xsd:complexType name="GENBANKACCESSION__type">
                <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="URI" use="optional" />
+               <xsd:attribute name="ACCESSIONNUMBER" use="optional" />
                <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="PERIOD_END" use="optional" />
-               <xsd:attribute name="PERIOD_START" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="DEPARTMENT" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="DEFINEDTERMBASE__type">
-               <xsd:attribute name="SUPPORTSTEXTDATA" use="optional" />
-               <xsd:attribute name="POINTAPPROXIMATION_LATITUDE" use="optional" />
-               <xsd:attribute name="SHAPE_ID" use="optional" />
-               <xsd:attribute name="VOCABULARY_ID" use="optional" />
-               <xsd:attribute name="POINTAPPROXIMATION_LONGITUDE" use="optional" />
-               <xsd:attribute name="TRANSITIVE" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="POINTAPPROXIMATION_ERRORRADIUS" use="optional" />
-               <xsd:attribute name="ISO3166_A2" use="optional" />
-               <xsd:attribute name="ORDERINDEX" use="optional" />
-               <xsd:attribute name="KINDOF_ID" use="optional" />
-               <xsd:attribute name="VALIDPERIOD_START" use="optional" />
-               <xsd:attribute name="VALIDPERIOD_END" use="optional" />
                <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="DEFAULTCOLOR" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="REFERENCEBASE_MARKER_AUD__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REFERENCEBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="HOMOTYPICALGROUP_MARKER__type">
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="HOMOTYPICALGROUP_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="AGENTBASE_CONTACT_URLS_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="AGENTBASE_ID" use="optional" />
+               <xsd:attribute name="CONTACT_URLS_ELEMENT" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DERIVATIONEVENT_DEFINEDTERMBASE_AUD__type">
+               <xsd:attribute name="COLLECTINGAREAS_ID" use="optional" />
+               <xsd:attribute name="DERIVATIONEVENT_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="MEDIA_DEFINEDTERMBASE__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="GEOSCOPES_ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DESCRIPTIONELEMENTBASE__type">
+               <xsd:attribute name="TAXON2_ID" use="optional" />
+               <xsd:attribute name="ASSOCIATEDSPECIMENOROBSERVATION_ID" use="optional" />
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UNIT_ID" use="optional" />
+               <xsd:attribute name="INDESCRIPTION_ID" use="optional" />
                <xsd:attribute name="DTYPE" use="optional" />
-               <xsd:attribute name="SUPPORTSDISTRIBUTION" use="optional" />
-               <xsd:attribute name="SUPPORTSQUANTITATIVEDATA" use="optional" />
-               <xsd:attribute name="SUPPORTSCOMMONTAXONNAME" use="optional" />
-               <xsd:attribute name="ISO639_2" use="optional" />
-               <xsd:attribute name="ISO639_1" use="optional" />
-               <xsd:attribute name="URI" use="optional" />
-               <xsd:attribute name="SUPPORTSINDIVIDUALASSOCIATION" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="POINTAPPROXIMATION_REFERENCESYSTEM_ID" use="optional" />
                <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="SYMMETRIC" use="optional" />
-               <xsd:attribute name="PARTOF_ID" use="optional" />
-               <xsd:attribute name="SUPPORTSTAXONINTERACTION" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="TYPE_ID" use="optional" />
-               <xsd:attribute name="LEVEL_ID" use="optional" />
+               <xsd:attribute name="LANGUAGE_ID" use="optional" />
+               <xsd:attribute name="CITATION_ID" use="optional" />
+               <xsd:attribute name="STATUS_ID" use="optional" />
                <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
+               <xsd:attribute name="FORMAT_ID" use="optional" />
+               <xsd:attribute name="FEATURE_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
+               <xsd:attribute name="ORDERRELEVANT" use="optional" />
+               <xsd:attribute name="NAME" use="optional" />
+               <xsd:attribute name="AREA_ID" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="TYPEDESIGNATIONBASE_ANNOTATION__type">
+       <xsd:complexType name="MEDIA_ANNOTATION_AUD__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
                <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="TYPEDESIGNATIONBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DESCRIPTIONELEMENTBASE_ANNOTATION__type">
-               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
+       <xsd:complexType name="TAXONBASE_RIGHTS_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="TAXONBASE_ID" use="optional" />
+               <xsd:attribute name="RIGHTS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="NAMERELATIONSHIP_ANNOTATION__type">
-               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="NAMERELATIONSHIP_ID" use="optional" />
+       <xsd:complexType name="MEDIA_DEFINEDTERMBASE_AUD__type">
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="GEOSCOPES_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="STATEDATA_DEFINEDTERMBASE__type">
-               <xsd:attribute name="MODIFIERS_ID" use="optional" />
-               <xsd:attribute name="STATEDATA_ID" use="optional" />
+       <xsd:complexType name="SEQUENCE_ORIGINALSOURCE_AUD__type">
+               <xsd:attribute name="SEQUENCE_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="SOURCES_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="ADDRESS__type">
-               <xsd:attribute name="LOCATION_REFERENCESYSTEM_ID" use="optional" />
+       <xsd:complexType name="SEQUENCE__type">
+               <xsd:attribute name="LSID_OBJECT" use="optional" />
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="LSID_NAMESPACE" use="optional" />
+               <xsd:attribute name="LSID_LSID" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="DATESEQUENCED" use="optional" />
+               <xsd:attribute name="BARCODE" use="optional" />
+               <xsd:attribute name="SEQUENCE" use="optional" />
+               <xsd:attribute name="LENGTH" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="TITLECACHE" use="optional" />
+               <xsd:attribute name="LOCUS_ID" use="optional" />
+               <xsd:attribute name="PUBLISHEDIN_ID" use="optional" />
+               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="LOCATION_LONGITUDE" use="optional" />
-               <xsd:attribute name="POSTCODE" use="optional" />
-               <xsd:attribute name="POBOX" use="optional" />
-               <xsd:attribute name="CONTACT_ID" use="optional" />
+               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
+               <xsd:attribute name="LSID_REVISION" use="optional" />
+               <xsd:attribute name="LSID_AUTH" use="optional" />
+               <xsd:attribute name="LSID_AUTHORITY" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="LOCATION_LATITUDE" use="optional" />
-               <xsd:attribute name="STREET" use="optional" />
-               <xsd:attribute name="LOCALITY" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="COUNTRY_ID" use="optional" />
-               <xsd:attribute name="LOCATION_ERRORRADIUS" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="STATEDATA_AUD__type">
                <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="STATE_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
                <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_AUD__type">
+               <xsd:attribute name="LSID_NAMESPACE" use="optional" />
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="STOREDUNDER_ID" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="PRESERVATION_ID" use="optional" />
+               <xsd:attribute name="COLLECTION_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="SEX_ID" use="optional" />
+               <xsd:attribute name="LSID_REVISION" use="optional" />
+               <xsd:attribute name="FIELDNOTES" use="optional" />
+               <xsd:attribute name="LSID_AUTHORITY" use="optional" />
+               <xsd:attribute name="FIELDNUMBER" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="INDIVIDUALCOUNT" use="optional" />
+               <xsd:attribute name="CATALOGNUMBER" use="optional" />
+               <xsd:attribute name="LSID_OBJECT" use="optional" />
+               <xsd:attribute name="LSID_LSID" use="optional" />
+               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="LIFESTAGE_ID" use="optional" />
                <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="REGION" use="optional" />
+               <xsd:attribute name="TITLECACHE" use="optional" />
+               <xsd:attribute name="DERIVATIONEVENT_ID" use="optional" />
+               <xsd:attribute name="PROTECTEDTITLECACHE" use="optional" />
+               <xsd:attribute name="LSID_AUTH" use="optional" />
+               <xsd:attribute name="ACCESSIONNUMBER" use="optional" />
+               <xsd:attribute name="COLLECTORSNUMBER" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="NOMENCLATURALSTATUS_MARKER__type">
-               <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="NOMENCLATURALSTATUS_ID" use="optional" />
+       <xsd:complexType name="DESCRIPTIONELEMENTBASE_STATEDATA__type">
+               <xsd:attribute name="STATES_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="HYBRIDRELATIONSHIP_ANNOTATION__type">
+       <xsd:complexType name="HOMOTYPICALGROUP_ANNOTATION_AUD__type">
+               <xsd:attribute name="HOMOTYPICALGROUP_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
                <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="HYBRIDRELATIONSHIP_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="MEDIAREPRESENTATIONPART__type">
+       <xsd:complexType name="LANGUAGESTRING_AUD__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="HEIGHT" use="optional" />
-               <xsd:attribute name="REPRESENTATION_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="LANGUAGE_ID" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="TEXT" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="WIDTH" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
                <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="DTYPE" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="SIZE" use="optional" />
-               <xsd:attribute name="SORTINDEX" use="optional" />
-               <xsd:attribute name="DURATION" use="optional" />
-               <xsd:attribute name="URI" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="SYNONYMRELATIONSHIP__type">
-               <xsd:attribute name="PROPARTE" use="optional" />
-               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
+       <xsd:complexType name="NOMENCLATURALSTATUS_ANNOTATION_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
+               <xsd:attribute name="NOMENCLATURALSTATUS_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TAXONBASE_EXTENSION_AUD__type">
+               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="TAXONBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="MEDIAREPRESENTATION_AUD__type">
+               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="MEDIA_ID" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="RELATEDTO_ID" use="optional" />
-               <xsd:attribute name="RELATEDFROM_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="SUFFIX" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="MIMETYPE" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="CITATION_ID" use="optional" />
-               <xsd:attribute name="DOUBTFUL" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
-               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
                <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="PARTIAL" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="CONTACT__type">
-               <xsd:attribute name="PHONE" use="optional" />
+       <xsd:complexType name="DETERMINATIONEVENT_AUD__type">
                <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="PREFERREDFLAG" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="TIMEPERIOD_END" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="ACTOR_ID" use="optional" />
+               <xsd:attribute name="TIMEPERIOD_START" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="MODIFIER_ID" use="optional" />
+               <xsd:attribute name="IDENTIFIEDUNIT_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTION" use="optional" />
+               <xsd:attribute name="TAXON_ID" use="optional" />
                <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="EMAIL" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="URL" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="FAX" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="MEDIA_DEFINEDTERMBASE__type">
-               <xsd:attribute name="GEOSCOPES_ID" use="optional" />
-               <xsd:attribute name="MEDIA_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="TYPEDESIGNATIONBASE__type">
-               <xsd:attribute name="TYPENAME_ID" use="optional" />
-               <xsd:attribute name="TYPESPECIMEN_ID" use="optional" />
-               <xsd:attribute name="HOMOTYPICALGROUP_ID" use="optional" />
-               <xsd:attribute name="CITATIONMICROREFERENCE" use="optional" />
-               <xsd:attribute name="CONSERVEDTYPE" use="optional" />
-               <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="CITATION_ID" use="optional" />
-               <xsd:attribute name="LECTOTYPE" use="optional" />
-               <xsd:attribute name="REJECTEDTYPE" use="optional" />
+       <xsd:complexType name="INSTITUTIONALMEMBERSHIP_AUD__type">
+               <xsd:attribute name="INSTITUTE_ID" use="optional" />
+               <xsd:attribute name="PERSON_ID" use="optional" />
                <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="ORIGINALNAMESTRING" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="NOTDESIGNATED" use="optional" />
-               <xsd:attribute name="TYPESTATUS_ID" use="optional" />
-               <xsd:attribute name="DTYPE" use="optional" />
+               <xsd:attribute name="PERIOD_END" use="optional" />
+               <xsd:attribute name="DEPARTMENT" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
                <xsd:attribute name="CREATEDBY_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="LANGUAGESTRING__type">
-               <xsd:attribute name="LANGUAGE_ID" use="optional" />
-               <xsd:attribute name="TEXT" use="optional" />
-               <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="PERIOD_START" use="optional" />
+               <xsd:attribute name="ROLE" use="optional" />
                <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="HOMOTYPICALGROUP_ANNOTATION__type">
-               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="HOMOTYPICALGROUP_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="HYBRIDRELATIONSHIP_MARKER__type">
-               <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="HYBRIDRELATIONSHIP_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_ANNOTATION__type">
+       <xsd:complexType name="TAXONRELATIONSHIP_ANNOTATION__type">
+               <xsd:attribute name="TAXONRELATIONSHIP_ID" use="optional" />
                <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="SEQUENCE_MARKER__type">
+       <xsd:complexType name="ANNOTATION_MARKER_AUD__type">
                <xsd:attribute name="MARKERS_ID" use="optional" />
-               <xsd:attribute name="SEQUENCE_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="SEQUENCE_ANNOTATION__type">
-               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="SEQUENCE_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="REFERENCEBASE_EXTENSION__type">
-               <xsd:attribute name="REFERENCEBASE_ID" use="optional" />
-               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="SEQUENCE_EXTENSION__type">
-               <xsd:attribute name="EXTENSIONS_ID" use="optional" />
-               <xsd:attribute name="SEQUENCE_ID" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="SYNONYMRELATIONSHIP_ANNOTATION__type">
-               <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="SYNONYMRELATIONSHIP_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="ANNOTATION_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="TERMVOCABULARY__type">
-               <xsd:attribute name="TERMSOURCEURI" use="optional" />
+       <xsd:complexType name="ADDRESS_AUD__type">
                <xsd:attribute name="UPDATED" use="optional" />
+               <xsd:attribute name="LOCATION_LATITUDE" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="LOCATION_LONGITUDE" use="optional" />
+               <xsd:attribute name="POBOX" use="optional" />
+               <xsd:attribute name="POSTCODE" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="STREET" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="REGION" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="LOCATION_ERRORRADIUS" use="optional" />
+               <xsd:attribute name="LOCALITY" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="LOCATION_REFERENCESYSTEM_ID" use="optional" />
+               <xsd:attribute name="COUNTRY_ID" use="optional" />
                <xsd:attribute name="ID" use="optional" />
-               <xsd:attribute name="CREATEDBY_ID" use="optional" />
-               <xsd:attribute name="DTYPE" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
-               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
-               <xsd:attribute name="URI" use="optional" />
-       </xsd:complexType>
-       <xsd:complexType name="SPECIMENOROBSERVATIONBASE_SEQUENCE__type">
-               <xsd:attribute name="SPECIMENOROBSERVATIONBASE_ID" use="optional" />
-               <xsd:attribute name="SEQUENCES_ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="EXTENSION__type">
-               <xsd:attribute name="VALUE" use="optional" />
+       <xsd:complexType name="HOMOTYPICALGROUP_AUD__type">
                <xsd:attribute name="UPDATED" use="optional" />
-               <xsd:attribute name="TYPE_ID" use="optional" />
+               <xsd:attribute name="UPDATEDBY_ID" use="optional" />
                <xsd:attribute name="UUID" use="optional" />
-               <xsd:attribute name="ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
                <xsd:attribute name="CREATEDBY_ID" use="optional" />
                <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="MARKER__type">
+               <xsd:attribute name="UPDATED" use="optional" />
                <xsd:attribute name="UPDATEDBY_ID" use="optional" />
+               <xsd:attribute name="FLAG" use="optional" />
+               <xsd:attribute name="MARKERTYPE_ID" use="optional" />
+               <xsd:attribute name="UUID" use="optional" />
+               <xsd:attribute name="MARKEDOBJ_ID" use="optional" />
+               <xsd:attribute name="MARKEDOBJ_TYPE" use="optional" />
+               <xsd:attribute name="CREATEDBY_ID" use="optional" />
+               <xsd:attribute name="CREATED" use="optional" />
+               <xsd:attribute name="ID" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="DERIVATIONEVENT_ANNOTATION__type">
+       <xsd:complexType name="TYPEDESIGNATIONBASE_MARKER_AUD__type">
+               <xsd:attribute name="TYPEDESIGNATIONBASE_ID" use="optional" />
+               <xsd:attribute name="MARKERS_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="DEFINEDTERMBASE_SUPPORTEDCATEGORICALENUMERATION_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="SUPPORTEDCATEGORICALENUMERATIONS_ID" use="optional" />
+               <xsd:attribute name="DEFINEDTERMBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="INDIVIDUALASSOCIATION_LANGUAGESTRING_AUD__type">
+               <xsd:attribute name="DESCRIPTION_MAPKEY_ID" use="optional" />
+               <xsd:attribute name="DESCRIPTION_ID" use="optional" />
+               <xsd:attribute name="REVTYPE" use="optional" />
+               <xsd:attribute name="DESCRIPTIONELEMENTBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
+       </xsd:complexType>
+       <xsd:complexType name="TAXONBASE_ANNOTATION_AUD__type">
+               <xsd:attribute name="REVTYPE" use="optional" />
                <xsd:attribute name="ANNOTATIONS_ID" use="optional" />
-               <xsd:attribute name="DERIVATIONEVENT_ID" use="optional" />
+               <xsd:attribute name="TAXONBASE_ID" use="optional" />
+               <xsd:attribute name="REV" use="optional" />
        </xsd:complexType>
-       <xsd:complexType name="AGENT_DEFINEDTERMBASE__type">
-               <xsd:attribute name="TYPES_ID" use="optional" />
-               <xsd:attribute name="AGENT_ID" use="optional" />
+       <xsd:complexType name="PERMISSIONGROUP_GRANTEDAUTHORITYIMPL__type">
+               <xsd:attribute name="PERMISSIONGROUP_ID" use="optional" />
+               <xsd:attribute name="GRANTEDAUTHORITIES_ID" use="optional" />
        </xsd:complexType>
 </xsd:schema>
index 6ff395d543d9eb783be62bb8fed3b973938a1278..040f7345e8a8b9c38ca4b1f9e67dcf4f98d0cd1e 100644 (file)
 <!ELEMENT dataset (
     ADDRESS*,
-    AGENT*,
-    AGENT_AGENT*,
-    AGENT_ANNOTATION*,
-    AGENT_DEFINEDTERMBASE*,
-    AGENT_EXTENSION*,
-    AGENT_MARKER*,
-    AGENT_MEDIA*,
-    AGENT_ORIGINALSOURCE*,
-    AGENT_RIGHTS*,
+    ADDRESS_AUD*,
+    AGENTBASE*,
+    AGENTBASE_ADDRESS*,
+    AGENTBASE_ADDRESS_AUD*,
+    AGENTBASE_AGENTBASE*,
+    AGENTBASE_AGENTBASE_AUD*,
+    AGENTBASE_ANNOTATION*,
+    AGENTBASE_ANNOTATION_AUD*,
+    AGENTBASE_AUD*,
+    AGENTBASE_CONTACT_EMAILADDRESSES*,
+    AGENTBASE_CONTACT_EMAILADDRESSES_AUD*,
+    AGENTBASE_CONTACT_FAXNUMBERS*,
+    AGENTBASE_CONTACT_FAXNUMBERS_AUD*,
+    AGENTBASE_CONTACT_PHONENUMBERS*,
+    AGENTBASE_CONTACT_PHONENUMBERS_AUD*,
+    AGENTBASE_CONTACT_URLS*,
+    AGENTBASE_CONTACT_URLS_AUD*,
+    AGENTBASE_DEFINEDTERMBASE*,
+    AGENTBASE_DEFINEDTERMBASE_AUD*,
+    AGENTBASE_EXTENSION*,
+    AGENTBASE_EXTENSION_AUD*,
+    AGENTBASE_MARKER*,
+    AGENTBASE_MARKER_AUD*,
+    AGENTBASE_MEDIA*,
+    AGENTBASE_MEDIA_AUD*,
+    AGENTBASE_ORIGINALSOURCE*,
+    AGENTBASE_ORIGINALSOURCE_AUD*,
+    AGENTBASE_RIGHTS*,
+    AGENTBASE_RIGHTS_AUD*,
     ANNOTATION*,
     ANNOTATION_ANNOTATION*,
+    ANNOTATION_ANNOTATION_AUD*,
+    ANNOTATION_AUD*,
     ANNOTATION_MARKER*,
+    ANNOTATION_MARKER_AUD*,
+    AUDITEVENT*,
     CDM_VIEW*,
     CDM_VIEW_CDM_VIEW*,
     COLLECTION*,
     COLLECTION_ANNOTATION*,
+    COLLECTION_ANNOTATION_AUD*,
+    COLLECTION_AUD*,
     COLLECTION_EXTENSION*,
+    COLLECTION_EXTENSION_AUD*,
     COLLECTION_MARKER*,
+    COLLECTION_MARKER_AUD*,
     COLLECTION_MEDIA*,
+    COLLECTION_MEDIA_AUD*,
     COLLECTION_ORIGINALSOURCE*,
+    COLLECTION_ORIGINALSOURCE_AUD*,
     COLLECTION_RIGHTS*,
-    CONTACT*,
+    COLLECTION_RIGHTS_AUD*,
     DB_VERSION*,
     DEFINEDTERMBASE*,
+    DEFINEDTERMBASE_AUD*,
     DEFINEDTERMBASE_CONTINENT*,
+    DEFINEDTERMBASE_CONTINENT_AUD*,
     DEFINEDTERMBASE_MEDIA*,
+    DEFINEDTERMBASE_MEDIA_AUD*,
     DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION*,
+    DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION_AUD*,
     DEFINEDTERMBASE_REPRESENTATION*,
+    DEFINEDTERMBASE_REPRESENTATION_AUD*,
     DEFINEDTERMBASE_STATISTICALMEASURE*,
+    DEFINEDTERMBASE_STATISTICALMEASURE_AUD*,
     DEFINEDTERMBASE_SUPPORTEDCATEGORICALENUMERATION*,
+    DEFINEDTERMBASE_SUPPORTEDCATEGORICALENUMERATION_AUD*,
     DEFINEDTERMBASE_WATERBODYORCOUNTRY*,
+    DEFINEDTERMBASE_WATERBODYORCOUNTRY_AUD*,
     DERIVATIONEVENT*,
     DERIVATIONEVENT_ANNOTATION*,
+    DERIVATIONEVENT_ANNOTATION_AUD*,
+    DERIVATIONEVENT_AUD*,
+    DERIVATIONEVENT_DEFINEDTERMBASE*,
+    DERIVATIONEVENT_DEFINEDTERMBASE_AUD*,
     DERIVATIONEVENT_MARKER*,
+    DERIVATIONEVENT_MARKER_AUD*,
     DESCRIPTIONBASE*,
     DESCRIPTIONBASE_ANNOTATION*,
+    DESCRIPTIONBASE_ANNOTATION_AUD*,
+    DESCRIPTIONBASE_AUD*,
     DESCRIPTIONBASE_EXTENSION*,
+    DESCRIPTIONBASE_EXTENSION_AUD*,
     DESCRIPTIONBASE_GEOSCOPE*,
+    DESCRIPTIONBASE_GEOSCOPE_AUD*,
     DESCRIPTIONBASE_MARKER*,
+    DESCRIPTIONBASE_MARKER_AUD*,
     DESCRIPTIONBASE_ORIGINALSOURCE*,
+    DESCRIPTIONBASE_ORIGINALSOURCE_AUD*,
     DESCRIPTIONBASE_REFERENCEBASE*,
+    DESCRIPTIONBASE_REFERENCEBASE_AUD*,
     DESCRIPTIONBASE_RIGHTS*,
+    DESCRIPTIONBASE_RIGHTS_AUD*,
     DESCRIPTIONBASE_SCOPE*,
+    DESCRIPTIONBASE_SCOPE_AUD*,
+    DESCRIPTIONBASE_SPECIMENOROBSERVATIONBASE*,
+    DESCRIPTIONBASE_SPECIMENOROBSERVATIONBASE_AUD*,
     DESCRIPTIONELEMENTBASE*,
     DESCRIPTIONELEMENTBASE_ANNOTATION*,
+    DESCRIPTIONELEMENTBASE_ANNOTATION_AUD*,
+    DESCRIPTIONELEMENTBASE_AUD*,
     DESCRIPTIONELEMENTBASE_LANGUAGESTRING*,
+    DESCRIPTIONELEMENTBASE_LANGUAGESTRING_AUD*,
     DESCRIPTIONELEMENTBASE_MARKER*,
+    DESCRIPTIONELEMENTBASE_MARKER_AUD*,
     DESCRIPTIONELEMENTBASE_MEDIA*,
+    DESCRIPTIONELEMENTBASE_MEDIA_AUD*,
     DESCRIPTIONELEMENTBASE_MODIFIER*,
+    DESCRIPTIONELEMENTBASE_MODIFIER_AUD*,
+    DESCRIPTIONELEMENTBASE_MODIFYINGTEXT*,
+    DESCRIPTIONELEMENTBASE_MODIFYINGTEXT_AUD*,
     DESCRIPTIONELEMENTBASE_STATEDATA*,
+    DESCRIPTIONELEMENTBASE_STATEDATA_AUD*,
     DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE*,
+    DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE_AUD*,
     DETERMINATIONEVENT*,
     DETERMINATIONEVENT_ANNOTATION*,
+    DETERMINATIONEVENT_ANNOTATION_AUD*,
+    DETERMINATIONEVENT_AUD*,
     DETERMINATIONEVENT_MARKER*,
+    DETERMINATIONEVENT_MARKER_AUD*,
     DETERMINATIONEVENT_REFERENCEBASE*,
+    DETERMINATIONEVENT_REFERENCEBASE_AUD*,
     EXTENSION*,
+    EXTENSION_AUD*,
     FEATURENODE*,
+    FEATURENODE_AUD*,
     FEATURETREE*,
+    FEATURETREE_AUD*,
     FEATURETREE_REPRESENTATION*,
-    GATHERINGEVENT*,
-    GATHERINGEVENT_ANNOTATION*,
-    GATHERINGEVENT_DEFINEDTERMBASE*,
-    GATHERINGEVENT_MARKER*,
+    FEATURETREE_REPRESENTATION_AUD*,
     GENBANKACCESSION*,
+    GENBANKACCESSION_AUD*,
     GRANTEDAUTHORITYIMPL*,
     HOMOTYPICALGROUP*,
     HOMOTYPICALGROUP_ANNOTATION*,
+    HOMOTYPICALGROUP_ANNOTATION_AUD*,
+    HOMOTYPICALGROUP_AUD*,
     HOMOTYPICALGROUP_MARKER*,
+    HOMOTYPICALGROUP_MARKER_AUD*,
     HYBRIDRELATIONSHIP*,
     HYBRIDRELATIONSHIP_ANNOTATION*,
+    HYBRIDRELATIONSHIP_ANNOTATION_AUD*,
+    HYBRIDRELATIONSHIP_AUD*,
     HYBRIDRELATIONSHIP_MARKER*,
+    HYBRIDRELATIONSHIP_MARKER_AUD*,
     IDENTIFICATIONKEY_TAXON*,
+    IDENTIFICATIONKEY_TAXON_AUD*,
+    INDIVIDUALASSOCIATION_LANGUAGESTRING*,
+    INDIVIDUALASSOCIATION_LANGUAGESTRING_AUD*,
     INSTITUTIONALMEMBERSHIP*,
+    INSTITUTIONALMEMBERSHIP_AUD*,
     LANGUAGESTRING*,
     LANGUAGESTRING_ANNOTATION*,
+    LANGUAGESTRING_ANNOTATION_AUD*,
+    LANGUAGESTRING_AUD*,
     LANGUAGESTRING_MARKER*,
+    LANGUAGESTRING_MARKER_AUD*,
     LOCUS*,
+    LOCUS_AUD*,
+    LSIDAUTHORITY*,
+    LSIDAUTHORITY_NAMESPACES*,
     MARKER*,
+    MARKER_AUD*,
     MEDIA*,
     MEDIAREPRESENTATION*,
     MEDIAREPRESENTATIONPART*,
+    MEDIAREPRESENTATIONPART_AUD*,
+    MEDIAREPRESENTATION_AUD*,
+    MEDIAREPRESENTATION_MEDIAREPRESENTATIONPART_AUD*,
     MEDIA_ANNOTATION*,
+    MEDIA_ANNOTATION_AUD*,
+    MEDIA_AUD*,
     MEDIA_DEFINEDTERMBASE*,
+    MEDIA_DEFINEDTERMBASE_AUD*,
+    MEDIA_DESCRIPTION*,
+    MEDIA_DESCRIPTION_AUD*,
+    MEDIA_LANGUAGESTRING*,
+    MEDIA_LANGUAGESTRING_AUD*,
     MEDIA_MARKER*,
+    MEDIA_MARKER_AUD*,
     MEDIA_RIGHTS*,
+    MEDIA_RIGHTS_AUD*,
     MEDIA_SEQUENCE*,
+    MEDIA_SEQUENCE_AUD*,
     MEDIA_TAXONBASE*,
+    MEDIA_TAXONBASE_AUD*,
     NAMERELATIONSHIP*,
     NAMERELATIONSHIP_ANNOTATION*,
+    NAMERELATIONSHIP_ANNOTATION_AUD*,
+    NAMERELATIONSHIP_AUD*,
     NAMERELATIONSHIP_MARKER*,
+    NAMERELATIONSHIP_MARKER_AUD*,
     NOMENCLATURALSTATUS*,
     NOMENCLATURALSTATUS_ANNOTATION*,
+    NOMENCLATURALSTATUS_ANNOTATION_AUD*,
+    NOMENCLATURALSTATUS_AUD*,
     NOMENCLATURALSTATUS_MARKER*,
+    NOMENCLATURALSTATUS_MARKER_AUD*,
     ORIGINALSOURCE*,
     ORIGINALSOURCE_ANNOTATION*,
+    ORIGINALSOURCE_ANNOTATION_AUD*,
+    ORIGINALSOURCE_AUD*,
     ORIGINALSOURCE_MARKER*,
+    ORIGINALSOURCE_MARKER_AUD*,
     PERMISSIONGROUP*,
     PERMISSIONGROUP_GRANTEDAUTHORITYIMPL*,
     PERSON_KEYWORD*,
+    PERSON_KEYWORD_AUD*,
     REFERENCEBASE*,
     REFERENCEBASE_ANNOTATION*,
+    REFERENCEBASE_ANNOTATION_AUD*,
+    REFERENCEBASE_AUD*,
     REFERENCEBASE_EXTENSION*,
+    REFERENCEBASE_EXTENSION_AUD*,
     REFERENCEBASE_MARKER*,
+    REFERENCEBASE_MARKER_AUD*,
     REFERENCEBASE_MEDIA*,
+    REFERENCEBASE_MEDIA_AUD*,
     REFERENCEBASE_ORIGINALSOURCE*,
+    REFERENCEBASE_ORIGINALSOURCE_AUD*,
     REFERENCEBASE_RIGHTS*,
+    REFERENCEBASE_RIGHTS_AUD*,
     RELATIONSHIPTERMBASE_INVERSEREPRESENTATION*,
+    RELATIONSHIPTERMBASE_INVERSEREPRESENTATION_AUD*,
     REPRESENTATION*,
     REPRESENTATION_ANNOTATION*,
+    REPRESENTATION_ANNOTATION_AUD*,
+    REPRESENTATION_AUD*,
     REPRESENTATION_MARKER*,
+    REPRESENTATION_MARKER_AUD*,
     RIGHTS*,
     RIGHTS_ANNOTATION*,
+    RIGHTS_ANNOTATION_AUD*,
+    RIGHTS_AUD*,
     RIGHTS_MARKER*,
+    RIGHTS_MARKER_AUD*,
     SEQUENCE*,
     SEQUENCE_ANNOTATION*,
+    SEQUENCE_ANNOTATION_AUD*,
+    SEQUENCE_AUD*,
     SEQUENCE_EXTENSION*,
+    SEQUENCE_EXTENSION_AUD*,
     SEQUENCE_GENBANKACCESSION*,
+    SEQUENCE_GENBANKACCESSION_AUD*,
     SEQUENCE_MARKER*,
+    SEQUENCE_MARKER_AUD*,
     SEQUENCE_MEDIA*,
+    SEQUENCE_MEDIA_AUD*,
     SEQUENCE_ORIGINALSOURCE*,
+    SEQUENCE_ORIGINALSOURCE_AUD*,
     SEQUENCE_REFERENCEBASE*,
+    SEQUENCE_REFERENCEBASE_AUD*,
     SEQUENCE_RIGHTS*,
+    SEQUENCE_RIGHTS_AUD*,
     SPECIMENOROBSERVATIONBASE*,
     SPECIMENOROBSERVATIONBASE_ANNOTATION*,
+    SPECIMENOROBSERVATIONBASE_ANNOTATION_AUD*,
+    SPECIMENOROBSERVATIONBASE_AUD*,
     SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT*,
+    SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT_AUD*,
     SPECIMENOROBSERVATIONBASE_EXTENSION*,
+    SPECIMENOROBSERVATIONBASE_EXTENSION_AUD*,
+    SPECIMENOROBSERVATIONBASE_LANGUAGESTRING*,
+    SPECIMENOROBSERVATIONBASE_LANGUAGESTRING_AUD*,
     SPECIMENOROBSERVATIONBASE_MARKER*,
+    SPECIMENOROBSERVATIONBASE_MARKER_AUD*,
     SPECIMENOROBSERVATIONBASE_MEDIA*,
+    SPECIMENOROBSERVATIONBASE_MEDIA_AUD*,
     SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE*,
+    SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE_AUD*,
     SPECIMENOROBSERVATIONBASE_RIGHTS*,
+    SPECIMENOROBSERVATIONBASE_RIGHTS_AUD*,
     SPECIMENOROBSERVATIONBASE_SEQUENCE*,
+    SPECIMENOROBSERVATIONBASE_SEQUENCE_AUD*,
     STATEDATA*,
+    STATEDATA_AUD*,
     STATEDATA_DEFINEDTERMBASE*,
+    STATEDATA_DEFINEDTERMBASE_AUD*,
+    STATEDATA_LANGUAGESTRING*,
+    STATEDATA_LANGUAGESTRING_AUD*,
     STATISTICALMEASUREMENTVALUE*,
+    STATISTICALMEASUREMENTVALUE_AUD*,
     STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE*,
+    STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE_AUD*,
     SYNONYMRELATIONSHIP*,
     SYNONYMRELATIONSHIP_ANNOTATION*,
+    SYNONYMRELATIONSHIP_ANNOTATION_AUD*,
+    SYNONYMRELATIONSHIP_AUD*,
     SYNONYMRELATIONSHIP_MARKER*,
+    SYNONYMRELATIONSHIP_MARKER_AUD*,
     TAXONBASE*,
     TAXONBASE_ANNOTATION*,
+    TAXONBASE_ANNOTATION_AUD*,
+    TAXONBASE_AUD*,
     TAXONBASE_EXTENSION*,
+    TAXONBASE_EXTENSION_AUD*,
     TAXONBASE_MARKER*,
+    TAXONBASE_MARKER_AUD*,
     TAXONBASE_ORIGINALSOURCE*,
+    TAXONBASE_ORIGINALSOURCE_AUD*,
     TAXONBASE_RIGHTS*,
+    TAXONBASE_RIGHTS_AUD*,
+    TAXONINTERACTION_LANGUAGESTRING*,
+    TAXONINTERACTION_LANGUAGESTRING_AUD*,
     TAXONNAMEBASE*,
     TAXONNAMEBASE_ANNOTATION*,
+    TAXONNAMEBASE_ANNOTATION_AUD*,
+    TAXONNAMEBASE_AUD*,
     TAXONNAMEBASE_EXTENSION*,
+    TAXONNAMEBASE_EXTENSION_AUD*,
     TAXONNAMEBASE_HYBRIDRELATIONSHIP*,
+    TAXONNAMEBASE_HYBRIDRELATIONSHIP_AUD*,
     TAXONNAMEBASE_MARKER*,
+    TAXONNAMEBASE_MARKER_AUD*,
     TAXONNAMEBASE_NOMENCLATURALSTATUS*,
+    TAXONNAMEBASE_NOMENCLATURALSTATUS_AUD*,
     TAXONNAMEBASE_ORIGINALSOURCE*,
+    TAXONNAMEBASE_ORIGINALSOURCE_AUD*,
     TAXONNAMEBASE_RIGHTS*,
+    TAXONNAMEBASE_RIGHTS_AUD*,
     TAXONNAMEBASE_TYPEDESIGNATIONBASE*,
+    TAXONNAMEBASE_TYPEDESIGNATIONBASE_AUD*,
     TAXONRELATIONSHIP*,
     TAXONRELATIONSHIP_ANNOTATION*,
+    TAXONRELATIONSHIP_ANNOTATION_AUD*,
+    TAXONRELATIONSHIP_AUD*,
     TAXONRELATIONSHIP_MARKER*,
+    TAXONRELATIONSHIP_MARKER_AUD*,
     TERMVOCABULARY*,
+    TERMVOCABULARY_AUD*,
     TERMVOCABULARY_REPRESENTATION*,
+    TERMVOCABULARY_REPRESENTATION_AUD*,
     TYPEDESIGNATIONBASE*,
     TYPEDESIGNATIONBASE_ANNOTATION*,
+    TYPEDESIGNATIONBASE_ANNOTATION_AUD*,
+    TYPEDESIGNATIONBASE_AUD*,
     TYPEDESIGNATIONBASE_MARKER*,
+    TYPEDESIGNATIONBASE_MARKER_AUD*,
     TYPEDESIGNATIONBASE_TAXONNAMEBASE*,
+    TYPEDESIGNATIONBASE_TAXONNAMEBASE_AUD*,
     USER*,
     USER_GRANTEDAUTHORITYIMPL*,
     USER_PERMISSIONGROUP*)>
     STREET CDATA #IMPLIED
     CREATEDBY_ID CDATA #IMPLIED
     UPDATEDBY_ID CDATA #IMPLIED
-    CONTACT_ID CDATA #IMPLIED
     COUNTRY_ID CDATA #IMPLIED
     LOCATION_REFERENCESYSTEM_ID CDATA #IMPLIED
 >
 
-<!ELEMENT AGENT EMPTY>
-<!ATTLIST AGENT
+<!ELEMENT ADDRESS_AUD EMPTY>
+<!ATTLIST ADDRESS_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    LOCALITY CDATA #IMPLIED
+    LOCATION_ERRORRADIUS CDATA #IMPLIED
+    LOCATION_LATITUDE CDATA #IMPLIED
+    LOCATION_LONGITUDE CDATA #IMPLIED
+    POBOX CDATA #IMPLIED
+    POSTCODE CDATA #IMPLIED
+    REGION CDATA #IMPLIED
+    STREET CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    COUNTRY_ID CDATA #IMPLIED
+    LOCATION_REFERENCESYSTEM_ID CDATA #IMPLIED
+>
+
+<!ELEMENT AGENTBASE EMPTY>
+<!ATTLIST AGENTBASE
     DTYPE CDATA #IMPLIED
     ID CDATA #REQUIRED
     CREATED CDATA #IMPLIED
     UUID CDATA #IMPLIED
     UPDATED CDATA #IMPLIED
-    LSID CDATA #IMPLIED
-    TITLECACHE CDATA #IMPLIED
+    LSID_AUTH CDATA #IMPLIED
+    LSID_AUTHORITY CDATA #IMPLIED
+    LSID_LSID CDATA #IMPLIED
+    LSID_NAMESPACE CDATA #IMPLIED
+    LSID_OBJECT CDATA #IMPLIED
+    LSID_REVISION CDATA #IMPLIED
     PROTECTEDTITLECACHE CDATA #IMPLIED
+    TITLECACHE CDATA #IMPLIED
     CODE CDATA #IMPLIED
     NAME CDATA #IMPLIED
     NOMENCLATURALTITLE CDATA #IMPLIED
     LIFESPAN_START CDATA #IMPLIED
     PREFIX CDATA #IMPLIED
     SUFFIX CDATA #IMPLIED
+    PROTECTEDNOMENCLATURALTITLECACHE CDATA #IMPLIED
     CREATEDBY_ID CDATA #IMPLIED
     UPDATEDBY_ID CDATA #IMPLIED
-    CONTACT_ID CDATA #IMPLIED
     ISPARTOF_ID CDATA #IMPLIED
 >
 
-<!ELEMENT AGENT_AGENT EMPTY>
-<!ATTLIST AGENT_AGENT
-    AGENT_ID CDATA #IMPLIED
+<!ELEMENT AGENTBASE_ADDRESS EMPTY>
+<!ATTLIST AGENTBASE_ADDRESS
+    AGENTBASE_ID CDATA #REQUIRED
+    CONTACT_ADDRESSES_ID CDATA #REQUIRED
+>
+
+<!ELEMENT AGENTBASE_ADDRESS_AUD EMPTY>
+<!ATTLIST AGENTBASE_ADDRESS_AUD
+    REV CDATA #REQUIRED
+    AGENTBASE_ID CDATA #REQUIRED
+    CONTACT_ADDRESSES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT AGENTBASE_AGENTBASE EMPTY>
+<!ATTLIST AGENTBASE_AGENTBASE
+    AGENTBASE_ID CDATA #IMPLIED
     TEAMMEMBERS_ID CDATA #IMPLIED
 >
 
-<!ELEMENT AGENT_ANNOTATION EMPTY>
-<!ATTLIST AGENT_ANNOTATION
-    AGENT_ID CDATA #REQUIRED
+<!ELEMENT AGENTBASE_AGENTBASE_AUD EMPTY>
+<!ATTLIST AGENTBASE_AGENTBASE_AUD
+    REV CDATA #REQUIRED
+    AGENTBASE_ID CDATA #REQUIRED
+    TEAMMEMBERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT AGENTBASE_ANNOTATION EMPTY>
+<!ATTLIST AGENTBASE_ANNOTATION
+    AGENTBASE_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+>
+
+<!ELEMENT AGENTBASE_ANNOTATION_AUD EMPTY>
+<!ATTLIST AGENTBASE_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    AGENTBASE_ID CDATA #REQUIRED
     ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT AGENTBASE_AUD EMPTY>
+<!ATTLIST AGENTBASE_AUD
+    DTYPE CDATA #IMPLIED
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    LSID_AUTH CDATA #IMPLIED
+    LSID_AUTHORITY CDATA #IMPLIED
+    LSID_LSID CDATA #IMPLIED
+    LSID_NAMESPACE CDATA #IMPLIED
+    LSID_OBJECT CDATA #IMPLIED
+    LSID_REVISION CDATA #IMPLIED
+    PROTECTEDTITLECACHE CDATA #IMPLIED
+    TITLECACHE CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    NOMENCLATURALTITLE CDATA #IMPLIED
+    FIRSTNAME CDATA #IMPLIED
+    LASTNAME CDATA #IMPLIED
+    LIFESPAN_END CDATA #IMPLIED
+    LIFESPAN_START CDATA #IMPLIED
+    PREFIX CDATA #IMPLIED
+    SUFFIX CDATA #IMPLIED
+    CODE CDATA #IMPLIED
+    NAME CDATA #IMPLIED
+    ISPARTOF_ID CDATA #IMPLIED
+    PROTECTEDNOMENCLATURALTITLECACHE CDATA #IMPLIED
+>
+
+<!ELEMENT AGENTBASE_CONTACT_EMAILADDRESSES EMPTY>
+<!ATTLIST AGENTBASE_CONTACT_EMAILADDRESSES
+    AGENTBASE_ID CDATA #IMPLIED
+    CONTACT_EMAILADDRESSES_ELEMENT CDATA #IMPLIED
+>
+
+<!ELEMENT AGENTBASE_CONTACT_EMAILADDRESSES_AUD EMPTY>
+<!ATTLIST AGENTBASE_CONTACT_EMAILADDRESSES_AUD
+    REV CDATA #REQUIRED
+    AGENTBASE_ID CDATA #REQUIRED
+    CONTACT_EMAILADDRESSES_ELEMENT CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT AGENTBASE_CONTACT_FAXNUMBERS EMPTY>
+<!ATTLIST AGENTBASE_CONTACT_FAXNUMBERS
+    AGENTBASE_ID CDATA #IMPLIED
+    CONTACT_FAXNUMBERS_ELEMENT CDATA #IMPLIED
+>
+
+<!ELEMENT AGENTBASE_CONTACT_FAXNUMBERS_AUD EMPTY>
+<!ATTLIST AGENTBASE_CONTACT_FAXNUMBERS_AUD
+    REV CDATA #REQUIRED
+    AGENTBASE_ID CDATA #REQUIRED
+    CONTACT_FAXNUMBERS_ELEMENT CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT AGENTBASE_CONTACT_PHONENUMBERS EMPTY>
+<!ATTLIST AGENTBASE_CONTACT_PHONENUMBERS
+    AGENTBASE_ID CDATA #IMPLIED
+    CONTACT_PHONENUMBERS_ELEMENT CDATA #IMPLIED
+>
+
+<!ELEMENT AGENTBASE_CONTACT_PHONENUMBERS_AUD EMPTY>
+<!ATTLIST AGENTBASE_CONTACT_PHONENUMBERS_AUD
+    REV CDATA #REQUIRED
+    AGENTBASE_ID CDATA #REQUIRED
+    CONTACT_PHONENUMBERS_ELEMENT CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT AGENTBASE_CONTACT_URLS EMPTY>
+<!ATTLIST AGENTBASE_CONTACT_URLS
+    AGENTBASE_ID CDATA #IMPLIED
+    CONTACT_URLS_ELEMENT CDATA #IMPLIED
+>
+
+<!ELEMENT AGENTBASE_CONTACT_URLS_AUD EMPTY>
+<!ATTLIST AGENTBASE_CONTACT_URLS_AUD
+    REV CDATA #REQUIRED
+    AGENTBASE_ID CDATA #REQUIRED
+    CONTACT_URLS_ELEMENT CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT AGENTBASE_DEFINEDTERMBASE EMPTY>
+<!ATTLIST AGENTBASE_DEFINEDTERMBASE
+    AGENTBASE_ID CDATA #REQUIRED
+    TYPES_ID CDATA #REQUIRED
 >
 
-<!ELEMENT AGENT_DEFINEDTERMBASE EMPTY>
-<!ATTLIST AGENT_DEFINEDTERMBASE
-    AGENT_ID CDATA #REQUIRED
+<!ELEMENT AGENTBASE_DEFINEDTERMBASE_AUD EMPTY>
+<!ATTLIST AGENTBASE_DEFINEDTERMBASE_AUD
+    REV CDATA #REQUIRED
+    AGENTBASE_ID CDATA #REQUIRED
     TYPES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT AGENTBASE_EXTENSION EMPTY>
+<!ATTLIST AGENTBASE_EXTENSION
+    AGENTBASE_ID CDATA #REQUIRED
+    EXTENSIONS_ID CDATA #REQUIRED
 >
 
-<!ELEMENT AGENT_EXTENSION EMPTY>
-<!ATTLIST AGENT_EXTENSION
-    AGENT_ID CDATA #REQUIRED
+<!ELEMENT AGENTBASE_EXTENSION_AUD EMPTY>
+<!ATTLIST AGENTBASE_EXTENSION_AUD
+    REV CDATA #REQUIRED
+    AGENTBASE_ID CDATA #REQUIRED
     EXTENSIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT AGENTBASE_MARKER EMPTY>
+<!ATTLIST AGENTBASE_MARKER
+    AGENTBASE_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
 >
 
-<!ELEMENT AGENT_MARKER EMPTY>
-<!ATTLIST AGENT_MARKER
-    AGENT_ID CDATA #REQUIRED
+<!ELEMENT AGENTBASE_MARKER_AUD EMPTY>
+<!ATTLIST AGENTBASE_MARKER_AUD
+    REV CDATA #REQUIRED
+    AGENTBASE_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
 >
 
-<!ELEMENT AGENT_MEDIA EMPTY>
-<!ATTLIST AGENT_MEDIA
-    AGENT_ID CDATA #REQUIRED
+<!ELEMENT AGENTBASE_MEDIA EMPTY>
+<!ATTLIST AGENTBASE_MEDIA
+    AGENTBASE_ID CDATA #REQUIRED
     MEDIA_ID CDATA #REQUIRED
 >
 
-<!ELEMENT AGENT_ORIGINALSOURCE EMPTY>
-<!ATTLIST AGENT_ORIGINALSOURCE
-    AGENT_ID CDATA #REQUIRED
+<!ELEMENT AGENTBASE_MEDIA_AUD EMPTY>
+<!ATTLIST AGENTBASE_MEDIA_AUD
+    REV CDATA #REQUIRED
+    AGENTBASE_ID CDATA #REQUIRED
+    MEDIA_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT AGENTBASE_ORIGINALSOURCE EMPTY>
+<!ATTLIST AGENTBASE_ORIGINALSOURCE
+    AGENTBASE_ID CDATA #REQUIRED
+    SOURCES_ID CDATA #REQUIRED
+>
+
+<!ELEMENT AGENTBASE_ORIGINALSOURCE_AUD EMPTY>
+<!ATTLIST AGENTBASE_ORIGINALSOURCE_AUD
+    REV CDATA #REQUIRED
+    AGENTBASE_ID CDATA #REQUIRED
     SOURCES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT AGENTBASE_RIGHTS EMPTY>
+<!ATTLIST AGENTBASE_RIGHTS
+    AGENTBASE_ID CDATA #REQUIRED
+    RIGHTS_ID CDATA #REQUIRED
 >
 
-<!ELEMENT AGENT_RIGHTS EMPTY>
-<!ATTLIST AGENT_RIGHTS
-    AGENT_ID CDATA #REQUIRED
+<!ELEMENT AGENTBASE_RIGHTS_AUD EMPTY>
+<!ATTLIST AGENTBASE_RIGHTS_AUD
+    REV CDATA #REQUIRED
+    AGENTBASE_ID CDATA #REQUIRED
     RIGHTS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
 >
 
 <!ELEMENT ANNOTATION EMPTY>
     TEXT CDATA #IMPLIED
     ANNOTATEDOBJ_TYPE CDATA #IMPLIED
     ANNOTATEDOBJ_ID CDATA #IMPLIED
-    LINKBACKURLSTR CDATA #IMPLIED
+    LINKBACKURL CDATA #IMPLIED
     CREATEDBY_ID CDATA #IMPLIED
     UPDATEDBY_ID CDATA #IMPLIED
     LANGUAGE_ID CDATA #IMPLIED
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT ANNOTATION_ANNOTATION_AUD EMPTY>
+<!ATTLIST ANNOTATION_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    ANNOTATION_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT ANNOTATION_AUD EMPTY>
+<!ATTLIST ANNOTATION_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    TEXT CDATA #IMPLIED
+    LINKBACKURL CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    LANGUAGE_ID CDATA #IMPLIED
+    ANNOTATIONTYPE_ID CDATA #IMPLIED
+    COMMENTATOR_ID CDATA #IMPLIED
+>
+
 <!ELEMENT ANNOTATION_MARKER EMPTY>
 <!ATTLIST ANNOTATION_MARKER
     ANNOTATION_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT ANNOTATION_MARKER_AUD EMPTY>
+<!ATTLIST ANNOTATION_MARKER_AUD
+    REV CDATA #REQUIRED
+    ANNOTATION_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT AUDITEVENT EMPTY>
+<!ATTLIST AUDITEVENT
+    REVISIONNUMBER CDATA #REQUIRED
+    TIMESTAMP CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+>
+
 <!ELEMENT CDM_VIEW EMPTY>
 <!ATTLIST CDM_VIEW
     ID CDATA #REQUIRED
     UUID CDATA #IMPLIED
     DESCRIPTION CDATA #IMPLIED
     NAME CDATA #IMPLIED
-    REFERENCE CDATA #IMPLIED
     CREATEDBY_ID CDATA #IMPLIED
+    REFERENCE_ID CDATA #IMPLIED
 >
 
 <!ELEMENT CDM_VIEW_CDM_VIEW EMPTY>
     CREATED CDATA #IMPLIED
     UUID CDATA #IMPLIED
     UPDATED CDATA #IMPLIED
-    LSID CDATA #IMPLIED
-    TITLECACHE CDATA #IMPLIED
+    LSID_AUTH CDATA #IMPLIED
+    LSID_AUTHORITY CDATA #IMPLIED
+    LSID_LSID CDATA #IMPLIED
+    LSID_NAMESPACE CDATA #IMPLIED
+    LSID_OBJECT CDATA #IMPLIED
+    LSID_REVISION CDATA #IMPLIED
     PROTECTEDTITLECACHE CDATA #IMPLIED
+    TITLECACHE CDATA #IMPLIED
     CODE CDATA #IMPLIED
     CODESTANDARD CDATA #IMPLIED
     NAME CDATA #IMPLIED
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT COLLECTION_ANNOTATION_AUD EMPTY>
+<!ATTLIST COLLECTION_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    COLLECTION_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT COLLECTION_AUD EMPTY>
+<!ATTLIST COLLECTION_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    LSID_AUTH CDATA #IMPLIED
+    LSID_AUTHORITY CDATA #IMPLIED
+    LSID_LSID CDATA #IMPLIED
+    LSID_NAMESPACE CDATA #IMPLIED
+    LSID_OBJECT CDATA #IMPLIED
+    LSID_REVISION CDATA #IMPLIED
+    PROTECTEDTITLECACHE CDATA #IMPLIED
+    TITLECACHE CDATA #IMPLIED
+    CODE CDATA #IMPLIED
+    CODESTANDARD CDATA #IMPLIED
+    NAME CDATA #IMPLIED
+    TOWNORLOCATION CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    INSTITUTE_ID CDATA #IMPLIED
+    SUPERCOLLECTION_ID CDATA #IMPLIED
+>
+
 <!ELEMENT COLLECTION_EXTENSION EMPTY>
 <!ATTLIST COLLECTION_EXTENSION
     COLLECTION_ID CDATA #REQUIRED
     EXTENSIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT COLLECTION_EXTENSION_AUD EMPTY>
+<!ATTLIST COLLECTION_EXTENSION_AUD
+    REV CDATA #REQUIRED
+    COLLECTION_ID CDATA #REQUIRED
+    EXTENSIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT COLLECTION_MARKER EMPTY>
 <!ATTLIST COLLECTION_MARKER
     COLLECTION_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT COLLECTION_MARKER_AUD EMPTY>
+<!ATTLIST COLLECTION_MARKER_AUD
+    REV CDATA #REQUIRED
+    COLLECTION_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT COLLECTION_MEDIA EMPTY>
 <!ATTLIST COLLECTION_MEDIA
     COLLECTION_ID CDATA #REQUIRED
     MEDIA_ID CDATA #REQUIRED
 >
 
+<!ELEMENT COLLECTION_MEDIA_AUD EMPTY>
+<!ATTLIST COLLECTION_MEDIA_AUD
+    REV CDATA #REQUIRED
+    COLLECTION_ID CDATA #REQUIRED
+    MEDIA_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT COLLECTION_ORIGINALSOURCE EMPTY>
 <!ATTLIST COLLECTION_ORIGINALSOURCE
     COLLECTION_ID CDATA #REQUIRED
     SOURCES_ID CDATA #REQUIRED
 >
 
+<!ELEMENT COLLECTION_ORIGINALSOURCE_AUD EMPTY>
+<!ATTLIST COLLECTION_ORIGINALSOURCE_AUD
+    REV CDATA #REQUIRED
+    COLLECTION_ID CDATA #REQUIRED
+    SOURCES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT COLLECTION_RIGHTS EMPTY>
 <!ATTLIST COLLECTION_RIGHTS
     COLLECTION_ID CDATA #REQUIRED
     RIGHTS_ID CDATA #REQUIRED
 >
 
-<!ELEMENT CONTACT EMPTY>
-<!ATTLIST CONTACT
-    ID CDATA #REQUIRED
-    CREATED CDATA #IMPLIED
-    UUID CDATA #IMPLIED
-    UPDATED CDATA #IMPLIED
-    EMAIL CDATA #IMPLIED
-    FAX CDATA #IMPLIED
-    PHONE CDATA #IMPLIED
-    URL CDATA #IMPLIED
-    CREATEDBY_ID CDATA #IMPLIED
-    UPDATEDBY_ID CDATA #IMPLIED
+<!ELEMENT COLLECTION_RIGHTS_AUD EMPTY>
+<!ATTLIST COLLECTION_RIGHTS_AUD
+    REV CDATA #REQUIRED
+    COLLECTION_ID CDATA #REQUIRED
+    RIGHTS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
 >
 
 <!ELEMENT DB_VERSION EMPTY>
     TYPE_ID CDATA #IMPLIED
 >
 
+<!ELEMENT DEFINEDTERMBASE_AUD EMPTY>
+<!ATTLIST DEFINEDTERMBASE_AUD
+    DTYPE CDATA #IMPLIED
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    URI CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    KINDOF_ID CDATA #IMPLIED
+    PARTOF_ID CDATA #IMPLIED
+    VOCABULARY_ID CDATA #IMPLIED
+    ORDERINDEX CDATA #IMPLIED
+    ISO639_1 CDATA #IMPLIED
+    ISO639_2 CDATA #IMPLIED
+    POINTAPPROXIMATION_ERRORRADIUS CDATA #IMPLIED
+    POINTAPPROXIMATION_LATITUDE CDATA #IMPLIED
+    POINTAPPROXIMATION_LONGITUDE CDATA #IMPLIED
+    VALIDPERIOD_END CDATA #IMPLIED
+    VALIDPERIOD_START CDATA #IMPLIED
+    LEVEL_ID CDATA #IMPLIED
+    POINTAPPROXIMATION_REFERENCESYSTEM_ID CDATA #IMPLIED
+    SHAPE_ID CDATA #IMPLIED
+    TYPE_ID CDATA #IMPLIED
+    DEFAULTCOLOR CDATA #IMPLIED
+    ISO3166_A2 CDATA #IMPLIED
+    SYMMETRIC CDATA #IMPLIED
+    TRANSITIVE CDATA #IMPLIED
+    SUPPORTSCOMMONTAXONNAME CDATA #IMPLIED
+    SUPPORTSDISTRIBUTION CDATA #IMPLIED
+    SUPPORTSINDIVIDUALASSOCIATION CDATA #IMPLIED
+    SUPPORTSQUANTITATIVEDATA CDATA #IMPLIED
+    SUPPORTSTAXONINTERACTION CDATA #IMPLIED
+    SUPPORTSTEXTDATA CDATA #IMPLIED
+>
+
 <!ELEMENT DEFINEDTERMBASE_CONTINENT EMPTY>
 <!ATTLIST DEFINEDTERMBASE_CONTINENT
     DEFINEDTERMBASE_ID CDATA #REQUIRED
     CONTINENTS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DEFINEDTERMBASE_CONTINENT_AUD EMPTY>
+<!ATTLIST DEFINEDTERMBASE_CONTINENT_AUD
+    REV CDATA #REQUIRED
+    DEFINEDTERMBASE_ID CDATA #REQUIRED
+    CONTINENTS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DEFINEDTERMBASE_MEDIA EMPTY>
 <!ATTLIST DEFINEDTERMBASE_MEDIA
     DEFINEDTERMBASE_ID CDATA #REQUIRED
     MEDIA_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DEFINEDTERMBASE_MEDIA_AUD EMPTY>
+<!ATTLIST DEFINEDTERMBASE_MEDIA_AUD
+    REV CDATA #REQUIRED
+    DEFINEDTERMBASE_ID CDATA #REQUIRED
+    MEDIA_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION EMPTY>
 <!ATTLIST DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION
     DEFINEDTERMBASE_ID CDATA #REQUIRED
     RECOMMENDEDMODIFIERENUMERATION_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION_AUD EMPTY>
+<!ATTLIST DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION_AUD
+    REV CDATA #REQUIRED
+    DEFINEDTERMBASE_ID CDATA #REQUIRED
+    RECOMMENDEDMODIFIERENUMERATION_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DEFINEDTERMBASE_REPRESENTATION EMPTY>
 <!ATTLIST DEFINEDTERMBASE_REPRESENTATION
     DEFINEDTERMBASE_ID CDATA #REQUIRED
     REPRESENTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DEFINEDTERMBASE_REPRESENTATION_AUD EMPTY>
+<!ATTLIST DEFINEDTERMBASE_REPRESENTATION_AUD
+    REV CDATA #REQUIRED
+    DEFINEDTERMBASE_ID CDATA #REQUIRED
+    REPRESENTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DEFINEDTERMBASE_STATISTICALMEASURE EMPTY>
 <!ATTLIST DEFINEDTERMBASE_STATISTICALMEASURE
     DEFINEDTERMBASE_ID CDATA #REQUIRED
     RECOMMENDEDSTATISTICALMEASURES_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DEFINEDTERMBASE_STATISTICALMEASURE_AUD EMPTY>
+<!ATTLIST DEFINEDTERMBASE_STATISTICALMEASURE_AUD
+    REV CDATA #REQUIRED
+    DEFINEDTERMBASE_ID CDATA #REQUIRED
+    RECOMMENDEDSTATISTICALMEASURES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DEFINEDTERMBASE_SUPPORTEDCATEGORICALENUMERATION EMPTY>
 <!ATTLIST DEFINEDTERMBASE_SUPPORTEDCATEGORICALENUMERATION
     DEFINEDTERMBASE_ID CDATA #REQUIRED
     SUPPORTEDCATEGORICALENUMERATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DEFINEDTERMBASE_SUPPORTEDCATEGORICALENUMERATION_AUD EMPTY>
+<!ATTLIST DEFINEDTERMBASE_SUPPORTEDCATEGORICALENUMERATION_AUD
+    REV CDATA #REQUIRED
+    DEFINEDTERMBASE_ID CDATA #REQUIRED
+    SUPPORTEDCATEGORICALENUMERATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DEFINEDTERMBASE_WATERBODYORCOUNTRY EMPTY>
 <!ATTLIST DEFINEDTERMBASE_WATERBODYORCOUNTRY
     DEFINEDTERMBASE_ID CDATA #REQUIRED
     WATERBODIESORCOUNTRIES_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DEFINEDTERMBASE_WATERBODYORCOUNTRY_AUD EMPTY>
+<!ATTLIST DEFINEDTERMBASE_WATERBODYORCOUNTRY_AUD
+    REV CDATA #REQUIRED
+    DEFINEDTERMBASE_ID CDATA #REQUIRED
+    WATERBODIESORCOUNTRIES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DERIVATIONEVENT EMPTY>
 <!ATTLIST DERIVATIONEVENT
+    DTYPE CDATA #IMPLIED
     ID CDATA #REQUIRED
     CREATED CDATA #IMPLIED
     UUID CDATA #IMPLIED
     DESCRIPTION CDATA #IMPLIED
     TIMEPERIOD_END CDATA #IMPLIED
     TIMEPERIOD_START CDATA #IMPLIED
+    ABSOLUTEELEVATION CDATA #IMPLIED
+    ABSOLUTEELEVATIONERROR CDATA #IMPLIED
+    COLLECTINGMETHOD CDATA #IMPLIED
+    DISTANCETOGROUND CDATA #IMPLIED
+    DISTANCETOWATERSURFACE CDATA #IMPLIED
+    EXACTLOCATION_ERRORRADIUS CDATA #IMPLIED
+    EXACTLOCATION_LATITUDE CDATA #IMPLIED
+    EXACTLOCATION_LONGITUDE CDATA #IMPLIED
     CREATEDBY_ID CDATA #IMPLIED
     UPDATEDBY_ID CDATA #IMPLIED
     ACTOR_ID CDATA #IMPLIED
     TYPE_ID CDATA #IMPLIED
+    EXACTLOCATION_REFERENCESYSTEM_ID CDATA #IMPLIED
+    LOCALITY_ID CDATA #IMPLIED
 >
 
 <!ELEMENT DERIVATIONEVENT_ANNOTATION EMPTY>
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
-<!ELEMENT DERIVATIONEVENT_MARKER EMPTY>
-<!ATTLIST DERIVATIONEVENT_MARKER
+<!ELEMENT DERIVATIONEVENT_ANNOTATION_AUD EMPTY>
+<!ATTLIST DERIVATIONEVENT_ANNOTATION_AUD
+    REV CDATA #REQUIRED
     DERIVATIONEVENT_ID CDATA #REQUIRED
-    MARKERS_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
 >
 
-<!ELEMENT DESCRIPTIONBASE EMPTY>
-<!ATTLIST DESCRIPTIONBASE
+<!ELEMENT DERIVATIONEVENT_AUD EMPTY>
+<!ATTLIST DERIVATIONEVENT_AUD
     DTYPE CDATA #IMPLIED
     ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
     CREATED CDATA #IMPLIED
     UUID CDATA #IMPLIED
     UPDATED CDATA #IMPLIED
-    LSID CDATA #IMPLIED
-    TITLECACHE CDATA #IMPLIED
-    PROTECTEDTITLECACHE CDATA #IMPLIED
+    DESCRIPTION CDATA #IMPLIED
+    TIMEPERIOD_END CDATA #IMPLIED
+    TIMEPERIOD_START CDATA #IMPLIED
     CREATEDBY_ID CDATA #IMPLIED
     UPDATEDBY_ID CDATA #IMPLIED
-    TAXON_FK CDATA #IMPLIED
-    TAXONNAME_FK CDATA #IMPLIED
+    ACTOR_ID CDATA #IMPLIED
+    TYPE_ID CDATA #IMPLIED
+    ABSOLUTEELEVATION CDATA #IMPLIED
+    ABSOLUTEELEVATIONERROR CDATA #IMPLIED
+    COLLECTINGMETHOD CDATA #IMPLIED
+    DISTANCETOGROUND CDATA #IMPLIED
+    DISTANCETOWATERSURFACE CDATA #IMPLIED
+    EXACTLOCATION_ERRORRADIUS CDATA #IMPLIED
+    EXACTLOCATION_LATITUDE CDATA #IMPLIED
+    EXACTLOCATION_LONGITUDE CDATA #IMPLIED
+    EXACTLOCATION_REFERENCESYSTEM_ID CDATA #IMPLIED
+    LOCALITY_ID CDATA #IMPLIED
 >
 
-<!ELEMENT DESCRIPTIONBASE_ANNOTATION EMPTY>
-<!ATTLIST DESCRIPTIONBASE_ANNOTATION
+<!ELEMENT DERIVATIONEVENT_DEFINEDTERMBASE EMPTY>
+<!ATTLIST DERIVATIONEVENT_DEFINEDTERMBASE
+    DERIVATIONEVENT_ID CDATA #REQUIRED
+    COLLECTINGAREAS_ID CDATA #REQUIRED
+>
+
+<!ELEMENT DERIVATIONEVENT_DEFINEDTERMBASE_AUD EMPTY>
+<!ATTLIST DERIVATIONEVENT_DEFINEDTERMBASE_AUD
+    REV CDATA #REQUIRED
+    DERIVATIONEVENT_ID CDATA #REQUIRED
+    COLLECTINGAREAS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT DERIVATIONEVENT_MARKER EMPTY>
+<!ATTLIST DERIVATIONEVENT_MARKER
+    DERIVATIONEVENT_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+>
+
+<!ELEMENT DERIVATIONEVENT_MARKER_AUD EMPTY>
+<!ATTLIST DERIVATIONEVENT_MARKER_AUD
+    REV CDATA #REQUIRED
+    DERIVATIONEVENT_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT DESCRIPTIONBASE EMPTY>
+<!ATTLIST DESCRIPTIONBASE
+    DTYPE CDATA #IMPLIED
+    ID CDATA #REQUIRED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    LSID_AUTH CDATA #IMPLIED
+    LSID_AUTHORITY CDATA #IMPLIED
+    LSID_LSID CDATA #IMPLIED
+    LSID_NAMESPACE CDATA #IMPLIED
+    LSID_OBJECT CDATA #IMPLIED
+    LSID_REVISION CDATA #IMPLIED
+    PROTECTEDTITLECACHE CDATA #IMPLIED
+    TITLECACHE CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    TAXON_FK CDATA #IMPLIED
+    TAXONNAME_FK CDATA #IMPLIED
+>
+
+<!ELEMENT DESCRIPTIONBASE_ANNOTATION EMPTY>
+<!ATTLIST DESCRIPTIONBASE_ANNOTATION
+    DESCRIPTIONBASE_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+>
+
+<!ELEMENT DESCRIPTIONBASE_ANNOTATION_AUD EMPTY>
+<!ATTLIST DESCRIPTIONBASE_ANNOTATION_AUD
+    REV CDATA #REQUIRED
     DESCRIPTIONBASE_ID CDATA #REQUIRED
     ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT DESCRIPTIONBASE_AUD EMPTY>
+<!ATTLIST DESCRIPTIONBASE_AUD
+    DTYPE CDATA #IMPLIED
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    LSID_AUTH CDATA #IMPLIED
+    LSID_AUTHORITY CDATA #IMPLIED
+    LSID_LSID CDATA #IMPLIED
+    LSID_NAMESPACE CDATA #IMPLIED
+    LSID_OBJECT CDATA #IMPLIED
+    LSID_REVISION CDATA #IMPLIED
+    PROTECTEDTITLECACHE CDATA #IMPLIED
+    TITLECACHE CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    TAXON_FK CDATA #IMPLIED
+    TAXONNAME_FK CDATA #IMPLIED
 >
 
 <!ELEMENT DESCRIPTIONBASE_EXTENSION EMPTY>
     EXTENSIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DESCRIPTIONBASE_EXTENSION_AUD EMPTY>
+<!ATTLIST DESCRIPTIONBASE_EXTENSION_AUD
+    REV CDATA #REQUIRED
+    DESCRIPTIONBASE_ID CDATA #REQUIRED
+    EXTENSIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DESCRIPTIONBASE_GEOSCOPE EMPTY>
 <!ATTLIST DESCRIPTIONBASE_GEOSCOPE
     DESCRIPTIONBASE_ID CDATA #REQUIRED
     GEOSCOPES_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DESCRIPTIONBASE_GEOSCOPE_AUD EMPTY>
+<!ATTLIST DESCRIPTIONBASE_GEOSCOPE_AUD
+    REV CDATA #REQUIRED
+    DESCRIPTIONBASE_ID CDATA #REQUIRED
+    GEOSCOPES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DESCRIPTIONBASE_MARKER EMPTY>
 <!ATTLIST DESCRIPTIONBASE_MARKER
     DESCRIPTIONBASE_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DESCRIPTIONBASE_MARKER_AUD EMPTY>
+<!ATTLIST DESCRIPTIONBASE_MARKER_AUD
+    REV CDATA #REQUIRED
+    DESCRIPTIONBASE_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DESCRIPTIONBASE_ORIGINALSOURCE EMPTY>
 <!ATTLIST DESCRIPTIONBASE_ORIGINALSOURCE
     DESCRIPTIONBASE_ID CDATA #REQUIRED
     SOURCES_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DESCRIPTIONBASE_ORIGINALSOURCE_AUD EMPTY>
+<!ATTLIST DESCRIPTIONBASE_ORIGINALSOURCE_AUD
+    REV CDATA #REQUIRED
+    DESCRIPTIONBASE_ID CDATA #REQUIRED
+    SOURCES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DESCRIPTIONBASE_REFERENCEBASE EMPTY>
 <!ATTLIST DESCRIPTIONBASE_REFERENCEBASE
     DESCRIPTIONBASE_ID CDATA #REQUIRED
     DESCRIPTIONSOURCES_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DESCRIPTIONBASE_REFERENCEBASE_AUD EMPTY>
+<!ATTLIST DESCRIPTIONBASE_REFERENCEBASE_AUD
+    REV CDATA #REQUIRED
+    DESCRIPTIONBASE_ID CDATA #REQUIRED
+    DESCRIPTIONSOURCES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DESCRIPTIONBASE_RIGHTS EMPTY>
 <!ATTLIST DESCRIPTIONBASE_RIGHTS
     DESCRIPTIONBASE_ID CDATA #REQUIRED
     RIGHTS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DESCRIPTIONBASE_RIGHTS_AUD EMPTY>
+<!ATTLIST DESCRIPTIONBASE_RIGHTS_AUD
+    REV CDATA #REQUIRED
+    DESCRIPTIONBASE_ID CDATA #REQUIRED
+    RIGHTS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DESCRIPTIONBASE_SCOPE EMPTY>
 <!ATTLIST DESCRIPTIONBASE_SCOPE
     DESCRIPTIONBASE_ID CDATA #REQUIRED
     SCOPES_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DESCRIPTIONBASE_SCOPE_AUD EMPTY>
+<!ATTLIST DESCRIPTIONBASE_SCOPE_AUD
+    REV CDATA #REQUIRED
+    DESCRIPTIONBASE_ID CDATA #REQUIRED
+    SCOPES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT DESCRIPTIONBASE_SPECIMENOROBSERVATIONBASE EMPTY>
+<!ATTLIST DESCRIPTIONBASE_SPECIMENOROBSERVATIONBASE
+    DESCRIPTIONS_ID CDATA #REQUIRED
+    DESCRIBEDSPECIMENOROBSERVATIONS_ID CDATA #REQUIRED
+>
+
+<!ELEMENT DESCRIPTIONBASE_SPECIMENOROBSERVATIONBASE_AUD EMPTY>
+<!ATTLIST DESCRIPTIONBASE_SPECIMENOROBSERVATIONBASE_AUD
+    REV CDATA #REQUIRED
+    DESCRIPTIONS_ID CDATA #REQUIRED
+    DESCRIBEDSPECIMENOROBSERVATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DESCRIPTIONELEMENTBASE EMPTY>
 <!ATTLIST DESCRIPTIONELEMENTBASE
     DTYPE CDATA #IMPLIED
     UPDATED CDATA #IMPLIED
     CITATIONMICROREFERENCE CDATA #IMPLIED
     ORIGINALNAMESTRING CDATA #IMPLIED
-    MODIFYINGTEXT CDATA #IMPLIED
     ORDERRELEVANT CDATA #IMPLIED
     NAME CDATA #IMPLIED
-    DESCRIPTION CDATA #IMPLIED
     CREATEDBY_ID CDATA #IMPLIED
     UPDATEDBY_ID CDATA #IMPLIED
     CITATION_ID CDATA #IMPLIED
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DESCRIPTIONELEMENTBASE_ANNOTATION_AUD EMPTY>
+<!ATTLIST DESCRIPTIONELEMENTBASE_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    DESCRIPTIONELEMENTBASE_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT DESCRIPTIONELEMENTBASE_AUD EMPTY>
+<!ATTLIST DESCRIPTIONELEMENTBASE_AUD
+    DTYPE CDATA #IMPLIED
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    CITATIONMICROREFERENCE CDATA #IMPLIED
+    ORIGINALNAMESTRING CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    CITATION_ID CDATA #IMPLIED
+    FEATURE_ID CDATA #IMPLIED
+    INDESCRIPTION_ID CDATA #IMPLIED
+    TAXON2_ID CDATA #IMPLIED
+    AREA_ID CDATA #IMPLIED
+    STATUS_ID CDATA #IMPLIED
+    ASSOCIATEDSPECIMENOROBSERVATION_ID CDATA #IMPLIED
+    FORMAT_ID CDATA #IMPLIED
+    UNIT_ID CDATA #IMPLIED
+    NAME CDATA #IMPLIED
+    LANGUAGE_ID CDATA #IMPLIED
+    ORDERRELEVANT CDATA #IMPLIED
+>
+
 <!ELEMENT DESCRIPTIONELEMENTBASE_LANGUAGESTRING EMPTY>
 <!ATTLIST DESCRIPTIONELEMENTBASE_LANGUAGESTRING
     DESCRIPTIONELEMENTBASE_ID CDATA #REQUIRED
     MULTILANGUAGETEXT_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DESCRIPTIONELEMENTBASE_LANGUAGESTRING_AUD EMPTY>
+<!ATTLIST DESCRIPTIONELEMENTBASE_LANGUAGESTRING_AUD
+    REV CDATA #REQUIRED
+    DESCRIPTIONELEMENTBASE_ID CDATA #REQUIRED
+    MULTILANGUAGETEXT_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DESCRIPTIONELEMENTBASE_MARKER EMPTY>
 <!ATTLIST DESCRIPTIONELEMENTBASE_MARKER
     DESCRIPTIONELEMENTBASE_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DESCRIPTIONELEMENTBASE_MARKER_AUD EMPTY>
+<!ATTLIST DESCRIPTIONELEMENTBASE_MARKER_AUD
+    REV CDATA #REQUIRED
+    DESCRIPTIONELEMENTBASE_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DESCRIPTIONELEMENTBASE_MEDIA EMPTY>
 <!ATTLIST DESCRIPTIONELEMENTBASE_MEDIA
     DESCRIPTIONELEMENTBASE_ID CDATA #REQUIRED
     MEDIA_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DESCRIPTIONELEMENTBASE_MEDIA_AUD EMPTY>
+<!ATTLIST DESCRIPTIONELEMENTBASE_MEDIA_AUD
+    REV CDATA #REQUIRED
+    DESCRIPTIONELEMENTBASE_ID CDATA #REQUIRED
+    MEDIA_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DESCRIPTIONELEMENTBASE_MODIFIER EMPTY>
 <!ATTLIST DESCRIPTIONELEMENTBASE_MODIFIER
     DESCRIPTIONELEMENTBASE_ID CDATA #REQUIRED
     MODIFIERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DESCRIPTIONELEMENTBASE_MODIFIER_AUD EMPTY>
+<!ATTLIST DESCRIPTIONELEMENTBASE_MODIFIER_AUD
+    REV CDATA #REQUIRED
+    DESCRIPTIONELEMENTBASE_ID CDATA #REQUIRED
+    MODIFIERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT DESCRIPTIONELEMENTBASE_MODIFYINGTEXT EMPTY>
+<!ATTLIST DESCRIPTIONELEMENTBASE_MODIFYINGTEXT
+    DESCRIPTIONELEMENTBASE_ID CDATA #REQUIRED
+    MODIFYINGTEXT_ID CDATA #IMPLIED
+    MODIFYINGTEXT_MAPKEY_ID CDATA #REQUIRED
+>
+
+<!ELEMENT DESCRIPTIONELEMENTBASE_MODIFYINGTEXT_AUD EMPTY>
+<!ATTLIST DESCRIPTIONELEMENTBASE_MODIFYINGTEXT_AUD
+    REV CDATA #REQUIRED
+    DESCRIPTIONELEMENTBASE_ID CDATA #REQUIRED
+    MODIFYINGTEXT_ID CDATA #REQUIRED
+    MODIFYINGTEXT_MAPKEY_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DESCRIPTIONELEMENTBASE_STATEDATA EMPTY>
 <!ATTLIST DESCRIPTIONELEMENTBASE_STATEDATA
     DESCRIPTIONELEMENTBASE_ID CDATA #IMPLIED
     STATES_ID CDATA #IMPLIED
 >
 
+<!ELEMENT DESCRIPTIONELEMENTBASE_STATEDATA_AUD EMPTY>
+<!ATTLIST DESCRIPTIONELEMENTBASE_STATEDATA_AUD
+    REV CDATA #REQUIRED
+    DESCRIPTIONELEMENTBASE_ID CDATA #REQUIRED
+    STATES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE EMPTY>
 <!ATTLIST DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE
     DESCRIPTIONELEMENTBASE_ID CDATA #REQUIRED
     STATISTICALVALUES_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE_AUD EMPTY>
+<!ATTLIST DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE_AUD
+    REV CDATA #REQUIRED
+    DESCRIPTIONELEMENTBASE_ID CDATA #REQUIRED
+    STATISTICALVALUES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DETERMINATIONEVENT EMPTY>
 <!ATTLIST DETERMINATIONEVENT
     ID CDATA #REQUIRED
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DETERMINATIONEVENT_ANNOTATION_AUD EMPTY>
+<!ATTLIST DETERMINATIONEVENT_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    DETERMINATIONEVENT_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT DETERMINATIONEVENT_AUD EMPTY>
+<!ATTLIST DETERMINATIONEVENT_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    DESCRIPTION CDATA #IMPLIED
+    TIMEPERIOD_END CDATA #IMPLIED
+    TIMEPERIOD_START CDATA #IMPLIED
+    PREFERREDFLAG CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    ACTOR_ID CDATA #IMPLIED
+    IDENTIFIEDUNIT_ID CDATA #IMPLIED
+    MODIFIER_ID CDATA #IMPLIED
+    TAXON_ID CDATA #IMPLIED
+>
+
 <!ELEMENT DETERMINATIONEVENT_MARKER EMPTY>
 <!ATTLIST DETERMINATIONEVENT_MARKER
     DETERMINATIONEVENT_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT DETERMINATIONEVENT_MARKER_AUD EMPTY>
+<!ATTLIST DETERMINATIONEVENT_MARKER_AUD
+    REV CDATA #REQUIRED
+    DETERMINATIONEVENT_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT DETERMINATIONEVENT_REFERENCEBASE EMPTY>
 <!ATTLIST DETERMINATIONEVENT_REFERENCEBASE
     DETERMINATIONEVENT_ID CDATA #REQUIRED
-    REFERENCES_ID CDATA #REQUIRED
+    SETOFREFERENCES_ID CDATA #REQUIRED
+>
+
+<!ELEMENT DETERMINATIONEVENT_REFERENCEBASE_AUD EMPTY>
+<!ATTLIST DETERMINATIONEVENT_REFERENCEBASE_AUD
+    REV CDATA #REQUIRED
+    DETERMINATIONEVENT_ID CDATA #REQUIRED
+    SETOFREFERENCES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
 >
 
 <!ELEMENT EXTENSION EMPTY>
     CREATED CDATA #IMPLIED
     UUID CDATA #IMPLIED
     UPDATED CDATA #IMPLIED
+    EXTENDEDOBJ_TYPE CDATA #IMPLIED
+    EXTENDEDOBJ_ID CDATA #IMPLIED
+    VALUE CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    TYPE_ID CDATA #IMPLIED
+>
+
+<!ELEMENT EXTENSION_AUD EMPTY>
+<!ATTLIST EXTENSION_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
     VALUE CDATA #IMPLIED
     CREATEDBY_ID CDATA #IMPLIED
     UPDATEDBY_ID CDATA #IMPLIED
     PARENT_FK CDATA #IMPLIED
 >
 
+<!ELEMENT FEATURENODE_AUD EMPTY>
+<!ATTLIST FEATURENODE_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    FEATURE_ID CDATA #IMPLIED
+    PARENT_FK CDATA #IMPLIED
+>
+
 <!ELEMENT FEATURETREE EMPTY>
 <!ATTLIST FEATURETREE
     ID CDATA #REQUIRED
     ROOT_ID CDATA #IMPLIED
 >
 
-<!ELEMENT FEATURETREE_REPRESENTATION EMPTY>
-<!ATTLIST FEATURETREE_REPRESENTATION
-    FEATURETREE_ID CDATA #REQUIRED
-    REPRESENTATIONS_ID CDATA #REQUIRED
->
-
-<!ELEMENT GATHERINGEVENT EMPTY>
-<!ATTLIST GATHERINGEVENT
+<!ELEMENT FEATURETREE_AUD EMPTY>
+<!ATTLIST FEATURETREE_AUD
     ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
     CREATED CDATA #IMPLIED
     UUID CDATA #IMPLIED
     UPDATED CDATA #IMPLIED
-    DESCRIPTION CDATA #IMPLIED
-    TIMEPERIOD_END CDATA #IMPLIED
-    TIMEPERIOD_START CDATA #IMPLIED
-    ABSOLUTEELEVATION CDATA #IMPLIED
-    ABSOLUTEELEVATIONERROR CDATA #IMPLIED
-    COLLECTINGMETHOD CDATA #IMPLIED
-    DISTANCETOGROUND CDATA #IMPLIED
-    DISTANCETOWATERSURFACE CDATA #IMPLIED
-    EXACTLOCATION_ERRORRADIUS CDATA #IMPLIED
-    EXACTLOCATION_LATITUDE CDATA #IMPLIED
-    EXACTLOCATION_LONGITUDE CDATA #IMPLIED
+    URI CDATA #IMPLIED
+    DESCRIPTIONSEPARATED CDATA #IMPLIED
     CREATEDBY_ID CDATA #IMPLIED
     UPDATEDBY_ID CDATA #IMPLIED
-    ACTOR_ID CDATA #IMPLIED
-    EXACTLOCATION_REFERENCESYSTEM_ID CDATA #IMPLIED
-    LOCALITY_ID CDATA #IMPLIED
->
-
-<!ELEMENT GATHERINGEVENT_ANNOTATION EMPTY>
-<!ATTLIST GATHERINGEVENT_ANNOTATION
-    GATHERINGEVENT_ID CDATA #REQUIRED
-    ANNOTATIONS_ID CDATA #REQUIRED
+    ROOT_ID CDATA #IMPLIED
 >
 
-<!ELEMENT GATHERINGEVENT_DEFINEDTERMBASE EMPTY>
-<!ATTLIST GATHERINGEVENT_DEFINEDTERMBASE
-    GATHERINGEVENT_ID CDATA #REQUIRED
-    COLLECTINGAREAS_ID CDATA #REQUIRED
+<!ELEMENT FEATURETREE_REPRESENTATION EMPTY>
+<!ATTLIST FEATURETREE_REPRESENTATION
+    FEATURETREE_ID CDATA #REQUIRED
+    REPRESENTATIONS_ID CDATA #REQUIRED
 >
 
-<!ELEMENT GATHERINGEVENT_MARKER EMPTY>
-<!ATTLIST GATHERINGEVENT_MARKER
-    GATHERINGEVENT_ID CDATA #REQUIRED
-    MARKERS_ID CDATA #REQUIRED
+<!ELEMENT FEATURETREE_REPRESENTATION_AUD EMPTY>
+<!ATTLIST FEATURETREE_REPRESENTATION_AUD
+    REV CDATA #REQUIRED
+    FEATURETREE_ID CDATA #REQUIRED
+    REPRESENTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
 >
 
 <!ELEMENT GENBANKACCESSION EMPTY>
     UPDATEDBY_ID CDATA #IMPLIED
 >
 
+<!ELEMENT GENBANKACCESSION_AUD EMPTY>
+<!ATTLIST GENBANKACCESSION_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    ACCESSIONNUMBER CDATA #IMPLIED
+    URI CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+>
+
 <!ELEMENT GRANTEDAUTHORITYIMPL EMPTY>
 <!ATTLIST GRANTEDAUTHORITYIMPL
     ID CDATA #REQUIRED
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT HOMOTYPICALGROUP_ANNOTATION_AUD EMPTY>
+<!ATTLIST HOMOTYPICALGROUP_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    HOMOTYPICALGROUP_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT HOMOTYPICALGROUP_AUD EMPTY>
+<!ATTLIST HOMOTYPICALGROUP_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+>
+
 <!ELEMENT HOMOTYPICALGROUP_MARKER EMPTY>
 <!ATTLIST HOMOTYPICALGROUP_MARKER
     HOMOTYPICALGROUP_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT HOMOTYPICALGROUP_MARKER_AUD EMPTY>
+<!ATTLIST HOMOTYPICALGROUP_MARKER_AUD
+    REV CDATA #REQUIRED
+    HOMOTYPICALGROUP_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT HYBRIDRELATIONSHIP EMPTY>
 <!ATTLIST HYBRIDRELATIONSHIP
     ID CDATA #REQUIRED
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT HYBRIDRELATIONSHIP_ANNOTATION_AUD EMPTY>
+<!ATTLIST HYBRIDRELATIONSHIP_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    HYBRIDRELATIONSHIP_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT HYBRIDRELATIONSHIP_AUD EMPTY>
+<!ATTLIST HYBRIDRELATIONSHIP_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    CITATIONMICROREFERENCE CDATA #IMPLIED
+    ORIGINALNAMESTRING CDATA #IMPLIED
+    DOUBTFUL CDATA #IMPLIED
+    RULECONSIDERED CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    CITATION_ID CDATA #IMPLIED
+    RELATEDFROM_ID CDATA #IMPLIED
+    RELATEDTO_ID CDATA #IMPLIED
+    TYPE_ID CDATA #IMPLIED
+>
+
 <!ELEMENT HYBRIDRELATIONSHIP_MARKER EMPTY>
 <!ATTLIST HYBRIDRELATIONSHIP_MARKER
     HYBRIDRELATIONSHIP_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT HYBRIDRELATIONSHIP_MARKER_AUD EMPTY>
+<!ATTLIST HYBRIDRELATIONSHIP_MARKER_AUD
+    REV CDATA #REQUIRED
+    HYBRIDRELATIONSHIP_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT IDENTIFICATIONKEY_TAXON EMPTY>
 <!ATTLIST IDENTIFICATIONKEY_TAXON
     IDENTIFICATIONKEY_FK CDATA #REQUIRED
     TAXON_FK CDATA #REQUIRED
 >
 
+<!ELEMENT IDENTIFICATIONKEY_TAXON_AUD EMPTY>
+<!ATTLIST IDENTIFICATIONKEY_TAXON_AUD
+    REV CDATA #REQUIRED
+    IDENTIFICATIONKEY_FK CDATA #REQUIRED
+    TAXON_FK CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT INDIVIDUALASSOCIATION_LANGUAGESTRING EMPTY>
+<!ATTLIST INDIVIDUALASSOCIATION_LANGUAGESTRING
+    DESCRIPTIONELEMENTBASE_ID CDATA #REQUIRED
+    DESCRIPTION_ID CDATA #IMPLIED
+    DESCRIPTION_MAPKEY_ID CDATA #REQUIRED
+>
+
+<!ELEMENT INDIVIDUALASSOCIATION_LANGUAGESTRING_AUD EMPTY>
+<!ATTLIST INDIVIDUALASSOCIATION_LANGUAGESTRING_AUD
+    REV CDATA #REQUIRED
+    DESCRIPTIONELEMENTBASE_ID CDATA #REQUIRED
+    DESCRIPTION_ID CDATA #REQUIRED
+    DESCRIPTION_MAPKEY_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT INSTITUTIONALMEMBERSHIP EMPTY>
 <!ATTLIST INSTITUTIONALMEMBERSHIP
     ID CDATA #REQUIRED
     PERSON_ID CDATA #IMPLIED
 >
 
+<!ELEMENT INSTITUTIONALMEMBERSHIP_AUD EMPTY>
+<!ATTLIST INSTITUTIONALMEMBERSHIP_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    DEPARTMENT CDATA #IMPLIED
+    PERIOD_END CDATA #IMPLIED
+    PERIOD_START CDATA #IMPLIED
+    ROLE CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    INSTITUTE_ID CDATA #IMPLIED
+    PERSON_ID CDATA #IMPLIED
+>
+
 <!ELEMENT LANGUAGESTRING EMPTY>
 <!ATTLIST LANGUAGESTRING
     ID CDATA #REQUIRED
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT LANGUAGESTRING_ANNOTATION_AUD EMPTY>
+<!ATTLIST LANGUAGESTRING_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    LANGUAGESTRING_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT LANGUAGESTRING_AUD EMPTY>
+<!ATTLIST LANGUAGESTRING_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    TEXT CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    LANGUAGE_ID CDATA #IMPLIED
+>
+
 <!ELEMENT LANGUAGESTRING_MARKER EMPTY>
 <!ATTLIST LANGUAGESTRING_MARKER
     LANGUAGESTRING_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT LANGUAGESTRING_MARKER_AUD EMPTY>
+<!ATTLIST LANGUAGESTRING_MARKER_AUD
+    REV CDATA #REQUIRED
+    LANGUAGESTRING_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT LOCUS EMPTY>
 <!ATTLIST LOCUS
     ID CDATA #REQUIRED
     UPDATEDBY_ID CDATA #IMPLIED
 >
 
+<!ELEMENT LOCUS_AUD EMPTY>
+<!ATTLIST LOCUS_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    DESCRIPTION CDATA #IMPLIED
+    NAME CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+>
+
+<!ELEMENT LSIDAUTHORITY EMPTY>
+<!ATTLIST LSIDAUTHORITY
+    ID CDATA #REQUIRED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    AUTHORITY CDATA #IMPLIED
+    AUTHORITYWSDL CDATA #IMPLIED
+    PORT CDATA #IMPLIED
+    SERVER CDATA #IMPLIED
+    URL CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+>
+
+<!ELEMENT LSIDAUTHORITY_NAMESPACES EMPTY>
+<!ATTLIST LSIDAUTHORITY_NAMESPACES
+    LSIDAUTHORITY_ID CDATA #REQUIRED
+    NAMESPACES_ELEMENT CDATA #IMPLIED
+    NAMESPACES_MAPKEY CDATA #REQUIRED
+>
+
 <!ELEMENT MARKER EMPTY>
 <!ATTLIST MARKER
     ID CDATA #REQUIRED
     MARKERTYPE_ID CDATA #IMPLIED
 >
 
+<!ELEMENT MARKER_AUD EMPTY>
+<!ATTLIST MARKER_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    FLAG CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    MARKERTYPE_ID CDATA #IMPLIED
+>
+
 <!ELEMENT MEDIA EMPTY>
 <!ATTLIST MEDIA
     DTYPE CDATA #IMPLIED
     CREATED CDATA #IMPLIED
     UUID CDATA #IMPLIED
     UPDATED CDATA #IMPLIED
-    DESCRIPTION CDATA #IMPLIED
     MEDIACREATED CDATA #IMPLIED
-    TITLE CDATA #IMPLIED
     CITATIONMICROREFERENCE CDATA #IMPLIED
     CREATEDBY_ID CDATA #IMPLIED
     UPDATEDBY_ID CDATA #IMPLIED
     SORTINDEX CDATA #IMPLIED
 >
 
+<!ELEMENT MEDIAREPRESENTATIONPART_AUD EMPTY>
+<!ATTLIST MEDIAREPRESENTATIONPART_AUD
+    DTYPE CDATA #IMPLIED
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    SIZE CDATA #IMPLIED
+    URI CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    REPRESENTATION_ID CDATA #IMPLIED
+    DURATION CDATA #IMPLIED
+    HEIGHT CDATA #IMPLIED
+    WIDTH CDATA #IMPLIED
+>
+
+<!ELEMENT MEDIAREPRESENTATION_AUD EMPTY>
+<!ATTLIST MEDIAREPRESENTATION_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    MIMETYPE CDATA #IMPLIED
+    SUFFIX CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    MEDIA_ID CDATA #IMPLIED
+>
+
+<!ELEMENT MEDIAREPRESENTATION_MEDIAREPRESENTATIONPART_AUD EMPTY>
+<!ATTLIST MEDIAREPRESENTATION_MEDIAREPRESENTATIONPART_AUD
+    REV CDATA #REQUIRED
+    REPRESENTATION_ID CDATA #REQUIRED
+    ID CDATA #REQUIRED
+    SORTINDEX CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT MEDIA_ANNOTATION EMPTY>
 <!ATTLIST MEDIA_ANNOTATION
     MEDIA_ID CDATA #REQUIRED
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT MEDIA_ANNOTATION_AUD EMPTY>
+<!ATTLIST MEDIA_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    MEDIA_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT MEDIA_AUD EMPTY>
+<!ATTLIST MEDIA_AUD
+    DTYPE CDATA #IMPLIED
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    MEDIACREATED CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    ARTIST_ID CDATA #IMPLIED
+    CITATIONMICROREFERENCE CDATA #IMPLIED
+    CITATION_ID CDATA #IMPLIED
+>
+
 <!ELEMENT MEDIA_DEFINEDTERMBASE EMPTY>
 <!ATTLIST MEDIA_DEFINEDTERMBASE
     MEDIA_ID CDATA #REQUIRED
     GEOSCOPES_ID CDATA #REQUIRED
 >
 
+<!ELEMENT MEDIA_DEFINEDTERMBASE_AUD EMPTY>
+<!ATTLIST MEDIA_DEFINEDTERMBASE_AUD
+    REV CDATA #REQUIRED
+    MEDIA_ID CDATA #REQUIRED
+    GEOSCOPES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT MEDIA_DESCRIPTION EMPTY>
+<!ATTLIST MEDIA_DESCRIPTION
+    MEDIA_ID CDATA #REQUIRED
+    DESCRIPTION_ID CDATA #IMPLIED
+    DESCRIPTION_MAPKEY_ID CDATA #REQUIRED
+>
+
+<!ELEMENT MEDIA_DESCRIPTION_AUD EMPTY>
+<!ATTLIST MEDIA_DESCRIPTION_AUD
+    REV CDATA #REQUIRED
+    MEDIA_ID CDATA #REQUIRED
+    DESCRIPTION_ID CDATA #REQUIRED
+    DESCRIPTION_MAPKEY_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT MEDIA_LANGUAGESTRING EMPTY>
+<!ATTLIST MEDIA_LANGUAGESTRING
+    MEDIA_ID CDATA #REQUIRED
+    TITLE_ID CDATA #IMPLIED
+    TITLE_MAPKEY_ID CDATA #REQUIRED
+>
+
+<!ELEMENT MEDIA_LANGUAGESTRING_AUD EMPTY>
+<!ATTLIST MEDIA_LANGUAGESTRING_AUD
+    REV CDATA #REQUIRED
+    MEDIA_ID CDATA #REQUIRED
+    TITLE_ID CDATA #REQUIRED
+    TITLE_MAPKEY_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT MEDIA_MARKER EMPTY>
 <!ATTLIST MEDIA_MARKER
     MEDIA_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT MEDIA_MARKER_AUD EMPTY>
+<!ATTLIST MEDIA_MARKER_AUD
+    REV CDATA #REQUIRED
+    MEDIA_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT MEDIA_RIGHTS EMPTY>
 <!ATTLIST MEDIA_RIGHTS
     MEDIA_ID CDATA #REQUIRED
     RIGHTS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT MEDIA_RIGHTS_AUD EMPTY>
+<!ATTLIST MEDIA_RIGHTS_AUD
+    REV CDATA #REQUIRED
+    MEDIA_ID CDATA #REQUIRED
+    RIGHTS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT MEDIA_SEQUENCE EMPTY>
 <!ATTLIST MEDIA_SEQUENCE
     MEDIA_ID CDATA #REQUIRED
     USEDSEQUENCES_ID CDATA #REQUIRED
 >
 
+<!ELEMENT MEDIA_SEQUENCE_AUD EMPTY>
+<!ATTLIST MEDIA_SEQUENCE_AUD
+    REV CDATA #REQUIRED
+    MEDIA_ID CDATA #REQUIRED
+    USEDSEQUENCES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT MEDIA_TAXONBASE EMPTY>
 <!ATTLIST MEDIA_TAXONBASE
     MEDIA_ID CDATA #REQUIRED
     COVEREDTAXA_ID CDATA #REQUIRED
 >
 
+<!ELEMENT MEDIA_TAXONBASE_AUD EMPTY>
+<!ATTLIST MEDIA_TAXONBASE_AUD
+    REV CDATA #REQUIRED
+    MEDIA_ID CDATA #REQUIRED
+    COVEREDTAXA_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT NAMERELATIONSHIP EMPTY>
 <!ATTLIST NAMERELATIONSHIP
     ID CDATA #REQUIRED
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT NAMERELATIONSHIP_ANNOTATION_AUD EMPTY>
+<!ATTLIST NAMERELATIONSHIP_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    NAMERELATIONSHIP_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT NAMERELATIONSHIP_AUD EMPTY>
+<!ATTLIST NAMERELATIONSHIP_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    CITATIONMICROREFERENCE CDATA #IMPLIED
+    ORIGINALNAMESTRING CDATA #IMPLIED
+    DOUBTFUL CDATA #IMPLIED
+    RULECONSIDERED CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    CITATION_ID CDATA #IMPLIED
+    RELATEDFROM_ID CDATA #IMPLIED
+    RELATEDTO_ID CDATA #IMPLIED
+    TYPE_ID CDATA #IMPLIED
+>
+
 <!ELEMENT NAMERELATIONSHIP_MARKER EMPTY>
 <!ATTLIST NAMERELATIONSHIP_MARKER
     NAMERELATIONSHIP_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT NAMERELATIONSHIP_MARKER_AUD EMPTY>
+<!ATTLIST NAMERELATIONSHIP_MARKER_AUD
+    REV CDATA #REQUIRED
+    NAMERELATIONSHIP_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT NOMENCLATURALSTATUS EMPTY>
 <!ATTLIST NOMENCLATURALSTATUS
     ID CDATA #REQUIRED
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT NOMENCLATURALSTATUS_ANNOTATION_AUD EMPTY>
+<!ATTLIST NOMENCLATURALSTATUS_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    NOMENCLATURALSTATUS_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT NOMENCLATURALSTATUS_AUD EMPTY>
+<!ATTLIST NOMENCLATURALSTATUS_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    CITATIONMICROREFERENCE CDATA #IMPLIED
+    ORIGINALNAMESTRING CDATA #IMPLIED
+    RULECONSIDERED CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    CITATION_ID CDATA #IMPLIED
+    TYPE_ID CDATA #IMPLIED
+>
+
 <!ELEMENT NOMENCLATURALSTATUS_MARKER EMPTY>
 <!ATTLIST NOMENCLATURALSTATUS_MARKER
     NOMENCLATURALSTATUS_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
-<!ELEMENT ORIGINALSOURCE EMPTY>
-<!ATTLIST ORIGINALSOURCE
+<!ELEMENT NOMENCLATURALSTATUS_MARKER_AUD EMPTY>
+<!ATTLIST NOMENCLATURALSTATUS_MARKER_AUD
+    REV CDATA #REQUIRED
+    NOMENCLATURALSTATUS_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT ORIGINALSOURCE EMPTY>
+<!ATTLIST ORIGINALSOURCE
+    ID CDATA #REQUIRED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    CITATIONMICROREFERENCE CDATA #IMPLIED
+    ORIGINALNAMESTRING CDATA #IMPLIED
+    IDINSOURCE CDATA #IMPLIED
+    IDNAMESPACE CDATA #IMPLIED
+    SOURCEDOBJ_TYPE CDATA #IMPLIED
+    SOURCEDOBJ_ID CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    CITATION_ID CDATA #IMPLIED
+>
+
+<!ELEMENT ORIGINALSOURCE_ANNOTATION EMPTY>
+<!ATTLIST ORIGINALSOURCE_ANNOTATION
+    ORIGINALSOURCE_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+>
+
+<!ELEMENT ORIGINALSOURCE_ANNOTATION_AUD EMPTY>
+<!ATTLIST ORIGINALSOURCE_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    ORIGINALSOURCE_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT ORIGINALSOURCE_AUD EMPTY>
+<!ATTLIST ORIGINALSOURCE_AUD
     ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
     CREATED CDATA #IMPLIED
     UUID CDATA #IMPLIED
     UPDATED CDATA #IMPLIED
     ORIGINALNAMESTRING CDATA #IMPLIED
     IDINSOURCE CDATA #IMPLIED
     IDNAMESPACE CDATA #IMPLIED
-    SOURCEDOBJ_TYPE CDATA #IMPLIED
-    SOURCEDOBJ_ID CDATA #IMPLIED
     CREATEDBY_ID CDATA #IMPLIED
     UPDATEDBY_ID CDATA #IMPLIED
     CITATION_ID CDATA #IMPLIED
 >
 
-<!ELEMENT ORIGINALSOURCE_ANNOTATION EMPTY>
-<!ATTLIST ORIGINALSOURCE_ANNOTATION
+<!ELEMENT ORIGINALSOURCE_MARKER EMPTY>
+<!ATTLIST ORIGINALSOURCE_MARKER
     ORIGINALSOURCE_ID CDATA #REQUIRED
-    ANNOTATIONS_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
 >
 
-<!ELEMENT ORIGINALSOURCE_MARKER EMPTY>
-<!ATTLIST ORIGINALSOURCE_MARKER
+<!ELEMENT ORIGINALSOURCE_MARKER_AUD EMPTY>
+<!ATTLIST ORIGINALSOURCE_MARKER_AUD
+    REV CDATA #REQUIRED
     ORIGINALSOURCE_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
 >
 
 <!ELEMENT PERMISSIONGROUP EMPTY>
     KEYWORD_FK CDATA #REQUIRED
 >
 
+<!ELEMENT PERSON_KEYWORD_AUD EMPTY>
+<!ATTLIST PERSON_KEYWORD_AUD
+    REV CDATA #REQUIRED
+    PERSON_FK CDATA #REQUIRED
+    KEYWORD_FK CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT REFERENCEBASE EMPTY>
 <!ATTLIST REFERENCEBASE
     DTYPE CDATA #IMPLIED
     CREATED CDATA #IMPLIED
     UUID CDATA #IMPLIED
     UPDATED CDATA #IMPLIED
-    LSID CDATA #IMPLIED
-    TITLECACHE CDATA #IMPLIED
+    LSID_AUTH CDATA #IMPLIED
+    LSID_AUTHORITY CDATA #IMPLIED
+    LSID_LSID CDATA #IMPLIED
+    LSID_NAMESPACE CDATA #IMPLIED
+    LSID_OBJECT CDATA #IMPLIED
+    LSID_REVISION CDATA #IMPLIED
     PROTECTEDTITLECACHE CDATA #IMPLIED
+    TITLECACHE CDATA #IMPLIED
     HASPROBLEM CDATA #IMPLIED
     NOMENCLATURALLYRELEVANT CDATA #IMPLIED
     PROBLEMENDS CDATA #IMPLIED
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT REFERENCEBASE_ANNOTATION_AUD EMPTY>
+<!ATTLIST REFERENCEBASE_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    REFERENCEBASE_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT REFERENCEBASE_AUD EMPTY>
+<!ATTLIST REFERENCEBASE_AUD
+    DTYPE CDATA #IMPLIED
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    LSID_AUTH CDATA #IMPLIED
+    LSID_AUTHORITY CDATA #IMPLIED
+    LSID_LSID CDATA #IMPLIED
+    LSID_NAMESPACE CDATA #IMPLIED
+    LSID_OBJECT CDATA #IMPLIED
+    LSID_REVISION CDATA #IMPLIED
+    PROTECTEDTITLECACHE CDATA #IMPLIED
+    TITLECACHE CDATA #IMPLIED
+    HASPROBLEM CDATA #IMPLIED
+    NOMENCLATURALLYRELEVANT CDATA #IMPLIED
+    PROBLEMENDS CDATA #IMPLIED
+    PROBLEMSTARTS CDATA #IMPLIED
+    URI CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    AUTHORTEAM_ID CDATA #IMPLIED
+    ADDRESS CDATA #IMPLIED
+    ANNOTE CDATA #IMPLIED
+    BOOKTITLE CDATA #IMPLIED
+    CHAPTER CDATA #IMPLIED
+    EDITION CDATA #IMPLIED
+    EDITOR CDATA #IMPLIED
+    EPRINT CDATA #IMPLIED
+    HOWPUBLISHED CDATA #IMPLIED
+    INSTITUTION CDATA #IMPLIED
+    JOURNAL CDATA #IMPLIED
+    MONTH CDATA #IMPLIED
+    NOTE CDATA #IMPLIED
+    NUMBER CDATA #IMPLIED
+    ORGANIZATION CDATA #IMPLIED
+    PAGES CDATA #IMPLIED
+    PUBLISHER CDATA #IMPLIED
+    REPORTTYPE CDATA #IMPLIED
+    SCHOOL CDATA #IMPLIED
+    SERIES CDATA #IMPLIED
+    TITLE CDATA #IMPLIED
+    VOLUME CDATA #IMPLIED
+    YEAR CDATA #IMPLIED
+    CROSSREF_ID CDATA #IMPLIED
+    TYPE_ID CDATA #IMPLIED
+    DATEPUBLISHED_END CDATA #IMPLIED
+    DATEPUBLISHED_START CDATA #IMPLIED
+    INPROCEEDINGS_ID CDATA #IMPLIED
+    INBOOK_ID CDATA #IMPLIED
+    PLACEPUBLISHED CDATA #IMPLIED
+    INSTITUTION_ID CDATA #IMPLIED
+    ISSN CDATA #IMPLIED
+    SERIESPART CDATA #IMPLIED
+    INSERIES_ID CDATA #IMPLIED
+    ISBN CDATA #IMPLIED
+    SCHOOL_ID CDATA #IMPLIED
+    INJOURNAL_ID CDATA #IMPLIED
+>
+
 <!ELEMENT REFERENCEBASE_EXTENSION EMPTY>
 <!ATTLIST REFERENCEBASE_EXTENSION
     REFERENCEBASE_ID CDATA #REQUIRED
     EXTENSIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT REFERENCEBASE_EXTENSION_AUD EMPTY>
+<!ATTLIST REFERENCEBASE_EXTENSION_AUD
+    REV CDATA #REQUIRED
+    REFERENCEBASE_ID CDATA #REQUIRED
+    EXTENSIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT REFERENCEBASE_MARKER EMPTY>
 <!ATTLIST REFERENCEBASE_MARKER
     REFERENCEBASE_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT REFERENCEBASE_MARKER_AUD EMPTY>
+<!ATTLIST REFERENCEBASE_MARKER_AUD
+    REV CDATA #REQUIRED
+    REFERENCEBASE_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT REFERENCEBASE_MEDIA EMPTY>
 <!ATTLIST REFERENCEBASE_MEDIA
     REFERENCEBASE_ID CDATA #REQUIRED
     MEDIA_ID CDATA #REQUIRED
 >
 
+<!ELEMENT REFERENCEBASE_MEDIA_AUD EMPTY>
+<!ATTLIST REFERENCEBASE_MEDIA_AUD
+    REV CDATA #REQUIRED
+    REFERENCEBASE_ID CDATA #REQUIRED
+    MEDIA_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT REFERENCEBASE_ORIGINALSOURCE EMPTY>
 <!ATTLIST REFERENCEBASE_ORIGINALSOURCE
     REFERENCEBASE_ID CDATA #REQUIRED
     SOURCES_ID CDATA #REQUIRED
 >
 
+<!ELEMENT REFERENCEBASE_ORIGINALSOURCE_AUD EMPTY>
+<!ATTLIST REFERENCEBASE_ORIGINALSOURCE_AUD
+    REV CDATA #REQUIRED
+    REFERENCEBASE_ID CDATA #REQUIRED
+    SOURCES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT REFERENCEBASE_RIGHTS EMPTY>
 <!ATTLIST REFERENCEBASE_RIGHTS
     REFERENCEBASE_ID CDATA #REQUIRED
     RIGHTS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT REFERENCEBASE_RIGHTS_AUD EMPTY>
+<!ATTLIST REFERENCEBASE_RIGHTS_AUD
+    REV CDATA #REQUIRED
+    REFERENCEBASE_ID CDATA #REQUIRED
+    RIGHTS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT RELATIONSHIPTERMBASE_INVERSEREPRESENTATION EMPTY>
 <!ATTLIST RELATIONSHIPTERMBASE_INVERSEREPRESENTATION
     DEFINEDTERMBASE_ID CDATA #REQUIRED
     INVERSEREPRESENTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT RELATIONSHIPTERMBASE_INVERSEREPRESENTATION_AUD EMPTY>
+<!ATTLIST RELATIONSHIPTERMBASE_INVERSEREPRESENTATION_AUD
+    REV CDATA #REQUIRED
+    DEFINEDTERMBASE_ID CDATA #REQUIRED
+    INVERSEREPRESENTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT REPRESENTATION EMPTY>
 <!ATTLIST REPRESENTATION
     ID CDATA #REQUIRED
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT REPRESENTATION_ANNOTATION_AUD EMPTY>
+<!ATTLIST REPRESENTATION_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    REPRESENTATION_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT REPRESENTATION_AUD EMPTY>
+<!ATTLIST REPRESENTATION_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    TEXT CDATA #IMPLIED
+    ABBREVIATEDLABEL CDATA #IMPLIED
+    LABEL CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    LANGUAGE_ID CDATA #IMPLIED
+>
+
 <!ELEMENT REPRESENTATION_MARKER EMPTY>
 <!ATTLIST REPRESENTATION_MARKER
     REPRESENTATION_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT REPRESENTATION_MARKER_AUD EMPTY>
+<!ATTLIST REPRESENTATION_MARKER_AUD
+    REV CDATA #REQUIRED
+    REPRESENTATION_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT RIGHTS EMPTY>
 <!ATTLIST RIGHTS
     ID CDATA #REQUIRED
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT RIGHTS_ANNOTATION_AUD EMPTY>
+<!ATTLIST RIGHTS_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    RIGHTS_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT RIGHTS_AUD EMPTY>
+<!ATTLIST RIGHTS_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    TEXT CDATA #IMPLIED
+    ABBREVIATEDTEXT CDATA #IMPLIED
+    URI CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    LANGUAGE_ID CDATA #IMPLIED
+    AGENT_ID CDATA #IMPLIED
+    TYPE_ID CDATA #IMPLIED
+>
+
 <!ELEMENT RIGHTS_MARKER EMPTY>
 <!ATTLIST RIGHTS_MARKER
     RIGHTS_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT RIGHTS_MARKER_AUD EMPTY>
+<!ATTLIST RIGHTS_MARKER_AUD
+    REV CDATA #REQUIRED
+    RIGHTS_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT SEQUENCE EMPTY>
 <!ATTLIST SEQUENCE
     ID CDATA #REQUIRED
     CREATED CDATA #IMPLIED
     UUID CDATA #IMPLIED
     UPDATED CDATA #IMPLIED
-    LSID CDATA #IMPLIED
-    TITLECACHE CDATA #IMPLIED
+    LSID_AUTH CDATA #IMPLIED
+    LSID_AUTHORITY CDATA #IMPLIED
+    LSID_LSID CDATA #IMPLIED
+    LSID_NAMESPACE CDATA #IMPLIED
+    LSID_OBJECT CDATA #IMPLIED
+    LSID_REVISION CDATA #IMPLIED
     PROTECTEDTITLECACHE CDATA #IMPLIED
+    TITLECACHE CDATA #IMPLIED
     BARCODE CDATA #IMPLIED
     CITATIONMICROREFERENCE CDATA #IMPLIED
     DATESEQUENCED CDATA #IMPLIED
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT SEQUENCE_ANNOTATION_AUD EMPTY>
+<!ATTLIST SEQUENCE_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    SEQUENCE_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT SEQUENCE_AUD EMPTY>
+<!ATTLIST SEQUENCE_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    LSID_AUTH CDATA #IMPLIED
+    LSID_AUTHORITY CDATA #IMPLIED
+    LSID_LSID CDATA #IMPLIED
+    LSID_NAMESPACE CDATA #IMPLIED
+    LSID_OBJECT CDATA #IMPLIED
+    LSID_REVISION CDATA #IMPLIED
+    PROTECTEDTITLECACHE CDATA #IMPLIED
+    TITLECACHE CDATA #IMPLIED
+    BARCODE CDATA #IMPLIED
+    CITATIONMICROREFERENCE CDATA #IMPLIED
+    DATESEQUENCED CDATA #IMPLIED
+    LENGTH CDATA #IMPLIED
+    SEQUENCE CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    LOCUS_ID CDATA #IMPLIED
+    PUBLISHEDIN_ID CDATA #IMPLIED
+>
+
 <!ELEMENT SEQUENCE_EXTENSION EMPTY>
 <!ATTLIST SEQUENCE_EXTENSION
     SEQUENCE_ID CDATA #REQUIRED
     EXTENSIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT SEQUENCE_EXTENSION_AUD EMPTY>
+<!ATTLIST SEQUENCE_EXTENSION_AUD
+    REV CDATA #REQUIRED
+    SEQUENCE_ID CDATA #REQUIRED
+    EXTENSIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT SEQUENCE_GENBANKACCESSION EMPTY>
 <!ATTLIST SEQUENCE_GENBANKACCESSION
     SEQUENCE_ID CDATA #REQUIRED
     GENBANKACCESSION_ID CDATA #REQUIRED
 >
 
+<!ELEMENT SEQUENCE_GENBANKACCESSION_AUD EMPTY>
+<!ATTLIST SEQUENCE_GENBANKACCESSION_AUD
+    REV CDATA #REQUIRED
+    SEQUENCE_ID CDATA #REQUIRED
+    GENBANKACCESSION_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT SEQUENCE_MARKER EMPTY>
 <!ATTLIST SEQUENCE_MARKER
     SEQUENCE_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT SEQUENCE_MARKER_AUD EMPTY>
+<!ATTLIST SEQUENCE_MARKER_AUD
+    REV CDATA #REQUIRED
+    SEQUENCE_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT SEQUENCE_MEDIA EMPTY>
 <!ATTLIST SEQUENCE_MEDIA
     SEQUENCE_ID CDATA #REQUIRED
     CHROMATOGRAMS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT SEQUENCE_MEDIA_AUD EMPTY>
+<!ATTLIST SEQUENCE_MEDIA_AUD
+    REV CDATA #REQUIRED
+    SEQUENCE_ID CDATA #REQUIRED
+    CHROMATOGRAMS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT SEQUENCE_ORIGINALSOURCE EMPTY>
 <!ATTLIST SEQUENCE_ORIGINALSOURCE
     SEQUENCE_ID CDATA #REQUIRED
     SOURCES_ID CDATA #REQUIRED
 >
 
+<!ELEMENT SEQUENCE_ORIGINALSOURCE_AUD EMPTY>
+<!ATTLIST SEQUENCE_ORIGINALSOURCE_AUD
+    REV CDATA #REQUIRED
+    SEQUENCE_ID CDATA #REQUIRED
+    SOURCES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT SEQUENCE_REFERENCEBASE EMPTY>
 <!ATTLIST SEQUENCE_REFERENCEBASE
     SEQUENCE_ID CDATA #REQUIRED
     CITATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT SEQUENCE_REFERENCEBASE_AUD EMPTY>
+<!ATTLIST SEQUENCE_REFERENCEBASE_AUD
+    REV CDATA #REQUIRED
+    SEQUENCE_ID CDATA #REQUIRED
+    CITATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT SEQUENCE_RIGHTS EMPTY>
 <!ATTLIST SEQUENCE_RIGHTS
     SEQUENCE_ID CDATA #REQUIRED
     RIGHTS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT SEQUENCE_RIGHTS_AUD EMPTY>
+<!ATTLIST SEQUENCE_RIGHTS_AUD
+    REV CDATA #REQUIRED
+    SEQUENCE_ID CDATA #REQUIRED
+    RIGHTS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT SPECIMENOROBSERVATIONBASE EMPTY>
 <!ATTLIST SPECIMENOROBSERVATIONBASE
     DTYPE CDATA #IMPLIED
     CREATED CDATA #IMPLIED
     UUID CDATA #IMPLIED
     UPDATED CDATA #IMPLIED
-    LSID CDATA #IMPLIED
-    TITLECACHE CDATA #IMPLIED
+    LSID_AUTH CDATA #IMPLIED
+    LSID_AUTHORITY CDATA #IMPLIED
+    LSID_LSID CDATA #IMPLIED
+    LSID_NAMESPACE CDATA #IMPLIED
+    LSID_OBJECT CDATA #IMPLIED
+    LSID_REVISION CDATA #IMPLIED
     PROTECTEDTITLECACHE CDATA #IMPLIED
-    DEFINITION CDATA #IMPLIED
+    TITLECACHE CDATA #IMPLIED
     INDIVIDUALCOUNT CDATA #IMPLIED
     ACCESSIONNUMBER CDATA #IMPLIED
     CATALOGNUMBER CDATA #IMPLIED
     DERIVATIONEVENT_ID CDATA #IMPLIED
     STOREDUNDER_ID CDATA #IMPLIED
     PRESERVATION_ID CDATA #IMPLIED
-    GATHERINGEVENT_ID CDATA #IMPLIED
 >
 
 <!ELEMENT SPECIMENOROBSERVATIONBASE_ANNOTATION EMPTY>
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT SPECIMENOROBSERVATIONBASE_ANNOTATION_AUD EMPTY>
+<!ATTLIST SPECIMENOROBSERVATIONBASE_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    SPECIMENOROBSERVATIONBASE_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT SPECIMENOROBSERVATIONBASE_AUD EMPTY>
+<!ATTLIST SPECIMENOROBSERVATIONBASE_AUD
+    DTYPE CDATA #IMPLIED
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    LSID_AUTH CDATA #IMPLIED
+    LSID_AUTHORITY CDATA #IMPLIED
+    LSID_LSID CDATA #IMPLIED
+    LSID_NAMESPACE CDATA #IMPLIED
+    LSID_OBJECT CDATA #IMPLIED
+    LSID_REVISION CDATA #IMPLIED
+    PROTECTEDTITLECACHE CDATA #IMPLIED
+    TITLECACHE CDATA #IMPLIED
+    INDIVIDUALCOUNT CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    LIFESTAGE_ID CDATA #IMPLIED
+    SEX_ID CDATA #IMPLIED
+    ACCESSIONNUMBER CDATA #IMPLIED
+    CATALOGNUMBER CDATA #IMPLIED
+    COLLECTORSNUMBER CDATA #IMPLIED
+    COLLECTION_ID CDATA #IMPLIED
+    DERIVATIONEVENT_ID CDATA #IMPLIED
+    STOREDUNDER_ID CDATA #IMPLIED
+    PRESERVATION_ID CDATA #IMPLIED
+    FIELDNOTES CDATA #IMPLIED
+    FIELDNUMBER CDATA #IMPLIED
+>
+
 <!ELEMENT SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT EMPTY>
 <!ATTLIST SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT
     ORIGINALS_ID CDATA #REQUIRED
     DERIVATIONEVENTS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT_AUD EMPTY>
+<!ATTLIST SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT_AUD
+    REV CDATA #REQUIRED
+    ORIGINALS_ID CDATA #REQUIRED
+    DERIVATIONEVENTS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT SPECIMENOROBSERVATIONBASE_EXTENSION EMPTY>
 <!ATTLIST SPECIMENOROBSERVATIONBASE_EXTENSION
     SPECIMENOROBSERVATIONBASE_ID CDATA #REQUIRED
     EXTENSIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT SPECIMENOROBSERVATIONBASE_EXTENSION_AUD EMPTY>
+<!ATTLIST SPECIMENOROBSERVATIONBASE_EXTENSION_AUD
+    REV CDATA #REQUIRED
+    SPECIMENOROBSERVATIONBASE_ID CDATA #REQUIRED
+    EXTENSIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT SPECIMENOROBSERVATIONBASE_LANGUAGESTRING EMPTY>
+<!ATTLIST SPECIMENOROBSERVATIONBASE_LANGUAGESTRING
+    SPECIMENOROBSERVATIONBASE_ID CDATA #REQUIRED
+    DESCRIPTION_ID CDATA #IMPLIED
+    DESCRIPTION_MAPKEY_ID CDATA #REQUIRED
+>
+
+<!ELEMENT SPECIMENOROBSERVATIONBASE_LANGUAGESTRING_AUD EMPTY>
+<!ATTLIST SPECIMENOROBSERVATIONBASE_LANGUAGESTRING_AUD
+    REV CDATA #REQUIRED
+    SPECIMENOROBSERVATIONBASE_ID CDATA #REQUIRED
+    DESCRIPTION_ID CDATA #REQUIRED
+    DESCRIPTION_MAPKEY_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT SPECIMENOROBSERVATIONBASE_MARKER EMPTY>
 <!ATTLIST SPECIMENOROBSERVATIONBASE_MARKER
     SPECIMENOROBSERVATIONBASE_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT SPECIMENOROBSERVATIONBASE_MARKER_AUD EMPTY>
+<!ATTLIST SPECIMENOROBSERVATIONBASE_MARKER_AUD
+    REV CDATA #REQUIRED
+    SPECIMENOROBSERVATIONBASE_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT SPECIMENOROBSERVATIONBASE_MEDIA EMPTY>
 <!ATTLIST SPECIMENOROBSERVATIONBASE_MEDIA
     SPECIMENOROBSERVATIONBASE_ID CDATA #REQUIRED
     MEDIA_ID CDATA #REQUIRED
 >
 
+<!ELEMENT SPECIMENOROBSERVATIONBASE_MEDIA_AUD EMPTY>
+<!ATTLIST SPECIMENOROBSERVATIONBASE_MEDIA_AUD
+    REV CDATA #REQUIRED
+    SPECIMENOROBSERVATIONBASE_ID CDATA #REQUIRED
+    MEDIA_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE EMPTY>
 <!ATTLIST SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE
     SPECIMENOROBSERVATIONBASE_ID CDATA #REQUIRED
     SOURCES_ID CDATA #REQUIRED
 >
 
+<!ELEMENT SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE_AUD EMPTY>
+<!ATTLIST SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE_AUD
+    REV CDATA #REQUIRED
+    SPECIMENOROBSERVATIONBASE_ID CDATA #REQUIRED
+    SOURCES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT SPECIMENOROBSERVATIONBASE_RIGHTS EMPTY>
 <!ATTLIST SPECIMENOROBSERVATIONBASE_RIGHTS
     SPECIMENOROBSERVATIONBASE_ID CDATA #REQUIRED
     RIGHTS_ID CDATA #REQUIRED
 >
 
-<!ELEMENT SPECIMENOROBSERVATIONBASE_SEQUENCE EMPTY>
-<!ATTLIST SPECIMENOROBSERVATIONBASE_SEQUENCE
+<!ELEMENT SPECIMENOROBSERVATIONBASE_RIGHTS_AUD EMPTY>
+<!ATTLIST SPECIMENOROBSERVATIONBASE_RIGHTS_AUD
+    REV CDATA #REQUIRED
+    SPECIMENOROBSERVATIONBASE_ID CDATA #REQUIRED
+    RIGHTS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT SPECIMENOROBSERVATIONBASE_SEQUENCE EMPTY>
+<!ATTLIST SPECIMENOROBSERVATIONBASE_SEQUENCE
+    SPECIMENOROBSERVATIONBASE_ID CDATA #REQUIRED
+    SEQUENCES_ID CDATA #REQUIRED
+>
+
+<!ELEMENT SPECIMENOROBSERVATIONBASE_SEQUENCE_AUD EMPTY>
+<!ATTLIST SPECIMENOROBSERVATIONBASE_SEQUENCE_AUD
+    REV CDATA #REQUIRED
     SPECIMENOROBSERVATIONBASE_ID CDATA #REQUIRED
     SEQUENCES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
 >
 
 <!ELEMENT STATEDATA EMPTY>
     CREATED CDATA #IMPLIED
     UUID CDATA #IMPLIED
     UPDATED CDATA #IMPLIED
-    MODIFYINGTEXT CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    STATE_ID CDATA #IMPLIED
+>
+
+<!ELEMENT STATEDATA_AUD EMPTY>
+<!ATTLIST STATEDATA_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
     CREATEDBY_ID CDATA #IMPLIED
     UPDATEDBY_ID CDATA #IMPLIED
     STATE_ID CDATA #IMPLIED
     MODIFIERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT STATEDATA_DEFINEDTERMBASE_AUD EMPTY>
+<!ATTLIST STATEDATA_DEFINEDTERMBASE_AUD
+    REV CDATA #REQUIRED
+    STATEDATA_ID CDATA #REQUIRED
+    MODIFIERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT STATEDATA_LANGUAGESTRING EMPTY>
+<!ATTLIST STATEDATA_LANGUAGESTRING
+    STATEDATA_ID CDATA #REQUIRED
+    MODIFYINGTEXT_ID CDATA #IMPLIED
+    MODIFYINGTEXT_MAPKEY_ID CDATA #REQUIRED
+>
+
+<!ELEMENT STATEDATA_LANGUAGESTRING_AUD EMPTY>
+<!ATTLIST STATEDATA_LANGUAGESTRING_AUD
+    REV CDATA #REQUIRED
+    STATEDATA_ID CDATA #REQUIRED
+    MODIFYINGTEXT_ID CDATA #REQUIRED
+    MODIFYINGTEXT_MAPKEY_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT STATISTICALMEASUREMENTVALUE EMPTY>
 <!ATTLIST STATISTICALMEASUREMENTVALUE
     ID CDATA #REQUIRED
     TYPE_ID CDATA #IMPLIED
 >
 
+<!ELEMENT STATISTICALMEASUREMENTVALUE_AUD EMPTY>
+<!ATTLIST STATISTICALMEASUREMENTVALUE_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    VALUE CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    TYPE_ID CDATA #IMPLIED
+>
+
 <!ELEMENT STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE EMPTY>
 <!ATTLIST STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE
     STATISTICALMEASUREMENTVALUE_ID CDATA #REQUIRED
     MODIFIERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE_AUD EMPTY>
+<!ATTLIST STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE_AUD
+    REV CDATA #REQUIRED
+    STATISTICALMEASUREMENTVALUE_ID CDATA #REQUIRED
+    MODIFIERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT SYNONYMRELATIONSHIP EMPTY>
 <!ATTLIST SYNONYMRELATIONSHIP
     ID CDATA #REQUIRED
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT SYNONYMRELATIONSHIP_ANNOTATION_AUD EMPTY>
+<!ATTLIST SYNONYMRELATIONSHIP_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    SYNONYMRELATIONSHIP_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT SYNONYMRELATIONSHIP_AUD EMPTY>
+<!ATTLIST SYNONYMRELATIONSHIP_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    CITATIONMICROREFERENCE CDATA #IMPLIED
+    ORIGINALNAMESTRING CDATA #IMPLIED
+    DOUBTFUL CDATA #IMPLIED
+    PARTIAL CDATA #IMPLIED
+    PROPARTE CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    CITATION_ID CDATA #IMPLIED
+    RELATEDFROM_ID CDATA #IMPLIED
+    RELATEDTO_ID CDATA #IMPLIED
+    TYPE_ID CDATA #IMPLIED
+>
+
 <!ELEMENT SYNONYMRELATIONSHIP_MARKER EMPTY>
 <!ATTLIST SYNONYMRELATIONSHIP_MARKER
     SYNONYMRELATIONSHIP_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT SYNONYMRELATIONSHIP_MARKER_AUD EMPTY>
+<!ATTLIST SYNONYMRELATIONSHIP_MARKER_AUD
+    REV CDATA #REQUIRED
+    SYNONYMRELATIONSHIP_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT TAXONBASE EMPTY>
 <!ATTLIST TAXONBASE
     DTYPE CDATA #IMPLIED
     CREATED CDATA #IMPLIED
     UUID CDATA #IMPLIED
     UPDATED CDATA #IMPLIED
-    LSID CDATA #IMPLIED
-    TITLECACHE CDATA #IMPLIED
+    LSID_AUTH CDATA #IMPLIED
+    LSID_AUTHORITY CDATA #IMPLIED
+    LSID_LSID CDATA #IMPLIED
+    LSID_NAMESPACE CDATA #IMPLIED
+    LSID_OBJECT CDATA #IMPLIED
+    LSID_REVISION CDATA #IMPLIED
     PROTECTEDTITLECACHE CDATA #IMPLIED
+    TITLECACHE CDATA #IMPLIED
     DOUBTFUL CDATA #IMPLIED
     TAXONOMICCHILDRENCOUNT CDATA #IMPLIED
     CREATEDBY_ID CDATA #IMPLIED
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT TAXONBASE_ANNOTATION_AUD EMPTY>
+<!ATTLIST TAXONBASE_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    TAXONBASE_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT TAXONBASE_AUD EMPTY>
+<!ATTLIST TAXONBASE_AUD
+    DTYPE CDATA #IMPLIED
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    LSID_AUTH CDATA #IMPLIED
+    LSID_AUTHORITY CDATA #IMPLIED
+    LSID_LSID CDATA #IMPLIED
+    LSID_NAMESPACE CDATA #IMPLIED
+    LSID_OBJECT CDATA #IMPLIED
+    LSID_REVISION CDATA #IMPLIED
+    PROTECTEDTITLECACHE CDATA #IMPLIED
+    TITLECACHE CDATA #IMPLIED
+    DOUBTFUL CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    TAXONNAME_FK CDATA #IMPLIED
+    SEC_ID CDATA #IMPLIED
+    TAXONOMICCHILDRENCOUNT CDATA #IMPLIED
+    TAXONOMICPARENTCACHE_ID CDATA #IMPLIED
+>
+
 <!ELEMENT TAXONBASE_EXTENSION EMPTY>
 <!ATTLIST TAXONBASE_EXTENSION
     TAXONBASE_ID CDATA #REQUIRED
     EXTENSIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT TAXONBASE_EXTENSION_AUD EMPTY>
+<!ATTLIST TAXONBASE_EXTENSION_AUD
+    REV CDATA #REQUIRED
+    TAXONBASE_ID CDATA #REQUIRED
+    EXTENSIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT TAXONBASE_MARKER EMPTY>
 <!ATTLIST TAXONBASE_MARKER
     TAXONBASE_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT TAXONBASE_MARKER_AUD EMPTY>
+<!ATTLIST TAXONBASE_MARKER_AUD
+    REV CDATA #REQUIRED
+    TAXONBASE_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT TAXONBASE_ORIGINALSOURCE EMPTY>
 <!ATTLIST TAXONBASE_ORIGINALSOURCE
     TAXONBASE_ID CDATA #REQUIRED
     SOURCES_ID CDATA #REQUIRED
 >
 
+<!ELEMENT TAXONBASE_ORIGINALSOURCE_AUD EMPTY>
+<!ATTLIST TAXONBASE_ORIGINALSOURCE_AUD
+    REV CDATA #REQUIRED
+    TAXONBASE_ID CDATA #REQUIRED
+    SOURCES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT TAXONBASE_RIGHTS EMPTY>
 <!ATTLIST TAXONBASE_RIGHTS
     TAXONBASE_ID CDATA #REQUIRED
     RIGHTS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT TAXONBASE_RIGHTS_AUD EMPTY>
+<!ATTLIST TAXONBASE_RIGHTS_AUD
+    REV CDATA #REQUIRED
+    TAXONBASE_ID CDATA #REQUIRED
+    RIGHTS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT TAXONINTERACTION_LANGUAGESTRING EMPTY>
+<!ATTLIST TAXONINTERACTION_LANGUAGESTRING
+    DESCRIPTIONELEMENTBASE_ID CDATA #REQUIRED
+    DESCRIPTION_ID CDATA #IMPLIED
+    DESCRIPTION_MAPKEY_ID CDATA #REQUIRED
+>
+
+<!ELEMENT TAXONINTERACTION_LANGUAGESTRING_AUD EMPTY>
+<!ATTLIST TAXONINTERACTION_LANGUAGESTRING_AUD
+    REV CDATA #REQUIRED
+    DESCRIPTIONELEMENTBASE_ID CDATA #REQUIRED
+    DESCRIPTION_ID CDATA #REQUIRED
+    DESCRIPTION_MAPKEY_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT TAXONNAMEBASE EMPTY>
 <!ATTLIST TAXONNAMEBASE
     DTYPE CDATA #IMPLIED
     CREATED CDATA #IMPLIED
     UUID CDATA #IMPLIED
     UPDATED CDATA #IMPLIED
-    LSID CDATA #IMPLIED
-    TITLECACHE CDATA #IMPLIED
+    LSID_AUTH CDATA #IMPLIED
+    LSID_AUTHORITY CDATA #IMPLIED
+    LSID_LSID CDATA #IMPLIED
+    LSID_NAMESPACE CDATA #IMPLIED
+    LSID_OBJECT CDATA #IMPLIED
+    LSID_REVISION CDATA #IMPLIED
     PROTECTEDTITLECACHE CDATA #IMPLIED
+    TITLECACHE CDATA #IMPLIED
     APPENDEDPHRASE CDATA #IMPLIED
+    FULLTITLECACHE CDATA #IMPLIED
     HASPROBLEM CDATA #IMPLIED
     NOMENCLATURALMICROREFERENCE CDATA #IMPLIED
-    FULLTITLECACHE CDATA #IMPLIED
     PROBLEMENDS CDATA #IMPLIED
     PROBLEMSTARTS CDATA #IMPLIED
     PROTECTEDFULLTITLECACHE CDATA #IMPLIED
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT TAXONNAMEBASE_ANNOTATION_AUD EMPTY>
+<!ATTLIST TAXONNAMEBASE_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    TAXONNAMEBASE_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT TAXONNAMEBASE_AUD EMPTY>
+<!ATTLIST TAXONNAMEBASE_AUD
+    DTYPE CDATA #IMPLIED
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    LSID_AUTH CDATA #IMPLIED
+    LSID_AUTHORITY CDATA #IMPLIED
+    LSID_LSID CDATA #IMPLIED
+    LSID_NAMESPACE CDATA #IMPLIED
+    LSID_OBJECT CDATA #IMPLIED
+    LSID_REVISION CDATA #IMPLIED
+    PROTECTEDTITLECACHE CDATA #IMPLIED
+    TITLECACHE CDATA #IMPLIED
+    APPENDEDPHRASE CDATA #IMPLIED
+    FULLTITLECACHE CDATA #IMPLIED
+    HASPROBLEM CDATA #IMPLIED
+    NOMENCLATURALMICROREFERENCE CDATA #IMPLIED
+    PROBLEMENDS CDATA #IMPLIED
+    PROBLEMSTARTS CDATA #IMPLIED
+    PROTECTEDFULLTITLECACHE CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    HOMOTYPICALGROUP_ID CDATA #IMPLIED
+    NOMENCLATURALREFERENCE_ID CDATA #IMPLIED
+    RANK_ID CDATA #IMPLIED
+    ACRONYM CDATA #IMPLIED
+    AUTHORSHIPCACHE CDATA #IMPLIED
+    GENUSORUNINOMIAL CDATA #IMPLIED
+    INFRAGENERICEPITHET CDATA #IMPLIED
+    INFRASPECIFICEPITHET CDATA #IMPLIED
+    NAMECACHE CDATA #IMPLIED
+    PROTECTEDAUTHORSHIPCACHE CDATA #IMPLIED
+    PROTECTEDNAMECACHE CDATA #IMPLIED
+    SPECIFICEPITHET CDATA #IMPLIED
+    BASIONYMAUTHORTEAM_ID CDATA #IMPLIED
+    COMBINATIONAUTHORTEAM_ID CDATA #IMPLIED
+    EXBASIONYMAUTHORTEAM_ID CDATA #IMPLIED
+    EXCOMBINATIONAUTHORTEAM_ID CDATA #IMPLIED
+    BREED CDATA #IMPLIED
+    ORIGINALPUBLICATIONYEAR CDATA #IMPLIED
+    PUBLICATIONYEAR CDATA #IMPLIED
+    ANAMORPHIC CDATA #IMPLIED
+    BINOMHYBRID CDATA #IMPLIED
+    HYBRIDFORMULA CDATA #IMPLIED
+    MONOMHYBRID CDATA #IMPLIED
+    TRINOMHYBRID CDATA #IMPLIED
+    NAMEAPPROBATION CDATA #IMPLIED
+    SUBGENUSAUTHORSHIP CDATA #IMPLIED
+    CULTIVARNAME CDATA #IMPLIED
+>
+
 <!ELEMENT TAXONNAMEBASE_EXTENSION EMPTY>
 <!ATTLIST TAXONNAMEBASE_EXTENSION
     TAXONNAMEBASE_ID CDATA #REQUIRED
     EXTENSIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT TAXONNAMEBASE_EXTENSION_AUD EMPTY>
+<!ATTLIST TAXONNAMEBASE_EXTENSION_AUD
+    REV CDATA #REQUIRED
+    TAXONNAMEBASE_ID CDATA #REQUIRED
+    EXTENSIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT TAXONNAMEBASE_HYBRIDRELATIONSHIP EMPTY>
 <!ATTLIST TAXONNAMEBASE_HYBRIDRELATIONSHIP
     TAXONNAMEBASE_ID CDATA #REQUIRED
     HYBRIDRELATIONSHIPS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT TAXONNAMEBASE_HYBRIDRELATIONSHIP_AUD EMPTY>
+<!ATTLIST TAXONNAMEBASE_HYBRIDRELATIONSHIP_AUD
+    REV CDATA #REQUIRED
+    TAXONNAMEBASE_ID CDATA #REQUIRED
+    HYBRIDRELATIONSHIPS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT TAXONNAMEBASE_MARKER EMPTY>
 <!ATTLIST TAXONNAMEBASE_MARKER
     TAXONNAMEBASE_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT TAXONNAMEBASE_MARKER_AUD EMPTY>
+<!ATTLIST TAXONNAMEBASE_MARKER_AUD
+    REV CDATA #REQUIRED
+    TAXONNAMEBASE_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT TAXONNAMEBASE_NOMENCLATURALSTATUS EMPTY>
 <!ATTLIST TAXONNAMEBASE_NOMENCLATURALSTATUS
     TAXONNAMEBASE_ID CDATA #REQUIRED
     STATUS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT TAXONNAMEBASE_NOMENCLATURALSTATUS_AUD EMPTY>
+<!ATTLIST TAXONNAMEBASE_NOMENCLATURALSTATUS_AUD
+    REV CDATA #REQUIRED
+    TAXONNAMEBASE_ID CDATA #REQUIRED
+    STATUS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT TAXONNAMEBASE_ORIGINALSOURCE EMPTY>
 <!ATTLIST TAXONNAMEBASE_ORIGINALSOURCE
     TAXONNAMEBASE_ID CDATA #REQUIRED
     SOURCES_ID CDATA #REQUIRED
 >
 
+<!ELEMENT TAXONNAMEBASE_ORIGINALSOURCE_AUD EMPTY>
+<!ATTLIST TAXONNAMEBASE_ORIGINALSOURCE_AUD
+    REV CDATA #REQUIRED
+    TAXONNAMEBASE_ID CDATA #REQUIRED
+    SOURCES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT TAXONNAMEBASE_RIGHTS EMPTY>
 <!ATTLIST TAXONNAMEBASE_RIGHTS
     TAXONNAMEBASE_ID CDATA #REQUIRED
     RIGHTS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT TAXONNAMEBASE_RIGHTS_AUD EMPTY>
+<!ATTLIST TAXONNAMEBASE_RIGHTS_AUD
+    REV CDATA #REQUIRED
+    TAXONNAMEBASE_ID CDATA #REQUIRED
+    RIGHTS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT TAXONNAMEBASE_TYPEDESIGNATIONBASE EMPTY>
 <!ATTLIST TAXONNAMEBASE_TYPEDESIGNATIONBASE
     TAXONNAMEBASE_ID CDATA #REQUIRED
     TYPEDESIGNATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT TAXONNAMEBASE_TYPEDESIGNATIONBASE_AUD EMPTY>
+<!ATTLIST TAXONNAMEBASE_TYPEDESIGNATIONBASE_AUD
+    REV CDATA #REQUIRED
+    TAXONNAMEBASE_ID CDATA #REQUIRED
+    TYPEDESIGNATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT TAXONRELATIONSHIP EMPTY>
 <!ATTLIST TAXONRELATIONSHIP
     ID CDATA #REQUIRED
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT TAXONRELATIONSHIP_ANNOTATION_AUD EMPTY>
+<!ATTLIST TAXONRELATIONSHIP_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    TAXONRELATIONSHIP_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT TAXONRELATIONSHIP_AUD EMPTY>
+<!ATTLIST TAXONRELATIONSHIP_AUD
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    CITATIONMICROREFERENCE CDATA #IMPLIED
+    ORIGINALNAMESTRING CDATA #IMPLIED
+    DOUBTFUL CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    CITATION_ID CDATA #IMPLIED
+    RELATEDFROM_ID CDATA #IMPLIED
+    RELATEDTO_ID CDATA #IMPLIED
+    TYPE_ID CDATA #IMPLIED
+>
+
 <!ELEMENT TAXONRELATIONSHIP_MARKER EMPTY>
 <!ATTLIST TAXONRELATIONSHIP_MARKER
     TAXONRELATIONSHIP_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT TAXONRELATIONSHIP_MARKER_AUD EMPTY>
+<!ATTLIST TAXONRELATIONSHIP_MARKER_AUD
+    REV CDATA #REQUIRED
+    TAXONRELATIONSHIP_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT TERMVOCABULARY EMPTY>
 <!ATTLIST TERMVOCABULARY
     DTYPE CDATA #IMPLIED
     UPDATEDBY_ID CDATA #IMPLIED
 >
 
+<!ELEMENT TERMVOCABULARY_AUD EMPTY>
+<!ATTLIST TERMVOCABULARY_AUD
+    DTYPE CDATA #IMPLIED
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    URI CDATA #IMPLIED
+    TERMSOURCEURI CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+>
+
 <!ELEMENT TERMVOCABULARY_REPRESENTATION EMPTY>
 <!ATTLIST TERMVOCABULARY_REPRESENTATION
     TERMVOCABULARY_ID CDATA #REQUIRED
     REPRESENTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT TERMVOCABULARY_REPRESENTATION_AUD EMPTY>
+<!ATTLIST TERMVOCABULARY_REPRESENTATION_AUD
+    REV CDATA #REQUIRED
+    TERMVOCABULARY_ID CDATA #REQUIRED
+    REPRESENTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT TYPEDESIGNATIONBASE EMPTY>
 <!ATTLIST TYPEDESIGNATIONBASE
     DTYPE CDATA #IMPLIED
     ANNOTATIONS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT TYPEDESIGNATIONBASE_ANNOTATION_AUD EMPTY>
+<!ATTLIST TYPEDESIGNATIONBASE_ANNOTATION_AUD
+    REV CDATA #REQUIRED
+    TYPEDESIGNATIONBASE_ID CDATA #REQUIRED
+    ANNOTATIONS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
+<!ELEMENT TYPEDESIGNATIONBASE_AUD EMPTY>
+<!ATTLIST TYPEDESIGNATIONBASE_AUD
+    DTYPE CDATA #IMPLIED
+    ID CDATA #REQUIRED
+    REV CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+    CREATED CDATA #IMPLIED
+    UUID CDATA #IMPLIED
+    UPDATED CDATA #IMPLIED
+    CITATIONMICROREFERENCE CDATA #IMPLIED
+    ORIGINALNAMESTRING CDATA #IMPLIED
+    NOTDESIGNATED CDATA #IMPLIED
+    CREATEDBY_ID CDATA #IMPLIED
+    UPDATEDBY_ID CDATA #IMPLIED
+    CITATION_ID CDATA #IMPLIED
+    HOMOTYPICALGROUP_ID CDATA #IMPLIED
+    CONSERVEDTYPE CDATA #IMPLIED
+    LECTOTYPE CDATA #IMPLIED
+    REJECTEDTYPE CDATA #IMPLIED
+    TYPENAME_ID CDATA #IMPLIED
+    TYPESPECIMEN_ID CDATA #IMPLIED
+    TYPESTATUS_ID CDATA #IMPLIED
+>
+
 <!ELEMENT TYPEDESIGNATIONBASE_MARKER EMPTY>
 <!ATTLIST TYPEDESIGNATIONBASE_MARKER
     TYPEDESIGNATIONBASE_ID CDATA #REQUIRED
     MARKERS_ID CDATA #REQUIRED
 >
 
+<!ELEMENT TYPEDESIGNATIONBASE_MARKER_AUD EMPTY>
+<!ATTLIST TYPEDESIGNATIONBASE_MARKER_AUD
+    REV CDATA #REQUIRED
+    TYPEDESIGNATIONBASE_ID CDATA #REQUIRED
+    MARKERS_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT TYPEDESIGNATIONBASE_TAXONNAMEBASE EMPTY>
 <!ATTLIST TYPEDESIGNATIONBASE_TAXONNAMEBASE
     TYPEDESIGNATIONBASE_ID CDATA #REQUIRED
     TYPIFIEDNAMES_ID CDATA #REQUIRED
 >
 
+<!ELEMENT TYPEDESIGNATIONBASE_TAXONNAMEBASE_AUD EMPTY>
+<!ATTLIST TYPEDESIGNATIONBASE_TAXONNAMEBASE_AUD
+    REV CDATA #REQUIRED
+    TYPEDESIGNATIONBASE_ID CDATA #REQUIRED
+    TYPIFIEDNAMES_ID CDATA #REQUIRED
+    REVTYPE CDATA #IMPLIED
+>
+
 <!ELEMENT USER EMPTY>
 <!ATTLIST USER
     ID CDATA #REQUIRED
index 9c3882bfb64fd64ec90cdb9682932274e204ca15..4512141f9ef1498a42a69f4a1ca1fcdde3b097d1 100644 (file)
        <xsd:element name="dataset">
                <xsd:complexType>
                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
-                               <xsd:element name="AGENT_ORIGINALSOURCE" type="dflt:AGENT_ORIGINALSOURCE__type" />
-                               <xsd:element name="TAXONRELATIONSHIP_MARKER" type="dflt:TAXONRELATIONSHIP_MARKER__type" />
-                               <xsd:element name="TAXONNAMEBASE" type="dflt:TAXONNAMEBASE__type" />
-                               <xsd:element name="REFERENCEBASE_MARKER" type="dflt:REFERENCEBASE_MARKER__type" />
-                               <xsd:element name="DETERMINATIONEVENT_REFERENCEBASE" type="dflt:DETERMINATIONEVENT_REFERENCEBASE__type" />
-                               <xsd:element name="GATHERINGEVENT_ANNOTATION" type="dflt:GATHERINGEVENT_ANNOTATION__type" />
-                               <xsd:element name="CDM_VIEW" type="dflt:CDM_VIEW__type" />
+                               <xsd:element name="SPECIMENOROBSERVATIONBASE_ANNOTATION_AUD" type="dflt:SPECIMENOROBSERVATIONBASE_ANNOTATION_AUD__type" />
+                               <xsd:element name="DESCRIPTIONELEMENTBASE_LANGUAGESTRING" type="dflt:DESCRIPTIONELEMENTBASE_LANGUAGESTRING__type" />
+                               <xsd:element name="TAXONINTERACTION_LANGUAGESTRING_AUD" type="dflt:TAXONINTERACTION_LANGUAGESTRING_AUD__type" />
+                               <xsd:element name="AUDITEVENT" type="dflt:AUDITEVENT__type" />
+                               <xsd:element name="TERMVOCABULARY_AUD" type="dflt:TERMVOCABULARY_AUD__type" />
+                               <xsd:element name="DESCRIPTIONELEMENTBASE_STATEDATA_AUD" type="dflt:DESCRIPTIONELEMENTBASE_STATEDATA_AUD__type" />
+                               <xsd:element name="DEFINEDTERMBASE_CONTINENT" type="dflt:DEFINEDTERMBASE_CONTINENT__type" />
+                               <xsd:element name="TAXONNAMEBASE_HYBRIDRELATIONSHIP_AUD" type="dflt:TAXONNAMEBASE_HYBRIDRELATIONSHIP_AUD__type" />
+                               <xsd:element name="REFERENCEBASE_ANNOTATION" type="dflt:REFERENCEBASE_ANNOTATION__type" />
+                               <xsd:element name="DETERMINATIONEVENT_MARKER_AUD" type="dflt:DETERMINATIONEVENT_MARKER_AUD__type" />
+                               <xsd:element name="LANGUAGESTRING_ANNOTATION_AUD" type="dflt:LANGUAGESTRING_ANNOTATION_AUD__type" />
+                               <xsd:element name="TAXONRELATIONSHIP_ANNOTATION_AUD" type="dflt:TAXONRELATIONSHIP_ANNOTATION_AUD__type" />
+                               <xsd:element name="NOMENCLATURALSTATUS_AUD" type="dflt:NOMENCLATURALSTATUS_AUD__type" />
+                               <xsd:element name="DESCRIPTIONBASE_ANNOTATION" type="dflt:DESCRIPTIONBASE_ANNOTATION__type" />
+                               <xsd:element name="SEQUENCE_MEDIA_AUD" type="dflt:SEQUENCE_MEDIA_AUD__type" />
+                               <xsd:element name="MEDIA" type="dflt:MEDIA__type" />
+                               <xsd:element name="AGENTBASE_DEFINEDTERMBASE" type="dflt:AGENTBASE_DEFINEDTERMBASE__type" />
+                               <xsd:element name="COLLECTION_AUD" type="dflt:COLLECTION_AUD__type" />
+                               <xsd:element name="DETERMINATIONEVENT" type="dflt:DETERMINATIONEVENT__type" />
+                               <xsd:element name="LSIDAUTHORITY" type="dflt:LSIDAUTHORITY__type" />
+                               <xsd:element name="RIGHTS_MARKER" type="dflt:RIGHTS_MARKER__type" />
+                               <xsd:element name="LANGUAGESTRING_MARKER_AUD" type="dflt:LANGUAGESTRING_MARKER_AUD__type" />
                                <xsd:element name="SEQUENCE_GENBANKACCESSION" type="dflt:SEQUENCE_GENBANKACCESSION__type" />
-                               <xsd:element name="DETERMINATIONEVENT_ANNOTATION" type="dflt:DETERMINATIONEVENT_ANNOTATION__type" />
+                               <xsd:element name="DETERMINATIONEVENT_MARKER" type="dflt:DETERMINATIONEVENT_MARKER__type" />
+                               <xsd:element name="REPRESENTATION" type="dflt:REPRESENTATION__type" />
+                               <xsd:element name="REFERENCEBASE_ANNOTATION_AUD" type="dflt:REFERENCEBASE_ANNOTATION_AUD__type" />
+                               <xsd:element name="TERMVOCABULARY_REPRESENTATION" type="dflt:TERMVOCABULARY_REPRESENTATION__type" />
+                               <xsd:element name="FEATURENODE" type="dflt:FEATURENODE__type" />
+                               <xsd:element name="REPRESENTATION_MARKER_AUD" type="dflt:REPRESENTATION_MARKER_AUD__type" />
+                               <xsd:element name="NAMERELATIONSHIP_ANNOTATION" type="dflt:NAMERELATIONSHIP_ANNOTATION__type" />
+                               <xsd:element name="FEATURETREE" type="dflt:FEATURETREE__type" />
+                               <xsd:element name="SPECIMENOROBSERVATIONBASE_RIGHTS" type="dflt:SPECIMENOROBSERVATIONBASE_RIGHTS__type" />
+                               <xsd:element name="DESCRIPTIONBASE" type="dflt:DESCRIPTIONBASE__type" />
                                <xsd:element name="STATISTICALMEASUREMENTVALUE" type="dflt:STATISTICALMEASUREMENTVALUE__type" />
-                               <xsd:element name="NAMERELATIONSHIP_MARKER" type="dflt:NAMERELATIONSHIP_MARKER__type" />
-                               <xsd:element name="DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE" type="dflt:DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE__type" />
+                               <xsd:element name="STATEDATA_DEFINEDTERMBASE_AUD" type="dflt:STATEDATA_DEFINEDTERMBASE_AUD__type" />
+                               <xsd:element name="SPECIMENOROBSERVATIONBASE_MARKER_AUD" type="dflt:SPECIMENOROBSERVATIONBASE_MARKER_AUD__type" />
+                               <xsd:element name="TAXONNAMEBASE_NOMENCLATURALSTATUS" type="dflt:TAXONNAMEBASE_NOMENCLATURALSTATUS__type" />
+                               <xsd:element name="AGENTBASE_ADDRESS" type="dflt:AGENTBASE_ADDRESS__type" />
+                               <xsd:element name="DETERMINATIONEVENT_ANNOTATION_AUD" type="dflt:DETERMINATIONEVENT_ANNOTATION_AUD__type" />
+                               <xsd:element name="LOCUS" type="dflt:LOCUS__type" />
+                               <xsd:element name="MEDIA_ANNOTATION" type="dflt:MEDIA_ANNOTATION__type" />
+                               <xsd:element name="GRANTEDAUTHORITYIMPL" type="dflt:GRANTEDAUTHORITYIMPL__type" />
                                <xsd:element name="TAXONNAMEBASE_ORIGINALSOURCE" type="dflt:TAXONNAMEBASE_ORIGINALSOURCE__type" />
-                               <xsd:element name="TAXONBASE_EXTENSION" type="dflt:TAXONBASE_EXTENSION__type" />
-                               <xsd:element name="SYNONYMRELATIONSHIP_MARKER" type="dflt:SYNONYMRELATIONSHIP_MARKER__type" />
-                               <xsd:element name="COLLECTION_EXTENSION" type="dflt:COLLECTION_EXTENSION__type" />
-                               <xsd:element name="TAXONNAMEBASE_TYPEDESIGNATIONBASE" type="dflt:TAXONNAMEBASE_TYPEDESIGNATIONBASE__type" />
-                               <xsd:element name="AGENT_MEDIA" type="dflt:AGENT_MEDIA__type" />
-                               <xsd:element name="MEDIA" type="dflt:MEDIA__type" />
+                               <xsd:element name="HYBRIDRELATIONSHIP_MARKER" type="dflt:HYBRIDRELATIONSHIP_MARKER__type" />
+                               <xsd:element name="SEQUENCE_RIGHTS_AUD" type="dflt:SEQUENCE_RIGHTS_AUD__type" />
+                               <xsd:element name="DESCRIPTIONBASE_EXTENSION_AUD" type="dflt:DESCRIPTIONBASE_EXTENSION_AUD__type" />
+                               <xsd:element name="SYNONYMRELATIONSHIP_MARKER_AUD" type="dflt:SYNONYMRELATIONSHIP_MARKER_AUD__type" />
+                               <xsd:element name="TYPEDESIGNATIONBASE_TAXONNAMEBASE_AUD" type="dflt:TYPEDESIGNATIONBASE_TAXONNAMEBASE_AUD__type" />
+                               <xsd:element name="MEDIA_AUD" type="dflt:MEDIA_AUD__type" />
+                               <xsd:element name="SPECIMENOROBSERVATIONBASE_EXTENSION" type="dflt:SPECIMENOROBSERVATIONBASE_EXTENSION__type" />
+                               <xsd:element name="RIGHTS_AUD" type="dflt:RIGHTS_AUD__type" />
+                               <xsd:element name="TYPEDESIGNATIONBASE_ANNOTATION_AUD" type="dflt:TYPEDESIGNATIONBASE_ANNOTATION_AUD__type" />
+                               <xsd:element name="SPECIMENOROBSERVATIONBASE_MEDIA_AUD" type="dflt:SPECIMENOROBSERVATIONBASE_MEDIA_AUD__type" />
+                               <xsd:element name="DERIVATIONEVENT_DEFINEDTERMBASE" type="dflt:DERIVATIONEVENT_DEFINEDTERMBASE__type" />
+                               <xsd:element name="AGENTBASE_CONTACT_EMAILADDRESSES" type="dflt:AGENTBASE_CONTACT_EMAILADDRESSES__type" />
+                               <xsd:element name="REPRESENTATION_MARKER" type="dflt:REPRESENTATION_MARKER__type" />
+                               <xsd:element name="REFERENCEBASE_MEDIA_AUD" type="dflt:REFERENCEBASE_MEDIA_AUD__type" />
+                               <xsd:element name="AGENTBASE_MEDIA_AUD" type="dflt:AGENTBASE_MEDIA_AUD__type" />
+                               <xsd:element name="TAXONBASE_MARKER_AUD" type="dflt:TAXONBASE_MARKER_AUD__type" />
+                               <xsd:element name="DEFINEDTERMBASE_REPRESENTATION_AUD" type="dflt:DEFINEDTERMBASE_REPRESENTATION_AUD__type" />
+                               <xsd:element name="ORIGINALSOURCE_MARKER_AUD" type="dflt:ORIGINALSOURCE_MARKER_AUD__type" />
+                               <xsd:element name="SPECIMENOROBSERVATIONBASE_LANGUAGESTRING_AUD" type="dflt:SPECIMENOROBSERVATIONBASE_LANGUAGESTRING_AUD__type" />
+                               <xsd:element name="DESCRIPTIONBASE_ANNOTATION_AUD" type="dflt:DESCRIPTIONBASE_ANNOTATION_AUD__type" />
+                               <xsd:element name="DEFINEDTERMBASE_STATISTICALMEASURE_AUD" type="dflt:DEFINEDTERMBASE_STATISTICALMEASURE_AUD__type" />
+                               <xsd:element name="HOMOTYPICALGROUP_ANNOTATION" type="dflt:HOMOTYPICALGROUP_ANNOTATION__type" />
+                               <xsd:element name="AGENTBASE_CONTACT_EMAILADDRESSES_AUD" type="dflt:AGENTBASE_CONTACT_EMAILADDRESSES_AUD__type" />
+                               <xsd:element name="NAMERELATIONSHIP_MARKER_AUD" type="dflt:NAMERELATIONSHIP_MARKER_AUD__type" />
+                               <xsd:element name="DESCRIPTIONBASE_REFERENCEBASE" type="dflt:DESCRIPTIONBASE_REFERENCEBASE__type" />
+                               <xsd:element name="SEQUENCE_AUD" type="dflt:SEQUENCE_AUD__type" />
+                               <xsd:element name="EXTENSION" type="dflt:EXTENSION__type" />
+                               <xsd:element name="DESCRIPTIONBASE_RIGHTS_AUD" type="dflt:DESCRIPTIONBASE_RIGHTS_AUD__type" />
+                               <xsd:element name="DESCRIPTIONBASE_RIGHTS" type="dflt:DESCRIPTIONBASE_RIGHTS__type" />
+                               <xsd:element name="ADDRESS" type="dflt:ADDRESS__type" />
+                               <xsd:element name="SEQUENCE_ANNOTATION_AUD" type="dflt:SEQUENCE_ANNOTATION_AUD__type" />
+                               <xsd:element name="HYBRIDRELATIONSHIP_AUD" type="dflt:HYBRIDRELATIONSHIP_AUD__type" />
+                               <xsd:element name="AGENTBASE" type="dflt:AGENTBASE__type" />
+                               <xsd:element name="HYBRIDRELATIONSHIP_ANNOTATION_AUD" type="dflt:HYBRIDRELATIONSHIP_ANNOTATION_AUD__type" />
+                               <xsd:element name="NAMERELATIONSHIP_AUD" type="dflt:NAMERELATIONSHIP_AUD__type" />
+                               <xsd:element name="ANNOTATION_ANNOTATION" type="dflt:ANNOTATION_ANNOTATION__type" />
+                               <xsd:element name="COLLECTION" type="dflt:COLLECTION__type" />
+                               <xsd:element name="DEFINEDTERMBASE_CONTINENT_AUD" type="dflt:DEFINEDTERMBASE_CONTINENT_AUD__type" />
+                               <xsd:element name="TAXONNAMEBASE_RIGHTS_AUD" type="dflt:TAXONNAMEBASE_RIGHTS_AUD__type" />
+                               <xsd:element name="TAXONNAMEBASE_ORIGINALSOURCE_AUD" type="dflt:TAXONNAMEBASE_ORIGINALSOURCE_AUD__type" />
+                               <xsd:element name="MEDIA_TAXONBASE" type="dflt:MEDIA_TAXONBASE__type" />
+                               <xsd:element name="SPECIMENOROBSERVATIONBASE_MARKER" type="dflt:SPECIMENOROBSERVATIONBASE_MARKER__type" />
+                               <xsd:element name="DEFINEDTERMBASE_AUD" type="dflt:DEFINEDTERMBASE_AUD__type" />
+                               <xsd:element name="COLLECTION_ANNOTATION_AUD" type="dflt:COLLECTION_ANNOTATION_AUD__type" />
+                               <xsd:element name="DESCRIPTIONELEMENTBASE_MODIFIER_AUD" type="dflt:DESCRIPTIONELEMENTBASE_MODIFIER_AUD__type" />
+                               <xsd:element name="EXTENSION_AUD" type="dflt:EXTENSION_AUD__type" />
+                               <xsd:element name="SEQUENCE_REFERENCEBASE_AUD" type="dflt:SEQUENCE_REFERENCEBASE_AUD__type" />
+                               <xsd:element name="REFERENCEBASE_EXTENSION_AUD" type="dflt:REFERENCEBASE_EXTENSION_AUD__type" />
+                               <xsd:element name="HOMOTYPICALGROUP" type="dflt:HOMOTYPICALGROUP__type" />
+                               <xsd:element name="SEQUENCE_REFERENCEBASE" type="dflt:SEQUENCE_REFERENCEBASE__type" />
+                               <xsd:element name="TYPEDESIGNATIONBASE_ANNOTATION" type="dflt:TYPEDESIGNATIONBASE_ANNOTATION__type" />
+                               <xsd:element name="AGENTBASE_MEDIA" type="dflt:AGENTBASE_MEDIA__type" />
+                               <xsd:element name="DESCRIPTIONELEMENTBASE_MARKER_AUD" type="dflt:DESCRIPTIONELEMENTBASE_MARKER_AUD__type" />
+                               <xsd:element name="ORIGINALSOURCE_MARKER" type="dflt:ORIGINALSOURCE_MARKER__type" />
+                               <xsd:element name="TAXONNAMEBASE_AUD" type="dflt:TAXONNAMEBASE_AUD__type" />
+                               <xsd:element name="ANNOTATION_AUD" type="dflt:ANNOTATION_AUD__type" />
+                               <xsd:element name="AGENTBASE_CONTACT_FAXNUMBERS" type="dflt:AGENTBASE_CONTACT_FAXNUMBERS__type" />
+                               <xsd:element name="HYBRIDRELATIONSHIP_ANNOTATION" type="dflt:HYBRIDRELATIONSHIP_ANNOTATION__type" />
+                               <xsd:element name="SYNONYMRELATIONSHIP" type="dflt:SYNONYMRELATIONSHIP__type" />
+                               <xsd:element name="DEFINEDTERMBASE" type="dflt:DEFINEDTERMBASE__type" />
+                               <xsd:element name="PERSON_KEYWORD" type="dflt:PERSON_KEYWORD__type" />
                                <xsd:element name="TYPEDESIGNATIONBASE_MARKER" type="dflt:TYPEDESIGNATIONBASE_MARKER__type" />
-                               <xsd:element name="HYBRIDRELATIONSHIP" type="dflt:HYBRIDRELATIONSHIP__type" />
-                               <xsd:element name="DESCRIPTIONBASE_EXTENSION" type="dflt:DESCRIPTIONBASE_EXTENSION__type" />
-                               <xsd:element name="USER_PERMISSIONGROUP" type="dflt:USER_PERMISSIONGROUP__type" />
-                               <xsd:element name="SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE" type="dflt:SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE__type" />
+                               <xsd:element name="DESCRIPTIONBASE_GEOSCOPE" type="dflt:DESCRIPTIONBASE_GEOSCOPE__type" />
+                               <xsd:element name="AGENTBASE_CONTACT_URLS" type="dflt:AGENTBASE_CONTACT_URLS__type" />
+                               <xsd:element name="MARKER_AUD" type="dflt:MARKER_AUD__type" />
+                               <xsd:element name="TAXONBASE_ANNOTATION" type="dflt:TAXONBASE_ANNOTATION__type" />
+                               <xsd:element name="DESCRIPTIONBASE_AUD" type="dflt:DESCRIPTIONBASE_AUD__type" />
+                               <xsd:element name="REFERENCEBASE_EXTENSION" type="dflt:REFERENCEBASE_EXTENSION__type" />
+                               <xsd:element name="AGENTBASE_CONTACT_PHONENUMBERS" type="dflt:AGENTBASE_CONTACT_PHONENUMBERS__type" />
+                               <xsd:element name="AGENTBASE_MARKER_AUD" type="dflt:AGENTBASE_MARKER_AUD__type" />
+                               <xsd:element name="LANGUAGESTRING_ANNOTATION" type="dflt:LANGUAGESTRING_ANNOTATION__type" />
+                               <xsd:element name="TAXONBASE_MARKER" type="dflt:TAXONBASE_MARKER__type" />
                                <xsd:element name="CDM_VIEW_CDM_VIEW" type="dflt:CDM_VIEW_CDM_VIEW__type" />
+                               <xsd:element name="DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE_AUD" type="dflt:DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE_AUD__type" />
+                               <xsd:element name="IDENTIFICATIONKEY_TAXON_AUD" type="dflt:IDENTIFICATIONKEY_TAXON_AUD__type" />
+                               <xsd:element name="TERMVOCABULARY" type="dflt:TERMVOCABULARY__type" />
+                               <xsd:element name="DESCRIPTIONBASE_ORIGINALSOURCE_AUD" type="dflt:DESCRIPTIONBASE_ORIGINALSOURCE_AUD__type" />
+                               <xsd:element name="DERIVATIONEVENT_MARKER" type="dflt:DERIVATIONEVENT_MARKER__type" />
+                               <xsd:element name="ORIGINALSOURCE_AUD" type="dflt:ORIGINALSOURCE_AUD__type" />
+                               <xsd:element name="DESCRIPTIONBASE_SCOPE_AUD" type="dflt:DESCRIPTIONBASE_SCOPE_AUD__type" />
+                               <xsd:element name="DESCRIPTIONELEMENTBASE_AUD" type="dflt:DESCRIPTIONELEMENTBASE_AUD__type" />
+                               <xsd:element name="MEDIAREPRESENTATION" type="dflt:MEDIAREPRESENTATION__type" />
+                               <xsd:element name="REPRESENTATION_AUD" type="dflt:REPRESENTATION_AUD__type" />
+                               <xsd:element name="DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE" type="dflt:DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE__type" />
+                               <xsd:element name="MEDIA_TAXONBASE_AUD" type="dflt:MEDIA_TAXONBASE_AUD__type" />
+                               <xsd:element name="DESCRIPTIONELEMENTBASE_ANNOTATION_AUD" type="dflt:DESCRIPTIONELEMENTBASE_ANNOTATION_AUD__type" />
+                               <xsd:element name="ANNOTATION_MARKER" type="dflt:ANNOTATION_MARKER__type" />
+                               <xsd:element name="STATISTICALMEASUREMENTVALUE_AUD" type="dflt:STATISTICALMEASUREMENTVALUE_AUD__type" />
+                               <xsd:element name="REPRESENTATION_ANNOTATION" type="dflt:REPRESENTATION_ANNOTATION__type" />
+                               <xsd:element name="TAXONNAMEBASE_RIGHTS" type="dflt:TAXONNAMEBASE_RIGHTS__type" />
+                               <xsd:element name="DESCRIPTIONELEMENTBASE_LANGUAGESTRING_AUD" type="dflt:DESCRIPTIONELEMENTBASE_LANGUAGESTRING_AUD__type" />
+                               <xsd:element name="NAMERELATIONSHIP" type="dflt:NAMERELATIONSHIP__type" />
+                               <xsd:element name="REFERENCEBASE_ORIGINALSOURCE" type="dflt:REFERENCEBASE_ORIGINALSOURCE__type" />
                                <xsd:element name="DESCRIPTIONELEMENTBASE_MARKER" type="dflt:DESCRIPTIONELEMENTBASE_MARKER__type" />
-                               <xsd:element name="AGENT_ANNOTATION" type="dflt:AGENT_ANNOTATION__type" />
-                               <xsd:element name="AGENT_RIGHTS" type="dflt:AGENT_RIGHTS__type" />
-                               <xsd:element name="DESCRIPTIONBASE_SCOPE" type="dflt:DESCRIPTIONBASE_SCOPE__type" />
-                               <xsd:element name="COLLECTION_MEDIA" type="dflt:COLLECTION_MEDIA__type" />
-                               <xsd:element name="USER_GRANTEDAUTHORITYIMPL" type="dflt:USER_GRANTEDAUTHORITYIMPL__type" />
+                               <xsd:element name="STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE" type="dflt:STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE__type" />
+                               <xsd:element name="SEQUENCE_ORIGINALSOURCE" type="dflt:SEQUENCE_ORIGINALSOURCE__type" />
+                               <xsd:element name="COLLECTION_EXTENSION" type="dflt:COLLECTION_EXTENSION__type" />
                                <xsd:element name="TAXONNAMEBASE_HYBRIDRELATIONSHIP" type="dflt:TAXONNAMEBASE_HYBRIDRELATIONSHIP__type" />
-                               <xsd:element name="TAXONBASE_MARKER" type="dflt:TAXONBASE_MARKER__type" />
+                               <xsd:element name="SYNONYMRELATIONSHIP_MARKER" type="dflt:SYNONYMRELATIONSHIP_MARKER__type" />
+                               <xsd:element name="COLLECTION_ANNOTATION" type="dflt:COLLECTION_ANNOTATION__type" />
+                               <xsd:element name="MEDIA_LANGUAGESTRING" type="dflt:MEDIA_LANGUAGESTRING__type" />
+                               <xsd:element name="TAXONBASE_EXTENSION" type="dflt:TAXONBASE_EXTENSION__type" />
+                               <xsd:element name="MEDIA_SEQUENCE" type="dflt:MEDIA_SEQUENCE__type" />
+                               <xsd:element name="MEDIA_DESCRIPTION" type="dflt:MEDIA_DESCRIPTION__type" />
+                               <xsd:element name="COLLECTION_RIGHTS_AUD" type="dflt:COLLECTION_RIGHTS_AUD__type" />
+                               <xsd:element name="NOMENCLATURALSTATUS_MARKER" type="dflt:NOMENCLATURALSTATUS_MARKER__type" />
+                               <xsd:element name="SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE" type="dflt:SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE__type" />
+                               <xsd:element name="AGENTBASE_AGENTBASE" type="dflt:AGENTBASE_AGENTBASE__type" />
+                               <xsd:element name="TYPEDESIGNATIONBASE_AUD" type="dflt:TYPEDESIGNATIONBASE_AUD__type" />
+                               <xsd:element name="AGENTBASE_CONTACT_PHONENUMBERS_AUD" type="dflt:AGENTBASE_CONTACT_PHONENUMBERS_AUD__type" />
+                               <xsd:element name="COLLECTION_RIGHTS" type="dflt:COLLECTION_RIGHTS__type" />
+                               <xsd:element name="RIGHTS" type="dflt:RIGHTS__type" />
+                               <xsd:element name="TAXONNAMEBASE_EXTENSION_AUD" type="dflt:TAXONNAMEBASE_EXTENSION_AUD__type" />
+                               <xsd:element name="PERSON_KEYWORD_AUD" type="dflt:PERSON_KEYWORD_AUD__type" />
+                               <xsd:element name="SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE_AUD" type="dflt:SPECIMENOROBSERVATIONBASE_ORIGINALSOURCE_AUD__type" />
+                               <xsd:element name="DERIVATIONEVENT_ANNOTATION_AUD" type="dflt:DERIVATIONEVENT_ANNOTATION_AUD__type" />
+                               <xsd:element name="MEDIA_DESCRIPTION_AUD" type="dflt:MEDIA_DESCRIPTION_AUD__type" />
+                               <xsd:element name="COLLECTION_MARKER" type="dflt:COLLECTION_MARKER__type" />
+                               <xsd:element name="TAXONNAMEBASE" type="dflt:TAXONNAMEBASE__type" />
+                               <xsd:element name="SEQUENCE_GENBANKACCESSION_AUD" type="dflt:SEQUENCE_GENBANKACCESSION_AUD__type" />
+                               <xsd:element name="STATEDATA_LANGUAGESTRING" type="dflt:STATEDATA_LANGUAGESTRING__type" />
+                               <xsd:element name="COLLECTION_MEDIA_AUD" type="dflt:COLLECTION_MEDIA_AUD__type" />
+                               <xsd:element name="DESCRIPTIONELEMENTBASE_MODIFYINGTEXT_AUD" type="dflt:DESCRIPTIONELEMENTBASE_MODIFYINGTEXT_AUD__type" />
+                               <xsd:element name="DESCRIPTIONELEMENTBASE_ANNOTATION" type="dflt:DESCRIPTIONELEMENTBASE_ANNOTATION__type" />
+                               <xsd:element name="TAXONRELATIONSHIP" type="dflt:TAXONRELATIONSHIP__type" />
+                               <xsd:element name="SYNONYMRELATIONSHIP_ANNOTATION_AUD" type="dflt:SYNONYMRELATIONSHIP_ANNOTATION_AUD__type" />
+                               <xsd:element name="SYNONYMRELATIONSHIP_AUD" type="dflt:SYNONYMRELATIONSHIP_AUD__type" />
+                               <xsd:element name="NAMERELATIONSHIP_ANNOTATION_AUD" type="dflt:NAMERELATIONSHIP_ANNOTATION_AUD__type" />
+                               <xsd:element name="COLLECTION_ORIGINALSOURCE" type="dflt:COLLECTION_ORIGINALSOURCE__type" />
+                               <xsd:element name="COLLECTION_ORIGINALSOURCE_AUD" type="dflt:COLLECTION_ORIGINALSOURCE_AUD__type" />
+                               <xsd:element name="SPECIMENOROBSERVATIONBASE" type="dflt:SPECIMENOROBSERVATIONBASE__type" />
+                               <xsd:element name="RELATIONSHIPTERMBASE_INVERSEREPRESENTATION_AUD" type="dflt:RELATIONSHIPTERMBASE_INVERSEREPRESENTATION_AUD__type" />
+                               <xsd:element name="FEATURENODE_AUD" type="dflt:FEATURENODE_AUD__type" />
                                <xsd:element name="ORIGINALSOURCE" type="dflt:ORIGINALSOURCE__type" />
-                               <xsd:element name="FEATURENODE" type="dflt:FEATURENODE__type" />
-                               <xsd:element name="TERMVOCABULARY_REPRESENTATION" type="dflt:TERMVOCABULARY_REPRESENTATION__type" />
-                               <xsd:element name="DETERMINATIONEVENT" type="dflt:DETERMINATIONEVENT__type" />
-                               <xsd:element name="TAXONNAMEBASE_NOMENCLATURALSTATUS" type="dflt:TAXONNAMEBASE_NOMENCLATURALSTATUS__type" />
+                               <xsd:element name="HOMOTYPICALGROUP_MARKER_AUD" type="dflt:HOMOTYPICALGROUP_MARKER_AUD__type" />
+                               <xsd:element name="DESCRIPTIONBASE_SPECIMENOROBSERVATIONBASE_AUD" type="dflt:DESCRIPTIONBASE_SPECIMENOROBSERVATIONBASE_AUD__type" />
+                               <xsd:element name="LOCUS_AUD" type="dflt:LOCUS_AUD__type" />
+                               <xsd:element name="HYBRIDRELATIONSHIP" type="dflt:HYBRIDRELATIONSHIP__type" />
+                               <xsd:element name="SYNONYMRELATIONSHIP_ANNOTATION" type="dflt:SYNONYMRELATIONSHIP_ANNOTATION__type" />
+                               <xsd:element name="COLLECTION_MEDIA" type="dflt:COLLECTION_MEDIA__type" />
+                               <xsd:element name="STATEDATA" type="dflt:STATEDATA__type" />
                                <xsd:element name="SEQUENCE_MEDIA" type="dflt:SEQUENCE_MEDIA__type" />
-                               <xsd:element name="LANGUAGESTRING_ANNOTATION" type="dflt:LANGUAGESTRING_ANNOTATION__type" />
-                               <xsd:element name="SEQUENCE_REFERENCEBASE" type="dflt:SEQUENCE_REFERENCEBASE__type" />
-                               <xsd:element name="IDENTIFICATIONKEY_TAXON" type="dflt:IDENTIFICATIONKEY_TAXON__type" />
+                               <xsd:element name="SPECIMENOROBSERVATIONBASE_EXTENSION_AUD" type="dflt:SPECIMENOROBSERVATIONBASE_EXTENSION_AUD__type" />
+                               <xsd:element name="DEFINEDTERMBASE_MEDIA_AUD" type="dflt:DEFINEDTERMBASE_MEDIA_AUD__type" />
+                               <xsd:element name="SEQUENCE_RIGHTS" type="dflt:SEQUENCE_RIGHTS__type" />
+                               <xsd:element name="RIGHTS_ANNOTATION_AUD" type="dflt:RIGHTS_ANNOTATION_AUD__type" />
                                <xsd:element name="DEFINEDTERMBASE_SUPPORTEDCATEGORICALENUMERATION" type="dflt:DEFINEDTERMBASE_SUPPORTEDCATEGORICALENUMERATION__type" />
-                               <xsd:element name="DESCRIPTIONELEMENTBASE_MEDIA" type="dflt:DESCRIPTIONELEMENTBASE_MEDIA__type" />
-                               <xsd:element name="DESCRIPTIONELEMENTBASE_MODIFIER" type="dflt:DESCRIPTIONELEMENTBASE_MODIFIER__type" />
-                               <xsd:element name="SPECIMENOROBSERVATIONBASE_MEDIA" type="dflt:SPECIMENOROBSERVATIONBASE_MEDIA__type" />
-                               <xsd:element name="GENBANKACCESSION" type="dflt:GENBANKACCESSION__type" />
-                               <xsd:element name="AGENT_MARKER" type="dflt:AGENT_MARKER__type" />
-                               <xsd:element name="GATHERINGEVENT_MARKER" type="dflt:GATHERINGEVENT_MARKER__type" />
-                               <xsd:element name="DEFINEDTERMBASE_WATERBODYORCOUNTRY" type="dflt:DEFINEDTERMBASE_WATERBODYORCOUNTRY__type" />
-                               <xsd:element name="MARKER" type="dflt:MARKER__type" />
+                               <xsd:element name="DESCRIPTIONBASE_SCOPE" type="dflt:DESCRIPTIONBASE_SCOPE__type" />
+                               <xsd:element name="DERIVATIONEVENT_ANNOTATION" type="dflt:DERIVATIONEVENT_ANNOTATION__type" />
+                               <xsd:element name="DESCRIPTIONBASE_REFERENCEBASE_AUD" type="dflt:DESCRIPTIONBASE_REFERENCEBASE_AUD__type" />
+                               <xsd:element name="AGENTBASE_ORIGINALSOURCE_AUD" type="dflt:AGENTBASE_ORIGINALSOURCE_AUD__type" />
+                               <xsd:element name="SPECIMENOROBSERVATIONBASE_RIGHTS_AUD" type="dflt:SPECIMENOROBSERVATIONBASE_RIGHTS_AUD__type" />
+                               <xsd:element name="TAXONBASE" type="dflt:TAXONBASE__type" />
+                               <xsd:element name="STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE_AUD" type="dflt:STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE_AUD__type" />
+                               <xsd:element name="REPRESENTATION_ANNOTATION_AUD" type="dflt:REPRESENTATION_ANNOTATION_AUD__type" />
+                               <xsd:element name="TAXONNAMEBASE_TYPEDESIGNATIONBASE_AUD" type="dflt:TAXONNAMEBASE_TYPEDESIGNATIONBASE_AUD__type" />
                                <xsd:element name="DESCRIPTIONBASE_MARKER" type="dflt:DESCRIPTIONBASE_MARKER__type" />
-                               <xsd:element name="SPECIMENOROBSERVATIONBASE_EXTENSION" type="dflt:SPECIMENOROBSERVATIONBASE_EXTENSION__type" />
-                               <xsd:element name="LOCUS" type="dflt:LOCUS__type" />
-                               <xsd:element name="TAXONRELATIONSHIP_ANNOTATION" type="dflt:TAXONRELATIONSHIP_ANNOTATION__type" />
-                               <xsd:element name="AGENT_EXTENSION" type="dflt:AGENT_EXTENSION__type" />
-                               <xsd:element name="LANGUAGESTRING_MARKER" type="dflt:LANGUAGESTRING_MARKER__type" />
-                               <xsd:element name="TAXONBASE_ORIGINALSOURCE" type="dflt:TAXONBASE_ORIGINALSOURCE__type" />
+                               <xsd:element name="MEDIAREPRESENTATIONPART_AUD" type="dflt:MEDIAREPRESENTATIONPART_AUD__type" />
+                               <xsd:element name="REFERENCEBASE_MEDIA" type="dflt:REFERENCEBASE_MEDIA__type" />
+                               <xsd:element name="DETERMINATIONEVENT_REFERENCEBASE_AUD" type="dflt:DETERMINATIONEVENT_REFERENCEBASE_AUD__type" />
+                               <xsd:element name="RIGHTS_MARKER_AUD" type="dflt:RIGHTS_MARKER_AUD__type" />
+                               <xsd:element name="REFERENCEBASE_RIGHTS_AUD" type="dflt:REFERENCEBASE_RIGHTS_AUD__type" />
+                               <xsd:element name="NAMERELATIONSHIP_MARKER" type="dflt:NAMERELATIONSHIP_MARKER__type" />
+                               <xsd:element name="MEDIA_MARKER_AUD" type="dflt:MEDIA_MARKER_AUD__type" />
+                               <xsd:element name="TAXONRELATIONSHIP_AUD" type="dflt:TAXONRELATIONSHIP_AUD__type" />
+                               <xsd:element name="SEQUENCE_ANNOTATION" type="dflt:SEQUENCE_ANNOTATION__type" />
+                               <xsd:element name="DEFINEDTERMBASE_WATERBODYORCOUNTRY_AUD" type="dflt:DEFINEDTERMBASE_WATERBODYORCOUNTRY_AUD__type" />
+                               <xsd:element name="TAXONRELATIONSHIP_MARKER" type="dflt:TAXONRELATIONSHIP_MARKER__type" />
+                               <xsd:element name="TAXONRELATIONSHIP_MARKER_AUD" type="dflt:TAXONRELATIONSHIP_MARKER_AUD__type" />
+                               <xsd:element name="TAXONNAMEBASE_TYPEDESIGNATIONBASE" type="dflt:TAXONNAMEBASE_TYPEDESIGNATIONBASE__type" />
+                               <xsd:element name="DERIVATIONEVENT" type="dflt:DERIVATIONEVENT__type" />
+                               <xsd:element name="AGENTBASE_EXTENSION_AUD" type="dflt:AGENTBASE_EXTENSION_AUD__type" />
+                               <xsd:element name="COLLECTION_MARKER_AUD" type="dflt:COLLECTION_MARKER_AUD__type" />
+                               <xsd:element name="FEATURETREE_REPRESENTATION_AUD" type="dflt:FEATURETREE_REPRESENTATION_AUD__type" />
+                               <xsd:element name="TYPEDESIGNATIONBASE_TAXONNAMEBASE" type="dflt:TYPEDESIGNATIONBASE_TAXONNAMEBASE__type" />
+                               <xsd:element name="AGENTBASE_RIGHTS" type="dflt:AGENTBASE_RIGHTS__type" />
+                               <xsd:element name="AGENTBASE_ANNOTATION_AUD" type="dflt:AGENTBASE_ANNOTATION_AUD__type" />
+                               <xsd:element name="MEDIA_LANGUAGESTRING_AUD" type="dflt:MEDIA_LANGUAGESTRING_AUD__type" />
+                               <xsd:element name="MEDIAREPRESENTATION_MEDIAREPRESENTATIONPART_AUD" type="dflt:MEDIAREPRESENTATION_MEDIAREPRESENTATIONPART_AUD__type" />
+                               <xsd:element name="INDIVIDUALASSOCIATION_LANGUAGESTRING" type="dflt:INDIVIDUALASSOCIATION_LANGUAGESTRING__type" />
                                <xsd:element name="PERMISSIONGROUP" type="dflt:PERMISSIONGROUP__type" />
-                               <xsd:element name="SEQUENCE" type="dflt:SEQUENCE__type" />
-                               <xsd:element name="DESCRIPTIONBASE_REFERENCEBASE" type="dflt:DESCRIPTIONBASE_REFERENCEBASE__type" />
-                               <xsd:element name="SPECIMENOROBSERVATIONBASE_MARKER" type="dflt:SPECIMENOROBSERVATIONBASE_MARKER__type" />
-                               <xsd:element name="PERMISSIONGROUP_GRANTEDAUTHORITYIMPL" type="dflt:PERMISSIONGROUP_GRANTEDAUTHORITYIMPL__type" />
-                               <xsd:element name="COLLECTION_ANNOTATION" type="dflt:COLLECTION_ANNOTATION__type" />
-                               <xsd:element name="MEDIAREPRESENTATION" type="dflt:MEDIAREPRESENTATION__type" />
-                               <xsd:element name="MEDIA_RIGHTS" type="dflt:MEDIA_RIGHTS__type" />
-                               <xsd:element name="MEDIA_TAXONBASE" type="dflt:MEDIA_TAXONBASE__type" />
-                               <xsd:element name="REFERENCEBASE" type="dflt:REFERENCEBASE__type" />
-                               <xsd:element name="STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE" type="dflt:STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE__type" />
-                               <xsd:element name="AGENT_AGENT" type="dflt:AGENT_AGENT__type" />
-                               <xsd:element name="NOMENCLATURALSTATUS_ANNOTATION" type="dflt:NOMENCLATURALSTATUS_ANNOTATION__type" />
-                               <xsd:element name="USER" type="dflt:USER__type" />
-                               <xsd:element name="DEFINEDTERMBASE_MEDIA" type="dflt:DEFINEDTERMBASE_MEDIA__type" />
-                               <xsd:element name="AGENT" type="dflt:AGENT__type" />
-                               <xsd:element name="DESCRIPTIONELEMENTBASE_STATEDATA" type="dflt:DESCRIPTIONELEMENTBASE_STATEDATA__type" />
+                               <xsd:element name="MEDIA_SEQUENCE_AUD" type="dflt:MEDIA_SEQUENCE_AUD__type" />
+                               <xsd:element name="SEQUENCE_EXTENSION" type="dflt:SEQUENCE_EXTENSION__type" />
                                <xsd:element name="FEATURETREE_REPRESENTATION" type="dflt:FEATURETREE_REPRESENTATION__type" />
-                               <xsd:element name="REFERENCEBASE_RIGHTS" type="dflt:REFERENCEBASE_RIGHTS__type" />
-                               <xsd:element name="DESCRIPTIONELEMENTBASE_LANGUAGESTRING" type="dflt:DESCRIPTIONELEMENTBASE_LANGUAGESTRING__type" />
-                               <xsd:element name="DESCRIPTIONBASE_ORIGINALSOURCE" type="dflt:DESCRIPTIONBASE_ORIGINALSOURCE__type" />
-                               <xsd:element name="ANNOTATION_ANNOTATION" type="dflt:ANNOTATION_ANNOTATION__type" />
-                               <xsd:element name="MEDIA_ANNOTATION" type="dflt:MEDIA_ANNOTATION__type" />
-                               <xsd:element name="STATEDATA" type="dflt:STATEDATA__type" />
-                               <xsd:element name="ANNOTATION_MARKER" type="dflt:ANNOTATION_MARKER__type" />
-                               <xsd:element name="DEFINEDTERMBASE_CONTINENT" type="dflt:DEFINEDTERMBASE_CONTINENT__type" />
-                               <xsd:element name="DEFINEDTERMBASE_STATISTICALMEASURE" type="dflt:DEFINEDTERMBASE_STATISTICALMEASURE__type" />
-                               <xsd:element name="GATHERINGEVENT" type="dflt:GATHERINGEVENT__type" />
                                <xsd:element name="SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT" type="dflt:SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT__type" />
-                               <xsd:element name="TAXONNAMEBASE_EXTENSION" type="dflt:TAXONNAMEBASE_EXTENSION__type" />
-                               <xsd:element name="TYPEDESIGNATIONBASE_TAXONNAMEBASE" type="dflt:TYPEDESIGNATIONBASE_TAXONNAMEBASE__type" />
-                               <xsd:element name="COLLECTION_ORIGINALSOURCE" type="dflt:COLLECTION_ORIGINALSOURCE__type" />
-                               <xsd:element name="TAXONNAMEBASE_RIGHTS" type="dflt:TAXONNAMEBASE_RIGHTS__type" />
-                               <xsd:element name="SEQUENCE_ORIGINALSOURCE" type="dflt:SEQUENCE_ORIGINALSOURCE__type" />
-                               <xsd:element name="DETERMINATIONEVENT_MARKER" type="dflt:DETERMINATIONEVENT_MARKER__type" />
-                               <xsd:element name="DESCRIPTIONBASE_ANNOTATION" type="dflt:DESCRIPTIONBASE_ANNOTATION__type" />
-                               <xsd:element name="ORIGINALSOURCE_MARKER" type="dflt:ORIGINALSOURCE_MARKER__type" />
-                               <xsd:element name="DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION" type="dflt:DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION__type" />
-                               <xsd:element name="ANNOTATION" type="dflt:ANNOTATION__type" />
-                               <xsd:element name="NOMENCLATURALSTATUS" type="dflt:NOMENCLATURALSTATUS__type" />
-                               <xsd:element name="SPECIMENOROBSERVATIONBASE_RIGHTS" type="dflt:SPECIMENOROBSERVATIONBASE_RIGHTS__type" />
-                               <xsd:element name="DERIVATIONEVENT_MARKER" type="dflt:DERIVATIONEVENT_MARKER__type" />
-                               <xsd:element name="REFERENCEBASE_ORIGINALSOURCE" type="dflt:REFERENCEBASE_ORIGINALSOURCE__type" />
-                               <xsd:element name="SEQUENCE_RIGHTS" type="dflt:SEQUENCE_RIGHTS__type" />
-                               <xsd:element name="COLLECTION_MARKER" type="dflt:COLLECTION_MARKER__type" />
-                               <xsd:element name="FEATURETREE" type="dflt:FEATURETREE__type" />
-                               <xsd:element name="RIGHTS_ANNOTATION" type="dflt:RIGHTS_ANNOTATION__type" />
-                               <xsd:element name="COLLECTION_RIGHTS" type="dflt:COLLECTION_RIGHTS__type" />
-                               <xsd:element name="RIGHTS_MARKER" type="dflt:RIGHTS_MARKER__type" />
+                               <xsd:element name="REFERENCEBASE" type="dflt:REFERENCEBASE__type" />
+                               <xsd:element name="FEATURETREE_AUD" type="dflt:FEATURETREE_AUD__type" />
+                               <xsd:element name="LANGUAGESTRING" type="dflt:LANGUAGESTRING__type" />
+                               <xsd:element name="TAXONBASE_ORIGINALSOURCE_AUD" type="dflt:TAXONBASE_ORIGINALSOURCE_AUD__type" />
+                               <xsd:element name="AGENTBASE_ADDRESS_AUD" type="dflt:AGENTBASE_ADDRESS_AUD__type" />
+                               <xsd:element name="DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION_AUD" type="dflt:DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION_AUD__type" />
+                               <xsd:element name="AGENTBASE_RIGHTS_AUD" type="dflt:AGENTBASE_RIGHTS_AUD__type" />
+                               <xsd:element name="TERMVOCABULARY_REPRESENTATION_AUD" type="dflt:TERMVOCABULARY_REPRESENTATION_AUD__type" />
+                               <xsd:element name="DERIVATIONEVENT_AUD" type="dflt:DERIVATIONEVENT_AUD__type" />
+                               <xsd:element name="AGENTBASE_MARKER" type="dflt:AGENTBASE_MARKER__type" />
+                               <xsd:element name="STATEDATA_DEFINEDTERMBASE" type="dflt:STATEDATA_DEFINEDTERMBASE__type" />
+                               <xsd:element name="ORIGINALSOURCE_ANNOTATION_AUD" type="dflt:ORIGINALSOURCE_ANNOTATION_AUD__type" />
+                               <xsd:element name="AGENTBASE_CONTACT_FAXNUMBERS_AUD" type="dflt:AGENTBASE_CONTACT_FAXNUMBERS_AUD__type" />
+                               <xsd:element name="SPECIMENOROBSERVATIONBASE_LANGUAGESTRING" type="dflt:SPECIMENOROBSERVATIONBASE_LANGUAGESTRING__type" />
+                               <xsd:element name="SEQUENCE_MARKER_AUD" type="dflt:SEQUENCE_MARKER_AUD__type" />
+                               <xsd:element name="DESCRIPTIONELEMENTBASE_MEDIA_AUD" type="dflt:DESCRIPTIONELEMENTBASE_MEDIA_AUD__type" />
+                               <xsd:element name="TAXONINTERACTION_LANGUAGESTRING" type="dflt:TAXONINTERACTION_LANGUAGESTRING__type" />
+                               <xsd:element name="DESCRIPTIONBASE_GEOSCOPE_AUD" type="dflt:DESCRIPTIONBASE_GEOSCOPE_AUD__type" />
+                               <xsd:element name="DEFINEDTERMBASE_WATERBODYORCOUNTRY" type="dflt:DEFINEDTERMBASE_WATERBODYORCOUNTRY__type" />
                                <xsd:element name="TAXONBASE_RIGHTS" type="dflt:TAXONBASE_RIGHTS__type" />
-                               <xsd:element name="DESCRIPTIONELEMENTBASE" type="dflt:DESCRIPTIONELEMENTBASE__type" />
-                               <xsd:element name="HOMOTYPICALGROUP" type="dflt:HOMOTYPICALGROUP__type" />
-                               <xsd:element name="REFERENCEBASE_MEDIA" type="dflt:REFERENCEBASE_MEDIA__type" />
-                               <xsd:element name="DESCRIPTIONBASE_RIGHTS" type="dflt:DESCRIPTIONBASE_RIGHTS__type" />
-                               <xsd:element name="COLLECTION" type="dflt:COLLECTION__type" />
-                               <xsd:element name="TAXONBASE_ANNOTATION" type="dflt:TAXONBASE_ANNOTATION__type" />
-                               <xsd:element name="TAXONRELATIONSHIP" type="dflt:TAXONRELATIONSHIP__type" />
-                               <xsd:element name="HOMOTYPICALGROUP_MARKER" type="dflt:HOMOTYPICALGROUP_MARKER__type" />
+                               <xsd:element name="DESCRIPTIONBASE_ORIGINALSOURCE" type="dflt:DESCRIPTIONBASE_ORIGINALSOURCE__type" />
+                               <xsd:element name="TAXONNAMEBASE_ANNOTATION_AUD" type="dflt:TAXONNAMEBASE_ANNOTATION_AUD__type" />
+                               <xsd:element name="SPECIMENOROBSERVATIONBASE_SEQUENCE_AUD" type="dflt:SPECIMENOROBSERVATIONBASE_SEQUENCE_AUD__type" />
+                               <xsd:element name="ANNOTATION" type="dflt:ANNOTATION__type" />
+                               <xsd:element name="INSTITUTIONALMEMBERSHIP" type="dflt:INSTITUTIONALMEMBERSHIP__type" />
+                               <xsd:element name="LANGUAGESTRING_MARKER" type="dflt:LANGUAGESTRING_MARKER__type" />
+                               <xsd:element name="STATEDATA_LANGUAGESTRING_AUD" type="dflt:STATEDATA_LANGUAGESTRING_AUD__type" />
+                               <xsd:element name="LSIDAUTHORITY_NAMESPACES" type="dflt:LSIDAUTHORITY_NAMESPACES__type" />
                                <xsd:element name="RELATIONSHIPTERMBASE_INVERSEREPRESENTATION" type="dflt:RELATIONSHIPTERMBASE_INVERSEREPRESENTATION__type" />
-                               <xsd:element name="RIGHTS" type="dflt:RIGHTS__type" />
-                               <xsd:element name="SPECIMENOROBSERVATIONBASE" type="dflt:SPECIMENOROBSERVATIONBASE__type" />
-                               <xsd:element name="PERSON_KEYWORD" type="dflt:PERSON_KEYWORD__type" />
-                               <xsd:element name="MEDIA_SEQUENCE" type="dflt:MEDIA_SEQUENCE__type" />
-                               <xsd:element name="TAXONBASE" type="dflt:TAXONBASE__type" />
-                               <xsd:element name="REFERENCEBASE_ANNOTATION" type="dflt:REFERENCEBASE_ANNOTATION__type" />
-                               <xsd:element name="GATHERINGEVENT_DEFINEDTERMBASE" type="dflt:GATHERINGEVENT_DEFINEDTERMBASE__type" />
+                               <xsd:element name="MEDIA_RIGHTS_AUD" type="dflt:MEDIA_RIGHTS_AUD__type" />
+                               <xsd:element name="HYBRIDRELATIONSHIP_MARKER_AUD" type="dflt:HYBRIDRELATIONSHIP_MARKER_AUD__type" />
+                               <xsd:element name="TAXONNAMEBASE_NOMENCLATURALSTATUS_AUD" type="dflt:TAXONNAMEBASE_NOMENCLATURALSTATUS_AUD__type" />
+                               <xsd:element name="DESCRIPTIONBASE_SPECIMENOROBSERVATIONBASE" type="dflt:DESCRIPTIONBASE_SPECIMENOROBSERVATIONBASE__type" />
+                               <xsd:element name="ANNOTATION_ANNOTATION_AUD" type="dflt:ANNOTATION_ANNOTATION_AUD__type" />
+                               <xsd:element name="SEQUENCE_EXTENSION_AUD" type="dflt:SEQUENCE_EXTENSION_AUD__type" />
+                               <xsd:element name="DESCRIPTIONBASE_MARKER_AUD" type="dflt:DESCRIPTIONBASE_MARKER_AUD__type" />
                                <xsd:element name="MEDIA_MARKER" type="dflt:MEDIA_MARKER__type" />
-                               <xsd:element name="GRANTEDAUTHORITYIMPL" type="dflt:GRANTEDAUTHORITYIMPL__type" />
-                               <xsd:element name="DB_VERSION" type="dflt:DB_VERSION__type" />
-                               <xsd:element name="REPRESENTATION_MARKER" type="dflt:REPRESENTATION_MARKER__type" />
-                               <xsd:element name="REPRESENTATION_ANNOTATION" type="dflt:REPRESENTATION_ANNOTATION__type" />
-                               <xsd:element name="REPRESENTATION" type="dflt:REPRESENTATION__type" />
-                               <xsd:element name="DESCRIPTIONBASE" type="dflt:DESCRIPTIONBASE__type" />
+                               <xsd:element name="DETERMINATIONEVENT_REFERENCEBASE" type="dflt:DETERMINATIONEVENT_REFERENCEBASE__type" />
+                               <xsd:element name="REFERENCEBASE_AUD" type="dflt:REFERENCEBASE_AUD__type" />
+                               <xsd:element name="SEQUENCE_MARKER" type="dflt:SEQUENCE_MARKER__type" />
+                               <xsd:element name="GENBANKACCESSION_AUD" type="dflt:GENBANKACCESSION_AUD__type" />
+                               <xsd:element name="TYPEDESIGNATIONBASE" type="dflt:TYPEDESIGNATIONBASE__type" />
+                               <xsd:element name="REFERENCEBASE_MARKER" type="dflt:REFERENCEBASE_MARKER__type" />
+                               <xsd:element name="NOMENCLATURALSTATUS_ANNOTATION" type="dflt:NOMENCLATURALSTATUS_ANNOTATION__type" />
+                               <xsd:element name="TAXONNAMEBASE_EXTENSION" type="dflt:TAXONNAMEBASE_EXTENSION__type" />
                                <xsd:element name="TAXONNAMEBASE_MARKER" type="dflt:TAXONNAMEBASE_MARKER__type" />
-                               <xsd:element name="DERIVATIONEVENT" type="dflt:DERIVATIONEVENT__type" />
-                               <xsd:element name="NAMERELATIONSHIP" type="dflt:NAMERELATIONSHIP__type" />
+                               <xsd:element name="AGENTBASE_AUD" type="dflt:AGENTBASE_AUD__type" />
+                               <xsd:element name="CDM_VIEW" type="dflt:CDM_VIEW__type" />
+                               <xsd:element name="AGENTBASE_ORIGINALSOURCE" type="dflt:AGENTBASE_ORIGINALSOURCE__type" />
+                               <xsd:element name="AGENTBASE_AGENTBASE_AUD" type="dflt:AGENTBASE_AGENTBASE_AUD__type" />
+                               <xsd:element name="MEDIA_RIGHTS" type="dflt:MEDIA_RIGHTS__type" />
+                               <xsd:element name="TAXONNAMEBASE_MARKER_AUD" type="dflt:TAXONNAMEBASE_MARKER_AUD__type" />
+                               <xsd:element name="DESCRIPTIONELEMENTBASE_MODIFYINGTEXT" type="dflt:DESCRIPTIONELEMENTBASE_MODIFYINGTEXT__type" />
+                               <xsd:element name="AGENTBASE_DEFINEDTERMBASE_AUD" type="dflt:AGENTBASE_DEFINEDTERMBASE_AUD__type" />
+                               <xsd:element name="AGENTBASE_EXTENSION" type="dflt:AGENTBASE_EXTENSION__type" />
+                               <xsd:element name="SPECIMENOROBSERVATIONBASE_ANNOTATION" type="dflt:SPECIMENOROBSERVATIONBASE_ANNOTATION__type" />
+                               <xsd:element name="IDENTIFICATIONKEY_TAXON" type="dflt:IDENTIFICATIONKEY_TAXON__type" />
+                               <xsd:element name="USER_GRANTEDAUTHORITYIMPL" type="dflt:USER_GRANTEDAUTHORITYIMPL__type" />
+                               <xsd:element name="SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT_AUD" type="dflt:SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT_AUD__type" />
+                               <xsd:element name="RIGHTS_ANNOTATION" type="dflt:RIGHTS_ANNOTATION__type" />
+                               <xsd:element name="NOMENCLATURALSTATUS_MARKER_AUD" type="dflt:NOMENCLATURALSTATUS_MARKER_AUD__type" />
+                               <xsd:element name="REFERENCEBASE_RIGHTS" type="dflt:REFERENCEBASE_RIGHTS__type" />
+                               <xsd:element name="DB_VERSION" type="dflt:DB_VERSION__type" />
+                               <xsd:element name="TAXONBASE_ORIGINALSOURCE" type="dflt:TAXONBASE_ORIGINALSOURCE__type" />
+                               <xsd:element name="DEFINEDTERMBASE_STATISTICALMEASURE" type="dflt:DEFINEDTERMBASE_STATISTICALMEASURE__type" />
+                               <xsd:element name="DEFINEDTERMBASE_MEDIA" type="dflt:DEFINEDTERMBASE_MEDIA__type" />
+                               <xsd:element name="MEDIAREPRESENTATIONPART" type="dflt:MEDIAREPRESENTATIONPART__type" />
                                <xsd:element name="TAXONNAMEBASE_ANNOTATION" type="dflt:TAXONNAMEBASE_ANNOTATION__type" />
+                               <xsd:element name="AGENTBASE_ANNOTATION" type="dflt:AGENTBASE_ANNOTATION__type" />
+                               <xsd:element name="SPECIMENOROBSERVATIONBASE_SEQUENCE" type="dflt:SPECIMENOROBSERVATIONBASE_SEQUENCE__type" />
+                               <xsd:element name="COLLECTION_EXTENSION_AUD" type="dflt:COLLECTION_EXTENSION_AUD__type" />
+                               <xsd:element name="DESCRIPTIONELEMENTBASE_MEDIA" type="dflt:DESCRIPTIONELEMENTBASE_MEDIA__type" />
+                               <xsd:element name="DETERMINATIONEVENT_ANNOTATION" type="dflt:DETERMINATIONEVENT_ANNOTATION__type" />
+                               <xsd:element name="DESCRIPTIONBASE_EXTENSION" type="dflt:DESCRIPTIONBASE_EXTENSION__type" />
+                               <xsd:element name="DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION" type="dflt:DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION__type" />
+                               <xsd:element name="DESCRIPTIONELEMENTBASE_MODIFIER" type="dflt:DESCRIPTIONELEMENTBASE_MODIFIER__type" />
+                               <xsd:element name="SPECIMENOROBSERVATIONBASE_MEDIA" type="dflt:SPECIMENOROBSERVATIONBASE_MEDIA__type" />
+                               <xsd:element name="REFERENCEBASE_ORIGINALSOURCE_AUD" type="dflt:REFERENCEBASE_ORIGINALSOURCE_AUD__type" />
+                               <xsd:element name="USER" type="dflt:USER__type" />
+                               <xsd:element name="TAXONBASE_AUD" type="dflt:TAXONBASE_AUD__type" />
+                               <xsd:element name="USER_PERMISSIONGROUP" type="dflt:USER_PERMISSIONGROUP__type" />
+                               <xsd:element name="NOMENCLATURALSTATUS" type="dflt:NOMENCLATURALSTATUS__type" />
                                <xsd:element name="ORIGINALSOURCE_ANNOTATION" type="dflt:ORIGINALSOURCE_ANNOTATION__type" />
-                               <xsd:element name="DESCRIPTIONBASE_GEOSCOPE" type="dflt:DESCRIPTIONBASE_GEOSCOPE__type" />
+                               <xsd:element name="DERIVATIONEVENT_MARKER_AUD" type="dflt:DERIVATIONEVENT_MARKER_AUD__type" />
                                <xsd:element name="DEFINEDTERMBASE_REPRESENTATION" type="dflt:DEFINEDTERMBASE_REPRESENTATION__type" />
-                               <xsd:element name="INSTITUTIONALMEMBERSHIP" type="dflt:INSTITUTIONALMEMBERSHIP__type" />
-                               <xsd:element name="DEFINEDTERMBASE" type="dflt:DEFINEDTERMBASE__type" />
-                               <xsd:element name="TYPEDESIGNATIONBASE_ANNOTATION" type="dflt:TYPEDESIGNATIONBASE_ANNOTATION__type" />
-                               <xsd:element name="DESCRIPTIONELEMENTBASE_ANNOTATION" type="dflt:DESCRIPTIONELEMENTBASE_ANNOTATION__type" />
-                               <xsd:element name="NAMERELATIONSHIP_ANNOTATION" type="dflt:NAMERELATIONSHIP_ANNOTATION__type" />
-                               <xsd:element name="STATEDATA_DEFINEDTERMBASE" type="dflt:STATEDATA_DEFINEDTERMBASE__type" />
-                               <xsd:element name="ADDRESS" type="dflt:ADDRESS__type" />
-                               <xsd:element name="NOMENCLATURALSTATUS_MARKER" type="dflt:NOMENCLATURALSTATUS_MARKER__type" />
-                               <xsd:element name="HYBRIDRELATIONSHIP_ANNOTATION" type="dflt:HYBRIDRELATIONSHIP_ANNOTATION__type" />
-                               <xsd:element name="MEDIAREPRESENTATIONPART" type="dflt:MEDIAREPRESENTATIONPART__type" />
-                               <xsd:element name="SYNONYMRELATIONSHIP" type="dflt:SYNONYMRELATIONSHIP__type" />
-                               <xsd:element name="CONTACT" type="dflt:CONTACT__type" />
+                               <xsd:element name="GENBANKACCESSION" type="dflt:GENBANKACCESSION__type" />
+                               <xsd:element name="REFERENCEBASE_MARKER_AUD" type="dflt:REFERENCEBASE_MARKER_AUD__type" />
+                               <xsd:element name="HOMOTYPICALGROUP_MARKER" type="dflt:HOMOTYPICALGROUP_MARKER__type" />
+                               <xsd:element name="AGENTBASE_CONTACT_URLS_AUD" type="dflt:AGENTBASE_CONTACT_URLS_AUD__type" />
+                               <xsd:element name="DERIVATIONEVENT_DEFINEDTERMBASE_AUD" type="dflt:DERIVATIONEVENT_DEFINEDTERMBASE_AUD__type" />
                                <xsd:element name="MEDIA_DEFINEDTERMBASE" type="dflt:MEDIA_DEFINEDTERMBASE__type" />
-                               <xsd:element name="TYPEDESIGNATIONBASE" type="dflt:TYPEDESIGNATIONBASE__type" />
-                               <xsd:element name="LANGUAGESTRING" type="dflt:LANGUAGESTRING__type" />
-                               <xsd:element name="HOMOTYPICALGROUP_ANNOTATION" type="dflt:HOMOTYPICALGROUP_ANNOTATION__type" />
-                               <xsd:element name="HYBRIDRELATIONSHIP_MARKER" type="dflt:HYBRIDRELATIONSHIP_MARKER__type" />
-                               <xsd:element name="SPECIMENOROBSERVATIONBASE_ANNOTATION" type="dflt:SPECIMENOROBSERVATIONBASE_ANNOTATION__type" />
-                               <xsd:element name="SEQUENCE_MARKER" type="dflt:SEQUENCE_MARKER__type" />
-                               <xsd:element name="SEQUENCE_ANNOTATION" type="dflt:SEQUENCE_ANNOTATION__type" />
-                               <xsd:element name="REFERENCEBASE_EXTENSION" type="dflt:REFERENCEBASE_EXTENSION__type" />
-                               <xsd:element name="SEQUENCE_EXTENSION" type="dflt:SEQUENCE_EXTENSION__type" />
-                               <xsd:element name="SYNONYMRELATIONSHIP_ANNOTATION" type="dflt:SYNONYMRELATIONSHIP_ANNOTATION__type" />
-                               <xsd:element name="TERMVOCABULARY" type="dflt:TERMVOCABULARY__type" />
-                               <xsd:element name="SPECIMENOROBSERVATIONBASE_SEQUENCE" type="dflt:SPECIMENOROBSERVATIONBASE_SEQUENCE__type" />
-                               <xsd:element name="EXTENSION" type="dflt:EXTENSION__type" />
-                               <xsd:element name="DERIVATIONEVENT_ANNOTATION" type="dflt:DERIVATIONEVENT_ANNOTATION__type" />
-                               <xsd:element name="AGENT_DEFINEDTERMBASE" type="dflt:AGENT_DEFINEDTERMBASE__type" />
+                               <xsd:element name="DESCRIPTIONELEMENTBASE" type="dflt:DESCRIPTIONELEMENTBASE__type" />
+                               <xsd:element name="MEDIA_ANNOTATION_AUD" type="dflt:MEDIA_ANNOTATION_AUD__type" />
+                               <xsd:element name="TAXONBASE_RIGHTS_AUD" type="dflt:TAXONBASE_RIGHTS_AUD__type" />
+                               <xsd:element name="MEDIA_DEFINEDTERMBASE_AUD" type="dflt:MEDIA_DEFINEDTERMBASE_AUD__type" />
+                               <xsd:element name="SEQUENCE_ORIGINALSOURCE_AUD" type="dflt:SEQUENCE_ORIGINALSOURCE_AUD__type" />
+                               <xsd:element name="SEQUENCE" type="dflt:SEQUENCE__type" />
+                               <xsd:element name="STATEDATA_AUD" type="dflt:STATEDATA_AUD__type" />
+                               <xsd:element name="SPECIMENOROBSERVATIONBASE_AUD" type="dflt:SPECIMENOROBSERVATIONBASE_AUD__type" />
+                               <xsd:element name="DESCRIPTIONELEMENTBASE_STATEDATA" type="dflt:DESCRIPTIONELEMENTBASE_STATEDATA__type" />
+                               <xsd:element name="HOMOTYPICALGROUP_ANNOTATION_AUD" type="dflt:HOMOTYPICALGROUP_ANNOTATION_AUD__type" />
+                               <xsd:element name="LANGUAGESTRING_AUD" type="dflt:LANGUAGESTRING_AUD__type" />
+                               <xsd:element name="NOMENCLATURALSTATUS_ANNOTATION_AUD" type="dflt:NOMENCLATURALSTATUS_ANNOTATION_AUD__type" />
+                               <xsd:element name="TAXONBASE_EXTENSION_AUD" type="dflt:TAXONBASE_EXTENSION_AUD__type" />
+                               <xsd:element name="MEDIAREPRESENTATION_AUD" type="dflt:MEDIAREPRESENTATION_AUD__type" />
+                               <xsd:element name="DETERMINATIONEVENT_AUD" type="dflt:DETERMINATIONEVENT_AUD__type" />
+                               <xsd:element name="INSTITUTIONALMEMBERSHIP_AUD" type="dflt:INSTITUTIONALMEMBERSHIP_AUD__type" />
+                               <xsd:element name="TAXONRELATIONSHIP_ANNOTATION" type="dflt:TAXONRELATIONSHIP_ANNOTATION__type" />
+                               <xsd:element name="ANNOTATION_MARKER_AUD" type="dflt:ANNOTATION_MARKER_AUD__type" />
+                               <xsd:element name="ADDRESS_AUD" type="dflt:ADDRESS_AUD__type" />
+                               <xsd:element name="HOMOTYPICALGROUP_AUD" type="dflt:HOMOTYPICALGROUP_AUD__type" />
+                               <xsd:element name="MARKER" type="dflt:MARKER__type" />
+                               <xsd:element name="TYPEDESIGNATIONBASE_MARKER_AUD" type="dflt:TYPEDESIGNATIONBASE_MARKER_AUD__type" />
+                               <xsd:element name="DEFINEDTERMBASE_SUPPORTEDCATEGORICALENUMERATION_AUD" type="dflt:DEFINEDTERMBASE_SUPPORTEDCATEGORICALENUMERATION_AUD__type" />
+                               <xsd:element name="INDIVIDUALASSOCIATION_LANGUAGESTRING_AUD" type="dflt:INDIVIDUALASSOCIATION_LANGUAGESTRING_AUD__type" />
+                               <xsd:element name="TAXONBASE_ANNOTATION_AUD" type="dflt:TAXONBASE_ANNOTATION_AUD__type" />
+                               <xsd:element name="PERMISSIONGROUP_GRANTEDAUTHORITYIMPL" type="dflt:PERMISSIONGROUP_GRANTEDAUTHORITYIMPL__type" />
                                <xsd:any namespace="PUBLIC" />
                        </xsd:choice>
                </xsd:complexType>
diff --git a/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/AgentsTest.xml b/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/AgentsTest.xml
new file mode 100644 (file)
index 0000000..312cfb2
--- /dev/null
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<DataSet xmlns="http://etaxonomy.eu/cdm/model/1.0"\r
+         xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0"\r
+         xmlns:agent="http://etaxonomy.eu/cdm/model/agent/1.0"\r
+         xmlns:location="http://etaxonomy.eu/cdm/model/location/1.0"\r
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" \r
+         xsi:schemaLocation="http://etaxonomy.eu/cdm/model/1.0\r
+                             ../../../../../../classes/schema/cdm/cdm.xsd"\r
+         xmlns:xi="http://www.w3.org/2001/XInclude">\r
+    <Terms>\r
+      <common:Language id="1" uuid="urn-uuid-e420ac50-fc2c-11dd-87af-0800200c9a66">\r
+      </common:Language>\r
+      <common:Keyword id="2" uuid="urn-uuid-a5678b50-fc2c-11dd-87af-0800200c9a66">\r
+        <common:Representations>\r
+          <common:Representation id="1" uuid="urn-uuid-f90974d0-fc2c-11dd-87af-0800200c9a66">\r
+            <common:Text>Botanist</common:Text>\r
+            <common:Language>urn-uuid-e420ac50-fc2c-11dd-87af-0800200c9a66</common:Language>\r
+          </common:Representation>\r
+        </common:Representations>\r
+        <common:TermVocabulary>urn-uuid-605e1c0c-2c23-4a78-acc3-fa114b25871c</common:TermVocabulary>\r
+        <common:OrderIndex>1</common:OrderIndex>\r
+      </common:Keyword>\r
+      <common:Keyword id="3" uuid="urn-uuid-10b04be0-fc2d-11dd-87af-0800200c9a66">\r
+        <common:Representations>\r
+          <common:Representation id="2" uuid="urn-uuid-16af54a0-fc2d-11dd-87af-0800200c9a66">\r
+            <common:Text>Scottish</common:Text>\r
+            <common:Language>urn-uuid-e420ac50-fc2c-11dd-87af-0800200c9a66</common:Language>\r
+          </common:Representation>\r
+        </common:Representations>\r
+        <common:TermVocabulary>urn-uuid-605e1c0c-2c23-4a78-acc3-fa114b25871c</common:TermVocabulary>\r
+        <common:OrderIndex>2</common:OrderIndex>\r
+      </common:Keyword>\r
+      <agent:InstitutionType id="4" uuid="urn-uuid-56bf1e70-fc4d-11dd-87af-0800200c9a66">\r
+        <common:URI>http://rs.tdwg.org/ontology/voc/InstitutionType#herbarium</common:URI>\r
+        <common:Representations>\r
+          <common:Representation id="3" uuid="urn-uuid-62785ec0-fc4d-11dd-87af-0800200c9a66">\r
+            <common:Text>Herbarium</common:Text>\r
+            <common:Language>urn-uuid-e420ac50-fc2c-11dd-87af-0800200c9a66</common:Language>\r
+          </common:Representation>\r
+        </common:Representations>\r
+      </agent:InstitutionType>\r
+      <location:WaterbodyOrCountry id="5" uuid="urn-uuid-dae14d30-fc4e-11dd-87af-0800200c9a66">\r
+        <common:Representations>\r
+          <common:Representation id="4" uuid="urn-uuid-f7567530-fc4e-11dd-87af-0800200c9a66">\r
+            <common:Text>U.K.</common:Text>\r
+            <common:Language>urn-uuid-e420ac50-fc2c-11dd-87af-0800200c9a66</common:Language>\r
+          </common:Representation>\r
+        </common:Representations>\r
+        <common:TermVocabulary>urn-uuid-0154ed00-026c-11de-87af-0800200c9a66</common:TermVocabulary>\r
+        <common:OrderIndex>2</common:OrderIndex>\r
+      </location:WaterbodyOrCountry>\r
+    </Terms>\r
+    <TermVocabularies>\r
+        <common:TermVocabulary id="1" uuid="urn-uuid-605e1c0c-2c23-4a78-acc3-fa114b25871c">\r
+            <common:Terms>\r
+                <common:Term>urn-uuid-a5678b50-fc2c-11dd-87af-0800200c9a66</common:Term>\r
+                <common:Term>urn-uuid-e420ac50-fc2c-11dd-87af-0800200c9a66</common:Term>\r
+            </common:Terms>\r
+        </common:TermVocabulary>\r
+        <common:TermVocabulary id="2" uuid="urn-uuid-0154ed00-026c-11de-87af-0800200c9a66">\r
+            <common:Terms>\r
+                <common:Term>urn-uuid-dae14d30-fc4e-11dd-87af-0800200c9a66</common:Term>\r
+            </common:Terms>\r
+        </common:TermVocabulary>\r
+    </TermVocabularies>\r
+    <Agents>\r
+      <agent:Person id="1" uuid="urn-uuid-cb0a8800-5900-11dd-ae16-0800200c9a66">\r
+        <common:TitleCache>Philip Miler</common:TitleCache>\r
+        <common:ProtectedTitleCache>true</common:ProtectedTitleCache>\r
+        <agent:NomenclaturalTitle>Mill.</agent:NomenclaturalTitle>\r
+        <agent:FirstName>Philip</agent:FirstName>\r
+        <agent:LastName>Miller</agent:LastName>\r
+        <agent:Lifespan>\r
+          <common:Start>1691</common:Start>\r
+          <common:End>1771</common:End>\r
+        </agent:Lifespan>\r
+        <agent:InstitutionalMemberships>\r
+          <agent:InstitutionalMembership id="1" uuid="urn-uuid-8db3ff80-fc2b-11dd-87af-0800200c9a66">\r
+            <agent:Period>\r
+              <common:Start>1722</common:Start>\r
+              <common:End>1771</common:End>\r
+            </agent:Period>\r
+            <agent:Role>Head Gardener</agent:Role>\r
+            <agent:Institution>urn-uuid-25e99ad0-fc2c-11dd-87af-0800200c9a66</agent:Institution>\r
+            <agent:Person>urn-uuid-cb0a8800-5900-11dd-ae16-0800200c9a66</agent:Person>\r
+          </agent:InstitutionalMembership>\r
+        </agent:InstitutionalMemberships>\r
+        <agent:Keywords>\r
+          <agent:Keyword>urn-uuid-a5678b50-fc2c-11dd-87af-0800200c9a66</agent:Keyword>\r
+          <agent:Keyword>urn-uuid-10b04be0-fc2d-11dd-87af-0800200c9a66</agent:Keyword>\r
+        </agent:Keywords>\r
+      </agent:Person>\r
+      <agent:Institution id="2" uuid="urn-uuid-25e99ad0-fc2c-11dd-87af-0800200c9a66">\r
+        <common:TitleCache>Chelsea Physic Garden</common:TitleCache>\r
+        <common:ProtectedTitleCache>true</common:ProtectedTitleCache>\r
+        <agent:Contact>\r
+          <agent:EmailAddresses>\r
+            <agent:EmailAddress>keeper@example.org</agent:EmailAddress>\r
+          </agent:EmailAddresses>\r
+          <agent:URLs>\r
+            <agent:URL>http://www.chelseaphysicgarden.co.uk/</agent:URL>\r
+          </agent:URLs>\r
+          <agent:PhoneNumbers>\r
+            <agent:PhoneNumber>+44 (0)20 7352 5646</agent:PhoneNumber>\r
+          </agent:PhoneNumbers>\r
+          <agent:FaxNumbers>\r
+            <agent:FaxNumber>+44 (0)20 7376 3910</agent:FaxNumber>\r
+          </agent:FaxNumbers>\r
+          <agent:Addresses>\r
+            <agent:Address id="1" uuid="urn-uuid-63d90ac0-fc4e-11dd-87af-0800200c9a66">\r
+              <agent:Street>66 Hospital Road</agent:Street>\r
+              <agent:Postcode>SW3 4HS</agent:Postcode>\r
+              <agent:Locality>London</agent:Locality>\r
+              <agent:Region>England</agent:Region>\r
+              <agent:Country>urn-uuid-dae14d30-fc4e-11dd-87af-0800200c9a66</agent:Country>\r
+            </agent:Address>\r
+          </agent:Addresses>\r
+        </agent:Contact>\r
+        <agent:Name>Chelsea Physic Garden</agent:Name>\r
+        <agent:Types>\r
+          <agent:Type>urn-uuid-56bf1e70-fc4d-11dd-87af-0800200c9a66</agent:Type>\r
+        </agent:Types>\r
+      </agent:Institution>\r
+    </Agents>\r
+</DataSet>
\ No newline at end of file
diff --git a/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/AnnotationTest.xml b/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/AnnotationTest.xml
new file mode 100644 (file)
index 0000000..8a61da0
--- /dev/null
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<DataSet \r
+    xmlns="http://etaxonomy.eu/cdm/model/1.0"\r
+    xmlns:agent="http://etaxonomy.eu/cdm/model/agent/1.0"\r
+    xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0"\r
+    xmlns:name="http://etaxonomy.eu/cdm/model/name/1.0"\r
+    xmlns:taxon="http://etaxonomy.eu/cdm/model/taxon/1.0" \r
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+    xsi:schemaLocation="http://etaxonomy.eu/cdm/model/1.0\r
+                             ../../../../../../classes/schema/cdm/cdm.xsd">\r
+    <Terms>\r
+      <common:Language id="1" uuid="urn-uuid-09f563bd-a65f-4b4a-968e-d4fb953e1a8d" iso639_1="en" iso639_2="eng"/>\r
+    </Terms>\r
+    <Agents>\r
+      <agent:Person id="1" uuid="urn-uuid-cb0a8800-5900-11dd-ae16-0800200c9a66">\r
+        <common:TitleCache>Person Name</common:TitleCache>\r
+        <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+      </agent:Person>\r
+    </Agents>\r
+    \r
+    <TaxonomicNames>\r
+      <name:ZoologicalName id="1" uuid="urn-uuid-57db34b2-1130-4d42-afe1-cf2d8f1f2a3e" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+        <common:TitleCache>Aus aus L., 1758</common:TitleCache>\r
+        <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+        <name:ProtectedFullTitleCache>false</name:ProtectedFullTitleCache>\r
+        <name:NameCache>Aus aus</name:NameCache>\r
+        <name:AuthorshipCache>L., 1758</name:AuthorshipCache>\r
+        <name:ProtectedAuthorshipCache>false</name:ProtectedAuthorshipCache>\r
+        <name:ProtectedNameCache>false</name:ProtectedNameCache>        \r
+      </name:ZoologicalName>\r
+    </TaxonomicNames>\r
+    <TaxonBases>\r
+      <taxon:Taxon id="1" uuid="urn-uuid-2c980a17-4a96-4ea1-b688-90396c0771d9" isDoubtful="false">\r
+        <common:Annotations>\r
+          <common:Annotation id="1" uuid="urn-uuid-775f5099-0908-4b8b-a59e-4398800a2e1c">\r
+          <common:Created>2007-04-21T00:00:00Z</common:Created>\r
+          <common:CreatedBy>urn-uuid-cb0a8800-5900-11dd-ae16-0800200c9a66</common:CreatedBy>\r
+          <common:Annotations>\r
+            <common:Annotation id="2" uuid="urn-uuid-f2efd210-0889-4a0e-9d71-ff1bfcd6c090">\r
+              <common:Created>2007-05-22T00:00:00Z</common:Created>\r
+              <common:CreatedBy>urn-uuid-cb0a8800-5900-11dd-ae16-0800200c9a66</common:CreatedBy>\r
+              <common:Text>What a load of old rubbish</common:Text>\r
+              <common:Language>urn-uuid-09f563bd-a65f-4b4a-968e-d4fb953e1a8d</common:Language>\r
+              <common:AnnotatedObject>urn-uuid-775f5099-0908-4b8b-a59e-4398800a2e1c</common:AnnotatedObject>\r
+            </common:Annotation>\r
+          </common:Annotations>\r
+          <common:Text>Bibbly bobbly BOING</common:Text>\r
+          <common:Language>urn-uuid-09f563bd-a65f-4b4a-968e-d4fb953e1a8d</common:Language>\r
+          <common:AnnotatedObject>urn-uuid-2c980a17-4a96-4ea1-b688-90396c0771d9</common:AnnotatedObject>           \r
+        </common:Annotation> \r
+      </common:Annotations>\r
+      <common:TitleCache>Aus aus L., 1758 sec CATE 2008</common:TitleCache>\r
+      <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+      <taxon:Name>urn-uuid-57db34b2-1130-4d42-afe1-cf2d8f1f2a3e</taxon:Name>\r
+      <taxon:TaxonomicChildrenCount>0</taxon:TaxonomicChildrenCount>\r
+    </taxon:Taxon>\r
+    </TaxonBases>\r
+</DataSet>
\ No newline at end of file
diff --git a/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/CdmDocumentBuilderTest-agents.xml b/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/CdmDocumentBuilderTest-agents.xml
new file mode 100644 (file)
index 0000000..c827dd5
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<Agents xmlns="http://etaxonomy.eu/cdm/model/1.0"\r
+    xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0"\r
+    xmlns:agent="http://etaxonomy.eu/cdm/model/agent/1.0">\r
+    <agent:Person uuid="urn-uuid-424c189f-1a9e-4a0b-b511-e932fca59c71" id="1">\r
+        <common:TitleCache>Person's Full Name</common:TitleCache>\r
+        <common:ProtectedTitleCache>true</common:ProtectedTitleCache>\r
+    </agent:Person>\r
+</Agents>
\ No newline at end of file
diff --git a/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/CdmDocumentBuilderTest.xml b/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/CdmDocumentBuilderTest.xml
new file mode 100644 (file)
index 0000000..6f5410e
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<DataSet xmlns="http://etaxonomy.eu/cdm/model/1.0"\r
+         xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0"\r
+         xmlns:agent="http://etaxonomy.eu/cdm/model/agent/1.0"\r
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" \r
+         xsi:schemaLocation="http://etaxonomy.eu/cdm/model/1.0\r
+                             ../../../../../../classes/schema/cdm/cdm.xsd"\r
+         xmlns:xi="http://www.w3.org/2001/XInclude">\r
+    <xi:include href="CdmDocumentBuilderTest-agents.xml"/>\r
+</DataSet>
\ No newline at end of file
index f36bcdef8b33e0b3d1b030454f8bc2eeae392f47..2cc90fcece36193dc5851d28e516eef7e1c30fce 100644 (file)
@@ -1,3 +1,6 @@
 <?xml version='1.0' encoding='UTF-8'?>
-<DataSet xmlns="http://etaxonomy.eu/cdm/model/1.0">
+<DataSet xmlns="http://etaxonomy.eu/cdm/model/1.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+  xsi:schemaLocation="http://etaxonomy.eu/cdm/model/1.0
+                             ../../../../../../classes/schema/cdm/cdm.xsd">
 </DataSet>
index ed31a371ab8ec56d431fdad2b7d13c5fb13105fc..15d484778d759beafb8796e7aac2d4a66b105328 100644 (file)
@@ -2,15 +2,15 @@
 <!DOCTYPE dataset SYSTEM "../dataset.dtd">
 <dataset>
   <ADDRESS/>
-  <AGENT/>
-  <AGENT_AGENT/>
-  <AGENT_ANNOTATION/>
-  <AGENT_DEFINEDTERMBASE/>
-  <AGENT_EXTENSION/>
-  <AGENT_MARKER/>
-  <AGENT_MEDIA/>
-  <AGENT_ORIGINALSOURCE/>
-  <AGENT_RIGHTS/>
+  <AGENTBASE/>
+  <AGENTBASE_AGENTBASE/>
+  <AGENTBASE_ANNOTATION/>
+  <AGENTBASE_DEFINEDTERMBASE/>
+  <AGENTBASE_EXTENSION/>
+  <AGENTBASE_MARKER/>
+  <AGENTBASE_MEDIA/>
+  <AGENTBASE_ORIGINALSOURCE/>
+  <AGENTBASE_RIGHTS/>
   <ANNOTATION/>
   <ANNOTATION_ANNOTATION/>
   <ANNOTATION_MARKER/>
@@ -23,7 +23,6 @@
   <COLLECTION_MEDIA/>
   <COLLECTION_ORIGINALSOURCE/>
   <COLLECTION_RIGHTS/>
-  <CONTACT/>
   <DEFINEDTERMBASE DTYPE="Language" ID="1" CREATED="2009-01-20 12:57:34.0" UUID="ae787603-3070-4298-9ca6-4cbe73378122" URI="" ISO639_1="" ISO639_2="khi" VOCABULARY_ID="1"/>
   <DEFINEDTERMBASE DTYPE="Language" ID="2" CREATED="2009-01-20 12:57:34.0" UUID="b40cc17a-b05e-4f7b-a3a1-cbf396b79c5e" URI="" ISO639_1="" ISO639_2="sai" VOCABULARY_ID="1"/>
   <DEFINEDTERMBASE DTYPE="Language" ID="3" CREATED="2009-01-20 12:57:33.0" UUID="45d05a7a-ee78-462c-a177-6fd743cf4d03" URI="" ISO639_1="ca" ISO639_2="cat" VOCABULARY_ID="1"/>
   <FEATURENODE/>
   <FEATURETREE/>
   <FEATURETREE_REPRESENTATION/>
-  <GATHERINGEVENT/>
-  <GATHERINGEVENT_ANNOTATION/>
-  <GATHERINGEVENT_DEFINEDTERMBASE/>
-  <GATHERINGEVENT_MARKER/>
   <GENBANKACCESSION/>
   <GRANTEDAUTHORITYIMPL/>
   <HOMOTYPICALGROUP/>
index b4d6dc8d3e829864b7be5a5e88096b1bbd2e72d3..33a227e88a177119c725db1dee6cf6923c89b896 100644 (file)
@@ -1,15 +1,15 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../dataset.xsd">
   <ADDRESS/>
-  <AGENT/>
-  <AGENT_AGENT/>
-  <AGENT_ANNOTATION/>
-  <AGENT_DEFINEDTERMBASE/>
-  <AGENT_EXTENSION/>
-  <AGENT_MARKER/>
-  <AGENT_MEDIA/>
-  <AGENT_ORIGINALSOURCE/>
-  <AGENT_RIGHTS/>
+  <AGENTBASE/>
+  <AGENTBASE_AGENTBASE/>
+  <AGENTBASE_ANNOTATION/>
+  <AGENTBASE_DEFINEDTERMBASE/>
+  <AGENTBASE_EXTENSION/>
+  <AGENTBASE_MARKER/>
+  <AGENTBASE_MEDIA/>
+  <AGENTBASE_ORIGINALSOURCE/>
+  <AGENTBASE_RIGHTS/>
   <ANNOTATION/>
   <ANNOTATION_ANNOTATION/>
   <ANNOTATION_MARKER/>
@@ -22,7 +22,6 @@
   <COLLECTION_MEDIA/>
   <COLLECTION_ORIGINALSOURCE/>
   <COLLECTION_RIGHTS/>
-  <CONTACT/>
   <DEFINEDTERMBASE DTYPE="Language" ID="1" CREATED="2009-01-20 12:57:34.0" UUID="ae787603-3070-4298-9ca6-4cbe73378122" URI="" ISO639_1="" ISO639_2="khi" VOCABULARY_ID="1"/>
   <DEFINEDTERMBASE DTYPE="Language" ID="2" CREATED="2009-01-20 12:57:34.0" UUID="b40cc17a-b05e-4f7b-a3a1-cbf396b79c5e" URI="" ISO639_1="" ISO639_2="sai" VOCABULARY_ID="1"/>
   <DEFINEDTERMBASE DTYPE="Language" ID="3" CREATED="2009-01-20 12:57:33.0" UUID="45d05a7a-ee78-462c-a177-6fd743cf4d03" URI="" ISO639_1="ca" ISO639_2="cat" VOCABULARY_ID="1"/>
   <FEATURENODE/>
   <FEATURETREE/>
   <FEATURETREE_REPRESENTATION/>
-  <GATHERINGEVENT/>
-  <GATHERINGEVENT_ANNOTATION/>
-  <GATHERINGEVENT_DEFINEDTERMBASE/>
-  <GATHERINGEVENT_MARKER/>
   <GENBANKACCESSION/>
   <GRANTEDAUTHORITYIMPL/>
   <HOMOTYPICALGROUP/>
diff --git a/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/DescriptionTest.xml b/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/DescriptionTest.xml
new file mode 100644 (file)
index 0000000..d135edd
--- /dev/null
@@ -0,0 +1,417 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<DataSet xmlns="http://etaxonomy.eu/cdm/model/1.0"\r
+    xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0"\r
+    xmlns:description="http://etaxonomy.eu/cdm/model/description/1.0"\r
+    xmlns:taxon="http://etaxonomy.eu/cdm/model/taxon/1.0"\r
+    xmlns:name="http://etaxonomy.eu/cdm/model/name/1.0"\r
+    xmlns:media="http://etaxonomy.eu/cdm/model/media/1.0"\r
+    xmlns:location="http://etaxonomy.eu/cdm/model/location/1.0"\r
+    xmlns:reference="http://etaxonomy.eu/cdm/model/reference/1.0"\r
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+    xsi:schemaLocation="http://etaxonomy.eu/cdm/model/1.0\r
+                        ../../../../../../classes/schema/cdm/cdm.xsd">\r
+    <Terms>\r
+        <common:Language id="1" uuid="urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d" iso639_1="en" iso639_2="eng"/>\r
+        <description:Feature id="2" uuid="urn-uuid-e40912a5-3e36-4d1e-aee9-dc57a83fa81c">\r
+            <common:Representations>\r
+                <common:Representation id="1" uuid="urn-uuid-00456f86-2e2f-47e2-a763-bd51094cd9c8">\r
+                    <common:Text>General</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>General</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:Generalizations>\r
+                <common:GeneralizationOf>urn-uuid-98cd50c9-3938-471b-b4d7-fe61b2f19efd</common:GeneralizationOf>\r
+                <common:GeneralizationOf>urn-uuid-0a9af077-0927-4655-9892-3a4bb3233513</common:GeneralizationOf>\r
+                <common:GeneralizationOf>urn-uuid-c64b38a9-e8a9-4e32-8aba-69f2c83496c7</common:GeneralizationOf>\r
+                <common:GeneralizationOf>urn-uuid-2d69a75b-7557-4c8d-b212-0bd8e59a2775</common:GeneralizationOf>\r
+            </common:Generalizations>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:Feature id="3" uuid="urn-uuid-98cd50c9-3938-471b-b4d7-fe61b2f19efd">\r
+            <common:Representations>\r
+                <common:Representation id="2" uuid="urn-uuid-d7ea34b3-9bd8-4b9d-989e-40bedcb96896">\r
+                    <common:Text>Habitus</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>Habitus</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:KindOf>urn-uuid-e40912a5-3e36-4d1e-aee9-dc57a83fa81c</common:KindOf>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:Feature id="4" uuid="urn-uuid-0a9af077-0927-4655-9892-3a4bb3233513">\r
+            <common:Representations>\r
+                <common:Representation id="3" uuid="urn-uuid-be42a8f1-be83-4117-8f4a-0300c13937fd">\r
+                    <common:Text>Body</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>Body</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:KindOf>urn-uuid-e40912a5-3e36-4d1e-aee9-dc57a83fa81c</common:KindOf>\r
+            <common:Generalizations>\r
+                <common:GeneralizationOf>urn-uuid-c015b086-f5a9-4132-afa8-e6de6ec8406d</common:GeneralizationOf>\r
+                <common:GeneralizationOf>urn-uuid-92534c0b-bb6c-415d-9ebf-96402ea2413a</common:GeneralizationOf>\r
+            </common:Generalizations>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:Feature id="5" uuid="urn-uuid-c015b086-f5a9-4132-afa8-e6de6ec8406d">\r
+            <common:Representations>\r
+                <common:Representation id="4" uuid="urn-uuid-6c415cd7-af7b-4c17-a4f0-c14301dd1dc9">\r
+                    <common:Text>Body Upperside</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>Body Upperside</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:KindOf>urn-uuid-0a9af077-0927-4655-9892-3a4bb3233513</common:KindOf>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:Feature id="7" uuid="urn-uuid-92534c0b-bb6c-415d-9ebf-96402ea2413a">\r
+            <common:Representations>\r
+                <common:Representation id="5" uuid="urn-uuid-3fb097e1-e0c7-4b68-bb99-a98edf51699c">\r
+                    <common:Text>Body Underside</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>Body Underside</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:KindOf>urn-uuid-0a9af077-0927-4655-9892-3a4bb3233513</common:KindOf>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:Feature id="7" uuid="urn-uuid-c64b38a9-e8a9-4e32-8aba-69f2c83496c7">\r
+            <common:Representations>\r
+                <common:Representation id="6" uuid="urn-uuid-c3947d3a-67fb-4e6d-9aee-fb6784f6b872">\r
+                    <common:Text>Forewing</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>Forewing</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:KindOf>urn-uuid-e40912a5-3e36-4d1e-aee9-dc57a83fa81c</common:KindOf>\r
+            <common:Generalizations>\r
+                <common:GeneralizationOf>urn-uuid-3baf0225-619d-48d8-9017-bd673ca23dd3</common:GeneralizationOf>\r
+                <common:GeneralizationOf>urn-uuid-4d2c9e16-20b7-4a87-958f-57c9ffaa6c0a</common:GeneralizationOf>\r
+            </common:Generalizations>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:Feature id="8" uuid="urn-uuid-3baf0225-619d-48d8-9017-bd673ca23dd3">\r
+            <common:Representations>\r
+                <common:Representation id="7" uuid="urn-uuid-bff6a2d8-c47b-4609-bc86-92ccfab43c58">\r
+                    <common:Text>Forewing Upperside</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>Forewing Upperside</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:KindOf>urn-uuid-c64b38a9-e8a9-4e32-8aba-69f2c83496c7</common:KindOf>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:Feature id="9" uuid="urn-uuid-4d2c9e16-20b7-4a87-958f-57c9ffaa6c0a">\r
+            <common:Representations>\r
+                <common:Representation id="8" uuid="urn-uuid-1a39da20-a3b5-4e25-a8bf-2a65a1b59059">\r
+                    <common:Text>Forewing Underside</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>Forewing Underside</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:KindOf>urn-uuid-c64b38a9-e8a9-4e32-8aba-69f2c83496c7</common:KindOf>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:Feature id="10" uuid="urn-uuid-2d69a75b-7557-4c8d-b212-0bd8e59a2775">\r
+            <common:Representations>\r
+                <common:Representation id="9" uuid="urn-uuid-6b566114-0f20-4b34-8159-7af117cb2c50">\r
+                    <common:Text>Hindwing</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>Hindwing</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:KindOf>urn-uuid-e40912a5-3e36-4d1e-aee9-dc57a83fa81c</common:KindOf>\r
+            <common:Generalizations>\r
+                <common:GeneralizationOf>urn-uuid-4dab37e3-80a2-4c86-9b60-eba4d4578967</common:GeneralizationOf>\r
+                <common:GeneralizationOf>urn-uuid-1aeb4db9-0496-4632-9d6c-471f65d717e6</common:GeneralizationOf>\r
+            </common:Generalizations>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:Feature id="11" uuid="urn-uuid-4dab37e3-80a2-4c86-9b60-eba4d4578967">\r
+            <common:Representations>\r
+                <common:Representation id="10" uuid="urn-uuid-1d8ca60d-6249-4d7d-82a0-7d0930220ece">\r
+                    <common:Text>Hindwing Upperside</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>Hindwing Upperside</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:KindOf>urn-uuid-2d69a75b-7557-4c8d-b212-0bd8e59a2775</common:KindOf>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:Feature id="12" uuid="urn-uuid-1aeb4db9-0496-4632-9d6c-471f65d717e6">\r
+            <common:Representations>\r
+                <common:Representation id="11" uuid="urn-uuid-6a6725b8-c7e9-4e1c-b73b-7a0b29843a17">\r
+                    <common:Text>Hindwing Underside</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>Hindwing Underside</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:KindOf>urn-uuid-2d69a75b-7557-4c8d-b212-0bd8e59a2775</common:KindOf>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:TextFormat id="13" uuid="urn-uuid-4d7584d8-3ee3-4a85-bd31-d14cb5f7f9bc">\r
+            <common:TermVocabulary>urn-uuid-51cbd5dc-cedd-41ee-bd5a-070bc331a027</common:TermVocabulary>\r
+        </description:TextFormat>\r
+        <location:NamedArea id="14" uuid="urn-uuid-dae3a746-ae81-40b0-8d4b-24cdd27ce4ae">\r
+            <common:Representations>\r
+                <common:Representation id="12" uuid="urn-uuid-944d6336-88cb-4cf6-8d73-b2186c051a62">\r
+                    <common:Text>Europe</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>eu</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:TermVocabulary>urn-uuid-71e8e346-b63f-4f2b-a182-3c2912dd3356</common:TermVocabulary>\r
+            <common:OrderIndex>0</common:OrderIndex>\r
+            <location:NamedAreaLevel>urn-uuid-ccfbea72-3017-4aec-9582-a72e858b4de2</location:NamedAreaLevel>\r
+        </location:NamedArea>\r
+        <location:NamedAreaLevel id="15" uuid="urn-uuid-ccfbea72-3017-4aec-9582-a72e858b4de2">\r
+            <common:TermVocabulary>urn-uuid-4a7a836d-4606-4290-933a-96902249805f</common:TermVocabulary>\r
+            <common:OrderIndex>0</common:OrderIndex>\r
+        </location:NamedAreaLevel>\r
+        <location:NamedAreaLevel id="16" uuid="urn-uuid-185feacf-c3d8-4fd9-99f7-397b61d811d8">\r
+            <common:TermVocabulary>urn-uuid-4a7a836d-4606-4290-933a-96902249805f</common:TermVocabulary>\r
+            <common:OrderIndex>0</common:OrderIndex>\r
+        </location:NamedAreaLevel>\r
+        <location:NamedAreaLevel id="17" uuid="urn-uuid-035b83aa-014a-46e4-b2b5-a5465675cf07">\r
+            <common:TermVocabulary>urn-uuid-4a7a836d-4606-4290-933a-96902249805f</common:TermVocabulary>\r
+            <common:OrderIndex>0</common:OrderIndex>\r
+        </location:NamedAreaLevel>\r
+        <location:NamedAreaLevel id="18" uuid="urn-uuid-2d9697a2-54ec-4775-9812-51f8dc27721c">\r
+            <common:TermVocabulary>urn-uuid-4a7a836d-4606-4290-933a-96902249805f</common:TermVocabulary>\r
+            <common:OrderIndex>0</common:OrderIndex>\r
+        </location:NamedAreaLevel>\r
+    </Terms>\r
+    <TermVocabularies>\r
+        <common:TermVocabulary id="1" uuid="urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d">\r
+            <common:TermSourceURI>http://www.cate-sphingidae.org</common:TermSourceURI>\r
+            <common:Terms>\r
+                <common:Term>urn-uuid-e40912a5-3e36-4d1e-aee9-dc57a83fa81c</common:Term>\r
+                <common:Term>urn-uuid-98cd50c9-3938-471b-b4d7-fe61b2f19efd</common:Term>\r
+                <common:Term>urn-uuid-0a9af077-0927-4655-9892-3a4bb3233513</common:Term>\r
+                <common:Term>urn-uuid-c015b086-f5a9-4132-afa8-e6de6ec8406d</common:Term>\r
+                <common:Term>urn-uuid-92534c0b-bb6c-415d-9ebf-96402ea2413a</common:Term>\r
+                <common:Term>urn-uuid-c64b38a9-e8a9-4e32-8aba-69f2c83496c7</common:Term>\r
+                <common:Term>urn-uuid-3baf0225-619d-48d8-9017-bd673ca23dd3</common:Term>\r
+                <common:Term>urn-uuid-4d2c9e16-20b7-4a87-958f-57c9ffaa6c0a</common:Term>\r
+                <common:Term>urn-uuid-2d69a75b-7557-4c8d-b212-0bd8e59a2775</common:Term>\r
+                <common:Term>urn-uuid-4dab37e3-80a2-4c86-9b60-eba4d4578967</common:Term>\r
+                <common:Term>urn-uuid-1aeb4db9-0496-4632-9d6c-471f65d717e6</common:Term>\r
+            </common:Terms>\r
+        </common:TermVocabulary>\r
+        <common:TermVocabulary id="2" uuid="urn-uuid-51cbd5dc-cedd-41ee-bd5a-070bc331a027">\r
+            <common:TermSourceURI></common:TermSourceURI>\r
+            <common:Terms>\r
+                <common:Term>urn-uuid-4d7584d8-3ee3-4a85-bd31-d14cb5f7f9bc</common:Term>\r
+            </common:Terms>\r
+        </common:TermVocabulary>\r
+        <common:TermVocabulary id="3" uuid="urn-uuid-71e8e346-b63f-4f2b-a182-3c2912dd3356">\r
+            <common:TermSourceURI>http://www.tdwg.org/standards/104/</common:TermSourceURI>\r
+            <common:Terms>\r
+                <common:Term>urn-uuid-dae3a746-ae81-40b0-8d4b-24cdd27ce4ae</common:Term>\r
+            </common:Terms>\r
+        </common:TermVocabulary>\r
+        <common:TermVocabulary id="4" uuid="urn-uuid-4a7a836d-4606-4290-933a-96902249805f">\r
+            <common:TermSourceURI>http://www.tdwg.org/standards/104/</common:TermSourceURI>\r
+            <common:Terms>\r
+                <common:Term>urn-uuid-ccfbea72-3017-4aec-9582-a72e858b4de2</common:Term>\r
+                <common:Term>urn-uuid-185feacf-c3d8-4fd9-99f7-397b61d811d8</common:Term>\r
+                <common:Term>urn-uuid-035b83aa-014a-46e4-b2b5-a5465675cf07</common:Term>\r
+                <common:Term>urn-uuid-2d9697a2-54ec-4775-9812-51f8dc27721c</common:Term>\r
+            </common:Terms>\r
+        </common:TermVocabulary>\r
+    </TermVocabularies>\r
+    <References>\r
+        <reference:Generic id="1" uuid="urn-uuid-bb1c930a-f0cf-41de-9039-00b7f85fbd9a" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+            <common:TitleCache>Author, 2008</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <reference:IsNomenclaturallyRelevant>false</reference:IsNomenclaturallyRelevant>\r
+            <reference:Title>Test Publication</reference:Title>\r
+            <reference:DatePublished>\r
+                <common:Start>2008</common:Start>\r
+                <common:End>2008</common:End>\r
+            </reference:DatePublished>\r
+        </reference:Generic>\r
+    </References>\r
+    <FeatureTrees>\r
+      <description:FeatureTree id="1" uuid="urn-uuid-6509b4ca-a872-45cc-b743-a0fe50fc8bb7">\r
+            <description:IsDescriptionSeparated>false</description:IsDescriptionSeparated>\r
+            <description:Root id="1" uuid="urn-uuid-a137ed36-383f-49a9-8d84-976361188bcc">\r
+              <description:Feature>urn-uuid-e40912a5-3e36-4d1e-aee9-dc57a83fa81c</description:Feature>\r
+              <description:Children>\r
+                <description:Child id="2" uuid="urn-uuid-38beaff6-00b9-4f32-8f70-d33153b8fe0f">\r
+                  <description:Feature>urn-uuid-98cd50c9-3938-471b-b4d7-fe61b2f19efd</description:Feature>\r
+                  <description:Parent>urn-uuid-a137ed36-383f-49a9-8d84-976361188bcc</description:Parent>\r
+                </description:Child>\r
+                <description:Child id="3" uuid="urn-uuid-a5700c2f-8630-46e7-a900-59c9a612fbaf">\r
+                  <description:Feature>urn-uuid-0a9af077-0927-4655-9892-3a4bb3233513</description:Feature>\r
+                  <description:Parent>urn-uuid-a137ed36-383f-49a9-8d84-976361188bcc</description:Parent>\r
+                  <description:Children>\r
+                    <description:Child id="4" uuid="urn-uuid-4438f658-8b78-4e33-af36-584e088703d2">\r
+                      <description:Feature>urn-uuid-c015b086-f5a9-4132-afa8-e6de6ec8406d</description:Feature>\r
+                      <description:Parent>urn-uuid-a5700c2f-8630-46e7-a900-59c9a612fbaf</description:Parent>\r
+                    </description:Child>\r
+                    <description:Child id="5" uuid="urn-uuid-d458aef3-40f2-47c3-bc64-0a8191428df0">\r
+                      <description:Feature>urn-uuid-92534c0b-bb6c-415d-9ebf-96402ea2413a</description:Feature>\r
+                      <description:Parent>urn-uuid-a5700c2f-8630-46e7-a900-59c9a612fbaf</description:Parent>\r
+                    </description:Child>\r
+                  </description:Children>\r
+                </description:Child>\r
+                <description:Child id="6" uuid="urn-uuid-20070dea-4455-444e-b7be-fd771370b85a">\r
+                  <description:Feature>urn-uuid-c64b38a9-e8a9-4e32-8aba-69f2c83496c7</description:Feature>\r
+                  <description:Parent>urn-uuid-a137ed36-383f-49a9-8d84-976361188bcc</description:Parent>\r
+                  <description:Children>\r
+                    <description:Child id="7" uuid="urn-uuid-588e66df-eba4-4c00-a05d-e604fa9994a5">\r
+                      <description:Feature>urn-uuid-3baf0225-619d-48d8-9017-bd673ca23dd3</description:Feature>\r
+                      <description:Parent>urn-uuid-20070dea-4455-444e-b7be-fd771370b85a</description:Parent>\r
+                    </description:Child>\r
+                    <description:Child id="8" uuid="urn-uuid-f3f4617c-0a02-47a4-92f9-4790ff1156ee">\r
+                      <description:Feature>urn-uuid-4d2c9e16-20b7-4a87-958f-57c9ffaa6c0a</description:Feature>\r
+                      <description:Parent>urn-uuid-20070dea-4455-444e-b7be-fd771370b85a</description:Parent>\r
+                    </description:Child>\r
+                  </description:Children>\r
+                </description:Child>\r
+                <description:Child id="9" uuid="urn-uuid-0ae5afe1-a0c4-4585-be09-d0cf295b671c">\r
+                  <description:Feature>urn-uuid-2d69a75b-7557-4c8d-b212-0bd8e59a2775</description:Feature>\r
+                  <description:Parent>urn-uuid-a137ed36-383f-49a9-8d84-976361188bcc</description:Parent>\r
+                  <description:Children>\r
+                    <description:Child id="10" uuid="urn-uuid-b92df49d-2a58-4684-b478-397d506aea18">\r
+                      <description:Feature>urn-uuid-4dab37e3-80a2-4c86-9b60-eba4d4578967</description:Feature>\r
+                      <description:Parent>urn-uuid-0ae5afe1-a0c4-4585-be09-d0cf295b671c</description:Parent>\r
+                    </description:Child>\r
+                    <description:Child id="11" uuid="urn-uuid-c9e61521-b474-4558-9a74-fd5731f52447">\r
+                      <description:Feature>urn-uuid-1aeb4db9-0496-4632-9d6c-471f65d717e6</description:Feature>\r
+                      <description:Parent>urn-uuid-0ae5afe1-a0c4-4585-be09-d0cf295b671c</description:Parent>\r
+                    </description:Child>\r
+                  </description:Children>\r
+                </description:Child>\r
+              </description:Children>\r
+            </description:Root>\r
+        </description:FeatureTree>\r
+    </FeatureTrees>\r
+    <TaxonomicNames>\r
+        <name:BotanicalName id="1" uuid="urn-uuid-a9036d14-7be1-42bc-bb74-87be966f3a01" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+          <common:TitleCache>Aus aus, L. 1758</common:TitleCache>\r
+          <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+          <name:ProtectedFullTitleCache>false</name:ProtectedFullTitleCache>\r
+          <name:NameCache>Aus aus</name:NameCache>\r
+          <name:AuthorshipCache>L. 1758</name:AuthorshipCache>\r
+          <name:ProtectedAuthorshipCache>false</name:ProtectedAuthorshipCache>\r
+          <name:ProtectedNameCache>false</name:ProtectedNameCache>\r
+          <name:IsHybridFormula>false</name:IsHybridFormula>\r
+          <name:IsMonomHybrid>false</name:IsMonomHybrid>\r
+          <name:IsBinomHybrid>false</name:IsBinomHybrid>\r
+          <name:IsTrinomHybrid>false</name:IsTrinomHybrid>\r
+          <name:IsAnamorphic>false</name:IsAnamorphic>  \r
+        </name:BotanicalName>\r
+    </TaxonomicNames>\r
+    <TaxonBases>\r
+        <taxon:Taxon id="1" uuid="urn-uuid-806212d3-7279-4e25-a38f-66986907331f" isDoubtful="false">\r
+            <common:TitleCache>Aus aus L.</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <taxon:Name>urn-uuid-a9036d14-7be1-42bc-bb74-87be966f3a01</taxon:Name>\r
+            <taxon:TaxonomicChildrenCount>0</taxon:TaxonomicChildrenCount>\r
+            <taxon:Descriptions>\r
+              <taxon:Description id="1" uuid="urn-uuid-9d5a5b8a-43a8-4967-8199-c6ee4df31671">\r
+                <common:TitleCache>Diagnosis of Aus aus L. in Europe</common:TitleCache>\r
+                <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+                <description:DescriptionElements>\r
+                  <description:TextData id="1" uuid="urn-uuid-37830680-fe77-11dd-87af-0800200c9a66">\r
+                    <!-- <common:Sources>\r
+                      <common:OriginalSource id="1" uuid="urn-uuid-2c8dc884-7d48-4215-b074-bcb323acf08f">\r
+                        <common:CitationMicroReference>p 12</common:CitationMicroReference>\r
+                        <common:Citation>urn-uuid-bb1c930a-f0cf-41de-9039-00b7f85fbd9a</common:Citation>\r
+                      </common:OriginalSource>\r
+                    </common:Sources>-->\r
+                    <description:Feature>urn-uuid-e40912a5-3e36-4d1e-aee9-dc57a83fa81c</description:Feature>\r
+                    <description:Media>\r
+                      <description:Medium>urn-uuid-5d210191-e783-472c-98f4-5da7bf488431</description:Medium>\r
+                    </description:Media>\r
+                    <description:InDescription>urn-uuid-9d5a5b8a-43a8-4967-8199-c6ee4df31671</description:InDescription>\r
+                    <description:MultiLanguageText>\r
+                      <common:LanguageString id="1" uuid="urn-uuid-733bf920-fe72-11dd-87af-0800200c9a66">\r
+                        <common:Text><p>Immediately distinguishable from all other <i>Hemaris</i> by the fully scaled forewings and uniformly orange hindwing uppersides.</p><p>Ventral lobes of pulvillus very small; arolium fully developed.</p><p>Forewing upperside lacking transparent areas; basal two-thirds uniformly green, distal third brown (corresponding to the marginal band of other <i>Hemaris</i>).</p><p>Hindwing upperside with no transparent spaces, uniformly orange with a small green area basally.</p></common:Text>\r
+                        <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                      </common:LanguageString>\r
+                    </description:MultiLanguageText>\r
+                    <description:Format>urn-uuid-4d7584d8-3ee3-4a85-bd31-d14cb5f7f9bc</description:Format>\r
+                 </description:TextData>\r
+               </description:DescriptionElements>\r
+               <description:GeoScopes>\r
+                 <description:GeoScope>urn-uuid-dae3a746-ae81-40b0-8d4b-24cdd27ce4ae</description:GeoScope>\r
+               </description:GeoScopes>       \r
+               <description:Taxon>urn-uuid-806212d3-7279-4e25-a38f-66986907331f</description:Taxon>
+              </taxon:Description>\r
+            </taxon:Descriptions>\r
+        </taxon:Taxon>\r
+    </TaxonBases>\r
+    <Media>\r
+        <media:Media id="1" uuid="urn-uuid-5d210191-e783-472c-98f4-5da7bf488431"/>\r
+    </Media>\r
+</DataSet>
\ No newline at end of file
diff --git a/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/FeatureTest.xml b/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/FeatureTest.xml
new file mode 100644 (file)
index 0000000..087cc76
--- /dev/null
@@ -0,0 +1,289 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<DataSet xmlns="http://etaxonomy.eu/cdm/model/1.0"\r
+    xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0"\r
+    xmlns:description="http://etaxonomy.eu/cdm/model/description/1.0"\r
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+    xsi:schemaLocation="http://etaxonomy.eu/cdm/model/1.0\r
+                        ../../../../../../classes/schema/cdm/cdm.xsd">\r
+    <Terms>\r
+        <common:Language id="1" uuid="urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d" iso639_1="en" iso639_2="eng"/>\r
+        <description:Feature id="2" uuid="urn-uuid-e40912a5-3e36-4d1e-aee9-dc57a83fa81c">\r
+            <common:Representations>\r
+                <common:Representation id="1" uuid="urn-uuid-00456f86-2e2f-47e2-a763-bd51094cd9c8">\r
+                    <common:Text>General</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>General</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:Generalizations>\r
+                <common:GeneralizationOf>urn-uuid-98cd50c9-3938-471b-b4d7-fe61b2f19efd</common:GeneralizationOf>\r
+                <common:GeneralizationOf>urn-uuid-0a9af077-0927-4655-9892-3a4bb3233513</common:GeneralizationOf>\r
+                <common:GeneralizationOf>urn-uuid-c64b38a9-e8a9-4e32-8aba-69f2c83496c7</common:GeneralizationOf>\r
+                <common:GeneralizationOf>urn-uuid-2d69a75b-7557-4c8d-b212-0bd8e59a2775</common:GeneralizationOf>\r
+            </common:Generalizations>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:Feature id="3" uuid="urn-uuid-98cd50c9-3938-471b-b4d7-fe61b2f19efd">\r
+            <common:Representations>\r
+                <common:Representation id="2" uuid="urn-uuid-d7ea34b3-9bd8-4b9d-989e-40bedcb96896">\r
+                    <common:Text>Habitus</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>Habitus</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:KindOf>urn-uuid-e40912a5-3e36-4d1e-aee9-dc57a83fa81c</common:KindOf>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:Feature id="4" uuid="urn-uuid-0a9af077-0927-4655-9892-3a4bb3233513">\r
+            <common:Representations>\r
+                <common:Representation id="3" uuid="urn-uuid-be42a8f1-be83-4117-8f4a-0300c13937fd">\r
+                    <common:Text>Body</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>Body</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:KindOf>urn-uuid-e40912a5-3e36-4d1e-aee9-dc57a83fa81c</common:KindOf>\r
+            <common:Generalizations>\r
+                <common:GeneralizationOf>urn-uuid-c015b086-f5a9-4132-afa8-e6de6ec8406d</common:GeneralizationOf>\r
+                <common:GeneralizationOf>urn-uuid-92534c0b-bb6c-415d-9ebf-96402ea2413a</common:GeneralizationOf>\r
+            </common:Generalizations>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:Feature id="5" uuid="urn-uuid-c015b086-f5a9-4132-afa8-e6de6ec8406d">\r
+            <common:Representations>\r
+                <common:Representation id="4" uuid="urn-uuid-6c415cd7-af7b-4c17-a4f0-c14301dd1dc9">\r
+                    <common:Text>Body Upperside</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>Body Upperside</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:KindOf>urn-uuid-0a9af077-0927-4655-9892-3a4bb3233513</common:KindOf>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:Feature id="7" uuid="urn-uuid-92534c0b-bb6c-415d-9ebf-96402ea2413a">\r
+            <common:Representations>\r
+                <common:Representation id="5" uuid="urn-uuid-3fb097e1-e0c7-4b68-bb99-a98edf51699c">\r
+                    <common:Text>Body Underside</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>Body Underside</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:KindOf>urn-uuid-0a9af077-0927-4655-9892-3a4bb3233513</common:KindOf>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:Feature id="7" uuid="urn-uuid-c64b38a9-e8a9-4e32-8aba-69f2c83496c7">\r
+            <common:Representations>\r
+                <common:Representation id="6" uuid="urn-uuid-c3947d3a-67fb-4e6d-9aee-fb6784f6b872">\r
+                    <common:Text>Forewing</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>Forewing</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:KindOf>urn-uuid-e40912a5-3e36-4d1e-aee9-dc57a83fa81c</common:KindOf>\r
+            <common:Generalizations>\r
+                <common:GeneralizationOf>urn-uuid-3baf0225-619d-48d8-9017-bd673ca23dd3</common:GeneralizationOf>\r
+                <common:GeneralizationOf>urn-uuid-4d2c9e16-20b7-4a87-958f-57c9ffaa6c0a</common:GeneralizationOf>\r
+            </common:Generalizations>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:Feature id="8" uuid="urn-uuid-3baf0225-619d-48d8-9017-bd673ca23dd3">\r
+            <common:Representations>\r
+                <common:Representation id="7" uuid="urn-uuid-bff6a2d8-c47b-4609-bc86-92ccfab43c58">\r
+                    <common:Text>Forewing Upperside</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>Forewing Upperside</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:KindOf>urn-uuid-c64b38a9-e8a9-4e32-8aba-69f2c83496c7</common:KindOf>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:Feature id="9" uuid="urn-uuid-4d2c9e16-20b7-4a87-958f-57c9ffaa6c0a">\r
+            <common:Representations>\r
+                <common:Representation id="8" uuid="urn-uuid-1a39da20-a3b5-4e25-a8bf-2a65a1b59059">\r
+                    <common:Text>Forewing Underside</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>Forewing Underside</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:KindOf>urn-uuid-c64b38a9-e8a9-4e32-8aba-69f2c83496c7</common:KindOf>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:Feature id="10" uuid="urn-uuid-2d69a75b-7557-4c8d-b212-0bd8e59a2775">\r
+            <common:Representations>\r
+                <common:Representation id="9" uuid="urn-uuid-6b566114-0f20-4b34-8159-7af117cb2c50">\r
+                    <common:Text>Hindwing</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>Hindwing</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:KindOf>urn-uuid-e40912a5-3e36-4d1e-aee9-dc57a83fa81c</common:KindOf>\r
+            <common:Generalizations>\r
+                <common:GeneralizationOf>urn-uuid-4dab37e3-80a2-4c86-9b60-eba4d4578967</common:GeneralizationOf>\r
+                <common:GeneralizationOf>urn-uuid-1aeb4db9-0496-4632-9d6c-471f65d717e6</common:GeneralizationOf>\r
+            </common:Generalizations>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:Feature id="11" uuid="urn-uuid-4dab37e3-80a2-4c86-9b60-eba4d4578967">\r
+            <common:Representations>\r
+                <common:Representation id="10" uuid="urn-uuid-1d8ca60d-6249-4d7d-82a0-7d0930220ece">\r
+                    <common:Text>Hindwing Upperside</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>Hindwing Upperside</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:KindOf>urn-uuid-2d69a75b-7557-4c8d-b212-0bd8e59a2775</common:KindOf>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+        <description:Feature id="12" uuid="urn-uuid-1aeb4db9-0496-4632-9d6c-471f65d717e6">\r
+            <common:Representations>\r
+                <common:Representation id="11" uuid="urn-uuid-6a6725b8-c7e9-4e1c-b73b-7a0b29843a17">\r
+                    <common:Text>Hindwing Underside</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>Hindwing Underside</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:KindOf>urn-uuid-2d69a75b-7557-4c8d-b212-0bd8e59a2775</common:KindOf>\r
+            <common:TermVocabulary>urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d</common:TermVocabulary>\r
+            <description:SupportsTextData>false</description:SupportsTextData>\r
+            <description:SupportsQuantitativeData>false</description:SupportsQuantitativeData>\r
+            <description:SupportsDistribution>false</description:SupportsDistribution>\r
+            <description:SupportsIndividualAssociation>false</description:SupportsIndividualAssociation>\r
+            <description:SupportsTaxonInteraction>false</description:SupportsTaxonInteraction>\r
+            <description:SupportsCommonTaxonName>false</description:SupportsCommonTaxonName>\r
+        </description:Feature>\r
+    </Terms>\r
+    <TermVocabularies>\r
+        <common:TermVocabulary id="1" uuid="urn-uuid-93a570fd-631d-464d-9b0a-8698b5ae3b8d">\r
+            <common:TermSourceURI>http://www.cate-sphingidae.org</common:TermSourceURI>\r
+            <common:Terms>\r
+                <common:Term>urn-uuid-e40912a5-3e36-4d1e-aee9-dc57a83fa81c</common:Term>\r
+                <common:Term>urn-uuid-98cd50c9-3938-471b-b4d7-fe61b2f19efd</common:Term>\r
+                <common:Term>urn-uuid-0a9af077-0927-4655-9892-3a4bb3233513</common:Term>\r
+                <common:Term>urn-uuid-c015b086-f5a9-4132-afa8-e6de6ec8406d</common:Term>\r
+                <common:Term>urn-uuid-92534c0b-bb6c-415d-9ebf-96402ea2413a</common:Term>\r
+                <common:Term>urn-uuid-c64b38a9-e8a9-4e32-8aba-69f2c83496c7</common:Term>\r
+                <common:Term>urn-uuid-3baf0225-619d-48d8-9017-bd673ca23dd3</common:Term>\r
+                <common:Term>urn-uuid-4d2c9e16-20b7-4a87-958f-57c9ffaa6c0a</common:Term>\r
+                <common:Term>urn-uuid-2d69a75b-7557-4c8d-b212-0bd8e59a2775</common:Term>\r
+                <common:Term>urn-uuid-4dab37e3-80a2-4c86-9b60-eba4d4578967</common:Term>\r
+                <common:Term>urn-uuid-1aeb4db9-0496-4632-9d6c-471f65d717e6</common:Term>\r
+            </common:Terms>\r
+        </common:TermVocabulary>\r
+    </TermVocabularies>\r
+    <FeatureTrees>\r
+      <description:FeatureTree id="1" uuid="urn-uuid-6509b4ca-a872-45cc-b743-a0fe50fc8bb7">\r
+            <description:IsDescriptionSeparated>false</description:IsDescriptionSeparated>\r
+            <description:Root id="1" uuid="urn-uuid-a137ed36-383f-49a9-8d84-976361188bcc">\r
+              <description:Feature>urn-uuid-e40912a5-3e36-4d1e-aee9-dc57a83fa81c</description:Feature>\r
+              <description:Children>\r
+                <description:Child id="2" uuid="urn-uuid-38beaff6-00b9-4f32-8f70-d33153b8fe0f">\r
+                  <description:Feature>urn-uuid-98cd50c9-3938-471b-b4d7-fe61b2f19efd</description:Feature>\r
+                  <description:Parent>urn-uuid-a137ed36-383f-49a9-8d84-976361188bcc</description:Parent>\r
+                </description:Child>\r
+                <description:Child id="3" uuid="urn-uuid-a5700c2f-8630-46e7-a900-59c9a612fbaf">\r
+                  <description:Feature>urn-uuid-0a9af077-0927-4655-9892-3a4bb3233513</description:Feature>\r
+                  <description:Parent>urn-uuid-a137ed36-383f-49a9-8d84-976361188bcc</description:Parent>\r
+                  <description:Children>\r
+                    <description:Child id="4" uuid="urn-uuid-4438f658-8b78-4e33-af36-584e088703d2">\r
+                      <description:Feature>urn-uuid-c015b086-f5a9-4132-afa8-e6de6ec8406d</description:Feature>\r
+                      <description:Parent>urn-uuid-a5700c2f-8630-46e7-a900-59c9a612fbaf</description:Parent>\r
+                    </description:Child>\r
+                    <description:Child id="5" uuid="urn-uuid-d458aef3-40f2-47c3-bc64-0a8191428df0">\r
+                      <description:Feature>urn-uuid-92534c0b-bb6c-415d-9ebf-96402ea2413a</description:Feature>\r
+                      <description:Parent>urn-uuid-a5700c2f-8630-46e7-a900-59c9a612fbaf</description:Parent>\r
+                    </description:Child>\r
+                  </description:Children>\r
+                </description:Child>\r
+                <description:Child id="6" uuid="urn-uuid-20070dea-4455-444e-b7be-fd771370b85a">\r
+                  <description:Feature>urn-uuid-c64b38a9-e8a9-4e32-8aba-69f2c83496c7</description:Feature>\r
+                  <description:Parent>urn-uuid-a137ed36-383f-49a9-8d84-976361188bcc</description:Parent>\r
+                  <description:Children>\r
+                    <description:Child id="7" uuid="urn-uuid-588e66df-eba4-4c00-a05d-e604fa9994a5">\r
+                      <description:Feature>urn-uuid-3baf0225-619d-48d8-9017-bd673ca23dd3</description:Feature>\r
+                      <description:Parent>urn-uuid-20070dea-4455-444e-b7be-fd771370b85a</description:Parent>\r
+                    </description:Child>\r
+                    <description:Child id="8" uuid="urn-uuid-f3f4617c-0a02-47a4-92f9-4790ff1156ee">\r
+                      <description:Feature>urn-uuid-4d2c9e16-20b7-4a87-958f-57c9ffaa6c0a</description:Feature>\r
+                      <description:Parent>urn-uuid-20070dea-4455-444e-b7be-fd771370b85a</description:Parent>\r
+                    </description:Child>\r
+                  </description:Children>\r
+                </description:Child>\r
+                <description:Child id="9" uuid="urn-uuid-0ae5afe1-a0c4-4585-be09-d0cf295b671c">\r
+                  <description:Feature>urn-uuid-2d69a75b-7557-4c8d-b212-0bd8e59a2775</description:Feature>\r
+                  <description:Parent>urn-uuid-a137ed36-383f-49a9-8d84-976361188bcc</description:Parent>\r
+                  <description:Children>\r
+                    <description:Child id="10" uuid="urn-uuid-b92df49d-2a58-4684-b478-397d506aea18">\r
+                      <description:Feature>urn-uuid-4dab37e3-80a2-4c86-9b60-eba4d4578967</description:Feature>\r
+                      <description:Parent>urn-uuid-0ae5afe1-a0c4-4585-be09-d0cf295b671c</description:Parent>\r
+                    </description:Child>\r
+                    <description:Child id="11" uuid="urn-uuid-c9e61521-b474-4558-9a74-fd5731f52447">\r
+                      <description:Feature>urn-uuid-1aeb4db9-0496-4632-9d6c-471f65d717e6</description:Feature>\r
+                      <description:Parent>urn-uuid-0ae5afe1-a0c4-4585-be09-d0cf295b671c</description:Parent>\r
+                    </description:Child>\r
+                  </description:Children>\r
+                </description:Child>\r
+              </description:Children>\r
+            </description:Root>\r
+        </description:FeatureTree>\r
+    </FeatureTrees>\r
+</DataSet>
\ No newline at end of file
diff --git a/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/LanguageStringTest.xml b/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/LanguageStringTest.xml
new file mode 100644 (file)
index 0000000..c1b8070
--- /dev/null
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<DataSet \r
+    xmlns="http://etaxonomy.eu/cdm/model/1.0"\r
+    xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0"\r
+    xmlns:media="http://etaxonomy.eu/cdm/model/media/1.0"\r
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+    xsi:schemaLocation="http://etaxonomy.eu/cdm/model/1.0\r
+                             ../../../../../../classes/schema/cdm/cdm.xsd">\r
+    <Terms>\r
+        <common:Language id="1" uuid="urn-uuid-09f563bd-a65f-4b4a-968e-d4fb953e1a8d" iso639_1="en" iso639_2="eng"/>\r
+    </Terms>\r
+    <Media>\r
+        <media:Media id="1" uuid="urn-uuid-f94b9562-458b-49e3-8042-2a548fc5fe0e">\r
+            <media:MediaTitle>\r
+                <common:LanguageString id="1" uuid="urn-uuid-fd7afbd6-5bb0-4531-8236-49a27be81b9a">\r
+                    <common:Text><i xmlns="http://www.w3.org/1999/xhtml">English</i> Title</common:Text>\r
+                    <common:Language>urn-uuid-09f563bd-a65f-4b4a-968e-d4fb953e1a8d</common:Language>\r
+                </common:LanguageString>\r
+            </media:MediaTitle>\r
+        </media:Media>\r
+    </Media>\r
+</DataSet>
\ No newline at end of file
diff --git a/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/MediaTest.xml b/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/MediaTest.xml
new file mode 100644 (file)
index 0000000..56cbcf0
--- /dev/null
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<DataSet \r
+    xmlns="http://etaxonomy.eu/cdm/model/1.0"\r
+    xmlns:agent="http://etaxonomy.eu/cdm/model/agent/1.0"\r
+    xmlns:location="http://etaxonomy.eu/cdm/model/location/1.0"\r
+    xmlns:reference="http://etaxonomy.eu/cdm/model/reference/1.0"\r
+    xmlns:name="http://etaxonomy.eu/cdm/model/name/1.0"\r
+    xmlns:taxon="http://etaxonomy.eu/cdm/model/taxon/1.0"\r
+    xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0"\r
+    xmlns:occurence="http://etaxonomy.eu/cdm/model/occurence/1.0"\r
+    xmlns:media="http://etaxonomy.eu/cdm/model/media/1.0"\r
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+    xsi:schemaLocation="http://etaxonomy.eu/cdm/model/1.0\r
+                             ../../../../../../classes/schema/cdm/cdm.xsd">\r
+    <Terms>                    \r
+        <common:Language id="1" uuid="urn-uuid-3d14c42f-f1a4-4e49-b287-7fbc63034dd5" iso639_1="en" iso639_2="eng"/>\r
+        <media:RightsTerm id="2" uuid="urn-uuid-ec428771-3cb4-4062-b414-fcc35729f7e2">\r
+            <common:Representations>\r
+              <common:Representation id="1" uuid="urn-uuid-f90974d0-fc2c-11dd-87af-0800200c9a66">\r
+                <common:Text>Access Rights</common:Text>\r
+                <common:Language>urn-uuid-3d14c42f-f1a4-4e49-b287-7fbc63034dd5</common:Language>\r
+              </common:Representation>\r
+            </common:Representations>\r
+            <common:TermVocabulary>urn-uuid-7d4d7234-6ce5-40f4-934d-3dc3e0a86e9c</common:TermVocabulary>\r
+        </media:RightsTerm>\r
+        <media:RightsTerm id="3" uuid="urn-uuid-d228293e-4139-48a5-ac34-898a263d47ed">\r
+            <common:Representations>\r
+              <common:Representation id="2" uuid="urn-uuid-a8cc5690-fcef-11dd-87af-0800200c9a66">\r
+                <common:Text>License</common:Text>\r
+                <common:Language>urn-uuid-3d14c42f-f1a4-4e49-b287-7fbc63034dd5</common:Language>\r
+              </common:Representation>\r
+            </common:Representations>\r
+            <common:TermVocabulary>urn-uuid-7d4d7234-6ce5-40f4-934d-3dc3e0a86e9c</common:TermVocabulary>\r
+        </media:RightsTerm>     \r
+        <media:RightsTerm id="4" uuid="urn-uuid-3f222fa1-ad70-4ec3-aa7f-6b917362c072">\r
+            <common:Representations>\r
+              <common:Representation id="3" uuid="urn-uuid-c3547ba0-fcef-11dd-87af-0800200c9a66">\r
+                <common:Text>Copyright</common:Text>\r
+                <common:Language>urn-uuid-3d14c42f-f1a4-4e49-b287-7fbc63034dd5</common:Language>\r
+              </common:Representation>\r
+            </common:Representations>\r
+            <common:TermVocabulary>urn-uuid-7d4d7234-6ce5-40f4-934d-3dc3e0a86e9c</common:TermVocabulary>\r
+        </media:RightsTerm>\r
+    </Terms>\r
+    <TermVocabularies>\r
+        <common:TermVocabulary id="1" uuid="urn-uuid-7d4d7234-6ce5-40f4-934d-3dc3e0a86e9c">\r
+            <common:TermSourceURI>http://purl.org/dc/terms/accessRights</common:TermSourceURI>\r
+            <common:Terms>\r
+                <common:Term>urn-uuid-ec428771-3cb4-4062-b414-fcc35729f7e2</common:Term>\r
+                <common:Term>urn-uuid-d228293e-4139-48a5-ac34-898a263d47ed</common:Term>\r
+                <common:Term>urn-uuid-3f222fa1-ad70-4ec3-aa7f-6b917362c072</common:Term>\r
+            </common:Terms>            \r
+        </common:TermVocabulary>\r
+    </TermVocabularies>\r
+    <Agents>\r
+        <agent:Person id="1" uuid="urn-uuid-7c441738-7756-416e-b068-01e6932d7c36">\r
+            <common:TitleCache>Person's Name</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+        </agent:Person>\r
+    </Agents>\r
+    <Media>\r
+        <media:Media id="1" uuid="urn-uuid-39a306b3-c4fd-4c8c-b0e8-22d8001e8410">\r
+            <media:MediaTitle>\r
+                <common:LanguageString id="2" uuid="urn-uuid-908a8369-331c-4aad-a344-f9d5a7ff8ee0">\r
+                    <common:Text>English Title</common:Text>\r
+                    <common:Language>urn-uuid-3d14c42f-f1a4-4e49-b287-7fbc63034dd5</common:Language>\r
+                </common:LanguageString>\r
+            </media:MediaTitle>\r
+            <media:MediaCreated>2006-10-01T00:00:00.000</media:MediaCreated>\r
+            <media:MediaRepresentations>\r
+                <media:MediaRepresentation id="1" uuid="urn-uuid-2d7fa0d1-4546-4867-b80f-e2bb4d48afb3">\r
+                    <media:MimeType>image/png</media:MimeType>\r
+                    <media:Media>urn-uuid-39a306b3-c4fd-4c8c-b0e8-22d8001e8410</media:Media>\r
+                    <media:MediaRepresentationParts>\r
+                        <media:ImageFile id="1" uuid="urn-uuid-207e2af0-46a7-4fb9-a32a-284bf585950e">\r
+                            <media:URI>file:src/test/resources/image.png</media:URI>\r
+                            <media:MediaRepresentation>urn-uuid-2d7fa0d1-4546-4867-b80f-e2bb4d48afb3</media:MediaRepresentation>\r
+                            <media:Height>1200</media:Height>\r
+                            <media:Width>1600</media:Width>\r
+                        </media:ImageFile>\r
+                    </media:MediaRepresentationParts>\r
+                </media:MediaRepresentation>\r
+            </media:MediaRepresentations>\r
+            <media:Rights>\r
+                <media:Right id="1" uuid="urn-uuid-4aec134e-bca8-4e1f-b115-84bb4f8f7923">\r
+                    <common:Text>Creative Commons Attribution 3.0 Unported License</common:Text>\r
+                    <common:Language>urn-uuid-3d14c42f-f1a4-4e49-b287-7fbc63034dd5</common:Language>\r
+                    <media:URI>http://creativecommons.org/licenses/by/3.0/</media:URI>\r
+                    <media:AbbreviatedText>Abbreviated Text</media:AbbreviatedText>\r
+                    <media:Type>urn-uuid-3f222fa1-ad70-4ec3-aa7f-6b917362c072</media:Type>\r
+                    <media:Agent>urn-uuid-7c441738-7756-416e-b068-01e6932d7c36</media:Agent>\r
+                </media:Right>\r
+            </media:Rights>\r
+            <media:Artist>urn-uuid-7c441738-7756-416e-b068-01e6932d7c36</media:Artist>\r
+        </media:Media>\r
+    </Media>\r
+</DataSet>\r
diff --git a/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/NamedAreaTest.xml b/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/NamedAreaTest.xml
new file mode 100644 (file)
index 0000000..b6cbd4e
--- /dev/null
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<DataSet \r
+    xmlns="http://etaxonomy.eu/cdm/model/1.0"\r
+    xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0"\r
+    xmlns:location="http://etaxonomy.eu/cdm/model/location/1.0"\r
+    xmlns:description="http://etaxonomy.eu/cdm/model/description/1.0"\r
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+    xsi:schemaLocation="http://etaxonomy.eu/cdm/model/1.0\r
+                        ../../../../../../classes/schema/cdm/cdm.xsd">\r
+    <Terms>\r
+        <common:Language id="1" uuid="urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d" iso639_1="en" iso639_2="eng">\r
+            <common:Representations>\r
+                <common:Representation id="1" uuid="urn-uuid-bfffa3de-d7ea-4090-b891-75bffbff1cc6">\r
+                    <common:Text>English</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>en</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:TermVocabulary>urn-uuid-f9a943ed-a992-48ea-9df2-0b374d485b36</common:TermVocabulary>\r
+        </common:Language>\r
+        <location:NamedArea id="2" uuid="urn-uuid-dae3a746-ae81-40b0-8d4b-24cdd27ce4ae">\r
+            <common:Representations>\r
+                <common:Representation id="2" uuid="urn-uuid-6700cc15-3995-49b6-b8d2-266ff7722666">\r
+                    <common:Text>Europe</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>eu</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:TermVocabulary>urn-uuid-d4a16fe7-f8a6-44cc-a936-e91917cf39d4</common:TermVocabulary>\r
+            <common:OrderIndex>0</common:OrderIndex>\r
+            <location:NamedAreaLevel>urn-uuid-ccfbea72-3017-4aec-9582-a72e858b4de2</location:NamedAreaLevel>\r
+        </location:NamedArea>\r
+        <location:NamedAreaLevel id="3" uuid="urn-uuid-ccfbea72-3017-4aec-9582-a72e858b4de2">\r
+            <common:Representations>\r
+                <common:Representation id="3" uuid="urn-uuid-4fd4cf55-09d2-438e-b734-30699f0bf184">\r
+                    <common:Text>Continent</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>continent</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:TermVocabulary>urn-uuid-4a7a836d-4606-4290-933a-96902249805f</common:TermVocabulary>\r
+            <common:OrderIndex>0</common:OrderIndex>\r
+        </location:NamedAreaLevel>\r
+        <location:NamedAreaLevel id="4" uuid="urn-uuid-185feacf-c3d8-4fd9-99f7-397b61d811d8">\r
+            <common:Representations>\r
+                <common:Representation id="4" uuid="urn-uuid-e0b86565-473c-40ed-b961-680d0e4e7d07">\r
+                    <common:Text>Region</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>region</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:TermVocabulary>urn-uuid-4a7a836d-4606-4290-933a-96902249805f</common:TermVocabulary>\r
+            <common:OrderIndex>0</common:OrderIndex>\r
+        </location:NamedAreaLevel>\r
+        <location:NamedAreaLevel id="5" uuid="urn-uuid-035b83aa-014a-46e4-b2b5-a5465675cf07">\r
+            <common:Representations>\r
+                <common:Representation id="5" uuid="urn-uuid-2069da2a-978d-4ed0-9bd0-e19b49af7836">\r
+                    <common:Text>Botanical Country</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>country</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:TermVocabulary>urn-uuid-4a7a836d-4606-4290-933a-96902249805f</common:TermVocabulary>\r
+            <common:OrderIndex>0</common:OrderIndex>\r
+        </location:NamedAreaLevel>\r
+        <location:NamedAreaLevel id="6" uuid="urn-uuid-2d9697a2-54ec-4775-9812-51f8dc27721c">\r
+            <common:Representations>\r
+                <common:Representation id="6" uuid="urn-uuid-6bc94029-b874-49b6-a131-0a9cea927023">\r
+                    <common:Text>Basic Recording Unit</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                    <common:Label>b.r.u.</common:Label>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:TermVocabulary>urn-uuid-4a7a836d-4606-4290-933a-96902249805f</common:TermVocabulary>\r
+            <common:OrderIndex>0</common:OrderIndex>\r
+        </location:NamedAreaLevel>\r
+    </Terms>\r
+    <TermVocabularies>\r
+        <common:TermVocabulary id="1" uuid="urn-uuid-f9a943ed-a992-48ea-9df2-0b374d485b36">\r
+            <common:Representations>\r
+                <common:Representation id="7" uuid="urn-uuid-046c5b0f-62a9-4f3b-bb3a-c2cfc22cdbbe">\r
+                    <common:Text>ISO 639.2 Codes for the Representation of Names of Languages</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                </common:Representation>\r
+            </common:Representations>\r
+             <common:TermSourceURI>http://www.loc.gov/standards/iso639-2/</common:TermSourceURI>\r
+            <common:Terms>\r
+                <common:Term>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Term>\r
+            </common:Terms>\r
+        </common:TermVocabulary>\r
+        <common:TermVocabulary id="2" uuid="urn-uuid-d4a16fe7-f8a6-44cc-a936-e91917cf39d4">\r
+            <common:Representations>\r
+                <common:Representation id="8" uuid="urn-uuid-7470d086-df97-4932-a557-03c2809a6acf">\r
+                    <common:Text>Floristic Regions of the World</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:TermSourceURI>http://www.tdwg.org/standards/104/</common:TermSourceURI>\r
+            <common:Terms>\r
+                <common:Term>urn-uuid-dae3a746-ae81-40b0-8d4b-24cdd27ce4ae</common:Term>\r
+            </common:Terms>\r
+        </common:TermVocabulary>\r
+        <common:TermVocabulary id="3" uuid="urn-uuid-4a7a836d-4606-4290-933a-96902249805f">\r
+            <common:Representations>\r
+                <common:Representation id="9" uuid="urn-uuid-b66c0fde-5d4d-4191-a843-84c31f75ec06">\r
+                    <common:Text>Floristic Regions of the World (Levels)</common:Text>\r
+                    <common:Language>urn-uuid-27024e60-a78a-4950-8fda-e43b4c58a01d</common:Language>\r
+                </common:Representation>\r
+            </common:Representations>\r
+            <common:TermSourceURI>http://www.tdwg.org/standards/104/</common:TermSourceURI>\r
+            <common:Terms>\r
+                <common:Term>urn-uuid-ccfbea72-3017-4aec-9582-a72e858b4de2</common:Term>\r
+                <common:Term>urn-uuid-185feacf-c3d8-4fd9-99f7-397b61d811d8</common:Term>\r
+                <common:Term>urn-uuid-035b83aa-014a-46e4-b2b5-a5465675cf07</common:Term>\r
+                <common:Term>urn-uuid-2d9697a2-54ec-4775-9812-51f8dc27721c</common:Term>\r
+            </common:Terms>\r
+        </common:TermVocabulary>\r
+    </TermVocabularies>   \r
+</DataSet>
\ No newline at end of file
diff --git a/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/ReferenceTest.xml b/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/ReferenceTest.xml
new file mode 100644 (file)
index 0000000..6c2368b
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<DataSet \r
+    xmlns="http://etaxonomy.eu/cdm/model/1.0"\r
+    xmlns:agent="http://etaxonomy.eu/cdm/model/agent/1.0"\r
+    xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0"\r
+    xmlns:location="http://etaxonomy.eu/cdm/model/location/1.0"\r
+    xmlns:taxon="http://etaxonomy.eu/cdm/model/taxon/1.0"\r
+    xmlns:name="http://etaxonomy.eu/cdm/model/name/1.0"\r
+    xmlns:occurence="http://etaxonomy.eu/cdm/model/occurence/1.0"\r
+    xmlns:reference="http://etaxonomy.eu/cdm/model/reference/1.0"\r
+    xmlns:description="http://etaxonomy.eu/cdm/model/description/1.0"\r
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+    xsi:schemaLocation="http://etaxonomy.eu/cdm/model/1.0\r
+                             ../../../../../../classes/schema/cdm/cdm.xsd">\r
+    <Agents>\r
+        <agent:Person id="1" uuid="urn-uuid-1a634162-4db8-4d83-84b0-079730d73c51">\r
+            <common:TitleCache>H. Charles J. Godfray</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+        </agent:Person>\r
+        <agent:Person id="2" uuid="urn-uuid-b8506159-0555-4489-a74c-eb50c2062218">\r
+            <common:TitleCache>Charles Darwin</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+        </agent:Person>\r
+    </Agents>\r
+    <References>\r
+        <reference:Article id="1" uuid="urn-uuid-818946e6-351b-456b-91cd-6d03eca32026" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+            <common:TitleCache>Godfray, 2002</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <reference:IsNomenclaturallyRelevant>false</reference:IsNomenclaturallyRelevant>\r
+            <reference:AuthorTeam>urn-uuid-1a634162-4db8-4d83-84b0-079730d73c51</reference:AuthorTeam>\r
+            <reference:Title>Challenges for taxonomy</reference:Title>\r
+            <reference:DatePublished>\r
+                <common:Start>2002-05-02</common:Start>\r
+                <common:End>2002-05-02</common:End>\r
+            </reference:DatePublished>\r
+            <reference:Volume>417</reference:Volume>\r
+            <reference:Pages>17-19</reference:Pages>\r
+            <reference:InJournal>urn-uuid-b29ebbae-03c4-4162-ad33-34ede873b233</reference:InJournal>\r
+        </reference:Article>\r
+        <reference:Journal id="2" uuid="urn-uuid-b29ebbae-03c4-4162-ad33-34ede873b233" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+            <common:TitleCache>Nature</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <reference:IsNomenclaturallyRelevant>false</reference:IsNomenclaturallyRelevant>\r
+            <reference:Title>Nature</reference:Title>\r
+            <reference:DatePublished>\r
+                <common:Start>1869-11-04</common:Start>\r
+                <common:End>2008-01-17</common:End>\r
+            </reference:DatePublished>\r
+            <reference:ISSN>0028-0836</reference:ISSN>\r
+        </reference:Journal>\r
+        <reference:Book id="3" uuid="urn-uuid-09e7c521-5f9b-4223-a13f-042f74a99d8f" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+            <common:TitleCache>Darwin, 1859</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <reference:IsNomenclaturallyRelevant>false</reference:IsNomenclaturallyRelevant>\r
+            <reference:AuthorTeam>urn-uuid-b8506159-0555-4489-a74c-eb50c2062218</reference:AuthorTeam>\r
+            <reference:Title>On the Origin of Species by Means of Natural Selection, or the Preservation of Favoured Races in the Struggle for Life</reference:Title>\r
+            <reference:DatePublished>\r
+                <common:Start>1859-11-24</common:Start>\r
+                <common:End>1859-11-24</common:End>\r
+            </reference:DatePublished>            \r
+        </reference:Book>\r
+        <reference:Book id="4" uuid="urn-uuid-60b73f57-ebe9-43b4-aedf-05608be0497b" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+            <common:TitleCache>Darwin, 2005</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <reference:IsNomenclaturallyRelevant>false</reference:IsNomenclaturallyRelevant>\r
+            <reference:AuthorTeam>urn-uuid-b8506159-0555-4489-a74c-eb50c2062218</reference:AuthorTeam>\r
+            <reference:Title>From So Simple a Beginning: Darwin's Four Great Books (Voyage of the H.M.S. Beagle, The Origin of Species, The Descent of Man, The Expression of Emotions in Man and Animals)</reference:Title>\r
+            <reference:DatePublished>\r
+                <common:Start>2005-11</common:Start>\r
+                <common:End>2005-11</common:End>\r
+            </reference:DatePublished>\r
+            <reference:Editor>Edward O. Wilson</reference:Editor>\r
+            <reference:ISBN>9780393061345</reference:ISBN> \r
+        </reference:Book>\r
+    </References>\r
+</DataSet>
\ No newline at end of file
diff --git a/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/SpecimenTest.xml b/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/SpecimenTest.xml
new file mode 100644 (file)
index 0000000..2318dfd
--- /dev/null
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<DataSet \r
+    xmlns="http://etaxonomy.eu/cdm/model/1.0"\r
+    xmlns:agent="http://etaxonomy.eu/cdm/model/agent/1.0"\r
+    xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0"\r
+    xmlns:location="http://etaxonomy.eu/cdm/model/location/1.0"\r
+    xmlns:taxon="http://etaxonomy.eu/cdm/model/taxon/1.0"\r
+    xmlns:name="http://etaxonomy.eu/cdm/model/name/1.0"\r
+    xmlns:occurrence="http://etaxonomy.eu/cdm/model/occurrence/1.0"\r
+    xmlns:media="http://etaxonomy.eu/cdm/model/media/1.0"\r
+    xmlns:reference="http://etaxonomy.eu/cdm/model/reference/1.0"\r
+    xmlns:description="http://etaxonomy.eu/cdm/model/description/1.0"\r
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+    xsi:schemaLocation="http://etaxonomy.eu/cdm/model/1.0\r
+                             ../../../../../../classes/schema/cdm/cdm.xsd">\r
+    <Terms>\r
+        <common:Language id="1" uuid="urn-uuid-3d14c42f-f1a4-4e49-b287-7fbc63034dd5"/>\r
+        <description:Sex id="2" uuid="urn-uuid-5a6efefb-181a-4d9d-984f-ff7d8a076562">\r
+            <common:Representations>\r
+              <common:Representation id="1" uuid="urn-uuid-f90974d0-fc2c-11dd-87af-0800200c9a66">\r
+                <common:Text>Male</common:Text>\r
+                <common:Language>urn-uuid-3d14c42f-f1a4-4e49-b287-7fbc63034dd5</common:Language>\r
+              </common:Representation>\r
+            </common:Representations>\r
+            <common:TermVocabulary>urn-uuid-3345de2b-02f7-4927-9fe2-4d094449b09c</common:TermVocabulary>\r
+            <common:OrderIndex>1</common:OrderIndex>\r
+        </description:Sex>\r
+    </Terms>\r
+    <TermVocabularies>\r
+        <common:TermVocabulary id="1" uuid="urn-uuid-3345de2b-02f7-4927-9fe2-4d094449b09c">\r
+            <common:Terms>\r
+                <common:Term>urn-uuid-5a6efefb-181a-4d9d-984f-ff7d8a076562</common:Term>\r
+            </common:Terms>\r
+        </common:TermVocabulary>\r
+    </TermVocabularies>\r
+    <Agents>\r
+        <agent:Institution id="1" uuid="urn-uuid-b116ad18-fede-416c-938a-f491764b5ca8">\r
+            <common:TitleCache>Institution Name</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+        </agent:Institution>\r
+        <agent:Person id="2" uuid="urn-uuid-28e67c60-ca40-41bb-aa1c-f713efd0f235">\r
+            <common:TitleCache>Collector's Name</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+        </agent:Person>\r
+    </Agents>\r
+    <Collections>\r
+        <occurrence:Collection id="1" uuid="urn-uuid-b8cd17ba-32ea-4201-85f1-63d31526ccdb">\r
+            <common:TitleCache>Collection Name</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <occurrence:Name>Collection Name</occurrence:Name>\r
+            <occurrence:Institution>urn-uuid-b116ad18-fede-416c-938a-f491764b5ca8</occurrence:Institution>\r
+        </occurrence:Collection>\r
+    </Collections>\r
+    <Occurrences>\r
+        <occurrence:Specimen id="1" uuid="urn-uuid-9f88eff9-355f-427e-838b-a543ac5c4176">\r
+            <common:TitleCache>Test Specimen</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <media:Media>\r
+              <media:Medium>urn-uuid-5d3161eb-d227-415f-ba2a-93b8c7ddb98a</media:Medium>\r
+            </media:Media>\r
+            <occurrence:Sex>urn-uuid-5a6efefb-181a-4d9d-984f-ff7d8a076562</occurrence:Sex>\r
+            <occurrence:Determinations>\r
+              <occurrence:Determination id="1" uuid="urn-uuid-e79940b4-e846-469d-aa22-43cb5ce15705">\r
+                <common:TimePeriod>\r
+                  <common:Start>2006-10-01</common:Start>\r
+                  <common:End>2006-10-01</common:End>\r
+                </common:TimePeriod>\r
+                <common:Actor>urn-uuid-28e67c60-ca40-41bb-aa1c-f713efd0f235</common:Actor>\r
+                <occurrence:IdentifiedUnit>urn-uuid-9f88eff9-355f-427e-838b-a543ac5c4176</occurrence:IdentifiedUnit>\r
+                <occurrence:Taxon>urn-uuid-dcf295c9-a5ec-4b03-8daa-a69741d1611c</occurrence:Taxon>\r
+                <occurrence:PreferredFlag>true</occurrence:PreferredFlag>\r
+              </occurrence:Determination>\r
+            </occurrence:Determinations>            \r
+            <occurrence:Collection>urn-uuid-b8cd17ba-32ea-4201-85f1-63d31526ccdb</occurrence:Collection>\r
+            <occurrence:CatalogNumber>1234</occurrence:CatalogNumber>\r
+            <occurrence:StoredUnder>urn-uuid-e7542758-5311-47b2-b4f8-bb770822ae40</occurrence:StoredUnder>\r
+            <occurrence:DerivedFrom>urn-uuid-a18f8610-0323-11de-87af-0800200c9a66</occurrence:DerivedFrom>\r
+        </occurrence:Specimen>\r
+        <occurrence:FieldObservation id="2" uuid="urn-uuid-4e8ba982-c79b-4f85-8aea-13d742e48187">\r
+            <common:TitleCache>Field Observation</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <occurrence:DerivationEvents>
+                <occurrence:DerivationEvent>urn-uuid-a18f8610-0323-11de-87af-0800200c9a66</occurrence:DerivationEvent> 
+            </occurrence:DerivationEvents>\r
+            <occurrence:FieldNumber>5678</occurrence:FieldNumber>\r
+            <occurrence:GatheringEvent>urn-uuid-cb525bcb-3736-4fda-91f1-13dceb64466c</occurrence:GatheringEvent>\r
+        </occurrence:FieldObservation>\r
+    </Occurrences>\r
+    <EventBases>\r
+      <occurrence:GatheringEvent id="1" uuid="urn-uuid-cb525bcb-3736-4fda-91f1-13dceb64466c">\r
+        <common:TimePeriod>\r
+          <common:Start>2006-09-01</common:Start>\r
+          <common:End>2006-09-01</common:End>\r
+        </common:TimePeriod>\r
+        <common:Actor>urn-uuid-28e67c60-ca40-41bb-aa1c-f713efd0f235</common:Actor>\r
+        <occurrence:Locality id="2" uuid="urn-uuid-b851b5d0-fdba-11dd-87af-0800200c9a66">\r
+          <common:Text>LocationText</common:Text>\r
+          <common:Language>urn-uuid-3d14c42f-f1a4-4e49-b287-7fbc63034dd5</common:Language>\r
+        </occurrence:Locality>\r
+      </occurrence:GatheringEvent>\r
+      <occurrence:DerivationEvent id="2" uuid="urn-uuid-a18f8610-0323-11de-87af-0800200c9a66">\r
+            <common:TimePeriod>\r
+                <common:Start>2006-09-01</common:Start>\r
+                <common:End>2006-09-01</common:End>\r
+            </common:TimePeriod>\r
+            <common:Actor>urn-uuid-28e67c60-ca40-41bb-aa1c-f713efd0f235</common:Actor>\r
+            <occurrence:Originals>\r
+                <occurrence:Original>urn-uuid-4e8ba982-c79b-4f85-8aea-13d742e48187</occurrence:Original>\r
+            </occurrence:Originals>\r
+            <occurrence:Derivatives>\r
+                <occurrence:Derivative>urn-uuid-9f88eff9-355f-427e-838b-a543ac5c4176</occurrence:Derivative>\r
+            </occurrence:Derivatives>\r
+        </occurrence:DerivationEvent>\r
+    </EventBases>    \r
+    <TaxonomicNames>\r
+        <name:ZoologicalName id="1" uuid="urn-uuid-e7542758-5311-47b2-b4f8-bb770822ae40" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+          <common:TitleCache>Aus aus L., 1758</common:TitleCache>\r
+          <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+          <name:ProtectedFullTitleCache>false</name:ProtectedFullTitleCache>\r
+          <name:NameCache>Aus aus</name:NameCache>\r
+          <name:AuthorshipCache>L., 1758</name:AuthorshipCache>\r
+          <name:ProtectedAuthorshipCache>false</name:ProtectedAuthorshipCache>\r
+          <name:ProtectedNameCache>false</name:ProtectedNameCache>  \r
+        </name:ZoologicalName>\r
+    </TaxonomicNames>\r
+    <TaxonBases>\r
+        <taxon:Taxon id="1" uuid="urn-uuid-dcf295c9-a5ec-4b03-8daa-a69741d1611c" isDoubtful="false">\r
+            <common:TitleCache>Aus aus L.</common:TitleCache>\r
+             <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <taxon:Name>urn-uuid-e7542758-5311-47b2-b4f8-bb770822ae40</taxon:Name>\r
+            <taxon:TaxonomicChildrenCount>0</taxon:TaxonomicChildrenCount>\r
+        </taxon:Taxon>\r
+    </TaxonBases>\r
+    <Media>\r
+        <media:Media id="0" uuid="urn-uuid-5d3161eb-d227-415f-ba2a-93b8c7ddb98a"/>\r
+    </Media>\r
+</DataSet>
\ No newline at end of file
diff --git a/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/TaxonNameTest.xml b/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/TaxonNameTest.xml
new file mode 100644 (file)
index 0000000..b74b395
--- /dev/null
@@ -0,0 +1,472 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<DataSet \r
+    xmlns="http://etaxonomy.eu/cdm/model/1.0"\r
+    xmlns:agent="http://etaxonomy.eu/cdm/model/agent/1.0"\r
+    xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0"\r
+    xmlns:location="http://etaxonomy.eu/cdm/model/location/1.0"\r
+    xmlns:name="http://etaxonomy.eu/cdm/model/name/1.0"\r
+    xmlns:occurrence="http://etaxonomy.eu/cdm/model/occurrence/1.0"\r
+    xmlns:reference="http://etaxonomy.eu/cdm/model/reference/1.0"\r
+    xmlns:description="http://etaxonomy.eu/cdm/model/description/1.0"\r
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+    xsi:schemaLocation="http://etaxonomy.eu/cdm/model/1.0\r
+                             ../../../../../../classes/schema/cdm/cdm.xsd">\r
+     <Terms>\r
+        <common:Language id="1" uuid="urn-uuid-2b056a30-fdc6-11dd-87af-0800200c9a66"/>\r
+        <name:TypeDesignationStatus id="1" uuid="urn-uuid-e7542758-5311-47b2-b4f8-bb770822ae40">\r
+            <common:Representations>\r
+              <common:Representation id="1" uuid="urn-uuid-f90974d0-fc2c-11dd-87af-0800200c9a66">\r
+                <common:Text>isotype</common:Text>\r
+                <common:Language>urn-uuid-2b056a30-fdc6-11dd-87af-0800200c9a66</common:Language>\r
+              </common:Representation>\r
+            </common:Representations> \r
+            <common:TermVocabulary>urn-uuid-601bb562-1a00-4e2d-92dd-53e0b5311c11</common:TermVocabulary>\r
+            <common:OrderIndex>1</common:OrderIndex>\r
+        </name:TypeDesignationStatus>\r
+        <name:Rank id="2" uuid="urn-uuid-5b636229-c702-4d1f-9624-533be66ede7d">\r
+             <common:Representations>\r
+              <common:Representation id="2" uuid="urn-uuid-c1e64060-fdc5-11dd-87af-0800200c9a66">\r
+                <common:Text>species</common:Text>\r
+                <common:Language>urn-uuid-2b056a30-fdc6-11dd-87af-0800200c9a66</common:Language>\r
+              </common:Representation>\r
+            </common:Representations> \r
+            <common:TermVocabulary>urn-uuid-7b16dcf8-f039-44cb-8eaf-9204339ca3de</common:TermVocabulary>\r
+            <common:OrderIndex>1</common:OrderIndex>\r
+        </name:Rank>\r
+        <name:Rank id="3" uuid="urn-uuid-41b86404-51ae-4d44-9080-6cdbdad208fd">\r
+            <common:Representations>\r
+              <common:Representation id="3" uuid="urn-uuid-664ac030-fdd1-11dd-87af-0800200c9a66">\r
+                <common:Text>genus</common:Text>\r
+                <common:Language>urn-uuid-2b056a30-fdc6-11dd-87af-0800200c9a66</common:Language>\r
+              </common:Representation>\r
+            </common:Representations>\r
+            <common:TermVocabulary>urn-uuid-7b16dcf8-f039-44cb-8eaf-9204339ca3de</common:TermVocabulary>\r
+            <common:OrderIndex>2</common:OrderIndex>\r
+        </name:Rank>\r
+        <name:Rank id="4" uuid="urn-uuid-fb1aed7b-0869-41d6-984c-6f8b531bfd55">\r
+            <common:Representations>\r
+              <common:Representation id="4" uuid="urn-uuid-6d718010-fdd1-11dd-87af-0800200c9a66">\r
+                <common:Text>cultivar</common:Text>\r
+                <common:Language>urn-uuid-2b056a30-fdc6-11dd-87af-0800200c9a66</common:Language>\r
+              </common:Representation>\r
+            </common:Representations>\r
+            <common:TermVocabulary>urn-uuid-7b16dcf8-f039-44cb-8eaf-9204339ca3de</common:TermVocabulary>\r
+            <common:OrderIndex>-1</common:OrderIndex>\r
+        </name:Rank>\r
+        <name:Rank id="5" uuid="urn-uuid-45e45112-5747-4d31-9a99-e11b50602309">\r
+            <common:Representations>\r
+              <common:Representation id="5" uuid="urn-uuid-3e71a4d0-fdc6-11dd-87af-0800200c9a66">\r
+                <common:Text>abberation</common:Text>\r
+                <common:Language>urn-uuid-2b056a30-fdc6-11dd-87af-0800200c9a66</common:Language>\r
+              </common:Representation>\r
+            </common:Representations>\r
+            <common:TermVocabulary>urn-uuid-7b16dcf8-f039-44cb-8eaf-9204339ca3de</common:TermVocabulary>\r
+            <common:OrderIndex>-2</common:OrderIndex>\r
+        </name:Rank>\r
+        <name:NameRelationshipType id="6" uuid="urn-uuid-11f0481d-e7e8-4fbd-9873-98ae245b8ce1">\r
+            <common:Representations>\r
+              <common:Representation id="6" uuid="urn-uuid-5b1b4a50-fdc6-11dd-87af-0800200c9a66">\r
+                <common:Text>Later Homonym Of</common:Text>\r
+                <common:Language>urn-uuid-2b056a30-fdc6-11dd-87af-0800200c9a66</common:Language>\r
+              </common:Representation>\r
+            </common:Representations>\r
+            <common:TermVocabulary>urn-uuid-51d01767-eab0-4a54-a97a-bce9ba9b24be</common:TermVocabulary>\r
+            <common:OrderIndex>1</common:OrderIndex>\r
+            <common:Symmetric>true</common:Symmetric>\r
+            <common:Transitive>false</common:Transitive>\r
+        </name:NameRelationshipType>\r
+        <name:NameRelationshipType id="7" uuid="urn-uuid-25792738-98de-4762-bac1-8c156faded4a">\r
+            <common:Representations>\r
+              <common:Representation id="7" uuid="urn-uuid-9bc6c570-fdc6-11dd-87af-0800200c9a66">\r
+                <common:Text>Basionym</common:Text>\r
+                <common:Language>urn-uuid-2b056a30-fdc6-11dd-87af-0800200c9a66</common:Language>\r
+              </common:Representation>\r
+            </common:Representations>
+            <common:TermVocabulary>urn-uuid-51d01767-eab0-4a54-a97a-bce9ba9b24be</common:TermVocabulary>\r
+            <common:OrderIndex>2</common:OrderIndex>\r
+            <common:Symmetric>true</common:Symmetric>\r
+            <common:Transitive>false</common:Transitive>
+        </name:NameRelationshipType>\r
+        <name:NameRelationshipType id="8" uuid="urn-uuid-3e094060-9139-11dd-ad8b-0800200c9a66">\r
+            <common:Representations>\r
+              <common:Representation id="8" uuid="urn-uuid-bc052a70-fdc6-11dd-87af-0800200c9a66">\r
+                <common:Text>New Combination</common:Text>\r
+                <common:Language>urn-uuid-2b056a30-fdc6-11dd-87af-0800200c9a66</common:Language>\r
+              </common:Representation>\r
+            </common:Representations>
+            <common:TermVocabulary>urn-uuid-51d01767-eab0-4a54-a97a-bce9ba9b24be</common:TermVocabulary>\r
+            <common:OrderIndex>3</common:OrderIndex>\r
+            <common:Symmetric>true</common:Symmetric>\r
+            <common:Transitive>false</common:Transitive>
+        </name:NameRelationshipType>\r
+    </Terms>\r
+    <TermVocabularies>\r
+        <common:OrderedTermVocabulary id="1" uuid="urn-uuid-601bb562-1a00-4e2d-92dd-53e0b5311c11">\r
+            <common:TermSourceURI>http://rs.tdwg.org/ontology/voc/TaxonName#NomencalturalTypeTypeTerm</common:TermSourceURI>\r
+            <common:Terms>\r
+                <common:Term>urn-uuid-e7542758-5311-47b2-b4f8-bb770822ae40</common:Term>\r
+            </common:Terms>\r
+        </common:OrderedTermVocabulary>\r
+        <common:OrderedTermVocabulary id="2" uuid="urn-uuid-7b16dcf8-f039-44cb-8eaf-9204339ca3de">\r
+            <common:TermSourceURI>http://rs.tdwg.org/ontology/voc/TaxonRank#TaxonRankTerm</common:TermSourceURI>            \r
+            <common:Terms>\r
+                <common:Term>urn-uuid-5b636229-c702-4d1f-9624-533be66ede7d</common:Term>\r
+                <common:Term>urn-uuid-41b86404-51ae-4d44-9080-6cdbdad208fd</common:Term>\r
+                <common:Term>urn-uuid-fb1aed7b-0869-41d6-984c-6f8b531bfd55</common:Term>\r
+                <common:Term>urn-uuid-45e45112-5747-4d31-9a99-e11b50602309</common:Term>\r
+            </common:Terms>\r
+        </common:OrderedTermVocabulary>\r
+        <common:OrderedTermVocabulary id="3" uuid="urn-uuid-51d01767-eab0-4a54-a97a-bce9ba9b24be">\r
+            <common:TermSourceURI>http://rs.tdwg.org/ontology/voc/TaxonName.rdf#NomenclaturalNoteTypeTerm</common:TermSourceURI>\r
+            <common:Terms>\r
+                <common:Term>urn-uuid-11f0481d-e7e8-4fbd-9873-98ae245b8ce1</common:Term>\r
+                <common:Term>urn-uuid-25792738-98de-4762-bac1-8c156faded4a</common:Term>\r
+                <common:Term>urn-uuid-3e094060-9139-11dd-ad8b-0800200c9a66</common:Term>\r
+            </common:Terms>\r
+        </common:OrderedTermVocabulary>\r
+    </TermVocabularies>\r
+    <Agents>\r
+        <agent:Institution id="1" uuid="urn-uuid-5a6efefb-181a-4d9d-984f-ff7d8a076562">\r
+            <common:TitleCache>Kew</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <agent:Name>Royal Botanical Gardens, Kew</agent:Name>\r
+        </agent:Institution>\r
+        <agent:Person id="2" uuid="urn-uuid-5d3161eb-d227-415f-ba2a-93b8c7ddb98a">\r
+            <common:TitleCache>Linnaeus</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+        </agent:Person>\r
+        <agent:Person id="3" uuid="urn-uuid-28e67c60-ca40-41bb-aa1c-f713efd0f235">\r
+            <common:TitleCache>Schott</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <agent:FirstName>Heinrich Wilhelm</agent:FirstName>\r
+            <agent:LastName>Schott</agent:LastName>\r
+            <agent:Lifespan>\r
+                <common:Start>1794-01-07</common:Start>\r
+                <common:End>1865-03-05</common:End>\r
+            </agent:Lifespan>\r
+        </agent:Person>\r
+        <agent:Person id="4" uuid="urn-uuid-dcf295c9-a5ec-4b03-8daa-a69741d1611c">\r
+            <common:TitleCache>Laspeyres</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+        </agent:Person>\r
+        <agent:Person id="5" uuid="urn-uuid-b8cd17ba-32ea-4201-85f1-63d31526ccdb">\r
+            <common:TitleCache>Tutt</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <agent:FirstName>James William</agent:FirstName>\r
+            <agent:LastName>Tutt</agent:LastName>\r
+        </agent:Person>\r
+        <agent:Team id="6" uuid="urn-uuid-cb525bcb-3736-4fda-91f1-13dceb64466c">\r
+            <common:TitleCache>Kitching &amp; Cadiou</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <agent:ProtectedNomenclaturalTitleCache>false</agent:ProtectedNomenclaturalTitleCache>\r
+            <agent:TeamMembers>\r
+                <agent:TeamMember>urn-uuid-4e8ba982-c79b-4f85-8aea-13d742e48187</agent:TeamMember>\r
+                <agent:TeamMember>urn-uuid-b116ad18-fede-416c-938a-f491764b5ca8</agent:TeamMember>\r
+            </agent:TeamMembers>\r
+        </agent:Team>\r
+        <agent:Person id="7" uuid="urn-uuid-4e8ba982-c79b-4f85-8aea-13d742e48187">\r
+            <common:TitleCache>Kitching</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <agent:FirstName>Ian J.</agent:FirstName>\r
+            <agent:LastName>Kitching</agent:LastName>\r
+        </agent:Person>\r
+        <agent:Person id="8" uuid="urn-uuid-b116ad18-fede-416c-938a-f491764b5ca8">\r
+            <common:TitleCache>Cadiou</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <agent:FirstName>Jean-Marie</agent:FirstName>\r
+            <agent:LastName>Cadiou</agent:LastName>\r
+        </agent:Person>\r
+    </Agents>\r
+    <Collections>\r
+        <occurrence:Collection id="1" uuid="urn-uuid-3345de2b-02f7-4927-9fe2-4d094449b09c">\r
+            <common:TitleCache>Kew Herbarium</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <occurrence:Name>Kew Herbarium</occurrence:Name>\r
+            <occurrence:Institution>urn-uuid-5a6efefb-181a-4d9d-984f-ff7d8a076562</occurrence:Institution>\r
+        </occurrence:Collection>\r
+    </Collections>\r
+    <Occurrences>\r
+        <occurrence:Specimen id="1" uuid="urn-uuid-9f88eff9-355f-427e-838b-a543ac5c4176">\r
+            <common:TitleCache>K000400332</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <occurrence:Collection>urn-uuid-3345de2b-02f7-4927-9fe2-4d094449b09c</occurrence:Collection>\r
+            <occurrence:CatalogNumber>K000400332</occurrence:CatalogNumber>\r
+            <occurrence:StoredUnder>urn-uuid-ff5d2897-51e1-4352-a23d-678b7d9026bf</occurrence:StoredUnder>\r
+        </occurrence:Specimen>\r
+    </Occurrences>\r
+    <References>\r
+        <reference:Book id="1" uuid="urn-uuid-ea590de1-cb10-400e-8b0d-f7aa4b47cea9" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+            <common:TitleCache>Linnaeus, 1758</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <reference:IsNomenclaturallyRelevant>true</reference:IsNomenclaturallyRelevant>\r
+            <reference:AuthorTeam>urn-uuid-5d3161eb-d227-415f-ba2a-93b8c7ddb98a</reference:AuthorTeam>\r
+            <reference:Title>Syst. Nat. (Edn 10)</reference:Title>\r
+            <reference:DatePublished>\r
+                <common:Start>1758</common:Start>\r
+                <common:End>1758</common:End>\r
+            </reference:DatePublished>\r
+            <reference:Volume>1</reference:Volume>\r
+            <reference:Pages>490</reference:Pages>\r
+        </reference:Book>\r
+        <reference:Book id="2" uuid="urn-uuid-31e92efd-9a28-4c1b-9d74-4aaaf34e4c9e" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+            <common:TitleCache>Linnaeus, 1753</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <reference:IsNomenclaturallyRelevant>true</reference:IsNomenclaturallyRelevant>\r
+            <reference:AuthorTeam>urn-uuid-5d3161eb-d227-415f-ba2a-93b8c7ddb98a</reference:AuthorTeam>\r
+            <reference:Title>Species Plantarum</reference:Title>\r
+            <reference:DatePublished>\r
+                <common:Start>1753</common:Start>\r
+                <common:End>1753</common:End>\r
+            </reference:DatePublished>\r
+            <reference:Volume>1</reference:Volume>\r
+        </reference:Book>\r
+        <reference:Book id="3" uuid="urn-uuid-8528d6ad-b246-4a3b-b30b-cfb8549476c7" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+            <common:TitleCache>Schott, 1856</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <reference:IsNomenclaturallyRelevant>true</reference:IsNomenclaturallyRelevant>\r
+            <reference:AuthorTeam>urn-uuid-28e67c60-ca40-41bb-aa1c-f713efd0f235</reference:AuthorTeam>\r
+            <reference:Title>Synopsis aroidearum complectens enumerationem sytematicam generum et ...</reference:Title>\r
+            <reference:DatePublished>\r
+                <common:Start>1856</common:Start>\r
+                <common:End>1856</common:End>\r
+            </reference:DatePublished>\r
+            <reference:Pages>140</reference:Pages>\r
+        </reference:Book>\r
+        <reference:Book id="4" uuid="urn-uuid-c454e96e-16b9-4b79-9192-2604707d9042" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+            <common:TitleCache>Tutt, 1904</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <reference:IsNomenclaturallyRelevant>true</reference:IsNomenclaturallyRelevant>\r
+            <reference:AuthorTeam>urn-uuid-b8cd17ba-32ea-4201-85f1-63d31526ccdb</reference:AuthorTeam>\r
+            <reference:Title>A Natural History of the British Lepidoptera</reference:Title>\r
+            <reference:DatePublished>\r
+                <common:Start>1904</common:Start>\r
+                <common:End>1904</common:End>\r
+            </reference:DatePublished>\r
+            <reference:Publisher>Friedländer &amp; sohn</reference:Publisher>\r
+        </reference:Book>\r
+        <reference:Book id="5" uuid="urn-uuid-db5d02b5-e6f2-4376-ab02-6e67fc8f8ff1" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+            <common:TitleCache>Kitching &amp; Cadiou, 2000</common:TitleCache>\r
+            <common:ProtectedTitleCache>true</common:ProtectedTitleCache>\r
+            <reference:IsNomenclaturallyRelevant>true</reference:IsNomenclaturallyRelevant>\r
+            <reference:AuthorTeam>urn-uuid-cb525bcb-3736-4fda-91f1-13dceb64466c</reference:AuthorTeam>\r
+            <reference:Title>Hawkmoths of the World: An Annotated and Illustrated Revisionary Checklist</reference:Title>\r
+            <reference:DatePublished>\r
+                <common:Start>2000</common:Start>\r
+                <common:End>2000</common:End>\r
+            </reference:DatePublished>\r
+            <reference:Publisher>Cornell University Press</reference:Publisher>\r
+            <reference:Pages>256</reference:Pages>\r
+            <reference:ISBN>0801437342</reference:ISBN>\r
+        </reference:Book>\r
+    </References>\r
+    <TypeDesignations>\r
+        <name:SpecimenTypeDesignation id="1" uuid="urn-uuid-0fdae5a6-9fad-435f-846a-8ea492938375">\r
+            <common:OriginalNameString>Arum gratum</common:OriginalNameString>\r
+            <common:Citation>urn-uuid-8528d6ad-b246-4a3b-b30b-cfb8549476c7</common:Citation>\r
+            <name:TypifiedNames>\r
+              <name:TypifiedName>urn-uuid-ff5d2897-51e1-4352-a23d-678b7d9026bf</name:TypifiedName>\r
+            </name:TypifiedNames>\r
+            <name:IsNotDesignated>false</name:IsNotDesignated>\r
+            <name:TypeSpecimen>urn-uuid-9f88eff9-355f-427e-838b-a543ac5c4176</name:TypeSpecimen>\r
+            <name:TypeStatus>urn-uuid-e7542758-5311-47b2-b4f8-bb770822ae40</name:TypeStatus>\r
+        </name:SpecimenTypeDesignation>\r
+        <name:NameTypeDesignation id="2" uuid="urn-uuid-8db5df84-fca4-4e8f-aed2-4b349dfa31d7">\r
+            <common:OriginalNameString></common:OriginalNameString>\r
+            <common:Citation>urn-uuid-ea590de1-cb10-400e-8b0d-f7aa4b47cea9</common:Citation>\r
+            <name:TypifiedNames>\r
+              <name:TypifiedName>urn-uuid-d399030c-906f-437c-90d2-3f5c89d87376</name:TypifiedName>\r
+            </name:TypifiedNames>\r
+            <name:IsNotDesignated>false</name:IsNotDesignated>\r
+            <name:IsRejectedType>false</name:IsRejectedType>\r
+            <name:IsConservedType>false</name:IsConservedType>\r
+            <name:IsLectoType>false</name:IsLectoType>\r
+            <name:TypeName>urn-uuid-75664369-645b-46cd-b133-493cbcd27cb5</name:TypeName>\r
+        </name:NameTypeDesignation>\r
+        <name:NameTypeDesignation id="3" uuid="urn-uuid-b6a88f54-c8dd-41ea-91e6-ed459494f8fd">\r
+            <common:OriginalNameString>Sphinx atropos</common:OriginalNameString>\r
+            <common:Citation>urn-uuid-ea590de1-cb10-400e-8b0d-f7aa4b47cea9</common:Citation>\r
+            <name:TypifiedNames>\r
+              <name:TypifiedName>urn-uuid-51ab21d1-d65b-4fb0-9814-98bd411df231</name:TypifiedName>\r
+            </name:TypifiedNames>\r
+            <name:IsNotDesignated>false</name:IsNotDesignated>\r
+            <name:IsRejectedType>false</name:IsRejectedType>\r
+            <name:IsConservedType>false</name:IsConservedType>\r
+            <name:IsLectoType>false</name:IsLectoType>\r
+            <name:TypeName>urn-uuid-75664369-645b-46cd-b133-493cbcd27cb5</name:TypeName>\r
+        </name:NameTypeDesignation>\r
+    </TypeDesignations>\r
+    <TaxonomicNames>\r
+        <name:BotanicalName id="1" uuid="urn-uuid-ff5d2897-51e1-4352-a23d-678b7d9026bf" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+            <common:TitleCache>Arum gratum Schott</common:TitleCache>\r
+            <common:ProtectedTitleCache>true</common:ProtectedTitleCache>\r
+            <name:NomenclaturalReference>urn-uuid-8528d6ad-b246-4a3b-b30b-cfb8549476c7</name:NomenclaturalReference>\r
+            <name:Rank>urn-uuid-5b636229-c702-4d1f-9624-533be66ede7d</name:Rank>\r
+            <name:ProtectedFullTitleCache>false</name:ProtectedFullTitleCache>\r
+            <name:TypeDesignations>\r
+                <name:TypeDesignation>urn-uuid-0fdae5a6-9fad-435f-846a-8ea492938375</name:TypeDesignation>\r
+            </name:TypeDesignations>\r
+            <name:NameCache>Arum gratum</name:NameCache>\r
+            <name:GenusOrUninomial>Arum</name:GenusOrUninomial>\r
+            <name:SpecificEpithet>gratum</name:SpecificEpithet>\r
+            <name:AuthorshipCache>Schott</name:AuthorshipCache>\r
+            <name:ProtectedAuthorshipCache>false</name:ProtectedAuthorshipCache>\r
+            <name:ProtectedNameCache>false</name:ProtectedNameCache>\r
+            <name:IsHybridFormula>false</name:IsHybridFormula>\r
+            <name:IsMonomHybrid>false</name:IsMonomHybrid>\r
+            <name:IsBinomHybrid>false</name:IsBinomHybrid>\r
+            <name:IsTrinomHybrid>false</name:IsTrinomHybrid>\r
+            <name:IsAnamorphic>false</name:IsAnamorphic>\r
+        </name:BotanicalName>\r
+        <name:BotanicalName id="2" uuid="urn-uuid-3f319209-33ea-415d-a333-adc984125fee" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+            <common:TitleCache>Arum italicum Mill.</common:TitleCache>\r
+            <common:ProtectedTitleCache>true</common:ProtectedTitleCache>\r
+            <name:Rank>urn-uuid-5b636229-c702-4d1f-9624-533be66ede7d</name:Rank>\r
+            <name:ProtectedFullTitleCache>false</name:ProtectedFullTitleCache>\r
+            <name:NameCache>Arum italicum</name:NameCache>\r
+            <name:GenusOrUninomial>Arum-L.-1753</name:GenusOrUninomial>\r
+            <name:SpecificEpithet>italicum</name:SpecificEpithet>\r
+            <name:AuthorshipCache>Mill.</name:AuthorshipCache>\r
+            <name:ProtectedAuthorshipCache>false</name:ProtectedAuthorshipCache>\r
+            <name:ProtectedNameCache>false</name:ProtectedNameCache>\r
+            <name:IsHybridFormula>false</name:IsHybridFormula>\r
+            <name:IsMonomHybrid>false</name:IsMonomHybrid>\r
+            <name:IsBinomHybrid>false</name:IsBinomHybrid>\r
+            <name:IsTrinomHybrid>false</name:IsTrinomHybrid>\r
+            <name:IsAnamorphic>false</name:IsAnamorphic>\r
+        </name:BotanicalName>\r
+        <name:BotanicalName id="3" uuid="urn-uuid-580bd9da-6799-4ef5-8711-d22e7ea7c073" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+            <common:TitleCache>Arum L.</common:TitleCache>\r
+            <common:ProtectedTitleCache>true</common:ProtectedTitleCache>\r
+            <name:NomenclaturalReference>urn-uuid-31e92efd-9a28-4c1b-9d74-4aaaf34e4c9e</name:NomenclaturalReference>\r
+            <name:Rank>urn-uuid-41b86404-51ae-4d44-9080-6cdbdad208fd</name:Rank>\r
+            <name:ProtectedFullTitleCache>false</name:ProtectedFullTitleCache>\r
+            <name:NameCache>Arum</name:NameCache>\r
+            <name:GenusOrUninomial>Arum</name:GenusOrUninomial>\r
+            <name:AuthorshipCache>L.</name:AuthorshipCache>\r
+            <name:ProtectedAuthorshipCache>false</name:ProtectedAuthorshipCache>\r
+            <name:ProtectedNameCache>false</name:ProtectedNameCache>\r
+            <name:IsHybridFormula>false</name:IsHybridFormula>\r
+            <name:IsMonomHybrid>false</name:IsMonomHybrid>\r
+            <name:IsBinomHybrid>false</name:IsBinomHybrid>\r
+            <name:IsTrinomHybrid>false</name:IsTrinomHybrid>\r
+            <name:IsAnamorphic>false</name:IsAnamorphic>\r
+        </name:BotanicalName>        \r
+        <name:CultivarPlantName id="4" uuid="urn-uuid-35ff446c-0ec9-4c2f-af0b-a87426b03da7" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+            <common:TitleCache>Arum italicum marmoratum Mill.</common:TitleCache>\r
+            <common:ProtectedTitleCache>true</common:ProtectedTitleCache>\r
+            <name:Rank>urn-uuid-fb1aed7b-0869-41d6-984c-6f8b531bfd55</name:Rank>\r
+            <name:ProtectedFullTitleCache>false</name:ProtectedFullTitleCache>\r
+            <name:NameCache>Arum italicum marmoratum</name:NameCache>\r
+            <name:GenusOrUninomial>Arum</name:GenusOrUninomial>\r
+            <name:SpecificEpithet>italicum</name:SpecificEpithet>\r
+            <name:AuthorshipCache>Mill.</name:AuthorshipCache>\r
+            <name:ProtectedAuthorshipCache>false</name:ProtectedAuthorshipCache>\r
+            <name:ProtectedNameCache>false</name:ProtectedNameCache>\r
+            <name:IsHybridFormula>false</name:IsHybridFormula>\r
+            <name:IsMonomHybrid>false</name:IsMonomHybrid>\r
+            <name:IsBinomHybrid>false</name:IsBinomHybrid>\r
+            <name:IsTrinomHybrid>false</name:IsTrinomHybrid>\r
+            <name:IsAnamorphic>false</name:IsAnamorphic>\r
+            <name:CultivarName>marmoratum</name:CultivarName>\r
+        </name:CultivarPlantName>\r
+        <name:ZoologicalName id="5" uuid="urn-uuid-d399030c-906f-437c-90d2-3f5c89d87376" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+            <common:TitleCache>Sphinx Linnaeus, 1758</common:TitleCache>\r
+            <common:ProtectedTitleCache>true</common:ProtectedTitleCache>\r
+            <name:NomenclaturalReference>urn-uuid-ea590de1-cb10-400e-8b0d-f7aa4b47cea9</name:NomenclaturalReference>\r
+            <name:Rank>urn-uuid-41b86404-51ae-4d44-9080-6cdbdad208fd</name:Rank>\r
+            <name:ProtectedFullTitleCache>false</name:ProtectedFullTitleCache>\r
+            <name:TypeDesignations>\r
+                <name:TypeDesignation>urn-uuid-8db5df84-fca4-4e8f-aed2-4b349dfa31d7</name:TypeDesignation>\r
+            </name:TypeDesignations>\r
+            <name:NameCache>Sphinx</name:NameCache>\r
+            <name:GenusOrUninomial>Sphinx</name:GenusOrUninomial>\r
+            <name:AuthorshipCache>Linnaeus, 1758</name:AuthorshipCache>\r
+            <name:ProtectedAuthorshipCache>false</name:ProtectedAuthorshipCache>\r
+            <name:ProtectedNameCache>false</name:ProtectedNameCache>\r
+        </name:ZoologicalName>\r
+        <name:ZoologicalName id="6" uuid="urn-uuid-51ab21d1-d65b-4fb0-9814-98bd411df231" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+            <common:TitleCache>Acherontia Laspeyres, 1809</common:TitleCache>\r
+            <common:ProtectedTitleCache>true</common:ProtectedTitleCache>\r
+            <name:Rank>urn-uuid-41b86404-51ae-4d44-9080-6cdbdad208fd</name:Rank>\r
+            <name:ProtectedFullTitleCache>false</name:ProtectedFullTitleCache>\r
+            <name:TypeDesignations>\r
+                <name:TypeDesignation>urn-uuid-b6a88f54-c8dd-41ea-91e6-ed459494f8fd</name:TypeDesignation>\r
+            </name:TypeDesignations>\r
+            <name:NameCache>Acherontia</name:NameCache>\r
+            <name:GenusOrUninomial>Acherontia</name:GenusOrUninomial>\r
+            <name:AuthorshipCache>Laspeyres, 1809</name:AuthorshipCache>\r
+            <name:ProtectedAuthorshipCache>false</name:ProtectedAuthorshipCache>\r
+            <name:ProtectedNameCache>false</name:ProtectedNameCache>\r
+        </name:ZoologicalName>\r
+        <name:ZoologicalName id="7" uuid="urn-uuid-75664369-645b-46cd-b133-493cbcd27cb5" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+            <common:TitleCache>Sphinx atropos Linnaeus, 1758</common:TitleCache>\r
+            <common:ProtectedTitleCache>true</common:ProtectedTitleCache>\r
+            <name:Rank>urn-uuid-5b636229-c702-4d1f-9624-533be66ede7d</name:Rank>\r
+            <name:ProtectedFullTitleCache>false</name:ProtectedFullTitleCache>\r
+            <name:RelationsFromThisName>
+                <name:RelationFromThisName id="1" uuid="urn-uuid-15456240-fdcb-11dd-87af-0800200c9a66" isDoubtful="false">
+                    <name:RelatedFrom>urn-uuid-75664369-645b-46cd-b133-493cbcd27cb5</name:RelatedFrom>\r
+                    <name:RelatedTo>urn-uuid-b47e0874-1701-435f-a8f1-cadc25b99efb</name:RelatedTo>\r
+                    <name:Type>urn-uuid-3e094060-9139-11dd-ad8b-0800200c9a66</name:Type>
+                </name:RelationFromThisName>
+            </name:RelationsFromThisName>\r
+            <name:RelationsToThisName>\r
+              <name:RelationToThisName>urn-uuid-21e3ab60-fdcb-11dd-87af-0800200c9a66</name:RelationToThisName>\r
+            </name:RelationsToThisName>\r
+            <name:NameCache>Sphinx atropos</name:NameCache>\r
+            <name:GenusOrUninomial>Sphinx</name:GenusOrUninomial>\r
+            <name:SpecificEpithet>atropos</name:SpecificEpithet>\r
+            <name:AuthorshipCache>Linnaeus, 1758</name:AuthorshipCache>\r
+            <name:ProtectedAuthorshipCache>false</name:ProtectedAuthorshipCache>\r
+            <name:ProtectedNameCache>false</name:ProtectedNameCache>\r
+        </name:ZoologicalName>\r
+        <name:ZoologicalName id="8" uuid="urn-uuid-b47e0874-1701-435f-a8f1-cadc25b99efb" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+            <common:TitleCache>Acherontia atropos (Linnaeus, 1758)</common:TitleCache>\r
+            <common:ProtectedTitleCache>true</common:ProtectedTitleCache>\r
+            <name:Rank>urn-uuid-5b636229-c702-4d1f-9624-533be66ede7d</name:Rank>\r
+            <name:ProtectedFullTitleCache>false</name:ProtectedFullTitleCache>\r
+            <name:RelationsFromThisName>
+                <name:RelationFromThisName id="2" uuid="urn-uuid-21e3ab60-fdcb-11dd-87af-0800200c9a66" isDoubtful="false">\r
+                    <name:RelatedFrom>urn-uuid-b47e0874-1701-435f-a8f1-cadc25b99efb</name:RelatedFrom>
+                    <name:RelatedTo>urn-uuid-75664369-645b-46cd-b133-493cbcd27cb5</name:RelatedTo>\r
+                    <name:Type>urn-uuid-25792738-98de-4762-bac1-8c156faded4a</name:Type>
+                </name:RelationFromThisName>
+            </name:RelationsFromThisName>\r
+            <name:RelationsToThisName>\r
+              <name:RelationToThisName>urn-uuid-15456240-fdcb-11dd-87af-0800200c9a66</name:RelationToThisName>\r
+              <name:RelationToThisName>urn-uuid-2e0ee760-fdcb-11dd-87af-0800200c9a66</name:RelationToThisName>\r
+            </name:RelationsToThisName>\r
+            <name:NameCache>Acherontia atropos</name:NameCache>  \r
+            <name:GenusOrUninomial>Acherontia</name:GenusOrUninomial>\r
+            <name:SpecificEpithet>atropos</name:SpecificEpithet>\r
+            <name:CombinationAuthorTeam>urn-uuid-dcf295c9-a5ec-4b03-8daa-a69741d1611c</name:CombinationAuthorTeam>\r
+            <name:AuthorshipCache>(Linnaeus, 1758)</name:AuthorshipCache>\r
+            <name:ProtectedAuthorshipCache>false</name:ProtectedAuthorshipCache>\r
+            <name:ProtectedNameCache>false</name:ProtectedNameCache>\r
+        </name:ZoologicalName>\r
+        <name:ZoologicalName id="9" uuid="urn-uuid-37c1b483-582a-478c-acb0-a49bbc4417e5" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+            <common:TitleCache>Acherontia atropos ab extensa Tutt, 1904</common:TitleCache>\r
+            <common:ProtectedTitleCache>true</common:ProtectedTitleCache>\r
+            <name:NomenclaturalMicroReference>pl. II</name:NomenclaturalMicroReference>\r
+            <name:NomenclaturalReference>urn-uuid-c454e96e-16b9-4b79-9192-2604707d9042</name:NomenclaturalReference>\r
+            <name:Rank>urn-uuid-45e45112-5747-4d31-9a99-e11b50602309</name:Rank>\r
+            <name:ProtectedFullTitleCache>false</name:ProtectedFullTitleCache>\r
+            <name:RelationsFromThisName>\r
+                <name:RelationFromThisName id="3" uuid="urn-uuid-2e0ee760-fdcb-11dd-87af-0800200c9a66" isDoubtful="false">\r
+                    <common:OriginalNameString></common:OriginalNameString>\r
+                    <common:Citation>urn-uuid-db5d02b5-e6f2-4376-ab02-6e67fc8f8ff1</common:Citation>\r
+                    <name:RelatedFrom>urn-uuid-37c1b483-582a-478c-acb0-a49bbc4417e5</name:RelatedFrom>\r
+                    <name:RelatedTo>urn-uuid-b47e0874-1701-435f-a8f1-cadc25b99efb</name:RelatedTo>\r
+                    <name:Type>urn-uuid-11f0481d-e7e8-4fbd-9873-98ae245b8ce1</name:Type>\r
+                </name:RelationFromThisName>\r
+            </name:RelationsFromThisName>\r
+            <name:NameCache>Acherontia atropos extensa</name:NameCache>\r
+            <name:GenusOrUninomial>Acherontia</name:GenusOrUninomial>\r
+            <name:SpecificEpithet>atropos</name:SpecificEpithet>\r
+            <name:InfraSpecificEpithet>extensa</name:InfraSpecificEpithet>\r
+            <name:AuthorshipCache>Tutt, 1904</name:AuthorshipCache>\r
+            <name:ProtectedAuthorshipCache>false</name:ProtectedAuthorshipCache>\r
+            <name:ProtectedNameCache>false</name:ProtectedNameCache>\r
+        </name:ZoologicalName>\r
+      </TaxonomicNames>\r
+</DataSet>
\ No newline at end of file
diff --git a/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/TaxonTest.xml b/cdmlib-io/src/test/resources/eu/etaxonomy/cdm/io/jaxb/TaxonTest.xml
new file mode 100644 (file)
index 0000000..407e475
--- /dev/null
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<DataSet \r
+    xmlns="http://etaxonomy.eu/cdm/model/1.0"\r
+    xmlns:agent="http://etaxonomy.eu/cdm/model/agent/1.0"\r
+    xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0"\r
+    xmlns:location="http://etaxonomy.eu/cdm/model/location/1.0"\r
+    xmlns:taxon="http://etaxonomy.eu/cdm/model/taxon/1.0"\r
+    xmlns:name="http://etaxonomy.eu/cdm/model/name/1.0"\r
+    xmlns:occurrence="http://etaxonomy.eu/cdm/model/occurrence/1.0"\r
+    xmlns:reference="http://etaxonomy.eu/cdm/model/reference/1.0"\r
+    xmlns:description="http://etaxonomy.eu/cdm/model/description/1.0"\r
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+    xsi:schemaLocation="http://etaxonomy.eu/cdm/model/1.0\r
+                             ../../../../../../classes/schema/cdm/cdm.xsd">\r
+    <Terms>\r
+        <common:Language id="1" uuid="urn-uuid-3d14c42f-f1a4-4e49-b287-7fbc63034dd5"/>\r
+        <taxon:TaxonRelationshipType id="2" uuid="urn-uuid-5c9fe670-1678-4f29-8bf6-5ac96d1a6bee">      \r
+            <common:Representations>\r
+              <common:Representation id="1" uuid="urn-uuid-f90974d0-fc2c-11dd-87af-0800200c9a66">\r
+                <common:Text>is parent taxon of</common:Text>\r
+                <common:Language>urn-uuid-3d14c42f-f1a4-4e49-b287-7fbc63034dd5</common:Language>\r
+              </common:Representation>\r
+            </common:Representations> \r
+            <common:TermVocabulary>urn-uuid-605e1c0c-2c23-4a78-acc3-fa114b25871c</common:TermVocabulary>\r
+            <common:OrderIndex>1</common:OrderIndex>\r
+            <common:Symmetric>true</common:Symmetric>\r
+            <common:Transitive>false</common:Transitive>\r
+        </taxon:TaxonRelationshipType>\r
+    </Terms>\r
+    <TermVocabularies>\r
+        <common:TermVocabulary id="1" uuid="urn-uuid-605e1c0c-2c23-4a78-acc3-fa114b25871c">\r
+            <common:TermSourceURI>http://rs.tdwg.org/ontology/voc/TaxonConcept#TaxonRelationshipTerm</common:TermSourceURI>\r
+            <common:Terms>\r
+                <common:Term>urn-uuid-5c9fe670-1678-4f29-8bf6-5ac96d1a6bee</common:Term>\r
+            </common:Terms>\r
+        </common:TermVocabulary>\r
+    </TermVocabularies>\r
+    <Agents>\r
+        <agent:Person id="1" uuid="urn-uuid-73b1c67a-b61a-4e6a-96fc-b6568c08542f">\r
+            <common:TitleCache>Laspeyres</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+        </agent:Person>\r
+    </Agents>\r
+    <References>\r
+        <reference:Generic id="1" uuid="urn-uuid-2106b156-1336-4912-a709-54c180b61e5f" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+            <common:TitleCache>Laspeyres, 1809</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <reference:IsNomenclaturallyRelevant>true</reference:IsNomenclaturallyRelevant>\r
+            <reference:AuthorTeam>urn-uuid-73b1c67a-b61a-4e6a-96fc-b6568c08542f</reference:AuthorTeam>\r
+            <reference:Title>Jena. allg. Lit.-Ztg</reference:Title>\r
+            <reference:DatePublished>\r
+                <common:Start>1809</common:Start>\r
+                <common:End>1809</common:End>\r
+            </reference:DatePublished>\r
+        </reference:Generic>\r
+    </References>\r
+    <TaxonomicNames>\r
+        <name:ZoologicalName id="1" uuid="urn-uuid-5cd1a686-d647-49ed-8c4b-501134b5eb66" hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+          <common:TitleCache>Acherontia Laspeyres, 1809</common:TitleCache>\r
+          <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+          <name:ProtectedFullTitleCache>false</name:ProtectedFullTitleCache>\r
+          <name:NameCache>Acherontia</name:NameCache>\r
+          <name:AuthorshipCache>Laspeyres, 1809</name:AuthorshipCache>\r
+          <name:ProtectedAuthorshipCache>false</name:ProtectedAuthorshipCache>\r
+          <name:ProtectedNameCache>false</name:ProtectedNameCache>                  \r
+        </name:ZoologicalName>\r
+        <name:ZoologicalName id="2" uuid="urn-uuid-b1e3894b-4339-44f8-8ee6-d1828a8857be"  hasProblem="false" problemStarts="-1" problemEnds="-1">\r
+          <common:TitleCache>Acherontia atropos (Linnaeus, 1758)</common:TitleCache>\r
+          <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+          <name:ProtectedFullTitleCache>false</name:ProtectedFullTitleCache>\r
+          <name:NameCache>Acherontia atropos</name:NameCache>\r
+          <name:AuthorshipCache>(Linnaeus, 1758)</name:AuthorshipCache>\r
+          <name:ProtectedAuthorshipCache>false</name:ProtectedAuthorshipCache>\r
+          <name:ProtectedNameCache>false</name:ProtectedNameCache>      \r
+        </name:ZoologicalName>\r
+    </TaxonomicNames>\r
+    <TaxonBases>\r
+        <taxon:Taxon id="1" uuid="urn-uuid-2deca426-359b-43fa-be96-fd530a28b0df" isDoubtful="false">            \r
+            <common:LSID>urn:lsid:example.org:taxonconcept:1</common:LSID>\r
+            <common:TitleCache><i xmlns="http://www.w3.org/1999/xhtml">Acherontia</i> Laspeyres, 1809</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <taxon:Name>urn-uuid-5cd1a686-d647-49ed-8c4b-501134b5eb66</taxon:Name>\r
+            <taxon:Sec>urn-uuid-2106b156-1336-4912-a709-54c180b61e5f</taxon:Sec>\r
+            <taxon:TaxonomicChildrenCount>1</taxon:TaxonomicChildrenCount>\r
+            <taxon:RelationsFromThisTaxon>\r
+                <taxon:FromThisTaxonRelationship id="1" uuid="urn-uuid-71d6b608-d13d-492c-870a-9536be49239e">\r
+                    <common:Citation>urn-uuid-2106b156-1336-4912-a709-54c180b61e5f</common:Citation>\r
+                    <taxon:RelatedFrom>urn-uuid-2deca426-359b-43fa-be96-fd530a28b0df</taxon:RelatedFrom>\r
+                    <taxon:RelatedTo>urn-uuid-5ded5fee-b816-46cf-b4ae-0931d564cd54</taxon:RelatedTo>\r
+                    <taxon:Type>urn-uuid-5c9fe670-1678-4f29-8bf6-5ac96d1a6bee</taxon:Type>\r
+                </taxon:FromThisTaxonRelationship>\r
+            </taxon:RelationsFromThisTaxon>\r
+        </taxon:Taxon>\r
+        <taxon:Taxon id="2" uuid="urn-uuid-5ded5fee-b816-46cf-b4ae-0931d564cd54" isDoubtful="false">\r
+            <common:TitleCache>Acherontia atropos (Linnaeus, 1758) sec Laspeyres 1809</common:TitleCache>\r
+            <common:ProtectedTitleCache>false</common:ProtectedTitleCache>\r
+            <taxon:Name>urn-uuid-b1e3894b-4339-44f8-8ee6-d1828a8857be</taxon:Name>\r
+            <taxon:Sec>urn-uuid-2106b156-1336-4912-a709-54c180b61e5f</taxon:Sec>\r
+            <taxon:TaxonomicChildrenCount>0</taxon:TaxonomicChildrenCount>\r
+            <taxon:RelationsToThisTaxon>\r
+              <taxon:ToThisTaxonRelationship>urn-uuid-71d6b608-d13d-492c-870a-9536be49239e</taxon:ToThisTaxonRelationship>\r
+            </taxon:RelationsToThisTaxon>\r
+        </taxon:Taxon>\r
+    </TaxonBases>\r
+</DataSet>
\ No newline at end of file
index 22b044334832d3a476df079f61614c2bd976811b..c73a629a36b6282dd5c7d73776355e13b7e6188d 100644 (file)
@@ -15,4 +15,6 @@ transactionManager.type=spring
 updateDataBaseSchema.enabled=true\r
 \r
 dataSetStructureGenerator.xsd.dirName=src/test/resources/eu/etaxonomy/cdm/io/\r
+#org.unitils.dbmaintainer.structure.DataSetStructureGenerator.implClassName=org.unitils.dbmaintainer.structure.impl.DtdDataSetStructureGenerator\r
+#dtdGenerator.dtd.filename=src/test/resources/eu/etaxonomy/cdm/io/dataset.dtd\r
 dbMaintainer.dbVersionSource.autoCreateVersionTable=true
\ No newline at end of file