Hi Nick:
I looks like we may be doing lots of similar things :) ... I've got a
Simple Darwin Core xml formbuilder form (there's some default values
so you'll want to update those) and an associated DwC to DC
transformation. Let me know if the copy/paste doesn't work and I can
email the form/xslt to you.
=======
DwC form
=======
<root_name>SimpleDarwinRecordSet</root_name>
<schema_uri/>
<namespace prefix="xsi">
http://www.w3.org/2001/XMLSchema-
instance</namespace>
<namespace prefix="dc">
http://purl.org/dc/terms/</
namespace>
</namespaces>
</properties>
<form>
<properties>
<type>form</type>
<access>true</access>
<required>false</required>
<tree>true</tree>
</properties>
<children>
<element name="SimpleDarwinRecord">
<properties>
<type>markup</type>
<access>true</access>
<required>false</required>
<tree>true</tree>
<actions>
<create>
<path>/dwr:SimpleDarwinRecordSet</path>
<context>document</context>
<schema/>
<type>element</type>
<prefix/>
<value>SimpleDarwinRecord</value>
</create>
<read>
<path>/dwr:SimpleDarwinRecordSet/
dwr:SimpleDarwinRecord</path>
<context>document</context>
</read>
<update/>
<delete/>
</actions>
</properties>
<children>
<element name="record_level_terms">
<properties>
<type>fieldset</type>
<access>true</access>
<required>false</required>
<title>Record-level terms</title>
<tree>true</tree>
</properties>
<children>
<element name="type">
<properties>
<type>select</type>
<access>true</access>
<default_value>Occurrence</
default_value>
<description>The Darwin Core Type
Vocabulary extends the DCMI
Type Vocabulary and provides a
list of approved values that
may be used for the
basisOfRecord term to identify the
specific type of a resource.
For term descriptions see:
http://rs.tdwg.org/dwc/terms/type-vocabulary/index.htm</description>
<options>
<option key="Taxon">Taxon</
option>
<option
key="PreservedSpecimen">PreservedSpecimen</option>
<option
key="Occurrence">Occurrence</option>
<option
key="NomenclaturalChecklist"
>NomenclaturalChecklist</
option>
<option
key="MachineObservation">MachineObservation</option>
<option
key="Location">Location</option>
<option
key="LivingSpecimen">LivingSpecimen</option>
<option
key="HumanObservation">HumanObservation</option>
<option
key="FossilSpecimen">FossilSpecimen</option>
<option key="Event">Event</
option>
</options>
<required>false</required>
<title>Type</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dc</prefix>
<value>dc:type</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dc:type</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="language">
<properties>
<type>textfield</type>
<access>true</access>
<default_value>English</
default_value>
<required>false</required>
<title>Language</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dc</prefix>
<value>dc:language</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dc:language</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="rights">
<properties>
<type>textarea</type>
<access>true</access>
<default_value>This material is
provided for research,
education, and private use
only.</default_value>
<required>false</required>
<title>Rights</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dc</prefix>
<value>dc:rights</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dc:rights</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="rightsHolder">
<properties>
<type>textfield</type>
<access>true</access>
<default_value>University of
Prince Edward
Island</default_value>
<required>false</required>
<title>Rights Holder</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dc</prefix>
<value>dc:rightsHolder</
value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dc:rightsHolder</
path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="accessRights">
<properties>
<type>textarea</type>
<access>true</access>
<default_value>Creative Commons
Attribution-NonCommercial-
NoDerivs 2.5 Canada
License</default_value>
<required>false</required>
<title>Rights Holder</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dc</prefix>
<value>dc:accessRights</
value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dc:accessRights</
path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="institutionCode">
<properties>
<type>textfield</type>
<access>true</access>
<default_value>UPEI</
default_value>
<required>false</required>
<title>Institution Code</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:institutionCode</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:institutionCode</
path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="collectionCode">
<properties>
<type>textfield</type>
<access>true</access>
<default_value>herbarium</
default_value>
<required>false</required>
<title>collectionCode</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:collectionCode</
value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:collectionCode</
path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="basisOfRecord">
<properties>
<type>select</type>
<access>true</access>
<default_value>PreservedSpecimen</
default_value>
<description>A descriptive term
indicating whether the record
represents an object or
observation. Term definitions are
available here:
http://wiki.tdwg.org/twiki/bin/view/DarwinCore/BasisOfRecord</description>
<options>
<option key="Still
Image">Still Image</option>
<option
key="SoundRecording">SoundRecording</option>
<option
key="PreservedSpecimen">PreservedSpecimen</option>
<option
key="OtherSpecimen">OtherSpecimen</option>
<option
key="MovingImage">MovingImage</option>
<option
key="MachineObservation">MachineObservation</option>
<option
key="LivingSpecimen">LivingSpecimen</option>
<option
key="HumanObservation">HumanObservation</option>
<option
key="FossilSpecimen">FossilSpecimen</option>
</options>
<required>false</required>
<title>Basis of Record</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:basisOfRecord</
value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:basisOfRecord</
path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
</children>
</element>
<element name="dwc_fields_occurrence">
<properties>
<type>fieldset</type>
<access>true</access>
<required>false</required>
<title>Occurrence terms</title>
<tree>true</tree>
</properties>
<children>
<element name="occurrenceID">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Occurrence ID</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:occurrenceID</
value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:occurrenceID</
path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="catalogNumber">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Catalogue Number</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:catalogNumber</
value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:catalogNumber</
path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="occurrenceRemarks">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Occurrence Remarks</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:occurrenceRemarks</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/
dwc:occurrenceRemarks</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="recordedBy">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Recorded By</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:recordedBy</
value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:recordedBy</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
</children>
</element>
<element name="dwc_fields_event">
<properties>
<type>fieldset</type>
<access>true</access>
<required>false</required>
<title>Event terms</title>
<tree>true</tree>
</properties>
<children>
<element name="eventDate">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Event Date</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:eventDate</
value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:eventDate</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="year">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Year</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:year</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:year</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="month">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Month</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:month</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:month</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="day">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Day</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:day</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:day</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="habitat">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Habitat</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:habitat</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:habitat</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="fieldNumber">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Field Number</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:fieldNumber</
value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:fieldNumber</
path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="fieldNotes">
<properties>
<type>textarea</type>
<access>true</access>
<required>false</required>
<title>Field Notes</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:fieldNotes</
value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:fieldNotes</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="eventRemarks">
<properties>
<type>textarea</type>
<access>true</access>
<required>false</required>
<title>Event Remarks</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:eventRemarks</
value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:eventRemarks</
path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
</children>
</element>
<element name="dwc_fields_location">
<properties>
<type>fieldset</type>
<access>true</access>
<required>false</required>
<title>Location terms</title>
<tree>true</tree>
</properties>
<children>
<element name="continent">
<properties>
<type>textfield</type>
<access>true</access>
<default_value>North America</
default_value>
<required>false</required>
<title>Continent</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:continent</
value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:continent</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="country">
<properties>
<type>textfield</type>
<access>true</access>
<default_value>Canada</
default_value>
<required>false</required>
<title>Country</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:country</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:country</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="countryCode">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Country Code</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:countryCode</
value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:countryCode</
path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="stateProvince">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>State / Province</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:stateProvince</
value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:stateProvince</
path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="county">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>County</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:county</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:county</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="municipality">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Municipality</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:municipality</
value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:municipality</
path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="locality">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Locality</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:locality</
value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:locality</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="verbatimLocality">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Verbatim Locality</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:verbatimLocality</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:verbatimLocality</
path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="decimalLatitude">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Decimal Latitude</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:decimalLatitude</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:decimalLatitude</
path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="decimalLongitude">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Decimal Longitude</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:decimalLongitude</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:decimalLongitude</
path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
</children>
</element>
<element name="dwc_fields_taxon">
<properties>
<type>fieldset</type>
<access>true</access>
<required>false</required>
<title>Taxon terms</title>
<tree>true</tree>
</properties>
<children>
<element name="taxonID">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Taxon ID</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:taxonID</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:taxonID</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="scientificName">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Sceintific Name</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:scientificName</
value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:scientificName</
path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="kingdom">
<properties>
<type>textfield</type>
<access>true</access>
<default_value>Plantae</
default_value>
<required>false</required>
<title>Kingdom</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:kingdom</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:kingdom</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="phylum">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Phylum</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:phylum</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:phylum</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="class">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Class</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:class</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:class</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="order">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Order</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:order</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:order</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="family">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Family</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:family</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:family</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="genus">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>genus</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:genus</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:genus</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="subgenus">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Subgenus</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:subgenus</
value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:subgenus</path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="specificEpithet">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Specific Epithet</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:specificEpithet</value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:specificEpithet</
path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="vernacularName">
<properties>
<type>textfield</type>
<access>true</access>
<required>false</required>
<title>Vernacular Name</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:vernacularName</
value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:vernacularName</
path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
<element name="taxonRemarks">
<properties>
<type>textarea</type>
<access>true</access>
<required>false</required>
<title>Taxon Remarks</title>
<tree>true</tree>
<actions>
<create>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord</path>
<context>document</
context>
<schema/>
<type>element</type>
<prefix>dwc</prefix>
<value>dwc:taxonRemarks</
value>
</create>
<read>
<path>/
dwr:SimpleDarwinRecordSet/dwr:SimpleDarwinRecord/dwc:taxonRemarks</
path>
<context>document</
context>
</read>
<update>
<path>self::node()</path>
<context>self</context>
</update>
<delete>
<path>self::node()</path>
<context>self</context>
</delete>
</actions>
</properties>
<children/>
</element>
</children>
</element>
<element name="Submit">
<properties>
<type>submit</type>
<access>true</access>
<default_value>Submit</default_value>
<required>false</required>
<title>Submit</title>
<tree>true</tree>
</properties>
<children/>
</element>
</children>
</element>
</children>
</form>
</definition>
======
DwC to DC transform
======
<?xml version="1.0" encoding="UTF-8"?>
<!--
Created by Paul R Butler
University of Illinois - Graduate School of Library and
Information Science
Final Project for LIS590DPL: Document Processing - Spring 2010
Last Updated: May 5, 2010
This XSLT transforms DarwinCore XML to Simple Dublin Core XML.
Edited by dm ... DwC to OAI_DC June 2010.
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="
http://www.w3.org/1999/XSL/Transform"
xmlns:dc="
http://purl.org/dc/terms/"
xmlns:dwc="
http://rs.tdwg.org/dwc/terms/"
xsi:schemaLocation="
http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
<xsl:output method="xml" indent="yes" />
<xsl:template match="/">
<xsl:text> <!-- Used for formatting output file. -->
</xsl:text>
<xsl:text> <!-- Used for formatting output file. -->
</xsl:text>
<oai_dc:dc xmlns:xsi="
http://www.w3.org/2001/XMLSchema-
instance"
xmlns:oai_dc="
http://www.openarchives.org/OAI/2.0/oai_dc/"
xsi:noNamespaceSchemaLocation="
http://www.openarchives.org/
OAI/2.0/oai_dc.xsd">
<xsl:apply-templates/>
</oai_dc:dc>
</xsl:template>
<!-- Source elemnts are Dublin Core. -->
<xsl:template match="dc:type">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<type xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></type> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="dc:language">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<language xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></language> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Source elemnts are Darwin Core. -->
<xsl:template match="dwc:basisOfRecord">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<source xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></source> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="dwc:scientificName">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<title xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></title> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="dwc:specificEpithet">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<subject xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></subject> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="dwc:family">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<subject xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></subject> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="dwc:genus">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<subject xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></subject> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="dwc:vernacularName">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<title xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></title> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="dwc:continent">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<coverage xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></coverage> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="dwc:country">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<coverage xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></coverage> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="dwc:countryCode">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<coverage xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></coverage> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="dwc:stateProvince">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<coverage xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></coverage> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="dwc:county">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<coverage xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></coverage> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="dwc:locality">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<coverage xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></coverage> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="dwc:habitat">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<coverage xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></coverage> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="dwc:occurrenceRemarks">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<description xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></description> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="dwc:occurrenceID">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<identifier xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></identifier> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="dwc:institutionCode">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<publisher xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></publisher> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="dwc:collectionCode">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<identifier xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></identifier> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="dwc:catalogNumber">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<identifier xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></identifier> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="dwc:recordedBy">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<creator xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></creator> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="dwc:eventDate">
<xsl:choose>
<xsl:when test="normalize-space(.)"> <!-- Tests to see if
normalized element is null. If it is, does not output element to
source file. -->
<date xmlns="
http://purl.org/dc/elements/
1.1/"><xsl:apply-templates/></date> <xsl:text> </
xsl:text><xsl:comment> Source node is <xsl:value-of select="name()"/>
</xsl:comment>
</xsl:when>
<xsl:otherwise> <!-- This is for when the element is null.
-->
<xsl:comment> Node <xsl:value-of select="name()"/> had
no content.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Exception Handling - If an element was not matched above this
section should output a message and the element as a comment to the
ouptput file. -->
<!-- For Dublin Core elements. -->
<xsl:template match="dc:*">
<xsl:choose>
<xsl:when test="dc:type | dc:language">
</xsl:when>
<xsl:otherwise>
<xsl:comment> Node <xsl:value-of select="name()"/>
with content "<xsl:apply-templates/>" was not matched.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- For Darwin Core elements. -->
<xsl:template match="dwc:*">
<xsl:choose>
<xsl:when test="dwc:basisOfRecord | dwc:scientificName |
dwc:specificEpithet | dwc:family | dwc:genus | dwc:vernacularName |
dwc:continent | dwc:country | dwc:countryCode | dwc:stateProvince |
dwc:county | dwc:locality | dwc:habitat | dwc:occurrenceRemarks |
dwc:occurrenceID | dwc:institutionCode | dwc:collectionCode |
dwc:catalogNumber | dwc:recordedBy | dwc:eventDate">
</xsl:when>
<xsl:otherwise>
<xsl:comment> Node <xsl:value-of select="name()"/>
with content "<xsl:apply-templates/>" was not matched.</xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- End of Exception Handling section. -->
</xsl:stylesheet>