- corrected CoL copyright logic
authorCherian Mathew <c.mathew@bgbm.org>
Fri, 1 Jun 2012 09:51:10 +0000 (09:51 +0000)
committerCherian Mathew <c.mathew@bgbm.org>
Fri, 1 Jun 2012 09:51:10 +0000 (09:51 +0000)
- added first version of GBIF Checklist Banks

DataCleaning/workflows/nested/synexpansion/synexpansion.t2flow

index 81fdee41ebc03af9dfd4085e53b0afadc6762cb7..ad16540f78903a8af844d076c74a0f9a9b0faf89 100755 (executable)
@@ -1,4 +1,4 @@
-<workflow xmlns="http://taverna.sf.net/2008/xml/t2flow" version="1" producedBy="taverna-2.3.0"><dataflow id="cb69bc38-61c3-481a-be99-c8644f2c0d07" role="top"><name>Workflow169</name><inputPorts /><outputPorts><port><name>csv_ouput</name><annotations /></port></outputPorts><processors><processor><name>Syn_Exp_Occ_Ret</name><inputPorts><port><name>csvData</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="csvData" to="csvData" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="62f3f979-79ca-4566-8cd7-22af322c4c7e" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+<workflow xmlns="http://taverna.sf.net/2008/xml/t2flow" version="1" producedBy="taverna-2.3.0"><dataflow id="3e5d0d2d-efec-4e0f-b271-dba90a4cb8ed" role="top"><name>Workflow169</name><inputPorts /><outputPorts><port><name>csv_ouput</name><annotations /></port></outputPorts><processors><processor><name>Syn_Exp_Occ_Ret</name><inputPorts><port><name>csvData</name><depth>0</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="csvData" to="csvData" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="ba529013-0329-4a22-be72-26b854e18f51" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
@@ -230,9 +230,9 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2d2d9854-192c-4bf1-b17c-6605821b4423</identification>\r
+        <identification>54255d6f-d137-4c44-bd4e-f0677240d1fb</identification>\r
       </annotationBean>\r
-      <date>2012-04-03 17:02:05.350 CEST</date>\r
+      <date>2012-04-04 13:28:10.609 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -241,9 +241,9 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8ec6ae8e-b2d8-4dd6-b2ee-85e1ecaec132</identification>\r
+        <identification>30e5587b-c517-4f97-b5b4-c1d849c8409c</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 17:02:21.736 CEST</date>\r
+      <date>2012-05-31 16:21:12.520 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -252,9 +252,9 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>71f1ee5f-1682-4671-8ef4-b0cc2f24f426</identification>\r
+        <identification>481193bb-155a-4448-81bb-24c8e77a6801</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:00:58.820 CEST</date>\r
+      <date>2012-04-03 09:40:45.595 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -263,9 +263,9 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>07ee1f3f-058e-4e82-bd20-87dc918f28f9</identification>\r
+        <identification>1d561bf9-612a-4495-8fae-97b7ae7ba5a5</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:44:16.906 CEST</date>\r
+      <date>2012-05-31 16:08:56.393 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -274,9 +274,9 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>54255d6f-d137-4c44-bd4e-f0677240d1fb</identification>\r
+        <identification>564898e6-4513-422e-813a-30ee68f758c6</identification>\r
       </annotationBean>\r
-      <date>2012-04-04 13:28:10.609 CEST</date>\r
+      <date>2012-06-01 11:03:43.571 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -285,9 +285,9 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>481193bb-155a-4448-81bb-24c8e77a6801</identification>\r
+        <identification>3afc9d06-7ba4-4066-8518-64681aa8c895</identification>\r
       </annotationBean>\r
-      <date>2012-04-03 09:40:45.595 CEST</date>\r
+      <date>2012-06-01 11:06:35.849 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -296,9 +296,9 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>cb69bc38-61c3-481a-be99-c8644f2c0d07</identification>\r
+        <identification>515c2ace-4328-4238-b1b1-3bba5dbf6fe9</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 17:19:57.234 CEST</date>\r
+      <date>2012-04-05 16:36:32.184 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -307,9 +307,9 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>849fce1d-83e1-40b7-a9f5-0f3118ae8f3b</identification>\r
+        <identification>7141ca11-cb68-4bba-a7da-2068196cffc2</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 17:17:02.201 CEST</date>\r
+      <date>2012-04-05 17:15:12.67 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -318,9 +318,31 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>10eeee30-f2f0-4767-9250-2a38399aaf9b</identification>\r
+        <identification>d67c97fb-616a-4238-ba6f-046b357ca433</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:35:06.424 CEST</date>\r
+      <date>2012-05-31 17:53:06.966 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>2a26f643-5165-4bd7-bfad-fb347e640fb3</identification>\r
+      </annotationBean>\r
+      <date>2012-04-05 17:17:21.673 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>75550ad7-6efa-4891-8173-2d6c663f1c56</identification>\r
+      </annotationBean>\r
+      <date>2012-05-29 12:17:46.774 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -340,9 +362,9 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>dd57c2b7-168e-4fa0-8e47-8853f4bc10dd</identification>\r
+        <identification>f7823f43-d92a-40f8-b6e9-9badd6595340</identification>\r
       </annotationBean>\r
-      <date>2012-04-04 11:56:57.497 CEST</date>\r
+      <date>2012-05-31 16:53:13.368 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -351,9 +373,9 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>33506dd6-1341-4215-836d-d946e9d75b2e</identification>\r
+        <identification>6da3d3fa-470a-4440-b57e-5c80e3e69eaa</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:36:13.129 CEST</date>\r
+      <date>2012-03-30 15:17:02.946 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -362,9 +384,9 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>fda4c32f-fb52-4c55-a0b4-596f82a58cb7</identification>\r
+        <identification>0c79a1bd-2742-4e96-b446-2621854569ed</identification>\r
       </annotationBean>\r
-      <date>2012-04-04 13:49:03.799 CEST</date>\r
+      <date>2012-05-31 17:58:12.463 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -373,9 +395,9 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9e4fc010-46ed-40d2-a0b5-72791c02a3cc</identification>\r
+        <identification>3c881109-da28-46e8-833b-9c50bb3f16fa</identification>\r
       </annotationBean>\r
-      <date>2012-04-04 13:30:35.947 CEST</date>\r
+      <date>2012-06-01 11:02:08.848 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -384,9 +406,9 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5bd9cfb1-20a4-445d-b0db-47809641d791</identification>\r
+        <identification>9d482c0b-8c79-42ac-8504-c8edf1b3b348</identification>\r
       </annotationBean>\r
-      <date>2012-04-04 13:40:15.842 CEST</date>\r
+      <date>2012-04-05 16:47:39.691 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -395,9 +417,9 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7141ca11-cb68-4bba-a7da-2068196cffc2</identification>\r
+        <identification>849fce1d-83e1-40b7-a9f5-0f3118ae8f3b</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 17:15:12.67 CEST</date>\r
+      <date>2012-04-05 17:17:02.201 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -406,9 +428,9 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2a26f643-5165-4bd7-bfad-fb347e640fb3</identification>\r
+        <identification>79e01ca8-6b67-412c-b8dc-28d17d45f549</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 17:17:21.673 CEST</date>\r
+      <date>2012-06-01 11:19:58.847 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -417,9 +439,9 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6da3d3fa-470a-4440-b57e-5c80e3e69eaa</identification>\r
+        <identification>8ec6ae8e-b2d8-4dd6-b2ee-85e1ecaec132</identification>\r
       </annotationBean>\r
-      <date>2012-03-30 15:17:02.946 CEST</date>\r
+      <date>2012-03-29 17:02:21.736 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -428,9 +450,9 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8426bef1-e9a8-4e7c-a88d-97b01a3aa456</identification>\r
+        <identification>10eeee30-f2f0-4767-9250-2a38399aaf9b</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:43:30.110 CEST</date>\r
+      <date>2012-04-05 16:35:06.424 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -450,9 +472,9 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d72c319e-e7e1-48e8-85e1-37ebe66b92cd</identification>\r
+        <identification>68dca16a-b312-4184-a0f3-f2b29e14bc18</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:10:59.480 CEST</date>\r
+      <date>2012-05-29 12:23:03.410 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -461,9 +483,9 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>515c2ace-4328-4238-b1b1-3bba5dbf6fe9</identification>\r
+        <identification>ff2ff7ee-4e8e-4ceb-8d53-96bb4b7bc917</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:36:32.184 CEST</date>\r
+      <date>2012-05-31 16:15:02.700 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -472,2198 +494,267 @@ selectedFile = file.getAbsolutePath();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9d482c0b-8c79-42ac-8504-c8edf1b3b348</identification>\r
+        <identification>cb69bc38-61c3-481a-be99-c8644f2c0d07</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:47:39.691 CEST</date>\r
+      <date>2012-04-05 17:19:57.234 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="124b440e-f7ef-445f-901b-b3d04ca3e2a7" role="nested"><name>Workflow20</name><inputPorts><port><name>sciName</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>next</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>next</name><annotations /></port><port><name>max1000_csv_output</name><annotations /></port></outputPorts><processors><processor><name>Transform_XML</name><inputPorts><port><name>xslFileURL</name><depth>0</depth></port><port><name>inString</name><depth>0</depth></port></inputPorts><outputPorts><port><name>outputStr</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inString" to="inString" /><map from="xslFileURL" to="xslFileURL" /></inputMap><outputMap><map from="outputStr" to="outputStr" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>xslFileURL</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>outFileURL</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>inString</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>outputExt</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>outputStr</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>import java.io.BufferedReader;\r
-import java.io.BufferedWriter;\r
-import java.io.FileInputStream;\r
-import java.io.FileNotFoundException;\r
-import java.io.FileReader;\r
-import java.io.FileWriter;\r
-import java.io.IOException;\r
-import java.io.InputStreamReader;\r
-import java.io.OutputStreamWriter;\r
-import java.io.StringWriter;\r
-import java.io.StringReader;\r
-import java.io.Writer;\r
-import java.net.URL;\r
-import java.util.HashMap;\r
-import java.util.Map;\r
-\r
-import javax.xml.transform.Result;\r
-import javax.xml.transform.Source;\r
-import javax.xml.transform.SourceLocator;\r
-import javax.xml.transform.Templates;\r
-import javax.xml.transform.Transformer;\r
-import javax.xml.transform.TransformerConfigurationException;\r
-import javax.xml.transform.TransformerException;\r
-import javax.xml.transform.TransformerFactory;\r
-import javax.xml.transform.stream.StreamResult;\r
-import javax.xml.transform.stream.StreamSource;\r
-\r
-BufferedReader getReader (String fileUrl) throws IOException {\r
-               InputStreamReader reader;\r
-               try {\r
-                       reader = new FileReader(fileUrl);\r
-               }\r
-               catch (FileNotFoundException e) {\r
-                       // try a real URL instead\r
-                       URL url = new URL(fileUrl);\r
-                       reader = new InputStreamReader (url.openStream());\r
-               }\r
-               return new BufferedReader(reader);\r
-       }\r
-       \r
-BufferedWriter getWriter (String fileUrl) throws IOException {\r
-               Writer writer;\r
-               try {\r
-                       writer = new FileWriter(fileUrl);\r
-               }\r
-               catch (FileNotFoundException e) {\r
-                       // try a real URL instead\r
-                       URL url = new URL(fileUrl);\r
-                       writer = new OutputStreamWriter (url.openConnection().getOutputStream());\r
-               }\r
-               return new BufferedWriter(writer);\r
-       }\r
-       \r
-String xslFilename = xslFileURL;\r
-String outFilename;\r
-if (outFileURL != void) {\r
-    outFilename = outFileURL;\r
-}\r
-\r
-String ext;\r
-if (outputExt != void) {\r
-    ext = outputExt;\r
-}\r
-\r
-\r
-\r
-// Create transformer factory\r
-TransformerFactory factory = TransformerFactory.newInstance();\r
-\r
-// Use the factory to create a template containing the xsl file\r
-Templates template = factory.newTemplates(new StreamSource(getReader(xslFilename)));\r
-\r
-// Use the template to create a transformer\r
-Transformer xformer = template.newTransformer();\r
-\r
-// Prepare the input and output files\r
-Reader sourceReader = new StringReader(inString);\r
-Source source = new StreamSource(sourceReader);\r
-StringWriter resultStr = new StringWriter();\r
-Result result = new StreamResult(resultStr);\r
-\r
-// Apply the xsl file to the source file and write the result to the\r
-// output file\r
-xformer.transform(source, result);\r
-\r
-outputStr = resultStr.toString();\r
-\r
-if ((outFilename != null) &amp;&amp; !outFilename.equals("")) {\r
-\r
-       BufferedWriter out = getWriter(outFilename);\r
-\r
-       out.write(outputStr);\r
-       out.close();\r
-}\r
-sourceReader.close();\r
-</script>\r
-  <dependencies />\r
-  <localworkerName>net.sourceforge.taverna.scuflworkers.xml.XSLTWorker</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
-        <text>UserNameHere</text>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>ff2a2f11-018f-4f0d-954e-7d08e03e117c</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 17:08:38.768 CET</date>\r
+      <date>2012-05-31 16:23:14.600 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xslFileURL" depth="0" /><port name="inString" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>gbifResponse_to_csv_xsl</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value>http://ww2.bgbm.org/temp/biovel/gbifResponse_to_csv.xsl</value>\r
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>gbifOccurrence</name><inputPorts><port><name>format</name><depth>0</depth></port><port><name>scientificname</name><depth>0</depth></port><port><name>next</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="next" to="next" /><map from="format" to="format" /><map from="scientificname" to="scientificname" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
-  <httpMethod>GET</httpMethod>\r
-  <urlSignature>http://data.gbif.org/ws/rest/occurrence/list?scientificname={scientificname}&amp;format={format}&amp;startindex={next}&amp;maxresults=1000</urlSignature>\r
-  <acceptsHeaderValue>application/xml</acceptsHeaderValue>\r
-  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
-  <outgoingDataFormat>String</outgoingDataFormat>\r
-  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
-  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
-  <escapeParameters>true</escapeParameters>\r
-  <otherHTTPHeaders />\r
-  <activityInputs>\r
-    <entry>\r
-      <string>next</string>\r
-      <java-class>java.lang.String</java-class>\r
-    </entry>\r
-    <entry>\r
-      <string>format</string>\r
-      <java-class>java.lang.String</java-class>\r
-    </entry>\r
-    <entry>\r
-      <string>scientificname</string>\r
-      <java-class>java.lang.String</java-class>\r
-    </entry>\r
-  </activityInputs>\r
-</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="format" depth="0" /><port name="scientificname" depth="0" /><port name="next" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>format_value</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value>darwin</value>\r
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>next</name><inputPorts><port><name>xml_text</name><depth>0</depth></port></inputPorts><outputPorts><port><name>nodelist</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>xpath-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.xpath.XPathActivity</class><inputMap><map from="xml_text" to="xml_text" /></inputMap><outputMap><map from="nodelist" to="nodelist" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.xpath.XPathActivityConfigurationBean xmlns="">\r
-  <xmlDocument>&lt;?xml version="1.0" encoding="UTF-8"?&gt;\r
-&lt;?xml-stylesheet type="text/xsl" href="http://data.gbif.org/ws/rest/taxon/stylesheet"?&gt;&lt;gbif:gbifResponse xmlns:gbif="http://portal.gbif.org/ws/response/gbif" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:tc="http://rs.tdwg.org/ontology/voc/TaxonConcept#" xmlns:tn="http://rs.tdwg.org/ontology/voc/TaxonName#" xsi:schemaLocation="http://portal.gbif.org/ws/response/gbif http://data.gbif.org/ws/rest/taxon/schema http://purl.org/dc/elements/1.1/ http://data.gbif.org/schema/dc.xsd http://purl.org/dc/terms/ http://data.gbif.org/schema/dcterms.xsd http://www.w3.org/1999/02/22-rdf-syntax-ns# http://data.gbif.org/schema/rdf.xsd http://www.w3.org/2002/07/owl# http://data.gbif.org/schema/owl.xsd http://rs.tdwg.org/ontology/voc/Common# http://data.gbif.org/schema/tcom.xsd http://rs.tdwg.org/ontology/voc/TaxonOccurrence# http://data.gbif.org/schema/TaxonOccurrence.xsd http://rs.tdwg.org/ontology/voc/TaxonConcept# http://data.gbif.org/schema/TaxonConcept.xsd http://rs.tdwg.org/ontology/voc/TaxonName# http://data.gbif.org/schema/TaxonName.xsd"&gt;\r
- &lt;gbif:header&gt;\r
-  &lt;gbif:help&gt;http://data.gbif.org/ws/rest/taxon/help\r
-&lt;/gbif:help&gt;\r
-  &lt;gbif:request&gt;list&lt;/gbif:request&gt;\r
-  &lt;gbif:statements&gt;-\r
-\r
-This document contains data shared through the GBIF Network - see http://data.gbif.org/ for more information.\r
-                                       \r
-All usage of these data must be in accordance with the GBIF Data Use Agreement - see http://www.gbif.org/DataProviders/Agreements/DUA\r
-\r
--\r
-&lt;/gbif:statements&gt;\r
-  &lt;gbif:stylesheet&gt;http://data.gbif.org/ws/rest/taxon/stylesheet&lt;/gbif:stylesheet&gt;\r
-  &lt;gbif:parameter name="maxresults" value="100"/&gt;\r
-  &lt;gbif:parameter name="request" value="list"/&gt;\r
-  &lt;gbif:parameter name="service" value="taxon"/&gt;\r
-  &lt;gbif:parameter name="format" value="brief"/&gt;\r
-  &lt;gbif:parameter name="scientificname" value="Plantae"/&gt;\r
-  &lt;gbif:nextRequestUrl&gt;http://data.gbif.org/ws/rest/taxon/list?startindex=100&amp;amp;maxresults=100&amp;amp;format=brief&amp;amp;scientificname=Plantae&lt;/gbif:nextRequestUrl&gt;\r
-&lt;gbif:summary start="0" totalMatched="100" next="100" totalReturned="100"/&gt;\r
- &lt;/gbif:header&gt;&lt;gbif:dataProviders&gt;\r
-\r
-\r
-&lt;gbif:dataProvider gbifKey="116" rdf:about="http://data.gbif.org/ws/rest/provider/get/116"&gt;\r
-                                                                                       &lt;gbif:name&gt;Museo Nacional de Costa Rica&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="566" rdf:about="http://data.gbif.org/ws/rest/resource/get/566"&gt;\r
-                    &lt;gbif:name&gt;herbario&lt;/gbif:name&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51456466" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51456466"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;herbario&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="318" rdf:about="http://data.gbif.org/ws/rest/provider/get/318"&gt;\r
-                                                                                       &lt;gbif:name&gt;Arizona State University, Global Institute for Sustainability&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="676" rdf:about="http://data.gbif.org/ws/rest/resource/get/676"&gt;\r
-                    &lt;gbif:name&gt;Arizona State University Vascular Plant Herbarium&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="52007005" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/52007005"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Arizona State University Vascular Plant Herbarium&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/676"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="112" rdf:about="http://data.gbif.org/ws/rest/provider/get/112"&gt;\r
-                                                                                       &lt;gbif:name&gt;Mokpo Museum of Natural History&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="570" rdf:about="http://data.gbif.org/ws/rest/resource/get/570"&gt;\r
-                    &lt;gbif:name&gt;Mokpo Museum of Natural History Plant&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51473457" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51473457"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Mokpo Museum of Natural History Plant&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/570"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="139" rdf:about="http://data.gbif.org/ws/rest/provider/get/139"&gt;\r
-                                                                                       &lt;gbif:name&gt;NLBIF&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="693" rdf:about="http://data.gbif.org/ws/rest/resource/get/693"&gt;\r
-                    &lt;gbif:name&gt;Natural History Museum Rotterdam&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;NLBIF, Natural History Museum Rotterdam&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="52066103" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/52066103"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Natural History Museum Rotterdam&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/693"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="57" rdf:about="http://data.gbif.org/ws/rest/provider/get/57"&gt;\r
-                                                                                       &lt;gbif:name&gt;GBIF-Spain&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="262" rdf:about="http://data.gbif.org/ws/rest/resource/get/262"&gt;\r
-                    &lt;gbif:name&gt;Institut d'Ecologia Litoral: IEL_Phyto&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Gomis, C. (2005). Institut d'Ecologia Litoral Phytoplankton Collections on line databases.&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50817295" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50817295"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Institut d'Ecologia Litoral: IEL_Phyto&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/262"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="263" rdf:about="http://data.gbif.org/ws/rest/resource/get/263"&gt;\r
-                    &lt;gbif:name&gt;Institut d'Ecologia Litoral: IEL_Plantae&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Vicedo, M. (2005). Institut d'Ecologia Litoral Plantae Collections on line databases&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50817987" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50817987"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Institut d'Ecologia Litoral: IEL_Plantae&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/263"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="240" rdf:about="http://data.gbif.org/ws/rest/resource/get/240"&gt;\r
-                    &lt;gbif:name&gt;Real Jardin Botanico (Madrid), Vascular Plant Herbarium (MA)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50645543" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50645543"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Real Jardin Botanico (Madrid), Vascular Plant Herbarium (MA)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/240"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="284" rdf:about="http://data.gbif.org/ws/rest/resource/get/284"&gt;\r
-                    &lt;gbif:name&gt;Herbario de la Universidad de Sevilla, SEV-Historico&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;F.J. Salgueiro, S. Talavera et al. (2006). SEV collections online data bases&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50842449" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50842449"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Herbario de la Universidad de Sevilla, SEV-Historico&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/284"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="283" rdf:about="http://data.gbif.org/ws/rest/resource/get/283"&gt;\r
-                    &lt;gbif:name&gt;Herbario de la Universidad de Sevilla, SEV&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;F.J. Salgueiro, S. Talavera et al. (2006). SEV collections online data bases&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50830315" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50830315"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Herbario de la Universidad de Sevilla, SEV&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/283"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="245" rdf:about="http://data.gbif.org/ws/rest/resource/get/245"&gt;\r
-                    &lt;gbif:name&gt;Universidad de Oviedo. Departamento de Biología de Organismos y Sistemas: FCO&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50743926" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50743926"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Universidad de Oviedo. Departamento de Biología de Organismos y Sistemas: FCO&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/245"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="244" rdf:about="http://data.gbif.org/ws/rest/resource/get/244"&gt;\r
-                    &lt;gbif:name&gt;Herbario de la Universidad de Almeria&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50739343" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50739343"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Herbario de la Universidad de Almeria&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/244"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="243" rdf:about="http://data.gbif.org/ws/rest/resource/get/243"&gt;\r
-                    &lt;gbif:name&gt;CeDoc de Biodiversitat Vegetal: BCN-Cormophyta&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Guardia, R. et al. (2007). Bases de dades de l'Herbari BCN http://www.ub.es/cedocbiv/bancdade.htm&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50735696" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50735696"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;CeDoc de Biodiversitat Vegetal: BCN-Cormophyta&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/243"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="242" rdf:about="http://data.gbif.org/ws/rest/resource/get/242"&gt;\r
-                    &lt;gbif:name&gt;Universidad del País Vasco/EHU, Bilbao: Herbario BIO&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Herrera, M. et al. (2004). BIO Vascular Plants Collections on line databases.&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50733148" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50733148"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Universidad del País Vasco/EHU, Bilbao: Herbario BIO&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/242"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="249" rdf:about="http://data.gbif.org/ws/rest/resource/get/249"&gt;\r
-                    &lt;gbif:name&gt;Departamento de Biolog. Veg. II, Facultad de Farmacia, Universidad Complutense, Madrid: MAF&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Pizarro, J. et al. Plantas vasculares en el herbario GBIFMAF.&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50770400" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50770400"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Departamento de Biolog. Veg. II, Facultad de Farmacia, Universidad Complutense, Madrid: MAF&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/249"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="248" rdf:about="http://data.gbif.org/ws/rest/resource/get/248"&gt;\r
-                    &lt;gbif:name&gt;Aranzadi Zientzi Elkartea&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50762908" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50762908"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Aranzadi Zientzi Elkartea&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/248"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="247" rdf:about="http://data.gbif.org/ws/rest/resource/get/247"&gt;\r
-                    &lt;gbif:name&gt;Jardín Botánico de Córdoba: Herbarium COA&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Martín-Consuegra, E. et al. (2005). COA collections online databases.&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50754749" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50754749"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Jardín Botánico de Córdoba: Herbarium COA&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/247"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="246" rdf:about="http://data.gbif.org/ws/rest/resource/get/246"&gt;\r
-                    &lt;gbif:name&gt;Instituto Pirenaico de Ecología-CSIC: Herbarium JACA&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Benito, J.L., D. Gómez and L. Villar (2004) Las bases de datos del herbario JACA en internet (Fecha de consulta).&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50753094" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50753094"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Instituto Pirenaico de Ecología-CSIC: Herbarium JACA&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/246"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="264" rdf:about="http://data.gbif.org/ws/rest/resource/get/264"&gt;\r
-                    &lt;gbif:name&gt;Institut d'Ecologia Litoral: IEL_Seed&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Vicedo, M. (2005). Institut d'Ecologia Litoral Seed Collections on line databases&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50818745" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50818745"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Institut d'Ecologia Litoral: IEL_Seed&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/264"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="300" rdf:about="http://data.gbif.org/ws/rest/resource/get/300"&gt;\r
-                    &lt;gbif:name&gt;Hortus Botanicus Sollerensis Herbarium (FBonafè)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50883651" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50883651"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Hortus Botanicus Sollerensis Herbarium (FBonafè)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/300"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="251" rdf:about="http://data.gbif.org/ws/rest/resource/get/251"&gt;\r
-                    &lt;gbif:name&gt;CIBIO, Alicante:ABH-GBIF&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Herbario de la Universidad de Alicante, ABH (2005).&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50773832" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50773832"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;CIBIO, Alicante:ABH-GBIF&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/251"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="296" rdf:about="http://data.gbif.org/ws/rest/resource/get/296"&gt;\r
-                    &lt;gbif:name&gt;CUBA: Herbario de la Academia de Ciencias, La Habana, Cuba: HAC-Pteridophyta&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Regalado, L., Lóriga J., Morejón, R., Hechavarría, L., Fuentes, I., Hernández A., Daniel, A., Caluff, M., Ventosa, I., Vale, A. et Echevarría R. 2006. Pteridophyte collection online database.&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50870745" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50870745"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;CUBA: Herbario de la Academia de Ciencias, La Habana, Cuba: HAC-Pteridophyta&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/296"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="292" rdf:about="http://data.gbif.org/ws/rest/resource/get/292"&gt;\r
-                    &lt;gbif:name&gt;Dpto de Botánica, Ecología y Fisiología Vegetal (herbario_cofc).Facultad de Ciencias.Universidad de Córdoba&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50860548" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50860548"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Dpto de Botánica, Ecología y Fisiología Vegetal (herbario_cofc).Facultad de Ciencias.Universidad de Córdoba&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/292"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="239" rdf:about="http://data.gbif.org/ws/rest/resource/get/239"&gt;\r
-                    &lt;gbif:name&gt;Herbario de la Universidad de Salamanca: SALA&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Herbario de la Universidad de Salamanca (SALA)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50618940" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50618940"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Herbario de la Universidad de Salamanca: SALA&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/239"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="278" rdf:about="http://data.gbif.org/ws/rest/resource/get/278"&gt;\r
-                    &lt;gbif:name&gt;Escuela Técnica Superior de Ingenieros de Montes, UPM: EMMA&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50824900" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50824900"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Escuela Técnica Superior de Ingenieros de Montes, UPM: EMMA&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/278"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="297" rdf:about="http://data.gbif.org/ws/rest/resource/get/297"&gt;\r
-                    &lt;gbif:name&gt;CUBA:Herbario del Jardín de los Helechos, Centro Oriental de Ecosistemas y Biodiversidad, Santiago de Cuba: BSC-Pteridophyta&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Caluff, M., Serguera, M., Sánchez, C., Morejón, R., Regalado, L., Hernández, A. et Daniel A. 2006. Pteridophyte collection online database.&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50871285" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50871285"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;CUBA:Herbario del Jardín de los Helechos, Centro Oriental de Ecosistemas y Biodiversidad, Santiago de Cuba: BSC-Pteridophyta&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/297"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="298" rdf:about="http://data.gbif.org/ws/rest/resource/get/298"&gt;\r
-                    &lt;gbif:name&gt;CUBA:Herbario del Jardín Botánico Nacional, La Habana, Cuba: HAJB-Pteridophyta&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Morejón, R., Sánchez, C., Regalado, L., Hernández, A. et Daniel A. 2006. Pteridophyte collection online database.&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50871396" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50871396"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;CUBA:Herbario del Jardín Botánico Nacional, La Habana, Cuba: HAJB-Pteridophyta&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/298"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="299" rdf:about="http://data.gbif.org/ws/rest/resource/get/299"&gt;\r
-                    &lt;gbif:name&gt;Institut Botanic de Barcelona, BC&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50872014" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50872014"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Institut Botanic de Barcelona, BC&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/299"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="257" rdf:about="http://data.gbif.org/ws/rest/resource/get/257"&gt;\r
-                    &lt;gbif:name&gt;Departamento de Biolog. Veg. II, Facultad de Farmacia, Universidad Complutense, Madrid: MAF-Lich&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Pizarro, José et al. (2005), MAF Lichen collection online database, UCM&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50812257" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50812257"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Departamento de Biolog. Veg. II, Facultad de Farmacia, Universidad Complutense, Madrid: MAF-Lich&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/257"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="234" rdf:about="http://data.gbif.org/ws/rest/resource/get/234"&gt;\r
-                    &lt;gbif:name&gt;Real Jardin Botanico, Madrid: MA-Algae&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Pando, F. et al. (2003). MA Cryptogamic collections online databases. http://www.rjb.csic.es/herbario/crypto/crydb.htm. (date when consulted)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50589373" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50589373"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Real Jardin Botanico, Madrid: MA-Algae&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/234"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="236" rdf:about="http://data.gbif.org/ws/rest/resource/get/236"&gt;\r
-                    &lt;gbif:name&gt;Real Jardin Botanico, Madrid: MA-Hepat&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Pando, F. et al. (2003). MA Cryptogamic collections online databases. http://www.rjb.csic.es/herbario/crypto/crydb.htm. (date when consulted)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50602339" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50602339"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Real Jardin Botanico, Madrid: MA-Hepat&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/236"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="235" rdf:about="http://data.gbif.org/ws/rest/resource/get/235"&gt;\r
-                    &lt;gbif:name&gt;Real Jardin Botanico, Madrid: MA-Musci&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Pando, F. et al. (2003). MA Cryptogamic collections online databases. http://www.rjb.csic.es/herbario/crypto/crydb.htm. (date when consulted)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50592362" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50592362"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Real Jardin Botanico, Madrid: MA-Musci&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/235"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="253" rdf:about="http://data.gbif.org/ws/rest/resource/get/253"&gt;\r
-                    &lt;gbif:name&gt;GBIF-PORTUGAL-Herbário João de Carvalho e Vasconcellos, I.S.A./U.T.L.&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50785400" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50785400"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;GBIF-PORTUGAL-Herbário João de Carvalho e Vasconcellos, I.S.A./U.T.L.&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/253"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="238" rdf:about="http://data.gbif.org/ws/rest/resource/get/238"&gt;\r
-                    &lt;gbif:name&gt;Jardi Botanic de Valencia: VAL&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50610276" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50610276"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Jardi Botanic de Valencia: VAL&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/238"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="256" rdf:about="http://data.gbif.org/ws/rest/resource/get/256"&gt;\r
-                    &lt;gbif:name&gt;Real Jardin Botanico, Madrid: MA-Funhist&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Pando, F. et al. (2003). MA Cryptogamic collections online databases. http://www.rjb.csic.es/herbario/crypto/crydb.htm. (date when consulted)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50796630" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50796630"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Real Jardin Botanico, Madrid: MA-Funhist&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/256"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="237" rdf:about="http://data.gbif.org/ws/rest/resource/get/237"&gt;\r
-                    &lt;gbif:name&gt;Real Jardin Botanico, Madrid: MA-Lichen&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Pando, F. et al. (2003). MA Cryptogamic collections online databases. http://www.rjb.csic.es/herbario/crypto/crydb.htm. (date when consulted)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50605097" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50605097"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Real Jardin Botanico, Madrid: MA-Lichen&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/237"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="255" rdf:about="http://data.gbif.org/ws/rest/resource/get/255"&gt;\r
-                    &lt;gbif:name&gt;Universidad de Extremadura, UNEX&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Ruiz, T. (2005) Vascular collection herbarium online database in Extremadura&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50788063" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50788063"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Universidad de Extremadura, UNEX&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/255"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="136" rdf:about="http://data.gbif.org/ws/rest/provider/get/136"&gt;\r
-                                                                                       &lt;gbif:name&gt;NatureServe&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="607" rdf:about="http://data.gbif.org/ws/rest/resource/get/607"&gt;\r
-                    &lt;gbif:name&gt;NatureServe Network Species Occurrence Data&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;NatureServe Central Databases&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51646369" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51646369"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;NatureServe Network Species Occurrence Data&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/607"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="56" rdf:about="http://data.gbif.org/ws/rest/provider/get/56"&gt;\r
-                                                                                       &lt;gbif:name&gt;GBIF New Zealand&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="471" rdf:about="http://data.gbif.org/ws/rest/resource/get/471"&gt;\r
-                    &lt;gbif:name&gt;NZFUNGI - Collections of the New Zealand National Fungal Herbarium (PDD)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;http://nzfungi.landcareresearch.co.nz Landcare Research, New Zealand&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51166007" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51166007"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;NZFUNGI - Collections of the New Zealand National Fungal Herbarium (PDD)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/471"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="472" rdf:about="http://data.gbif.org/ws/rest/resource/get/472"&gt;\r
-                    &lt;gbif:name&gt;International Collection of Microorganisms from Plants - New Zealand National Microbial Collection&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;International Collection of Microoganisms from Plants, Landcare Research, New Zealand&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51168326" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51168326"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;International Collection of Microorganisms from Plants - New Zealand National Microbial Collection&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/472"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="474" rdf:about="http://data.gbif.org/ws/rest/resource/get/474"&gt;\r
-                    &lt;gbif:name&gt;New Zealand National Plant Herbarium (CHR)&lt;/gbif:name&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51171666" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51171666"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;New Zealand National Plant Herbarium (CHR)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/474"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="473" rdf:about="http://data.gbif.org/ws/rest/resource/get/473"&gt;\r
-                    &lt;gbif:name&gt;New Zealand National Vegetation Survey Databank&lt;/gbif:name&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51168344" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51168344"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;New Zealand National Vegetation Survey Databank&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/473"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="156" rdf:about="http://data.gbif.org/ws/rest/provider/get/156"&gt;\r
-                                                                                       &lt;gbif:name&gt;Seodaemun Museum of Natural History&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="673" rdf:about="http://data.gbif.org/ws/rest/resource/get/673"&gt;\r
-                    &lt;gbif:name&gt;Seodaemun Museum of Natural History Plant&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51988429" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51988429"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Seodaemun Museum of Natural History Plant&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/673"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="670" rdf:about="http://data.gbif.org/ws/rest/resource/get/670"&gt;\r
-                    &lt;gbif:name&gt;Seodaemun Museum of Natural History Fossil&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51988402" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51988402"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Seodaemun Museum of Natural History Fossil&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/670"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="14" rdf:about="http://data.gbif.org/ws/rest/provider/get/14"&gt;\r
-                                                                                       &lt;gbif:name&gt;Bernice Pauahi Bishop Museum&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="54" rdf:about="http://data.gbif.org/ws/rest/resource/get/54"&gt;\r
-                    &lt;gbif:name&gt;Bishop Museum Natural Sciences Data&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Bishop Museum Natural History Data&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50178479" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50178479"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Bishop Museum Natural Sciences Data&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/54"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="12" rdf:about="http://data.gbif.org/ws/rest/provider/get/12"&gt;\r
-                                                                                       &lt;gbif:name&gt;BeBIF Provider&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="96" rdf:about="http://data.gbif.org/ws/rest/resource/get/96"&gt;\r
-                    &lt;gbif:name&gt;Royal Museum of Central Africa - Metafro-Infosys - Prelude&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Metafro-Infosys&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50267686" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50267686"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Royal Museum of Central Africa - Metafro-Infosys - Prelude&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/96"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="95" rdf:about="http://data.gbif.org/ws/rest/resource/get/95"&gt;\r
-                    &lt;gbif:name&gt;Royal Museum of Central Africa - Metafro-Infosys - Xylarium&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;RMCA-Metafro-Infosys-Xylarium&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50254870" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50254870"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Royal Museum of Central Africa - Metafro-Infosys - Xylarium&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/95"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="153" rdf:about="http://data.gbif.org/ws/rest/provider/get/153"&gt;\r
-                                                                                       &lt;gbif:name&gt;Alaska Ocean Observing System&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="654" rdf:about="http://data.gbif.org/ws/rest/resource/get/654"&gt;\r
-                    &lt;gbif:name&gt;Arctic Ocean Diversity&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51921018" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51921018"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Arctic Ocean Diversity&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/654"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="20" rdf:about="http://data.gbif.org/ws/rest/provider/get/20"&gt;\r
-                                                                                       &lt;gbif:name&gt;Botanical Research Institute of Texas&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="56" rdf:about="http://data.gbif.org/ws/rest/resource/get/56"&gt;\r
-                    &lt;gbif:name&gt;Andes to Amazon Biodiversity Program&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50205952" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50205952"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Andes to Amazon Biodiversity Program&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/56"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="368" rdf:about="http://data.gbif.org/ws/rest/provider/get/368"&gt;\r
-                                                                                       &lt;gbif:name&gt;ECAT development publisher&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="13566" rdf:about="http://data.gbif.org/ws/rest/resource/get/13566"&gt;\r
-                    &lt;gbif:name&gt;Wikipedia Species Pages - English&lt;/gbif:name&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="110582304" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110582304"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                                                                     &lt;tc:TaxonConcept gbifKey="110624584" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110624584"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                                                                     &lt;tc:TaxonConcept gbifKey="110525446" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110525446"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                                                                     &lt;tc:TaxonConcept gbifKey="110617462" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110617462"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                                                                     &lt;tc:TaxonConcept gbifKey="110568798" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110568798"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                                                                     &lt;tc:TaxonConcept gbifKey="110568797" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110568797"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                                                                     &lt;tc:TaxonConcept gbifKey="110586738" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110586738"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                                                                     &lt;tc:TaxonConcept gbifKey="110509215" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110509215"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                                                                     &lt;tc:TaxonConcept gbifKey="110499063" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110499063"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                                                                     &lt;tc:TaxonConcept gbifKey="110582305" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110582305"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="13562" rdf:about="http://data.gbif.org/ws/rest/resource/get/13562"&gt;\r
-                    &lt;gbif:name&gt;Wikipedia Species Pages - German&lt;/gbif:name&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="110405143" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110405143"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - German&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13562"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="82" rdf:about="http://data.gbif.org/ws/rest/provider/get/82"&gt;\r
-                                                                                       &lt;gbif:name&gt;Ocean Biogeographic Information System&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="327" rdf:about="http://data.gbif.org/ws/rest/resource/get/327"&gt;\r
-                    &lt;gbif:name&gt;Natural Geography In Shore Areas (NaGISA) Dataset&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;(how users should cite data if they use it): Rigby,P.R., B.Konar, T.Kato, K.Iken, H.Chenelot and Y.Shirayama (2005)NaGISA OBIS Dataset ver.1&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50930545" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50930545"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Natural Geography In Shore Areas (NaGISA) Dataset&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/327"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="328" rdf:about="http://data.gbif.org/ws/rest/resource/get/328"&gt;\r
-                    &lt;gbif:name&gt;Continuous Plankton Recorder database&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Continuous Plankton Recorder (CPR) data from the Sir Alister Hardy Foundation for Ocean Science (SAHFOS). Avaiable from http://iobis.org/ [Accessed DATE] (citation as instructed)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50932584" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50932584"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Continuous Plankton Recorder database&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/328"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="343" rdf:about="http://data.gbif.org/ws/rest/resource/get/343"&gt;\r
-                    &lt;gbif:name&gt;Gwaii Haanas Marine Plants (OBIS Canada)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Living marine legacy of Gwaii Haanas. I: Marine plant baseline to 1999 and plant-related management issues&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51014853" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51014853"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Gwaii Haanas Marine Plants (OBIS Canada)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/343"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="361" rdf:about="http://data.gbif.org/ws/rest/resource/get/361"&gt;\r
-                    &lt;gbif:name&gt;Taxonomic Information Sytem for the Belgian coastal area (EurOBIS)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Vanden Berghe, E. (2000). Tisbe, Taxonomic Information System for the Belgian coastal area. http://www.vliz.be/vmdcdata/tisbe.&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51042676" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51042676"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Taxonomic Information Sytem for the Belgian coastal area (EurOBIS)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/361"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="320" rdf:about="http://data.gbif.org/ws/rest/resource/get/320"&gt;\r
-                    &lt;gbif:name&gt;SeamountsOnline (seamount biota) (CoML)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Stocks, K. 2003. SeamountsOnline: an online information system for seamount biology. Version 3.1. seamounts.sdsc.edu&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50919086" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50919086"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;SeamountsOnline (seamount biota) (CoML)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/320"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="380" rdf:about="http://data.gbif.org/ws/rest/resource/get/380"&gt;\r
-                    &lt;gbif:name&gt;MarBEF Publication Series data (EurOBIS)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51068483" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51068483"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;MarBEF Publication Series data (EurOBIS)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/380"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="347" rdf:about="http://data.gbif.org/ws/rest/resource/get/347"&gt;\r
-                    &lt;gbif:name&gt;Bay of Fundy Species List (OBIS Canada)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Pohle, G., L. Van Guelpen, A. Martin, D. Welshman, and A. McGuire. 2004. Bay of Fundy Species&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51021774" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51021774"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Bay of Fundy Species List (OBIS Canada)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/347"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="418" rdf:about="http://data.gbif.org/ws/rest/resource/get/418"&gt;\r
-                    &lt;gbif:name&gt;Benthic biodiversity along the central coast in the Brazilian EEZ (OBIS South America, BRAZIL) (OBIS South America, BRAZIL)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Lavrado, H.P. &amp;amp; Ignacio, B.L. (eds.) 2006. Biodiversidade bentônica da costa central da Zona Econômica Exclusiva brasileira. Rio de Janeiro : Museu Nacional, 2006.(Série Livros; 18) 389 p. ISBN 85-7427-014-8&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51106042" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51106042"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Benthic biodiversity along the central coast in the Brazilian EEZ (OBIS South America, BRAZIL) (OBIS South America, BRAZIL)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/418"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="408" rdf:about="http://data.gbif.org/ws/rest/resource/get/408"&gt;\r
-                    &lt;gbif:name&gt;Posidonia Oceanica Survey 2005 (EurOBIS)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51095281" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51095281"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Posidonia Oceanica Survey 2005 (EurOBIS)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/408"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="364" rdf:about="http://data.gbif.org/ws/rest/resource/get/364"&gt;\r
-                    &lt;gbif:name&gt;MedOBIS (EurOBIS)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51049806" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51049806"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;MedOBIS (EurOBIS)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/364"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="419" rdf:about="http://data.gbif.org/ws/rest/resource/get/419"&gt;\r
-                    &lt;gbif:name&gt;Phytoplankton Universidad Arturo Prat (OBIS South America, SOUTH PACIFIC NODE)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Herrera, L., Escribano, R. (2006)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51106440" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51106440"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Phytoplankton Universidad Arturo Prat (OBIS South America, SOUTH PACIFIC NODE)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/419"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="396" rdf:about="http://data.gbif.org/ws/rest/resource/get/396"&gt;\r
-                    &lt;gbif:name&gt;AIMS - Bioresources Library (OBIS Australia)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;AIMS - Bioresources Library&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51074210" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51074210"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;AIMS - Bioresources Library (OBIS Australia)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/396"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="414" rdf:about="http://data.gbif.org/ws/rest/resource/get/414"&gt;\r
-                    &lt;gbif:name&gt;Bolus Herbarium Algal Specimen Database (AfrOBIS)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Bolus Herbarium Algal Specimen Database&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51098105" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51098105"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Bolus Herbarium Algal Specimen Database (AfrOBIS)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/414"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="131" rdf:about="http://data.gbif.org/ws/rest/provider/get/131"&gt;\r
-                                                                                       &lt;gbif:name&gt;National Museum of Nature and Science, Japan&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="595" rdf:about="http://data.gbif.org/ws/rest/resource/get/595"&gt;\r
-                    &lt;gbif:name&gt;Algae Collection of National Museum of Nature and Science&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51580651" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51580651"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Algae Collection of National Museum of Nature and Science&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/595"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="600" rdf:about="http://data.gbif.org/ws/rest/resource/get/600"&gt;\r
-                    &lt;gbif:name&gt;Herbarium Specimens of Tokushima Prefectural Museum, Japan&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51601143" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51601143"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Herbarium Specimens of Tokushima Prefectural Museum, Japan&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/600"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="594" rdf:about="http://data.gbif.org/ws/rest/resource/get/594"&gt;\r
-                    &lt;gbif:name&gt;Bryophytes Collection of National Museum of Nature and Science&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51578373" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51578373"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Bryophytes Collection of National Museum of Nature and Science&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/594"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="596" rdf:about="http://data.gbif.org/ws/rest/resource/get/596"&gt;\r
-                    &lt;gbif:name&gt;Vascular Plants Collection of National Museum of Nature and Science&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51583518" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51583518"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Vascular Plants Collection of National Museum of Nature and Science&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/596"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="599" rdf:about="http://data.gbif.org/ws/rest/resource/get/599"&gt;\r
-                    &lt;gbif:name&gt;Plant Specimens of Kurashiki Museum of Natural History&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51592579" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51592579"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Plant Specimens of Kurashiki Museum of Natural History&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/599"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="609" rdf:about="http://data.gbif.org/ws/rest/resource/get/609"&gt;\r
-                    &lt;gbif:name&gt;Bryophyte specimens database of Mr. Tsutomu Kodama collection, Osaka museum of Natural History&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51662408" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51662408"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Bryophyte specimens database of Mr. Tsutomu Kodama collection, Osaka museum of Natural History&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/609"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="606" rdf:about="http://data.gbif.org/ws/rest/resource/get/606"&gt;\r
-                    &lt;gbif:name&gt;Herbarium of Kitakyushu Museum of Natural History and Human History&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51631882" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51631882"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Herbarium of Kitakyushu Museum of Natural History and Human History&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/606"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="61" rdf:about="http://data.gbif.org/ws/rest/provider/get/61"&gt;\r
-                                                                                       &lt;gbif:name&gt;Gyeryonsan Natural History Museum&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="218" rdf:about="http://data.gbif.org/ws/rest/resource/get/218"&gt;\r
-                    &lt;gbif:name&gt;Gyeryonsan Natural History Museum Fossil&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50515837" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50515837"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Gyeryonsan Natural History Museum Fossil&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/218"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="101" rdf:about="http://data.gbif.org/ws/rest/provider/get/101"&gt;\r
-                                                                                       &lt;gbif:name&gt;Korea National Arboretum (Korea Forest Service)&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="469" rdf:about="http://data.gbif.org/ws/rest/resource/get/469"&gt;\r
-                    &lt;gbif:name&gt;Plant&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51135517" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51135517"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Plant&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/469"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="48" rdf:about="http://data.gbif.org/ws/rest/provider/get/48"&gt;\r
-                                                                                       &lt;gbif:name&gt;Fairchild Tropical Botanic Garden&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="202" rdf:about="http://data.gbif.org/ws/rest/resource/get/202"&gt;\r
-                    &lt;gbif:name&gt;Fairchild Tropical Botanic Garden Virtual Herbarium Darwin Core format&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Fairchild Tropical Botanic Garden Virtual Herbarium&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50497602" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50497602"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Fairchild Tropical Botanic Garden Virtual Herbarium Darwin Core format&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/202"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="97" rdf:about="http://data.gbif.org/ws/rest/provider/get/97"&gt;\r
-                                                                                       &lt;gbif:name&gt;Jyvaskyla University Museum - The Section of Natural Sciences&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="462" rdf:about="http://data.gbif.org/ws/rest/resource/get/462"&gt;\r
-                    &lt;gbif:name&gt;Vascular plant collection of Jyvaskyla University Museum&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Jyvaskyla University Museum - The Section of Natural Sciences&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51127387" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51127387"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Vascular plant collection of Jyvaskyla University Museum&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/462"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="69" rdf:about="http://data.gbif.org/ws/rest/provider/get/69"&gt;\r
-                                                                                       &lt;gbif:name&gt;Herbarium of the University of Aarhus&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="224" rdf:about="http://data.gbif.org/ws/rest/resource/get/224"&gt;\r
-                    &lt;gbif:name&gt;The AAU Herbarium Database&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;AAU Herbarium Database&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50538726" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50538726"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;The AAU Herbarium Database&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/224"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="148" rdf:about="http://data.gbif.org/ws/rest/provider/get/148"&gt;\r
-                                                                                       &lt;gbif:name&gt;Royal Botanic Gardens, Kew&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="629" rdf:about="http://data.gbif.org/ws/rest/resource/get/629"&gt;\r
-                    &lt;gbif:name&gt;Royal Botanic Gardens, Kew&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51701360" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51701360"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Royal Botanic Gardens, Kew&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/629"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="90" rdf:about="http://data.gbif.org/ws/rest/provider/get/90"&gt;\r
-                                                                                       &lt;gbif:name&gt;Instituto Nacional de Biodiversidad (INBio), Costa Rica&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="333" rdf:about="http://data.gbif.org/ws/rest/resource/get/333"&gt;\r
-                    &lt;gbif:name&gt;Biodiversidad de Costa Rica&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;http://www.gbif.org/DataProviders/Cite&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50974029" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50974029"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Biodiversidad de Costa Rica&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/333"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="23" rdf:about="http://data.gbif.org/ws/rest/provider/get/23"&gt;\r
-                                                                                       &lt;gbif:name&gt;British Antarctic Survey&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="67" rdf:about="http://data.gbif.org/ws/rest/resource/get/67"&gt;\r
-                    &lt;gbif:name&gt;ANTARCTIC PLANT DATABASE&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50223325" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50223325"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;ANTARCTIC PLANT DATABASE&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/67"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="25" rdf:about="http://data.gbif.org/ws/rest/provider/get/25"&gt;\r
-                                                                                       &lt;gbif:name&gt;University of Washington Burke Museum&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="126" rdf:about="http://data.gbif.org/ws/rest/resource/get/126"&gt;\r
-                    &lt;gbif:name&gt;Vascular Plant Collection - University of Washington Herbarium (WTU)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;University of Washington Burke Museum. WTU Herbarium Vascular Plant Collection. Seattle, Washington.&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50316447" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50316447"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Vascular Plant Collection - University of Washington Herbarium (WTU)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/126"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="26" rdf:about="http://data.gbif.org/ws/rest/provider/get/26"&gt;\r
-                                                                                       &lt;gbif:name&gt;CABIDiGIR Provider&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="167" rdf:about="http://data.gbif.org/ws/rest/resource/get/167"&gt;\r
-                    &lt;gbif:name&gt;CABI Bioscience Fungus Collection&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;IMI&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50432479" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50432479"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;CABI Bioscience Fungus Collection&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/167"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="164" rdf:about="http://data.gbif.org/ws/rest/provider/get/164"&gt;\r
-                                                                                       &lt;gbif:name&gt;The Danish Biodiversity Information Facility&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="703" rdf:about="http://data.gbif.org/ws/rest/resource/get/703"&gt;\r
-                    &lt;gbif:name&gt;Botany registration database by Danish botanists&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="52077210" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/52077210"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Botany registration database by Danish botanists&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/703"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="702" rdf:about="http://data.gbif.org/ws/rest/resource/get/702"&gt;\r
-                    &lt;gbif:name&gt;University of Copenhagen's Arboretum&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation/&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="52071070" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/52071070"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;University of Copenhagen's Arboretum&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/702"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="30" rdf:about="http://data.gbif.org/ws/rest/provider/get/30"&gt;\r
-                                                                                       &lt;gbif:name&gt;Canadian Biodiversity Information Facility&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="512" rdf:about="http://data.gbif.org/ws/rest/resource/get/512"&gt;\r
-                    &lt;gbif:name&gt;Royal Botanical Gardens Herbarium&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Royal Botanical Gardens Herbarium&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51196472" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51196472"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Royal Botanical Gardens Herbarium&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/512"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="526" rdf:about="http://data.gbif.org/ws/rest/resource/get/526"&gt;\r
-                    &lt;gbif:name&gt;Phragmites of Canada&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Phragmites of Canada&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51200628" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51200628"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Phragmites of Canada&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/526"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="6" rdf:about="http://data.gbif.org/ws/rest/provider/get/6"&gt;\r
-                                                                                       &lt;gbif:name&gt;Australian Antarctic Data Centre&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="77" rdf:about="http://data.gbif.org/ws/rest/resource/get/77"&gt;\r
-                    &lt;gbif:name&gt;Antarctic Marine Protists species checklist&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Species list derived from the book Antarctic Marine Prostists (2005) edited by Fiona J. Scott and Harvey J. Marchant. (ISBN 0 642 56835 9)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50248379" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50248379"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Antarctic Marine Protists species checklist&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/77"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                                                                                                       &lt;gbif:dataResource gbifKey="76" rdf:about="http://data.gbif.org/ws/rest/resource/get/76"&gt;\r
-                    &lt;gbif:name&gt;Australian Antarctic Division Herbarium&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Contact Dave Watts for details on citation details.&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50244776" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50244776"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Australian Antarctic Division Herbarium&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/76"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="31" rdf:about="http://data.gbif.org/ws/rest/provider/get/31"&gt;\r
-                                                                                       &lt;gbif:name&gt;Canadian Museum of Nature&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="123" rdf:about="http://data.gbif.org/ws/rest/resource/get/123"&gt;\r
-                    &lt;gbif:name&gt;Canadian Museum of Nature Herbarium&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Canadian Museum of Nature Herbarium (The National Herbarium of Canada)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50295570" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50295570"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Canadian Museum of Nature Herbarium&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/123"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="8" rdf:about="http://data.gbif.org/ws/rest/provider/get/8"&gt;\r
-                                                                                       &lt;gbif:name&gt;Australian National Herbarium (CANB)&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="47" rdf:about="http://data.gbif.org/ws/rest/resource/get/47"&gt;\r
-                    &lt;gbif:name&gt;Australian National Herbarium (CANB)&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;http://www.cpbr.gov.au/cpbr/herbarium&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50029604" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50029604"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Australian National Herbarium (CANB)&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/47"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="75" rdf:about="http://data.gbif.org/ws/rest/provider/get/75"&gt;\r
-                                                                                       &lt;gbif:name&gt;Illinois Natural History Survey&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="225" rdf:about="http://data.gbif.org/ws/rest/resource/get/225"&gt;\r
-                    &lt;gbif:name&gt;Illinois Natural History Survey&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;INHS Insect Collection&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50581580" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50581580"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Illinois Natural History Survey&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/225"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="141" rdf:about="http://data.gbif.org/ws/rest/provider/get/141"&gt;\r
-                                                                                       &lt;gbif:name&gt;Oregon State University&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="622" rdf:about="http://data.gbif.org/ws/rest/resource/get/622"&gt;\r
-                    &lt;gbif:name&gt;Vascular Plant Collection&lt;/gbif:name&gt;\r
-                                         &lt;gbif:citation&gt;Oregon State University Herbarium (OSC)&lt;/gbif:citation&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="51680150" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51680150"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;Vascular Plant Collection&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/622"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;gbif:dataProvider gbifKey="89" rdf:about="http://data.gbif.org/ws/rest/provider/get/89"&gt;\r
-                                                                                       &lt;gbif:name&gt;Instituto de Investigaciones de la Amazonía Peruana&lt;/gbif:name&gt;\r
-                                                               &lt;gbif:dataResources&gt;\r
-                                                                               &lt;gbif:dataResource gbifKey="325" rdf:about="http://data.gbif.org/ws/rest/resource/get/325"&gt;\r
-                    &lt;gbif:name&gt;HerbarioHerrerense&lt;/gbif:name&gt;\r
-                                               &lt;gbif:taxonConcepts&gt;\r
-                                             &lt;tc:TaxonConcept gbifKey="50922844" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50922844"&gt;\r
-                      &lt;tc:hasName&gt;\r
-                       &lt;tn:TaxonName&gt;\r
-                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
-                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
-                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
-                       &lt;/tn:TaxonName&gt;\r
-                      &lt;/tc:hasName&gt;\r
-                      &lt;tc:accordingToString&gt;HerbarioHerrerense&lt;/tc:accordingToString&gt;\r
-                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/325"/&gt;\r
-                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
-                     &lt;/tc:TaxonConcept&gt;                  \r
-                                               &lt;/gbif:taxonConcepts&gt;\r
-                               &lt;/gbif:dataResource&gt;    \r
-                       &lt;/gbif:dataResources&gt;\r
-               &lt;/gbif:dataProvider&gt;\r
-&lt;/gbif:dataProviders&gt;\r
-&lt;/gbif:gbifResponse&gt;</xmlDocument>\r
-  <xpathExpression>/gbif:gbifResponse/gbif:header/gbif:summary/@next[1]</xpathExpression>\r
-  <xpathNamespaceMap>\r
-    <entry>\r
-      <string>tn</string>\r
-      <string>http://rs.tdwg.org/ontology/voc/TaxonName#</string>\r
-    </entry>\r
-    <entry>\r
-      <string>gbif</string>\r
-      <string>http://portal.gbif.org/ws/response/gbif</string>\r
-    </entry>\r
-    <entry>\r
-      <string>tc</string>\r
-      <string>http://rs.tdwg.org/ontology/voc/TaxonConcept#</string>\r
-    </entry>\r
-    <entry>\r
-      <string>rdf</string>\r
-      <string>http://www.w3.org/1999/02/22-rdf-syntax-ns#</string>\r
-    </entry>\r
-    <entry>\r
-      <string>xsi</string>\r
-      <string>http://www.w3.org/2001/XMLSchema-instance</string>\r
-    </entry>\r
-  </xpathNamespaceMap>\r
-</net.sf.taverna.t2.activities.xpath.XPathActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Loop</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration xmlns="">\r
-  <properties />\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xml_text" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>list_to_single_value</name><inputPorts><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>d72c319e-e7e1-48e8-85e1-37ebe66b92cd</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 15:10:59.480 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>89239f74-e16c-49c9-b1f8-c427d056b116</identification>\r
+      </annotationBean>\r
+      <date>2012-06-01 11:20:38.861 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>bc95f5ff-d775-41f7-b00a-f2b5e98da052</identification>\r
+      </annotationBean>\r
+      <date>2012-05-31 16:27:29.690 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>3e5d0d2d-efec-4e0f-b271-dba90a4cb8ed</identification>\r
+      </annotationBean>\r
+      <date>2012-06-01 11:48:21.559 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>dd57c2b7-168e-4fa0-8e47-8853f4bc10dd</identification>\r
+      </annotationBean>\r
+      <date>2012-04-04 11:56:57.497 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>db44bb83-2d74-4436-940a-1428153efdc4</identification>\r
+      </annotationBean>\r
+      <date>2012-05-31 17:50:12.280 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>9e4fc010-46ed-40d2-a0b5-72791c02a3cc</identification>\r
+      </annotationBean>\r
+      <date>2012-04-04 13:30:35.947 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>2d2d9854-192c-4bf1-b17c-6605821b4423</identification>\r
+      </annotationBean>\r
+      <date>2012-04-03 17:02:05.350 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>1e206c8e-dd6c-4d41-9585-6891681a4a4b</identification>\r
+      </annotationBean>\r
+      <date>2012-06-01 10:57:40.69 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>550115ca-14f6-4dae-a760-77d52d99a372</identification>\r
+      </annotationBean>\r
+      <date>2012-05-31 17:58:51.374 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>33506dd6-1341-4215-836d-d946e9d75b2e</identification>\r
+      </annotationBean>\r
+      <date>2012-04-05 16:36:13.129 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>e7109cae-4abe-4c5c-ae55-68ceafe4a272</identification>\r
+      </annotationBean>\r
+      <date>2012-05-31 17:11:10.639 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>71f1ee5f-1682-4671-8ef4-b0cc2f24f426</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 15:00:58.820 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>b4ecfa15-da32-43f1-ba9f-5c37be218fe2</identification>\r
+      </annotationBean>\r
+      <date>2012-05-31 18:02:50.672 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>b8db6aa4-8f44-40dc-a61c-cbce4a2745ba</identification>\r
+      </annotationBean>\r
+      <date>2012-05-29 12:18:50.504 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>ff0d9290-60f4-487c-aa50-5593cff0fbc5</identification>\r
+      </annotationBean>\r
+      <date>2012-05-31 17:21:46.820 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>f70f7736-8e3f-4c3a-bc5d-1251d400dafc</identification>\r
+      </annotationBean>\r
+      <date>2012-05-29 12:25:03.618 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>8426bef1-e9a8-4e7c-a88d-97b01a3aa456</identification>\r
+      </annotationBean>\r
+      <date>2012-04-05 16:43:30.110 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>07ee1f3f-058e-4e82-bd20-87dc918f28f9</identification>\r
+      </annotationBean>\r
+      <date>2012-04-05 16:44:16.906 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>fda4c32f-fb52-4c55-a0b4-596f82a58cb7</identification>\r
+      </annotationBean>\r
+      <date>2012-04-04 13:49:03.799 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>d7b0c0f2-f703-4245-b29e-809ee0e952b6</identification>\r
+      </annotationBean>\r
+      <date>2012-05-29 13:42:58.175 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>5bd9cfb1-20a4-445d-b0db-47809641d791</identification>\r
+      </annotationBean>\r
+      <date>2012-04-04 13:40:15.842 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="370ad085-8ced-4374-ba09-ebf615d24880" role="nested"><name>Workflow32</name><inputPorts><port><name>sciName</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_output</name><annotations /></port></outputPorts><processors><processor><name>Merge_String_List_to_a_String</name><inputPorts><port><name>seperator</name><depth>0</depth></port><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>concatenated</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="seperator" to="seperator" /><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="concatenated" to="concatenated" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
       <name>stringlist</name>\r
@@ -2675,12 +766,24 @@ All usage of these data must be in accordance with the GBIF Data Use Agreement -
       <translatedElementType>java.lang.String</translatedElementType>\r
       <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>seperator</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>value</name>\r
+      <name>concatenated</name>\r
       <depth>0</depth>\r
-      <mimeTypes />\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
       <granularDepth>0</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
   </outputs>\r
@@ -2688,7 +791,9 @@ All usage of these data must be in accordance with the GBIF Data Use Agreement -
   <localDependencies />\r
   <artifactDependencies />\r
   <script>String seperatorString = "\n";\r
-\r
+if (seperator != void) {\r
+       seperatorString = seperator;\r
+}\r
 StringBuffer sb = new StringBuffer();\r
 for (Iterator i = stringlist.iterator(); i.hasNext();) {\r
        String item = (String) i.next();\r
@@ -2697,35 +802,402 @@ for (Iterator i = stringlist.iterator(); i.hasNext();) {
                sb.append(seperatorString);\r
        }\r
 }\r
-value = sb.toString();\r
+concatenated = sb.toString();\r
 </script>\r
   <dependencies />\r
   <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringListMerge</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="seperator" depth="0" /><port name="stringlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>no_separator</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value />\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>gbif_occurrence_max1000</name><inputPorts><port><name>sciName</name><depth>0</depth></port><port><name>next</name><depth>0</depth></port></inputPorts><outputPorts><port><name>next</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>max1000_csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="next" to="next" /><map from="sciName" to="sciName" /></inputMap><outputMap><map from="next" to="next" /><map from="max1000_csv_output" to="max1000_csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="124b440e-f7ef-445f-901b-b3d04ca3e2a7" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Loop</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration xmlns="">\r
+  <conditionXML>&lt;activity xmlns="http://taverna.sf.net/2008/xml/t2flow"&gt;&lt;raven&gt;&lt;group&gt;net.sf.taverna.t2.activities&lt;/group&gt;&lt;artifact&gt;beanshell-activity&lt;/artifact&gt;&lt;version&gt;1.3&lt;/version&gt;&lt;/raven&gt;&lt;class&gt;net.sf.taverna.t2.activities.beanshell.BeanshellActivity&lt;/class&gt;&lt;inputMap /&gt;&lt;outputMap /&gt;&lt;configBean encoding="xstream"&gt;&lt;net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns=""&gt;&#xD;\r
+  &lt;inputs&gt;&#xD;\r
+    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
+      &lt;name&gt;next&lt;/name&gt;&#xD;\r
+      &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
+      &lt;mimeTypes class="java.util.Collections$EmptyList" reference="../../net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean/mimeTypes" /&gt;&#xD;\r
+      &lt;handledReferenceSchemes class="java.util.Collections$EmptyList" reference="../../net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean/mimeTypes" /&gt;&#xD;\r
+      &lt;translatedElementType&gt;java.lang.String&lt;/translatedElementType&gt;&#xD;\r
+      &lt;allowsLiteralValues&gt;true&lt;/allowsLiteralValues&gt;&#xD;\r
+    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
+  &lt;/inputs&gt;&#xD;\r
+  &lt;outputs&gt;&#xD;\r
+    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
+      &lt;name&gt;loop&lt;/name&gt;&#xD;\r
+      &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
+      &lt;mimeTypes /&gt;&#xD;\r
+      &lt;granularDepth&gt;0&lt;/granularDepth&gt;&#xD;\r
+    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
+    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
+      &lt;name&gt;next&lt;/name&gt;&#xD;\r
+      &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
+      &lt;mimeTypes /&gt;&#xD;\r
+      &lt;granularDepth&gt;0&lt;/granularDepth&gt;&#xD;\r
+    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
+  &lt;/outputs&gt;&#xD;\r
+  &lt;classLoaderSharing&gt;workflow&lt;/classLoaderSharing&gt;&#xD;\r
+  &lt;localDependencies /&gt;&#xD;\r
+  &lt;artifactDependencies /&gt;&#xD;\r
+  &lt;script&gt;loop = "" + ! next.matches("");&lt;/script&gt;&#xD;\r
+  &lt;dependencies /&gt;&#xD;\r
+&lt;/net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean&gt;&lt;/configBean&gt;&lt;annotations /&gt;&lt;/activity&gt;</conditionXML>\r
+  <runFirst>true</runFirst>\r
+  <properties>\r
+    <property name="compareValue" value="" />\r
+    <property name="comparePort" value="next" />\r
+    <property name="delay" value="0.5" />\r
+    <property name="comparison" value="custom" />\r
+    <property name="isFeedBack" value="true" />\r
+  </properties>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciName" depth="0" /><port name="next" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>next_value</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value>0</value>\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>sink</name><inputPorts><port><name>inputlist</name><depth>1</depth></port></inputPorts><outputPorts /><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inputlist" to="inputlist" /></inputMap><outputMap /><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>inputlist</name>\r
+      <depth>1</depth>\r
+      <mimeTypes>\r
+        <string>l('')</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>[B</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs />\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>outputlist = inputlist;</script>\r
+  <dependencies />\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.EchoList</localworkerName>\r
 </net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
-        <text>UserNameHere</text>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
+        <text>UserNameHere</text>\r
+      </annotationBean>\r
+      <date>2011-12-05 17:26:34.170 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inputlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>seperator</port></sink><source type="processor"><processor>no_separator</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>stringlist</port></sink><source type="processor"><processor>gbif_occurrence_max1000</processor><port>max1000_csv_output</port></source></datalink><datalink><sink type="processor"><processor>gbif_occurrence_max1000</processor><port>sciName</port></sink><source type="dataflow"><port>sciName</port></source></datalink><datalink><sink type="processor"><processor>gbif_occurrence_max1000</processor><port>next</port></sink><source type="processor"><processor>next_value</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>sink</processor><port>inputlist</port></sink><source type="processor"><processor>gbif_occurrence_max1000</processor><port>next</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>Merge_String_List_to_a_String</processor><port>concatenated</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>eeab83cc-69df-4a18-a6ad-e33a5cc51f35</identification>\r
+      </annotationBean>\r
+      <date>2012-01-13 16:59:53.791 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>aec72d1d-786a-4ccc-afb5-c712166bc3e2</identification>\r
+      </annotationBean>\r
+      <date>2012-01-31 16:33:25.857 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>46828567-904f-4105-96ef-0bf268ada001</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 17:06:50.222 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>5b4051bf-2a2a-46e8-a998-f80a766dd667</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 15:59:00.308 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>7f0f8712-195f-48d2-9fce-5d5ff7832312</identification>\r
+      </annotationBean>\r
+      <date>2012-01-25 16:57:56.63 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>d8d8cbfe-4a10-4903-b5d6-a1dbd68a1e0f</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 17:43:58.338 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>7cbd63e4-d73d-42d9-9133-4f359b06efb5</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 14:51:19.40 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>82083c79-a4c9-4d8c-bf19-3e89ff2276e6</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 15:05:39.350 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>98429027-b6ab-4c7a-8952-f92ce82af604</identification>\r
+      </annotationBean>\r
+      <date>2012-01-13 16:44:12.623 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>e2b4ef4f-5ce6-47fd-9aed-3042a7d27529</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 16:20:24.718 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>54d71067-a78a-4e3b-a54f-d47f75bd2adf</identification>\r
+      </annotationBean>\r
+      <date>2012-01-31 16:10:34.267 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>7a284b5d-ac86-416b-a639-27e9dc335bd6</identification>\r
+      </annotationBean>\r
+      <date>2012-02-07 17:40:29.204 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>5dbd6255-5adc-46fb-a4c6-ed77d56af267</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 17:16:27.428 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>f41b5d1f-a3a6-4fcb-a52a-748150c35471</identification>\r
+      </annotationBean>\r
+      <date>2012-02-07 17:22:31.525 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>fc6e1c60-48ee-4b31-b03c-56578917a502</identification>\r
+      </annotationBean>\r
+      <date>2012-02-07 17:54:50.374 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>df805bf7-d2c5-436b-a770-ba2258ed78c5</identification>\r
+      </annotationBean>\r
+      <date>2012-01-31 16:39:08.415 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>53f8a5ae-069d-4470-8da0-2df125dc5ec8</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 17:50:56.83 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>9f8d21c5-2523-4485-a181-01e6de804d4d</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 17:35:34.596 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>feaf6e99-716b-4cc9-81b0-7255ea5a38f7</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 16:03:20.221 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>97a86075-f1f7-4e46-a383-cec4b7b16ec4</identification>\r
+      </annotationBean>\r
+      <date>2012-01-31 16:24:57.958 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>9b4884d3-e15c-4b7d-b142-29bf6a7dd990</identification>\r
+      </annotationBean>\r
+      <date>2012-02-07 17:48:17.932 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>9995fb53-fe1e-4aee-88c8-60bb5f2f34cf</identification>\r
+      </annotationBean>\r
+      <date>2012-01-05 16:27:19.428 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>68e10646-ec25-46ff-a748-a4ceb7eb8962</identification>\r
+      </annotationBean>\r
+      <date>2012-01-31 17:02:32.988 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>6e0d1517-2294-4837-b994-80604a634cd0</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 15:55:00.474 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>4f8dd224-cc83-4af5-bbd2-dedfd09b43fe</identification>\r
       </annotationBean>\r
-      <date>2011-12-05 16:37:45.485 CET</date>\r
+      <date>2012-01-02 17:14:37.644 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="stringlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Transform_XML</processor><port>xslFileURL</port></sink><source type="processor"><processor>gbifResponse_to_csv_xsl</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML</processor><port>inString</port></sink><source type="processor"><processor>gbifOccurrence</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>gbifOccurrence</processor><port>format</port></sink><source type="processor"><processor>format_value</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>gbifOccurrence</processor><port>scientificname</port></sink><source type="dataflow"><port>sciName</port></source></datalink><datalink><sink type="processor"><processor>gbifOccurrence</processor><port>next</port></sink><source type="dataflow"><port>next</port></source></datalink><datalink><sink type="processor"><processor>next</processor><port>xml_text</port></sink><source type="processor"><processor>gbifOccurrence</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>list_to_single_value</processor><port>stringlist</port></sink><source type="processor"><processor>next</processor><port>nodelist</port></source></datalink><datalink><sink type="dataflow"><port>next</port></sink><source type="processor"><processor>list_to_single_value</processor><port>value</port></source></datalink><datalink><sink type="dataflow"><port>max1000_csv_output</port></sink><source type="processor"><processor>Transform_XML</processor><port>outputStr</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0405ad51-49d4-499c-bba3-01dbac5fb318</identification>\r
+        <identification>96030fe2-efe7-4c53-a562-a358b87d4770</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:37:21.427 CET</date>\r
+      <date>2012-04-04 11:55:49.744 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2734,9 +1206,9 @@ value = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>65d843f2-dc3a-45f3-a8b7-94138384a01a</identification>\r
+        <identification>9b1c8f07-a857-4d04-b260-b13bcf331662</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 18:14:49.842 CET</date>\r
+      <date>2012-01-31 16:03:53.673 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2745,9 +1217,9 @@ value = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3d7cc7af-f5a9-428f-a77d-2867c98c66a7</identification>\r
+        <identification>2547dd85-519d-4636-8ee9-3b380ad378ab</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:48:00.763 CET</date>\r
+      <date>2012-02-07 17:38:22.701 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2756,9 +1228,9 @@ value = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>428913bf-040a-43f2-9500-bb904c8c5aa6</identification>\r
+        <identification>7be40bed-1839-4117-81ff-49391e0fe35a</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:54:40.933 CET</date>\r
+      <date>2012-01-02 17:52:39.889 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2767,9 +1239,9 @@ value = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>124b440e-f7ef-445f-901b-b3d04ca3e2a7</identification>\r
+        <identification>25217334-644c-43ed-bd13-7a3b2a03d5c1</identification>\r
       </annotationBean>\r
-      <date>2012-03-02 16:39:23.274 CET</date>\r
+      <date>2012-01-31 16:20:23.935 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2778,9 +1250,9 @@ value = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>801315c9-0a96-46b3-927b-b74e186f7ece</identification>\r
+        <identification>097d3ac1-d144-4f87-81f4-6b995a524fee</identification>\r
       </annotationBean>\r
-      <date>2012-02-09 17:39:14.181 CET</date>\r
+      <date>2012-02-07 17:42:08.823 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2789,9 +1261,9 @@ value = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f653d906-88de-417d-bf3e-61ed29fd6733</identification>\r
+        <identification>e0b1887f-8e9c-43d7-bb75-ee3b5e382834</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 18:09:00.574 CET</date>\r
+      <date>2012-01-31 16:29:30.593 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -2800,541 +1272,240 @@ value = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>88fdb5ec-112f-40ce-be72-3c9bf4d888b0</identification>\r
+        <identification>a364b26a-abf3-425d-b166-ab27bf0381c5</identification>\r
       </annotationBean>\r
-      <date>2012-02-08 15:37:15.977 CET</date>\r
+      <date>2012-01-02 17:04:19.721 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="62f3f979-79ca-4566-8cd7-22af322c4c7e" role="nested"><name>Workflow38</name><inputPorts><port><name>csvData</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_output</name><annotations /></port></outputPorts><processors><processor><name>syn_expansion</name><inputPorts><port><name>synRequest</name><depth>1</depth></port></inputPorts><outputPorts><port><name>synResponse</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="synRequest" to="synRequest" /></inputMap><outputMap><map from="synResponse" to="synResponse" /></outputMap><configBean encoding="dataflow"><dataflow ref="adac59f0-935b-498d-b4ef-af755de705ed" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="synRequest" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Wrap_strings_in_query_element</name><inputPorts><port><name>string2</name><depth>0</depth></port><port><name>string1</name><depth>0</depth></port></inputPorts><outputPorts><port><name>output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="string2" to="string2" /><map from="string1" to="string1" /></inputMap><outputMap><map from="output" to="output" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>string1</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>string2</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>output</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>output = "&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n&lt;syncheck&gt;\n&lt;query&gt;\n" + string1 + string2 + "&lt;/query&gt;\n&lt;/syncheck&gt;";</script>\r
-  <dependencies />\r
-  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringConcat</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>8fd4d664-f4f1-48b8-a9a6-36c420e7214e</identification>\r
+      </annotationBean>\r
+      <date>2012-01-13 15:45:48.22 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>273737ec-425c-4577-8d2a-963156312cfd</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 15:56:51.418 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>a87dd75f-af3c-44ad-9718-b7125a22089f</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 17:21:03.648 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>d3e29f08-a44b-4bb2-9896-4f325e0499d3</identification>\r
+      </annotationBean>\r
+      <date>2012-01-13 17:09:46.986 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>8dc4d420-1edf-473f-b111-d6510f6f026e</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 17:47:36.491 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>dedef59b-8e8b-4e4d-8903-5f8c54422215</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 16:04:37.936 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>d705a674-a106-4328-b611-2deb72c4620b</identification>\r
+      </annotationBean>\r
+      <date>2012-01-31 16:22:50.732 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>0a796aad-5444-420c-a88c-c1ef2411601b</identification>\r
+      </annotationBean>\r
+      <date>2012-01-25 16:54:33.283 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>89f2b55a-52b9-43e9-a4a7-04fe6baca933</identification>\r
+      </annotationBean>\r
+      <date>2012-03-02 16:39:26.106 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>b5b6d740-cc89-4450-8e5b-44fcac2bfee2</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 15:00:31.584 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>eb452b59-dcaf-4db0-8f72-244455633870</identification>\r
+      </annotationBean>\r
+      <date>2012-01-13 15:40:37.647 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>818abfc6-bd93-4bbd-9c36-68b73b0af681</identification>\r
+      </annotationBean>\r
+      <date>2012-02-08 15:37:32.562 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>69821203-d769-45ce-a3bb-145a9964679f</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 15:04:12.378 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>b87d4830-e4c0-4665-972b-b60353b71873</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 16:29:06.484 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>533cbe09-7d47-4443-a85e-7a85ba750924</identification>\r
+      </annotationBean>\r
+      <date>2012-02-07 17:33:24.631 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
-        <text>UserNameHere</text>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>370ad085-8ced-4374-ba09-ebf615d24880</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 15:51:36.322 CET</date>\r
+      <date>2012-04-05 16:42:41.998 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><dot><port name="string2" depth="0" /><port name="string1" depth="0" /></dot></strategy></iteration></iterationStrategyStack></processor><processor><name>occ_retrieval</name><inputPorts><port><name>sciNameList</name><depth>1</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="sciNameList" to="sciNameList" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="215a1834-28df-4b7d-b6c2-48f559140fa2" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciNameList" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>SynCheckGUI</name><inputPorts><port><name>synreqres_list</name><depth>1</depth></port></inputPorts><outputPorts><port><name>out</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="synreqres_list" to="synreqres_list" /></inputMap><outputMap><map from="out" to="out" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>synreqres_list</name>\r
-      <depth>1</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>out</name>\r
-      <depth>1</depth>\r
-      <mimeTypes />\r
-      <granularDepth>1</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies>\r
-    <string>DCWorkflow.jar</string>\r
-  </localDependencies>\r
-  <artifactDependencies />\r
-  <script>import org.bgbm.biovel.datacleaning.syncheck.SynCheckDialog;\r
-Frame f = new JFrame();\r
-\r
-SynCheckDialog scd = new SynCheckDialog(f,true, synreqres_list);\r
-scd.setLocationRelativeTo(null);\r
-scd.show();\r
-\r
-out = scd.getUniqueNameList();\r
-</script>\r
-  <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="synreqres_list" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>DCDataParser</name><inputPorts><port><name>csvData</name><depth>0</depth></port></inputPorts><outputPorts><port><name>synonymRequest</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="csvData" to="csvData" /></inputMap><outputMap><map from="synonymRequest" to="synonymRequest" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>csvData</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>synonymRequest</name>\r
-      <depth>1</depth>\r
-      <mimeTypes />\r
-      <granularDepth>1</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>incorrectRecords</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>\r
-\r
-import java.io.BufferedReader;\r
-import java.io.ByteArrayInputStream;\r
-import java.io.StringReader;\r
-import java.util.StringTokenizer;\r
-import java.util.HashSet;\r
-import java.util.Iterator;\r
-import java.io.StringWriter;\r
-import javax.xml.stream.XMLOutputFactory;\r
-import javax.xml.stream.XMLStreamWriter;\r
-import javax.xml.transform.OutputKeys;\r
-import javax.xml.transform.Transformer;\r
-import javax.xml.transform.TransformerFactory;\r
-import javax.xml.transform.stream.StreamResult;\r
-import javax.xml.transform.stream.StreamSource;\r
-\r
-\r
-\r
-\r
-class SynonymCheckData {\r
-    public boolean atomised = false;\r
-    public String sciName = "";\r
-    public String authorship = "";\r
-    public String genusPart = "";\r
-    public String infragenericEpithet = "";\r
-    public String specificEpithet = "";\r
-    public String infraspecificEpithet = "";\r
-    public String uninomial = "";\r
-\r
-    public SynonymCheckData() {\r
-       clear();\r
-    }\r
-\r
-    public void clear() {\r
-       atomised = false;\r
-       sciName = "";\r
-       authorship = "";\r
-       genusPart = "";\r
-       infragenericEpithet = "";\r
-       specificEpithet = "";\r
-       infraspecificEpithet = "";\r
-       uninomial = "";\r
-    }\r
-\r
-    public int hashCode() {\r
-       return sciName.hashCode();\r
-    }\r
-    public boolean equals(Object obj) {\r
-       \r
-       if ( this == obj ) return true;\r
-           \r
-       if ( !(obj instanceof SynonymCheckData) ) return false;\r
-           \r
-       SynonymCheckData scd = (SynonymCheckData) obj;\r
-           \r
-       return scd.sciName.equals(this.sciName);\r
-    }\r
-}\r
-\r
-\r
-    \r
-private final static String DELIMITER = ",";\r
-            \r
-private final static String AUTHORSHIP_HDR = "authorship";\r
-private final static String GENUSPART_HDR = "genusPart";\r
-private final static String INFRAGENERICEPITHET_HDR = "infragenericEpithet";\r
-private final static String SPECIFICEPITHET_HDR = "specificEpithet";\r
-private final static String INFRASPECIFICEPITHET_HDR = "infraspecificEpithet";\r
-private final static String NAMECOMPLETE_HDR = "nameComplete";\r
-private final static String UNINOMIAL_HDR = "uninomial";\r
-private final static String TAXONNAME_HDR = "taxonName";\r
-    \r
-private static StringBuilder incorrectRecordsBldr = new StringBuilder();\r
-   \r
-public static String[] split(String record, String delimiter, int noOfElements) throws Exception {\r
-        \r
-    String[] data = new String[noOfElements];\r
-    boolean wasDelimiter=true; \r
-    String token=""; \r
-    int token_count = 0;\r
-        \r
-    StringTokenizer st=new StringTokenizer(record,delimiter,true); \r
-\r
-    while(st.hasMoreTokens()) { \r
-       token=st.nextToken().trim(); \r
-       if(token_count &gt;= noOfElements) {\r
-           throw new Exception("No. of elements in record does not match no. of header elements");\r
-       }\r
-       if(token.equals(delimiter)) { \r
-           if(wasDelimiter) \r
-               { \r
-                   token=""; \r
-                   data[token_count] = token;\r
-                   token_count++;\r
-               }                 \r
-           wasDelimiter = true;              \r
-       }\r
-       else \r
-           { \r
-               wasDelimiter = false; \r
-               data[token_count] = token;\r
-               token_count++;\r
-           }                   \r
-    } \r
-\r
-   \r
-    return data;\r
-}\r
-    \r
-public static List synReq(HashSet hs) throws Exception {\r
-         \r
-    if(hs.isEmpty())\r
-       return null;\r
-    List synReqList = new ArrayList();\r
-    \r
-    XMLOutputFactory xof = XMLOutputFactory.newInstance();\r
-    XMLStreamWriter xtw;\r
-                    \r
-    Iterator itr = hs.iterator();\r
-       \r
-    while(itr.hasNext()) {\r
-       SynonymCheckData scd = (SynonymCheckData)itr.next();\r
-       if(scd.sciName.equals(""))\r
-           continue;\r
-       StringWriter out = new StringWriter();\r
-       xtw = xof.createXMLStreamWriter(out);    \r
-       //xtw.writeStartDocument("utf-8", "1.0");      \r
-       xtw.writeStartElement("synonymRequest");\r
-       xtw.writeAttribute("id", scd.sciName);\r
-\r
-       xtw.writeStartElement("taxonName");\r
-       if(!scd.authorship.equals("")) {\r
-           xtw.writeStartElement(AUTHORSHIP_HDR);\r
-           xtw.writeCharacters(scd.authorship);\r
-           xtw.writeEndElement();\r
-       }\r
-\r
-       xtw.writeStartElement("name");\r
-\r
-       xtw.writeStartElement(NAMECOMPLETE_HDR);\r
-       xtw.writeCharacters(scd.sciName);\r
-       xtw.writeEndElement();\r
-\r
-           \r
-       if(!scd.uninomial.equals("")) {\r
-           xtw.writeStartElement("atomisedName");\r
-\r
-           xtw.writeStartElement(UNINOMIAL_HDR);\r
-           xtw.writeCharacters(scd.uninomial);\r
-           xtw.writeEndElement();\r
-\r
-           xtw.writeEndElement(); // end atomisedName element\r
-       } else if(!scd.genusPart.equals("")){\r
-           xtw.writeStartElement("atomisedName");\r
-           xtw.writeStartElement("subGenus");\r
-\r
-           xtw.writeStartElement(GENUSPART_HDR);\r
-           xtw.writeCharacters(scd.genusPart);\r
-           xtw.writeEndElement();\r
-\r
-           if(!scd.infragenericEpithet.equals("")) {\r
-               xtw.writeStartElement(INFRASPECIFICEPITHET_HDR);\r
-               xtw.writeCharacters(scd.infragenericEpithet);\r
-               xtw.writeEndElement();\r
-           }\r
-           \r
-           if(!scd.specificEpithet.equals("")) {\r
-               xtw.writeStartElement(SPECIFICEPITHET_HDR);\r
-               xtw.writeCharacters(scd.specificEpithet);\r
-               xtw.writeEndElement();\r
-           }\r
-\r
-           if(!scd.infraspecificEpithet.equals("")){\r
-               xtw.writeStartElement(INFRASPECIFICEPITHET_HDR);\r
-               xtw.writeCharacters(scd.infraspecificEpithet);\r
-               xtw.writeEndElement();\r
-           }\r
-\r
-           xtw.writeEndElement(); // end subGenus element\r
-           xtw.writeEndElement(); // end atomisedName element\r
-       }\r
-           \r
-       xtw.writeEndElement(); // end name element\r
-       xtw.writeEndElement(); // end taxonName element\r
-       xtw.writeEndElement(); // end synonymRequest element                \r
-       xtw.writeEndDocument();       \r
-       xtw.flush();\r
-\r
-        \r
-       // Transform XML to get new with indentation.\r
-       TransformerFactory factory = TransformerFactory.newInstance();\r
-       \r
-       Transformer transformer = factory.newTransformer();\r
-       transformer.setOutputProperty(OutputKeys.INDENT, "yes");\r
-       transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");\r
-       \r
-       StringWriter indented_out = new StringWriter();\r
-       transformer.transform(new StreamSource(new StringReader(out.toString())), new StreamResult(indented_out));\r
-       synReqList.add(indented_out.toString());   \r
-       out.flush();\r
-    }     \r
-    xtw.close();\r
-    return synReqList;\r
-}\r
-    \r
-        \r
-int authorship_index = -1;        \r
-int genus_part_index = -1;\r
-int infrageneric_epithet_index = -1;\r
-int specific_epithet_index = -1;\r
-int infraspecific_epithet_index = -1;\r
-int name_complete_index = -1;\r
-int uninomial_index = -1;\r
-int taxon_name_index = -1;\r
-        \r
-int line_count = 0;\r
-int header_index = 0;\r
-        \r
-BufferedReader br = new BufferedReader(new StringReader(csvData));\r
-String line;\r
-HashSet sci_names_hs = new HashSet();\r
-SynonymCheckData scd;\r
-String[] recordData;\r
-while((line = br.readLine()) != null) {           \r
-    if (line.length() &gt; 0)  {     \r
-       try {\r
-           StringTokenizer st = new StringTokenizer(line, DELIMITER); \r
-           if(line_count == 0) {                                        \r
-               while(st.hasMoreTokens()) { \r
-                   String token = st.nextToken().trim();\r
-                   if(token.equals(AUTHORSHIP_HDR)) {\r
-                       authorship_index = header_index;\r
-                   }  \r
-                   if(token.equals(GENUSPART_HDR)) {\r
-                       genus_part_index = header_index;\r
-                   }                        \r
-                   if(token.equals(INFRAGENERICEPITHET_HDR)) {\r
-                       infrageneric_epithet_index = header_index;\r
-                   }  \r
-                   if(token.equals(SPECIFICEPITHET_HDR)) {\r
-                       specific_epithet_index = header_index;\r
-                   }  \r
-                   if(token.equals(INFRASPECIFICEPITHET_HDR)) {\r
-                       infraspecific_epithet_index = header_index;\r
-                   }  \r
-                   if(token.equals(NAMECOMPLETE_HDR)) {\r
-                       name_complete_index = header_index;\r
-                   }\r
-                   if(token.equals(TAXONNAME_HDR)) {\r
-                       taxon_name_index = header_index;\r
-                   }\r
-                   header_index++;\r
-               }\r
-           }\r
-           else {\r
-               recordData = split(line, DELIMITER, header_index);\r
-               if(recordData == null)\r
-                   continue;\r
-               scd = new SynonymCheckData();\r
-               if(genus_part_index &gt;= 0 &amp;&amp; !recordData[genus_part_index].equals("") \r
-                  &amp;&amp; ((infrageneric_epithet_index &gt;= 0  &amp;&amp; !recordData[infrageneric_epithet_index].equals("")) \r
-                      || (specific_epithet_index &gt;= 0  &amp;&amp; !recordData[specific_epithet_index].equals("")) \r
-                      || (infraspecific_epithet_index &gt;= 0  &amp;&amp; !recordData[infraspecific_epithet_index].equals("")))) {\r
-                   scd.atomised = true;                        \r
-                   scd.genusPart = recordData[genus_part_index];\r
-                   scd.infragenericEpithet = (infrageneric_epithet_index &gt;= 0)?recordData[infrageneric_epithet_index]:"";\r
-                   scd.specificEpithet = (specific_epithet_index &gt;= 0)?recordData[specific_epithet_index]:"";\r
-                   scd.infraspecificEpithet = (infrageneric_epithet_index &gt;= 0)?recordData[infraspecific_epithet_index]:"";\r
-                           \r
-                   scd.sciName = scd.genusPart;\r
-                   if(!scd.infragenericEpithet.equals(""))\r
-                       scd.sciName = scd.sciName + " " +  scd.infragenericEpithet;\r
-                   if(!scd.specificEpithet.equals(""))\r
-                       scd.sciName = scd.sciName + " " + scd.specificEpithet;\r
-                   if(!scd.infraspecificEpithet.equals(""))\r
-                       scd.sciName = scd.sciName + " " + scd.infraspecificEpithet;\r
-\r
-               } else if(uninomial_index &gt;=0 &amp;&amp; !recordData[uninomial_index].equals("")) {\r
-                   scd.atomised = true;\r
-                   scd.uninomial = recordData[uninomial_index];\r
-                   scd.sciName = scd.uninomial;\r
-               } else if(name_complete_index &gt;=0 &amp;&amp; !recordData[name_complete_index].equals("")) {\r
-                   scd.sciName = recordData[name_complete_index];\r
-               } else if(taxon_name_index &gt;= 0 &amp;&amp; !recordData[taxon_name_index].equals("")){\r
-                   scd.sciName = recordData[taxon_name_index];\r
-               }\r
-               if(authorship_index &gt;= 0 &amp;&amp; !recordData[authorship_index].equals("")) {\r
-                   scd.authorship = recordData[authorship_index];\r
-               }\r
-                      \r
-               sci_names_hs.add(scd);                 \r
-           }\r
-           line_count++;\r
-       } catch(Exception e) {\r
-           incorrectRecordsBldr.append(line).append(":").append(e.getMessage());\r
-       }\r
-    }            \r
-}        \r
-    \r
-synonymRequest = synReq(sci_names_hs);\r
-incorrectRecords = incorrectRecordsBldr.toString();\r
-</script>\r
-  <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Merge_String_List_to_a_String</name><inputPorts><port><name>seperator</name><depth>0</depth></port><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>concatenated</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="seperator" to="seperator" /><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="concatenated" to="concatenated" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>stringlist</name>\r
-      <depth>1</depth>\r
-      <mimeTypes>\r
-        <string>l('text/plain')</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>seperator</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>concatenated</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>String seperatorString = "\n";\r
-if (seperator != void) {\r
-       seperatorString = seperator;\r
-}\r
-StringBuffer sb = new StringBuffer();\r
-for (Iterator i = stringlist.iterator(); i.hasNext();) {\r
-       String item = (String) i.next();\r
-       sb.append(item);\r
-       if (i.hasNext()) {\r
-               sb.append(seperatorString);\r
-       }\r
-}\r
-concatenated = sb.toString();\r
-</script>\r
-  <dependencies />\r
-  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringListMerge</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="seperator" depth="0" /><port name="stringlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>no_separator</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value />\r
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>syn_expansion</processor><port>synRequest</port></sink><source type="processor"><processor>DCDataParser</processor><port>synonymRequest</port></source></datalink><datalink><sink type="processor"><processor>Wrap_strings_in_query_element</processor><port>string2</port></sink><source type="processor"><processor>syn_expansion</processor><port>synResponse</port></source></datalink><datalink><sink type="processor"><processor>Wrap_strings_in_query_element</processor><port>string1</port></sink><source type="processor"><processor>DCDataParser</processor><port>synonymRequest</port></source></datalink><datalink><sink type="processor"><processor>occ_retrieval</processor><port>sciNameList</port></sink><source type="processor"><processor>SynCheckGUI</processor><port>out</port></source></datalink><datalink><sink type="processor"><processor>SynCheckGUI</processor><port>synreqres_list</port></sink><source type="processor"><processor>Wrap_strings_in_query_element</processor><port>output</port></source></datalink><datalink><sink type="processor"><processor>DCDataParser</processor><port>csvData</port></sink><source type="dataflow"><port>csvData</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>seperator</port></sink><source type="processor"><processor>no_separator</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>stringlist</port></sink><source type="processor"><processor>occ_retrieval</processor><port>csv_output</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>Merge_String_List_to_a_String</processor><port>concatenated</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>62f4cd4d-508e-409c-8e06-3fef4020fa97</identification>\r
+      </annotationBean>\r
+      <date>2012-02-07 17:25:22.963 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>6baa5e11-586d-4f13-b6f4-92c61c10ec9a</identification>\r
+      </annotationBean>\r
+      <date>2012-01-13 15:29:27.496 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>974e04bd-3efb-424a-9e35-2cd9f4fcd274</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 17:23:23.829 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>56cae6e8-a10e-44dc-86d9-dde7c69beee3</identification>\r
+      </annotationBean>\r
+      <date>2012-01-31 15:45:44.504 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>cdf9c220-fb85-4262-bf44-77fc3302797e</identification>\r
+        <identification>2764b0d8-8242-40ea-b0a3-ddf550e8dc59</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 17:02:17.600 CEST</date>\r
+      <date>2012-01-02 16:21:21.874 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3343,9 +1514,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a61e3cdd-fe61-41f9-95af-c70859ad4797</identification>\r
+        <identification>8f681f37-c9a0-4f78-b668-0df9c735e332</identification>\r
       </annotationBean>\r
-      <date>2012-04-04 13:30:30.994 CEST</date>\r
+      <date>2012-01-13 15:24:58.691 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3354,9 +1525,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2f0ef2c4-0d2f-41b1-a08c-cf5b114c4e4c</identification>\r
+        <identification>8a58b613-ac30-4ec1-9877-8221a6654ff4</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 14:59:02.824 CEST</date>\r
+      <date>2012-01-03 12:48:44.529 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3365,9 +1536,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>97c631bc-c4d3-452a-93d2-4610c3808892</identification>\r
+        <identification>3322b5a3-1530-4824-9300-ba6a6b18b7f1</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:35:01.668 CEST</date>\r
+      <date>2012-01-31 16:27:20.693 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3376,9 +1547,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d9fbd0bb-0b5c-4ae1-a3e6-24b25fe15d8c</identification>\r
+        <identification>c818b2a9-90a8-4fc2-9c42-8066af346cba</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 14:30:40.331 CEST</date>\r
+      <date>2012-01-31 15:47:04.807 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3387,9 +1558,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>771b9e2d-2de0-4b86-be30-ad834dac02b1</identification>\r
+        <identification>d044d916-0adb-4065-b39f-8357372e42cc</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 17:04:49.990 CEST</date>\r
+      <date>2012-01-13 15:44:17.623 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3398,9 +1569,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c937ca39-cd89-4ad1-8d74-161ccb7b3961</identification>\r
+        <identification>d4040120-4a6d-4a24-8bf4-73dd22e762c3</identification>\r
       </annotationBean>\r
-      <date>2012-04-03 09:40:40.891 CEST</date>\r
+      <date>2012-01-02 16:46:06.131 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3409,9 +1580,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c08d7865-55d5-452b-aae4-88c1c5754d24</identification>\r
+        <identification>4337a0e1-a09d-4b68-8660-637490e21edb</identification>\r
       </annotationBean>\r
-      <date>2012-04-04 13:48:50.594 CEST</date>\r
+      <date>2012-01-31 15:58:55.276 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3420,9 +1591,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>fd8fb852-f3e8-4a57-a600-7a28c8c68961</identification>\r
+        <identification>1e0e6327-6000-40bb-bb2f-fb8f118350f0</identification>\r
       </annotationBean>\r
-      <date>2012-03-28 17:50:15.876 CEST</date>\r
+      <date>2012-02-07 18:14:57.3 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3431,9 +1602,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>efd208a7-5a9b-4f0a-a5a4-4beb3a8cb586</identification>\r
+        <identification>32faa1ef-391d-4360-8bb4-cc7f25b963a1</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 11:37:04.382 CEST</date>\r
+      <date>2012-01-02 17:19:44.583 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3442,9 +1613,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3702c3a9-3bac-4f53-bb8d-9fbbd457e077</identification>\r
+        <identification>b123cffa-dcf7-4e76-85e6-0dc999f97104</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 11:45:10.791 CEST</date>\r
+      <date>2012-02-07 18:09:06.414 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3453,9 +1624,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>27df675c-6b6a-4f3d-bf15-7598ff5f87b4</identification>\r
+        <identification>8218cf20-6aa4-4a85-a62a-da0b401991cd</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:57:33.422 CEST</date>\r
+      <date>2012-02-09 17:39:17.418 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3464,20 +1635,42 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5c3c3a95-e017-404d-adb6-e7b91394df43</identification>\r
+        <identification>5f7faf68-279b-4c53-84ca-6746a5fa7832</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:44:06.65 CEST</date>\r
+      <date>2012-01-31 16:40:24.470 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="0415afc4-0331-4b83-a035-65ba8fea18f8" role="nested"><name>Workflow77</name><inputPorts><port><name>taxonID</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>response</name><annotations /></port></outputPorts><processors><processor><name>Empty_Response_Service</name><inputPorts /><outputPorts><port><name>emptyResponse</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap /><outputMap><map from="emptyResponse" to="emptyResponse" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs />\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>emptyResponse</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>emptyResponse = "";</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="dataflow"><port>response</port></sink><source type="processor"><processor>Empty_Response_Service</processor><port>emptyResponse</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b36d4cfa-6510-4d81-883e-eada09b56f2d</identification>\r
+        <identification>286d48b2-6e7f-4e69-88ec-c75c4ab1b21d</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 14:25:21.10 CEST</date>\r
+      <date>2012-05-31 13:55:06.606 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3486,20 +1679,125 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b4c96465-61be-4e99-bd05-52ba51a75f42</identification>\r
+        <identification>0415afc4-0331-4b83-a035-65ba8fea18f8</identification>\r
       </annotationBean>\r
-      <date>2012-04-03 17:01:10.410 CEST</date>\r
+      <date>2012-05-31 13:56:59.167 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="12806644-8a59-4917-a0bf-a32566bfe2ff" role="nested"><name>Workflow1</name><inputPorts><port><name>synResponse</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>nameStatus</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>colResponse</name><annotations /></port></outputPorts><processors><processor><name>COLSynCheck_REST</name><inputPorts><port><name>sciId</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="sciId" to="sciId" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+  <httpMethod>GET</httpMethod>\r
+  <urlSignature>http://www.catalogueoflife.org/webservice?response=full&amp;id={sciId}</urlSignature>\r
+  <acceptsHeaderValue>application/xml</acceptsHeaderValue>\r
+  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
+  <outgoingDataFormat>String</outgoingDataFormat>\r
+  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
+  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
+  <escapeParameters>true</escapeParameters>\r
+  <otherHTTPHeaders />\r
+  <activityInputs>\r
+    <entry>\r
+      <string>sciId</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+  </activityInputs>\r
+</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciId" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>taxon_id_xpath</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value>/results/result[1]/sn_id</value>\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>FirstElement_From_XPath</name><inputPorts><port><name>xmltext</name><depth>0</depth></port><port><name>xpath</name><depth>0</depth></port></inputPorts><outputPorts><port><name>nodeVal</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="xmltext" to="xmltext" /><map from="xpath" to="xpath" /></inputMap><outputMap><map from="nodeVal" to="nodeVal" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>xpath</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>xmltext</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>nodeVal</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>import org.dom4j.Document;\r
+import org.dom4j.Node;\r
+import org.dom4j.io.SAXReader;\r
+\r
+SAXReader reader = new SAXReader(false);\r
+reader.setIncludeInternalDTDDeclarations(false);\r
+reader.setIncludeExternalDTDDeclarations(false);\r
+\r
+Document document = reader.read(new StringReader(xmltext));\r
+List nodelist = document.selectNodes(xpath);\r
+\r
+// Process the elements in the nodelist\r
+ArrayList outputList = new ArrayList();\r
+ArrayList outputXmlList = new ArrayList();\r
+\r
+String val = null;\r
+String xmlVal = null;\r
+for (Iterator iter = nodelist.iterator(); iter.hasNext();) {\r
+       Node element = (Node) iter.next();\r
+       xmlVal = element.asXML();\r
+       val = element.getStringValue();\r
+       if (val != null &amp;&amp; !val.equals("")) {\r
+               outputList.add(val);\r
+               outputXmlList.add(xmlVal);\r
+       }\r
+break;\r
+}\r
+\r
+//List nodelist=outputList;\r
+nodeVal = val;\r
+</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xmltext" depth="0" /><port name="xpath" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>COLSynCheck_REST</processor><port>sciId</port></sink><source type="processor"><processor>FirstElement_From_XPath</processor><port>nodeVal</port></source></datalink><datalink><sink type="processor"><processor>FirstElement_From_XPath</processor><port>xmltext</port></sink><source type="dataflow"><port>synResponse</port></source></datalink><datalink><sink type="processor"><processor>FirstElement_From_XPath</processor><port>xpath</port></sink><source type="processor"><processor>taxon_id_xpath</processor><port>value</port></source></datalink><datalink><sink type="dataflow"><port>colResponse</port></sink><source type="processor"><processor>COLSynCheck_REST</processor><port>responseBody</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>bc9c65e4-9cda-4d92-a6bf-6f6859c69cff</identification>\r
+        <identification>12806644-8a59-4917-a0bf-a32566bfe2ff</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 17:16:56.281 CEST</date>\r
+      <date>2012-02-10 12:40:34.784 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3508,9 +1806,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d8130c5a-ea4b-4e89-a9c4-c7d95b0b4776</identification>\r
+        <identification>126219a1-2553-4015-a3cb-56f21d51f599</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:43:25.356 CEST</date>\r
+      <date>2012-01-23 17:18:47.464 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3519,9 +1817,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>db6f1b58-c356-4583-aeaf-18eedb3c8afc</identification>\r
+        <identification>f856eeda-c416-44e3-b84a-3a0b3b8cd10d</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 17:15:05.428 CEST</date>\r
+      <date>2012-01-23 17:37:08.778 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3530,9 +1828,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e85227ec-8378-4cad-9a88-15a4a0f643c0</identification>\r
+        <identification>3114c079-dc39-46d0-8feb-99dc0f686512</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 13:52:07.195 CEST</date>\r
+      <date>2012-01-23 17:33:51.189 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3541,9 +1839,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f080c4b4-30ee-42eb-8897-0084d7779196</identification>\r
+        <identification>6be0b511-0710-45a1-a809-31681f072659</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 13:41:32.443 CEST</date>\r
+      <date>2012-01-23 17:30:31.962 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3552,9 +1850,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4f535006-c1b1-4c88-ad65-a45415c76407</identification>\r
+        <identification>9b2ea773-b806-4c88-9dd8-8d952d8a0755</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 17:18:36.51 CEST</date>\r
+      <date>2012-01-24 14:32:22.796 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3563,9 +1861,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b237f1c3-1d6f-4bee-b2e8-dddc87536337</identification>\r
+        <identification>07ec689f-59aa-4be9-8481-5f8e3f6000cf</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:47:36.9 CEST</date>\r
+      <date>2012-01-23 17:45:21.174 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3574,9 +1872,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>ae40be70-6c12-45e5-be8b-81f0b8b735ba</identification>\r
+        <identification>ca3ec15d-1ea5-4bf2-a81f-136065d1d38b</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 12:03:32.626 CEST</date>\r
+      <date>2012-01-23 17:48:54.281 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3585,9 +1883,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>62f3f979-79ca-4566-8cd7-22af322c4c7e</identification>\r
+        <identification>75f5a83c-3008-466a-ad20-33e95ba9ff15</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 17:19:48.164 CEST</date>\r
+      <date>2012-01-23 17:38:12.894 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3596,9 +1894,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5d68a44d-bf06-405c-806f-b228e4617031</identification>\r
+        <identification>cff680af-4261-4881-8faa-0c3f155a4f1b</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 11:03:32.312 CEST</date>\r
+      <date>2012-01-23 17:27:35.142 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3607,9 +1905,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9c9f8b53-94a2-4e2f-8352-5871b5c93cc5</identification>\r
+        <identification>1d63adfb-85c4-4ce2-a039-13daee06364a</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 11:44:28.869 CEST</date>\r
+      <date>2012-01-23 17:41:34.44 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3618,9 +1916,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4cf702a6-80f8-4d6f-92a1-79d0e2b6dc90</identification>\r
+        <identification>8eb05b48-f79d-4448-80a7-d45520247aee</identification>\r
       </annotationBean>\r
-      <date>2012-04-04 11:56:51.717 CEST</date>\r
+      <date>2012-01-24 14:00:38.765 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3629,9 +1927,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8b188a00-3e4f-4262-bc22-696d31481b79</identification>\r
+        <identification>0bc37d95-ca84-4270-9a68-a33a6563caa4</identification>\r
       </annotationBean>\r
-      <date>2012-04-04 13:40:07.98 CEST</date>\r
+      <date>2012-01-23 17:32:43.771 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3640,9 +1938,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1feeb8b4-0d6c-4436-9a45-088052d4765a</identification>\r
+        <identification>91226a57-267d-49c5-adc4-fab3dda2880a</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:36:08.95 CEST</date>\r
+      <date>2012-01-23 18:00:29.942 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -3651,26 +1949,311 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>fc0831b0-d5d1-4849-b27e-45393915f6bb</identification>\r
+        <identification>09763558-ce78-4cf7-bde5-1a202ba7953c</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 14:55:49.410 CEST</date>\r
+      <date>2012-01-23 17:47:09.64 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="c9988367-0549-456b-a037-a518f41268dc" role="nested"><name>Workflow56</name><inputPorts><port><name>taxonID</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>response</name><annotations /></port></outputPorts><processors><processor><name>GBIF_Taxon_Search</name><inputPorts><port><name>taxonID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="taxonID" to="taxonID" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+  <httpMethod>GET</httpMethod>\r
+  <urlSignature>http://ecat-dev.gbif.org/ws/usage/{taxonID}</urlSignature>\r
+  <acceptsHeaderValue>application/json</acceptsHeaderValue>\r
+  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
+  <outgoingDataFormat>String</outgoingDataFormat>\r
+  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
+  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
+  <escapeParameters>true</escapeParameters>\r
+  <otherHTTPHeaders />\r
+  <activityInputs>\r
+    <entry>\r
+      <string>taxonID</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+  </activityInputs>\r
+</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="taxonID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>gbifTaxonSearchParser</name><inputPorts><port><name>gbifTaxonSerachJSON</name><depth>0</depth></port></inputPorts><outputPorts><port><name>synTaxonIDList</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>datasetName</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>acceptedNameResponse</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="gbifTaxonSerachJSON" to="gbifTaxonSerachJSON" /></inputMap><outputMap><map from="datasetName" to="datasetName" /><map from="synTaxonIDList" to="synTaxonIDList" /><map from="acceptedNameResponse" to="acceptedNameResponse" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>gbifTaxonSerachJSON</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>synTaxonIDList</name>\r
+      <depth>1</depth>\r
+      <mimeTypes />\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>datasetName</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>acceptedNameResponse</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies>\r
+    <string>json-simple-1.1.1.jar</string>\r
+  </localDependencies>\r
+  <artifactDependencies />\r
+  <script>import java.util.Iterator;\r
+import org.json.simple.JSONArray;\r
+import org.json.simple.JSONObject;\r
+import org.json.simple.parser.JSONParser;\r
+\r
+StringBuilder synResponseBuilder = new StringBuilder();\r
+\r
+synTaxonIDList = new ArrayList();\r
+JSONParser parser = new JSONParser();\r
+\r
+Object obj = parser.parse(gbifTaxonSerachJSON);\r
+JSONObject jsonObject = (JSONObject) obj;\r
\r
+JSONObject dataObject = (JSONObject)jsonObject.get("data");\r
+JSONArray synonyms = (JSONArray) dataObject.get("synonyms");\r
+Iterator iterator = synonyms.iterator();\r
+\r
+while (iterator.hasNext()) {\r
+       JSONObject dataObject = (JSONObject)iterator.next();\r
+       Number taxonID = (Number)dataObject.get("taxonID");\r
+       synTaxonIDList.add(String.valueOf( taxonID));\r
+}\r
+\r
+datasetName = (String) dataObject.get("datasetName");\r
+\r
+JSONObject dataObject = (JSONObject)jsonObject.get("data");\r
+String canonicalName = (String) dataObject.get("canonicalName");\r
+String taxonomicStatus = (String) dataObject.get("taxonomicStatus");\r
+String rank = (String) dataObject.get("rank");\r
+\r
+synResponseBuilder.append("&lt;acceptedName&gt;");\r
+synResponseBuilder.append("&lt;taxonName&gt;&lt;authorship&gt;&lt;/authorship&gt;&lt;name&gt;");\r
+synResponseBuilder.append("&lt;nameComplete&gt;").append(canonicalName).append("&lt;/nameComplete&gt;");\r
+synResponseBuilder.append("&lt;atomisedName&gt;");\r
+synResponseBuilder.append("&lt;subGenus&gt;");\r
+synResponseBuilder.append("&lt;genusPart&gt;&lt;/genusPart&gt;&lt;specificEpithet&gt;&lt;/specificEpithet&gt;&lt;infraspecificEpithet&gt;&lt;/infraspecificEpithet&gt;");\r
+synResponseBuilder.append("&lt;/subGenus&gt;");\r
+synResponseBuilder.append("&lt;/atomisedName&gt;");\r
+synResponseBuilder.append("&lt;nameStatus&gt;").append("Accepted").append("&lt;/nameStatus&gt;");\r
+synResponseBuilder.append("&lt;/name&gt;");\r
+synResponseBuilder.append("&lt;rank&gt;").append(rank).append("&lt;/rank&gt;");\r
+synResponseBuilder.append("&lt;/taxonName&gt;");\r
+synResponseBuilder.append("&lt;source&gt;&lt;name&gt;&lt;/name&gt;&lt;url&gt;&lt;/url&gt;&lt;/source&gt;&lt;info&gt;&lt;url&gt;&lt;/url&gt;&lt;/info&gt;");\r
+synResponseBuilder.append("&lt;/acceptedName&gt;");\r
+\r
+acceptedNameResponse = synResponseBuilder.toString();\r
+</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="gbifTaxonSerachJSON" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>gbifSynSearch</name><inputPorts><port><name>synTaxonID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>synResponse</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="synTaxonID" to="synTaxonID" /></inputMap><outputMap><map from="synResponse" to="synResponse" /></outputMap><configBean encoding="dataflow"><dataflow ref="9b888ae9-ece1-4b74-b177-5b915c9cc381" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="synTaxonID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Merge_String_List_to_a_String</name><inputPorts><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>concatenated</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="concatenated" to="concatenated" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>stringlist</name>\r
+      <depth>1</depth>\r
+      <mimeTypes>\r
+        <string>l('text/plain')</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>seperator</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>concatenated</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>String seperatorString = "\n";\r
+if (seperator != void) {\r
+       seperatorString = seperator;\r
+}\r
+StringBuffer sb = new StringBuffer();\r
+for (Iterator i = stringlist.iterator(); i.hasNext();) {\r
+       String item = (String) i.next();\r
+       sb.append(item);\r
+       if (i.hasNext()) {\r
+               sb.append(seperatorString);\r
+       }\r
+}\r
+concatenated = sb.toString();\r
+</script>\r
+  <dependencies />\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringListMerge</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="stringlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Concat_Response</name><inputPorts><port><name>datasetName</name><depth>0</depth></port><port><name>accNameRes</name><depth>0</depth></port><port><name>synRes</name><depth>0</depth></port></inputPorts><outputPorts><port><name>concatResponse</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="datasetName" to="datasetName" /><map from="synRes" to="synRes" /><map from="accNameRes" to="accNameRes" /></inputMap><outputMap><map from="concatResponse" to="concatResponse" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>accNameRes</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>datasetName</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>synRes</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>concatResponse</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>import javax.xml.parsers.DocumentBuilderFactory;\r
+import javax.xml.parsers.DocumentBuilder;\r
+import javax.xml.transform.Transformer;\r
+import javax.xml.transform.TransformerFactory;\r
+import javax.xml.transform.OutputKeys;\r
+import javax.xml.transform.stream.StreamResult;\r
+import javax.xml.transform.dom.DOMSource;\r
+import org.xml.sax.InputSource;\r
+\r
+StringBuilder concatResponseBuilder = new StringBuilder();\r
+\r
+concatResponseBuilder.append("&lt;synonymResponse checklist=\"").append(datasetName).append("\"&gt;");\r
+concatResponseBuilder.append(accNameRes);\r
+concatResponseBuilder.append(synRes);\r
+concatResponseBuilder.append("&lt;/synonymResponse&gt;"); \r
+\r
+\r
+\r
+DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();\r
+DocumentBuilder db = dbf.newDocumentBuilder();\r
+InputSource is = new InputSource(new StringReader(concatResponseBuilder.toString()));\r
+Transformer transformer = TransformerFactory.newInstance().newTransformer();\r
+transformer.setOutputProperty(OutputKeys.INDENT, "yes");\r
+transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");\r
+StreamResult result = new StreamResult(new StringWriter());\r
+DOMSource source = new DOMSource(db.parse(is));\r
+transformer.transform(source, result);\r
+concatResponse = result.getWriter().toString();</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="datasetName" depth="0" /><port name="accNameRes" depth="0" /><port name="synRes" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>GBIF_Taxon_Search</processor><port>taxonID</port></sink><source type="dataflow"><port>taxonID</port></source></datalink><datalink><sink type="processor"><processor>gbifTaxonSearchParser</processor><port>gbifTaxonSerachJSON</port></sink><source type="processor"><processor>GBIF_Taxon_Search</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>gbifSynSearch</processor><port>synTaxonID</port></sink><source type="processor"><processor>gbifTaxonSearchParser</processor><port>synTaxonIDList</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>stringlist</port></sink><source type="processor"><processor>gbifSynSearch</processor><port>synResponse</port></source></datalink><datalink><sink type="processor"><processor>Concat_Response</processor><port>datasetName</port></sink><source type="processor"><processor>gbifTaxonSearchParser</processor><port>datasetName</port></source></datalink><datalink><sink type="processor"><processor>Concat_Response</processor><port>accNameRes</port></sink><source type="processor"><processor>gbifTaxonSearchParser</processor><port>acceptedNameResponse</port></source></datalink><datalink><sink type="processor"><processor>Concat_Response</processor><port>synRes</port></sink><source type="processor"><processor>Merge_String_List_to_a_String</processor><port>concatenated</port></source></datalink><datalink><sink type="dataflow"><port>response</port></sink><source type="processor"><processor>Concat_Response</processor><port>concatResponse</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>cc2ba98d-9d65-4882-a1ff-b64e73082de9</identification>\r
+        <identification>c9988367-0549-456b-a037-a518f41268dc</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 15:33:31.887 CEST</date>\r
+      <date>2012-05-31 13:53:34.400 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="85ba17c1-2e24-49d8-a00b-84acb2a1cf61" role="nested"><name>Workflow33</name><inputPorts><port><name>sciName</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_output</name><annotations /></port></outputPorts><processors><processor><name>slwArtDataBank_to_csv_xsl</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value>http://ww2.bgbm.org/temp/biovel/slwArtDataBank_to_csv.xsl</value>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="61896bb4-e33f-49fa-8792-11bd2c8e3efe" role="nested"><name>Workflow11</name><inputPorts><port><name>synRequest</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>synResponse</name><annotations /></port></outputPorts><processors><processor><name>COLRest_Service</name><inputPorts><port><name>sciName</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="sciName" to="sciName" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+  <httpMethod>GET</httpMethod>\r
+  <urlSignature>http://www.catalogueoflife.org/webservice?response=full&amp;name={sciName}</urlSignature>\r
+  <acceptsHeaderValue>application/xml</acceptsHeaderValue>\r
+  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
+  <outgoingDataFormat>String</outgoingDataFormat>\r
+  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
+  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
+  <escapeParameters>true</escapeParameters>\r
+  <otherHTTPHeaders />\r
+  <activityInputs>\r
+    <entry>\r
+      <string>sciName</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+  </activityInputs>\r
+</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciName" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>name_status_xpath</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value>/results/result[1]/name_status</value>\r
 </net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
@@ -3678,36 +2261,85 @@ concatenated = sb.toString();
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>slwOccurrence</name><inputPorts><port><name>scientificNameFilter</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="scientificNameFilter" to="scientificNameFilter" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
-  <httpMethod>GET</httpMethod>\r
-  <urlSignature>http://slwgeo.artdata.slu.se:8080/geoserver/wfs?&amp;VERSION=1.0.0&amp;SERVICE=WFS&amp;REQUEST=GetFeature&amp;TYPENAME=SLW:SwedishSpeciesDarwinCore_1.5&amp;Filter={scientificNameFilter}</urlSignature>\r
-  <acceptsHeaderValue>application/xml</acceptsHeaderValue>\r
-  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
-  <outgoingDataFormat>String</outgoingDataFormat>\r
-  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
-  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
-  <escapeParameters>true</escapeParameters>\r
-  <otherHTTPHeaders />\r
-  <activityInputs>\r
-    <entry>\r
-      <string>scientificNameFilter</string>\r
-      <java-class>java.lang.String</java-class>\r
-    </entry>\r
-  </activityInputs>\r
-</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>NameStatusConditional</name><inputPorts><port><name>nameStatus</name><depth>0</depth></port></inputPorts><outputPorts><port><name>synpass_flags</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>synfail_flags</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="nameStatus" to="nameStatus" /></inputMap><outputMap><map from="synpass_flags" to="synpass_flags" /><map from="synfail_flags" to="synfail_flags" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>nameStatus</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>synpass_flags</name>\r
+      <depth>1</depth>\r
+      <mimeTypes />\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>synfail_flags</name>\r
+      <depth>1</depth>\r
+      <mimeTypes />\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>import java.util.ArrayList;\r
+\r
+ArrayList synpass_flags = new ArrayList();\r
+ArrayList synfail_flags = new ArrayList();\r
+\r
+if (nameStatus.equals("synonym")) {\r
+       synpass_flags.add(nameStatus);  \r
+} else {\r
+       synfail_flags.add(nameStatus);  \r
+}</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="nameStatus" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>if_synonym</name><inputPorts><port><name>nameStatus</name><depth>0</depth></port><port><name>synResponse</name><depth>0</depth></port></inputPorts><outputPorts><port><name>colResponse</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="nameStatus" to="nameStatus" /><map from="synResponse" to="synResponse" /></inputMap><outputMap><map from="colResponse" to="colResponse" /></outputMap><configBean encoding="dataflow"><dataflow ref="12806644-8a59-4917-a0bf-a32566bfe2ff" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="nameStatus" depth="0" /><port name="synResponse" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>if_not_synonym</name><inputPorts><port><name>nameStatus</name><depth>0</depth></port><port><name>colResponseIN</name><depth>0</depth></port></inputPorts><outputPorts><port><name>colResponse</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="colResponseIN" to="colResponseIN" /><map from="nameStatus" to="nameStatus" /></inputMap><outputMap><map from="colResponse" to="colResponse" /></outputMap><configBean encoding="dataflow"><dataflow ref="89482956-6a9c-4300-ace2-d8cebb2c4750" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="scientificNameFilter" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>slw_filter_generator</name><inputPorts><port><name>sciName</name><depth>0</depth></port></inputPorts><outputPorts><port><name>filter</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="sciName" to="sciName" /></inputMap><outputMap><map from="filter" to="filter" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="nameStatus" depth="0" /><port name="colResponseIN" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Merge_String_List_to_a_String</name><inputPorts><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>concatenated</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="concatenated" to="concatenated" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>sciName</name>\r
+      <name>stringlist</name>\r
+      <depth>1</depth>\r
+      <mimeTypes>\r
+        <string>l('text/plain')</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>seperator</name>\r
       <depth>0</depth>\r
       <mimeTypes>\r
-        <string>text/plain</string>\r
+        <string>'text/plain'</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
       <translatedElementType>java.lang.String</translatedElementType>\r
@@ -3716,62 +2348,125 @@ concatenated = sb.toString();
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>filter</name>\r
+      <name>concatenated</name>\r
       <depth>0</depth>\r
-      <mimeTypes />\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
       <granularDepth>0</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
   </outputs>\r
   <classLoaderSharing>workflow</classLoaderSharing>\r
   <localDependencies />\r
   <artifactDependencies />\r
-  <script>\r
-filter = "&lt;Filter&gt;&lt;PropertyIsLike wildCard='*' singleChar='.' escape='!'&gt;&lt;PropertyName&gt;scientificName&lt;/PropertyName&gt;&lt;Literal&gt;*" + sciName + "*&lt;/Literal&gt;&lt;/PropertyIsLike&gt;&lt;/Filter&gt;";</script>\r
+  <script>String seperatorString = "\n";\r
+if (seperator != void) {\r
+       seperatorString = seperator;\r
+}\r
+StringBuffer sb = new StringBuffer();\r
+for (Iterator i = stringlist.iterator(); i.hasNext();) {\r
+       String item = (String) i.next();\r
+       sb.append(item);\r
+       if (i.hasNext()) {\r
+               sb.append(seperatorString);\r
+       }\r
+}\r
+concatenated = sb.toString();\r
+</script>\r
   <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringListMerge</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciName" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Transform_XML_String</name><inputPorts><port><name>inString</name><depth>0</depth></port><port><name>xslFileURL</name><depth>0</depth></port></inputPorts><outputPorts><port><name>outputStr</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inString" to="inString" /><map from="xslFileURL" to="xslFileURL" /></inputMap><outputMap><map from="outputStr" to="outputStr" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="stringlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Flatten_List</name><inputPorts><port><name>inputlist</name><depth>2</depth></port></inputPorts><outputPorts><port><name>outputlist</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inputlist" to="inputlist" /></inputMap><outputMap><map from="outputlist" to="outputlist" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>xslFileURL</name>\r
-      <depth>0</depth>\r
+      <name>inputlist</name>\r
+      <depth>2</depth>\r
       <mimeTypes>\r
-        <string>'text/plain'</string>\r
+        <string>l(l(''))</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
+      <translatedElementType>[B</translatedElementType>\r
       <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>outputlist</name>\r
+      <depth>1</depth>\r
+      <mimeTypes>\r
+        <string>l('')</string>\r
+      </mimeTypes>\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>flatten(inputs, outputs, depth) {\r
+       for (i = inputs.iterator(); i.hasNext();) {\r
+           element = i.next();\r
+               if (element instanceof Collection &amp;&amp; depth &gt; 0) {\r
+                       flatten(element, outputs, depth - 1);\r
+               } else {\r
+                       outputs.add(element);\r
+               }\r
+       }\r
+}\r
+\r
+outputlist = new ArrayList();\r
+\r
+flatten(inputlist, outputlist, 1);</script>\r
+  <dependencies />\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.FlattenList</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inputlist" depth="2" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>colRes_to_SynRes_xsl</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value>http://www.myexperiment.org/files/697/download/colres_to_synres.xsl</value>\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>Transform_XML_with_parameters</name><inputPorts><port><name>xsltString</name><depth>0</depth></port><port><name>sourceString</name><depth>0</depth></port><port><name>paramList</name><depth>1</depth></port></inputPorts><outputPorts><port><name>outputString</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="xsltString" to="xsltString" /><map from="paramList" to="paramList" /><map from="sourceString" to="sourceString" /></inputMap><outputMap><map from="outputString" to="outputString" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+  <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>outFileURL</name>\r
+      <name>sourceString</name>\r
       <depth>0</depth>\r
       <mimeTypes>\r
-        <string>'text/plain'</string>\r
+        <string>text/plain</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
       <translatedElementType>java.lang.String</translatedElementType>\r
       <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>inString</name>\r
+      <name>xsltString</name>\r
       <depth>0</depth>\r
       <mimeTypes>\r
-        <string>'text/plain'</string>\r
+        <string>text/plain</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
       <translatedElementType>java.lang.String</translatedElementType>\r
       <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>outputExt</name>\r
-      <depth>0</depth>\r
+      <name>paramList</name>\r
+      <depth>1</depth>\r
       <mimeTypes>\r
-        <string>'text/plain'</string>\r
+        <string>text/plain</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
       <translatedElementType>java.lang.String</translatedElementType>\r
@@ -3780,7 +2475,7 @@ filter = "&lt;Filter&gt;&lt;PropertyIsLike wildCard='*' singleChar='.' escape='!
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>outputStr</name>\r
+      <name>outputString</name>\r
       <depth>0</depth>\r
       <mimeTypes />\r
       <granularDepth>0</granularDepth>\r
@@ -3789,359 +2484,192 @@ filter = "&lt;Filter&gt;&lt;PropertyIsLike wildCard='*' singleChar='.' escape='!
   <classLoaderSharing>workflow</classLoaderSharing>\r
   <localDependencies />\r
   <artifactDependencies />\r
-  <script>import java.io.BufferedReader;\r
-import java.io.BufferedWriter;\r
-import java.io.FileInputStream;\r
-import java.io.FileNotFoundException;\r
-import java.io.FileReader;\r
-import java.io.FileWriter;\r
-import java.io.IOException;\r
-import java.io.InputStreamReader;\r
-import java.io.OutputStreamWriter;\r
-import java.io.StringWriter;\r
-import java.io.StringReader;\r
-import java.io.Writer;\r
-import java.net.URL;\r
-import java.util.HashMap;\r
-import java.util.Map;\r
-\r
-import javax.xml.transform.Result;\r
+  <script>//From a proposal by Mikolaj Rybinski\r
 import javax.xml.transform.Source;\r
-import javax.xml.transform.SourceLocator;\r
-import javax.xml.transform.Templates;\r
 import javax.xml.transform.Transformer;\r
-import javax.xml.transform.TransformerConfigurationException;\r
-import javax.xml.transform.TransformerException;\r
 import javax.xml.transform.TransformerFactory;\r
 import javax.xml.transform.stream.StreamResult;\r
 import javax.xml.transform.stream.StreamSource;\r
 \r
-BufferedReader getReader (String fileUrl) throws IOException {\r
+param(paramstr) {\r
+    nameAndValue = paramstr.split("=");\r
+    if (nameAndValue.length != 2) {\r
+        throw new RuntimeException("Wrong parameter format: \"" + paramstr + "\".");\r
+    }\r
+    name = nameAndValue[0].trim();\r
+    value = nameAndValue[1].trim();\r
+    return this;\r
+}\r
+\r
+if ((sourceString == void) || (sourceString == null)) {\r
+        throw new RuntimeException("sourceString must be specified");\r
+}\r
+\r
+if ((xsltString == void) || (xsltString == null)) {\r
+        throw new RuntimeException("xsltString must be specified");\r
+}\r
+\r
+Source inSource = new StreamSource(new StringReader(sourceString));\r
+Source xslSource = new StreamSource(new StringReader(xsltString));\r
+\r
+// the factory pattern supports different XSLT processors\r
+// e.g. set the "javax.xml.transform.TransformerFactory" system property\r
+TransformerFactory tnfFact = TransformerFactory.newInstance();\r
+Transformer tnf = tnfFact.newTransformer(xslSource);\r
+\r
+if (paramList != void) {\r
+  for (String paramstr : paramList) {\r
+    p = param(paramstr);\r
+    tnf.setParameter(p.name, p.value);\r
+  }\r
+}\r
+\r
+Writer outputWriter = new StringWriter();\r
+tnf.transform(inSource, new StreamResult(outputWriter));\r
+outputString = outputWriter.toString();</script>\r
+  <dependencies />\r
+  <localworkerName>net.sourceforge.taverna.scuflworkers.xml.XSLTWorkerWithParameters</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xsltString" depth="0" /><port name="sourceString" depth="0" /><port name="paramList" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Read_Text_File_2</name><inputPorts><port><name>fileurl</name><depth>0</depth></port></inputPorts><outputPorts><port><name>filecontents</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="fileurl" to="fileurl" /></inputMap><outputMap><map from="filecontents" to="filecontents" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>fileurl</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>encoding</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>filecontents</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>BufferedReader getReader (String fileUrl, String encoding) throws IOException {\r
                InputStreamReader reader;\r
                try {\r
-                       reader = new FileReader(fileUrl);\r
-               }\r
-               catch (FileNotFoundException e) {\r
-                       // try a real URL instead\r
-                       URL url = new URL(fileUrl);\r
-                       reader = new InputStreamReader (url.openStream());\r
-               }\r
-               return new BufferedReader(reader);\r
-       }\r
-       \r
-BufferedWriter getWriter (String fileUrl) throws IOException {\r
-               Writer writer;\r
-               try {\r
-                       writer = new FileWriter(fileUrl);\r
+                       if (encoding == null) {\r
+                               reader = new FileReader(fileUrl);\r
+                       } else {\r
+                               reader = new InputStreamReader(new FileInputStream(fileUrl),encoding); \r
+                       }\r
                }\r
                catch (FileNotFoundException e) {\r
                        // try a real URL instead\r
                        URL url = new URL(fileUrl);\r
-                       writer = new OutputStreamWriter (url.openConnection().getOutputStream());\r
+                       if (encoding == null) {\r
+                               reader = new InputStreamReader (url.openStream());\r
+                       } else {\r
+                               reader = new InputStreamReader (url.openStream(), encoding);\r
+                       }\r
                }\r
-               return new BufferedWriter(writer);\r
+               return new BufferedReader(reader);\r
        }\r
-       \r
-String xslFilename = xslFileURL;\r
-String outFilename;\r
-if (outFileURL != void) {\r
-    outFilename = outFileURL;\r
-}\r
-\r
-String ext;\r
-if (outputExt != void) {\r
-    ext = outputExt;\r
-}\r
-\r
-\r
-\r
-// Create transformer factory\r
-TransformerFactory factory = TransformerFactory.newInstance();\r
-\r
-// Use the factory to create a template containing the xsl file\r
-Templates template = factory.newTemplates(new StreamSource(getReader(xslFilename)));\r
 \r
-// Use the template to create a transformer\r
-Transformer xformer = template.newTransformer();\r
-\r
-// Prepare the input and output files\r
-Reader sourceReader = new StringReader(inString);\r
-Source source = new StreamSource(sourceReader);\r
-StringWriter resultStr = new StringWriter();\r
-Result result = new StreamResult(resultStr);\r
 \r
-// Apply the xsl file to the source file and write the result to the\r
-// output file\r
-xformer.transform(source, result);\r
 \r
-outputStr = resultStr.toString();\r
+StringBuffer sb = new StringBuffer(4000);\r
 \r
-if ((outFilename != null) &amp;&amp; !outFilename.equals("")) {\r
+if (encoding == void) {\r
+       encoding = null;\r
+}\r
 \r
-       BufferedWriter out = getWriter(outFilename);\r
+BufferedReader in = getReader(fileurl, encoding);\r
+String str;\r
+String lineEnding = System.getProperty("line.separator");\r
 \r
-       out.write(outputStr);\r
-       out.close();\r
+while ((str = in.readLine()) != null) {\r
+       sb.append(str);\r
+       sb.append(lineEnding);\r
 }\r
-sourceReader.close();\r
+in.close();\r
+filecontents = sb.toString();\r
+  \r
 </script>\r
   <dependencies />\r
-  <localworkerName>net.sourceforge.taverna.scuflworkers.xml.XSLTWorker</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
-        <text>UserNameHere</text>\r
-      </annotationBean>\r
-      <date>2012-01-13 17:08:38.768 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inString" depth="0" /><port name="xslFileURL" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>slwOccurrence</processor><port>scientificNameFilter</port></sink><source type="processor"><processor>slw_filter_generator</processor><port>filter</port></source></datalink><datalink><sink type="processor"><processor>slw_filter_generator</processor><port>sciName</port></sink><source type="dataflow"><port>sciName</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_String</processor><port>inString</port></sink><source type="processor"><processor>slwOccurrence</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_String</processor><port>xslFileURL</port></sink><source type="processor"><processor>slwArtDataBank_to_csv_xsl</processor><port>value</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>Transform_XML_String</processor><port>outputStr</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1c711ced-b003-47e0-bd32-3abd5705da83</identification>\r
-      </annotationBean>\r
-      <date>2012-03-22 09:26:09.603 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7d53acd3-c1d9-4ab0-9552-7dd5b3955adf</identification>\r
-      </annotationBean>\r
-      <date>2012-03-21 17:55:21.599 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0ae246b3-cb94-4c25-851c-d306d21ad467</identification>\r
-      </annotationBean>\r
-      <date>2012-03-20 17:37:48.845 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1db7de4d-ac2e-4ce8-aa12-e50f2535dd51</identification>\r
-      </annotationBean>\r
-      <date>2012-03-20 17:01:09.185 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>85ba17c1-2e24-49d8-a00b-84acb2a1cf61</identification>\r
-      </annotationBean>\r
-      <date>2012-03-22 09:26:26.82 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f4b19cf9-23f9-483a-ad3c-bfd981052f51</identification>\r
-      </annotationBean>\r
-      <date>2012-03-20 16:53:37.766 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>15151ee4-7e16-4331-acb4-34a735cf3631</identification>\r
-      </annotationBean>\r
-      <date>2012-03-20 16:54:42.882 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a6cc5fd4-fe4a-461f-a371-bc5b87bc0513</identification>\r
-      </annotationBean>\r
-      <date>2012-03-20 16:48:17.526 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>986b70a2-9f54-4b20-80a8-aead9fdd537d</identification>\r
-      </annotationBean>\r
-      <date>2012-03-21 17:56:36.196 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1dd9b6f5-24e8-4ea7-875f-4e98f9d135e4</identification>\r
-      </annotationBean>\r
-      <date>2012-03-21 13:25:11.607 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c0f096ee-4813-461c-a55a-6d153f3d06fb</identification>\r
-      </annotationBean>\r
-      <date>2012-03-21 13:13:48.453 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>62e3c568-62d4-405a-85e1-59356b885e27</identification>\r
-      </annotationBean>\r
-      <date>2012-03-20 17:00:24.471 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1f00c813-cd52-4caa-8030-892cccb3ab13</identification>\r
-      </annotationBean>\r
-      <date>2012-03-20 17:39:54.780 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>eafd7ab2-9c8f-4bfc-bac6-31e87a14286c</identification>\r
-      </annotationBean>\r
-      <date>2012-03-20 16:59:03.163 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c2694978-40f8-4032-af83-fce1617d630e</identification>\r
-      </annotationBean>\r
-      <date>2012-03-20 16:44:25.215 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="adac59f0-935b-498d-b4ef-af755de705ed" role="nested"><name>Workflow202</name><inputPorts><port><name>synRequest</name><depth>1</depth><granularDepth>1</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>synResponse</name><annotations /></port></outputPorts><processors><processor><name>col_synonyms</name><inputPorts><port><name>synRequest</name><depth>0</depth></port></inputPorts><outputPorts><port><name>synResponse</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="synRequest" to="synRequest" /></inputMap><outputMap><map from="synResponse" to="synResponse" /></outputMap><configBean encoding="dataflow"><dataflow ref="d18fe496-419c-4f13-9a5e-9ea550bc3a1e" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <localworkerName>net.sourceforge.taverna.scuflworkers.io.TextFileReader</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="synRequest" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>CoL_Copyright</name><inputPorts><port><name>synRequest</name><depth>1</depth></port></inputPorts><outputPorts><port><name>synRequest</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="synRequest" to="synRequest" /></inputMap><outputMap><map from="synRequest" to="synRequest" /></outputMap><configBean encoding="dataflow"><dataflow ref="5563c4db-2322-4ce6-92a1-341f62a3490e" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="fileurl" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>CreateID</name><inputPorts><port><name>name</name><depth>0</depth></port></inputPorts><outputPorts><port><name>id_param</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="name" to="name" /></inputMap><outputMap><map from="id_param" to="id_param" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>name</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>id_param</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>\r
+id_param = "syncheckid=" + name</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="synRequest" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>col_synonyms</processor><port>synRequest</port></sink><source type="processor"><processor>CoL_Copyright</processor><port>synRequest</port></source></datalink><datalink><sink type="processor"><processor>CoL_Copyright</processor><port>synRequest</port></sink><source type="dataflow"><port>synRequest</port></source></datalink><datalink><sink type="dataflow"><port>synResponse</port></sink><source type="processor"><processor>col_synonyms</processor><port>synResponse</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>84ed7c23-96be-4857-9359-fbdeb4913ee4</identification>\r
-      </annotationBean>\r
-      <date>2012-04-05 17:14:44.460 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0be667cb-a8b6-4a96-b475-8df60635bac4</identification>\r
-      </annotationBean>\r
-      <date>2012-04-05 17:18:28.866 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>adac59f0-935b-498d-b4ef-af755de705ed</identification>\r
-      </annotationBean>\r
-      <date>2012-04-05 17:19:33.342 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9e67bd5b-c212-434c-be79-c4e27a006e8e</identification>\r
-      </annotationBean>\r
-      <date>2012-04-05 17:15:44.133 CEST</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="370ad085-8ced-4374-ba09-ebf615d24880" role="nested"><name>Workflow32</name><inputPorts><port><name>sciName</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_output</name><annotations /></port></outputPorts><processors><processor><name>Merge_String_List_to_a_String</name><inputPorts><port><name>seperator</name><depth>0</depth></port><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>concatenated</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="seperator" to="seperator" /><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="concatenated" to="concatenated" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="name" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Transform_XML_2</name><inputPorts><port><name>xslFileURL</name><depth>0</depth></port><port><name>inString</name><depth>0</depth></port></inputPorts><outputPorts><port><name>outputStr</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inString" to="inString" /><map from="xslFileURL" to="xslFileURL" /></inputMap><outputMap><map from="outputStr" to="outputStr" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>stringlist</name>\r
-      <depth>1</depth>\r
+      <name>xslFileURL</name>\r
+      <depth>0</depth>\r
       <mimeTypes>\r
-        <string>l('text/plain')</string>\r
+        <string>'text/plain'</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
       <translatedElementType>java.lang.String</translatedElementType>\r
       <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>seperator</name>\r
+      <name>outFileURL</name>\r
       <depth>0</depth>\r
       <mimeTypes>\r
         <string>'text/plain'</string>\r
@@ -4150,101 +2678,137 @@ sourceReader.close();
       <translatedElementType>java.lang.String</translatedElementType>\r
       <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>concatenated</name>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>inString</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>outputExt</name>\r
       <depth>0</depth>\r
       <mimeTypes>\r
         <string>'text/plain'</string>\r
       </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>outputStr</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
       <granularDepth>0</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
   </outputs>\r
   <classLoaderSharing>workflow</classLoaderSharing>\r
   <localDependencies />\r
   <artifactDependencies />\r
-  <script>String seperatorString = "\n";\r
-if (seperator != void) {\r
-       seperatorString = seperator;\r
-}\r
-StringBuffer sb = new StringBuffer();\r
-for (Iterator i = stringlist.iterator(); i.hasNext();) {\r
-       String item = (String) i.next();\r
-       sb.append(item);\r
-       if (i.hasNext()) {\r
-               sb.append(seperatorString);\r
+  <script>import java.io.BufferedReader;\r
+import java.io.BufferedWriter;\r
+import java.io.FileInputStream;\r
+import java.io.FileNotFoundException;\r
+import java.io.FileReader;\r
+import java.io.FileWriter;\r
+import java.io.IOException;\r
+import java.io.InputStreamReader;\r
+import java.io.OutputStreamWriter;\r
+import java.io.StringWriter;\r
+import java.io.Writer;\r
+import java.net.URL;\r
+import java.util.HashMap;\r
+import java.util.Map;\r
+\r
+import javax.xml.transform.Result;\r
+import javax.xml.transform.Source;\r
+import javax.xml.transform.SourceLocator;\r
+import javax.xml.transform.Templates;\r
+import javax.xml.transform.Transformer;\r
+import javax.xml.transform.TransformerConfigurationException;\r
+import javax.xml.transform.TransformerException;\r
+import javax.xml.transform.TransformerFactory;\r
+import javax.xml.transform.stream.StreamResult;\r
+import javax.xml.transform.stream.StreamSource;\r
+\r
+BufferedReader getReader (String fileUrl) throws IOException {\r
+               InputStreamReader reader;\r
+               try {\r
+                       reader = new FileReader(fileUrl);\r
+               }\r
+               catch (FileNotFoundException e) {\r
+                       // try a real URL instead\r
+                       URL url = new URL(fileUrl);\r
+                       reader = new InputStreamReader (url.openStream());\r
+               }\r
+               return new BufferedReader(reader);\r
        }\r
-}\r
-concatenated = sb.toString();\r
+       \r
+BufferedWriter getWriter (String fileUrl) throws IOException {\r
+               Writer writer;\r
+               try {\r
+                       writer = new FileWriter(fileUrl);\r
+               }\r
+               catch (FileNotFoundException e) {\r
+                       // try a real URL instead\r
+                       URL url = new URL(fileUrl);\r
+                       writer = new OutputStreamWriter (url.openConnection().getOutputStream());\r
+               }\r
+               return new BufferedWriter(writer);\r
+       }\r
+       \r
+String xslFilename = xslFileURL;\r
+\r
+\r
+\r
+// Create transformer factory\r
+TransformerFactory factory = TransformerFactory.newInstance();\r
+\r
+// Use the factory to create a template containing the xsl file\r
+Templates template = factory.newTemplates(new StreamSource(getReader(xslFilename)));\r
+\r
+// Use the template to create a transformer\r
+Transformer xformer = template.newTransformer();\r
+\r
+// Prepare the input and output files\r
+Reader sourceReader = new StringReader(inString);\r
+Source source = new StreamSource(sourceReader);\r
+StringWriter resultStr = new StringWriter();\r
+Result result = new StreamResult(resultStr);\r
+\r
+// Apply the xsl file to the source file and write the result to the\r
+// output file\r
+xformer.transform(source, result);\r
+outputStr = resultStr.toString();\r
+sourceReader.close();\r
 </script>\r
   <dependencies />\r
-  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringListMerge</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="seperator" depth="0" /><port name="stringlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>no_separator</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value />\r
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <localworkerName>net.sourceforge.taverna.scuflworkers.xml.XSLTWorker</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
+        <text>UserNameHere</text>\r
+      </annotationBean>\r
+      <date>2012-01-24 15:55:03.158 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>gbif_occurrence_max1000</name><inputPorts><port><name>sciName</name><depth>0</depth></port><port><name>next</name><depth>0</depth></port></inputPorts><outputPorts><port><name>next</name><depth>0</depth><granularDepth>0</granularDepth></port><port><name>max1000_csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="next" to="next" /><map from="sciName" to="sciName" /></inputMap><outputMap><map from="next" to="next" /><map from="max1000_csv_output" to="max1000_csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="124b440e-f7ef-445f-901b-b3d04ca3e2a7" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Loop</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration xmlns="">\r
-  <conditionXML>&lt;activity xmlns="http://taverna.sf.net/2008/xml/t2flow"&gt;&lt;raven&gt;&lt;group&gt;net.sf.taverna.t2.activities&lt;/group&gt;&lt;artifact&gt;beanshell-activity&lt;/artifact&gt;&lt;version&gt;1.3&lt;/version&gt;&lt;/raven&gt;&lt;class&gt;net.sf.taverna.t2.activities.beanshell.BeanshellActivity&lt;/class&gt;&lt;inputMap /&gt;&lt;outputMap /&gt;&lt;configBean encoding="xstream"&gt;&lt;net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns=""&gt;&#xD;\r
-  &lt;inputs&gt;&#xD;\r
-    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
-      &lt;name&gt;next&lt;/name&gt;&#xD;\r
-      &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
-      &lt;mimeTypes class="java.util.Collections$EmptyList" reference="../../net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean/mimeTypes" /&gt;&#xD;\r
-      &lt;handledReferenceSchemes class="java.util.Collections$EmptyList" reference="../../net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean/mimeTypes" /&gt;&#xD;\r
-      &lt;translatedElementType&gt;java.lang.String&lt;/translatedElementType&gt;&#xD;\r
-      &lt;allowsLiteralValues&gt;true&lt;/allowsLiteralValues&gt;&#xD;\r
-    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean&gt;&#xD;\r
-  &lt;/inputs&gt;&#xD;\r
-  &lt;outputs&gt;&#xD;\r
-    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
-      &lt;name&gt;loop&lt;/name&gt;&#xD;\r
-      &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
-      &lt;mimeTypes /&gt;&#xD;\r
-      &lt;granularDepth&gt;0&lt;/granularDepth&gt;&#xD;\r
-    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
-    &lt;net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
-      &lt;name&gt;next&lt;/name&gt;&#xD;\r
-      &lt;depth&gt;0&lt;/depth&gt;&#xD;\r
-      &lt;mimeTypes /&gt;&#xD;\r
-      &lt;granularDepth&gt;0&lt;/granularDepth&gt;&#xD;\r
-    &lt;/net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean&gt;&#xD;\r
-  &lt;/outputs&gt;&#xD;\r
-  &lt;classLoaderSharing&gt;workflow&lt;/classLoaderSharing&gt;&#xD;\r
-  &lt;localDependencies /&gt;&#xD;\r
-  &lt;artifactDependencies /&gt;&#xD;\r
-  &lt;script&gt;loop = "" + ! next.matches("");&lt;/script&gt;&#xD;\r
-  &lt;dependencies /&gt;&#xD;\r
-&lt;/net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean&gt;&lt;/configBean&gt;&lt;annotations /&gt;&lt;/activity&gt;</conditionXML>\r
-  <runFirst>true</runFirst>\r
-  <properties>\r
-    <property name="compareValue" value="" />\r
-    <property name="comparePort" value="next" />\r
-    <property name="delay" value="0.5" />\r
-    <property name="comparison" value="custom" />\r
-    <property name="isFeedBack" value="true" />\r
-  </properties>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciName" depth="0" /><port name="next" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>next_value</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value>0</value>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xslFileURL" depth="0" /><port name="inString" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>synReq_to_colReq_xsl</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value>http://www.myexperiment.org/files/690/download/synreq_to_colreq.xsl</value>\r
 </net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
@@ -4252,51 +2816,97 @@ concatenated = sb.toString();
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>sink</name><inputPorts><port><name>inputlist</name><depth>1</depth></port></inputPorts><outputPorts /><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inputlist" to="inputlist" /></inputMap><outputMap /><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>FirstElement_From_XPath</name><inputPorts><port><name>xmltext</name><depth>0</depth></port><port><name>xpath</name><depth>0</depth></port></inputPorts><outputPorts><port><name>nodeVal</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="xmltext" to="xmltext" /><map from="xpath" to="xpath" /></inputMap><outputMap><map from="nodeVal" to="nodeVal" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>inputlist</name>\r
-      <depth>1</depth>\r
+      <name>xpath</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>xmltext</name>\r
+      <depth>0</depth>\r
       <mimeTypes>\r
-        <string>l('')</string>\r
+        <string>text/plain</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
-      <translatedElementType>[B</translatedElementType>\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
       <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
   </inputs>\r
-  <outputs />\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>nodeVal</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
   <classLoaderSharing>workflow</classLoaderSharing>\r
   <localDependencies />\r
   <artifactDependencies />\r
-  <script>outputlist = inputlist;</script>\r
+  <script>import org.dom4j.Document;\r
+import org.dom4j.Node;\r
+import org.dom4j.io.SAXReader;\r
+\r
+SAXReader reader = new SAXReader(false);\r
+reader.setIncludeInternalDTDDeclarations(false);\r
+reader.setIncludeExternalDTDDeclarations(false);\r
+\r
+Document document = reader.read(new StringReader(xmltext));\r
+List nodelist = document.selectNodes(xpath);\r
+\r
+// Process the elements in the nodelist\r
+ArrayList outputList = new ArrayList();\r
+ArrayList outputXmlList = new ArrayList();\r
+\r
+String val = "";\r
+String xmlVal = "";\r
+for (Iterator iter = nodelist.iterator(); iter.hasNext();) {\r
+       Node element = (Node) iter.next();\r
+       xmlVal = element.asXML();\r
+       val = element.getStringValue();\r
+       if (val != null &amp;&amp; !val.equals("")) {\r
+               outputList.add(val);\r
+               outputXmlList.add(xmlVal);\r
+       }\r
+break;\r
+}\r
+\r
+//List nodelist=outputList;\r
+nodeVal = val;\r
+</script>\r
   <dependencies />\r
-  <localworkerName>org.embl.ebi.escience.scuflworkers.java.EchoList</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xmltext" depth="0" /><port name="xpath" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>COLRest_Service</processor><port>sciName</port></sink><source type="processor"><processor>Transform_XML_2</processor><port>outputStr</port></source></datalink><datalink><sink type="processor"><processor>NameStatusConditional</processor><port>nameStatus</port></sink><source type="processor"><processor>FirstElement_From_XPath</processor><port>nodeVal</port></source></datalink><datalink><sink type="processor"><processor>if_synonym</processor><port>nameStatus</port></sink><source type="processor"><processor>NameStatusConditional</processor><port>synpass_flags</port></source></datalink><datalink><sink type="processor"><processor>if_synonym</processor><port>synResponse</port></sink><source type="processor"><processor>COLRest_Service</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>if_not_synonym</processor><port>nameStatus</port></sink><source type="processor"><processor>NameStatusConditional</processor><port>synfail_flags</port></source></datalink><datalink><sink type="processor"><processor>if_not_synonym</processor><port>colResponseIN</port></sink><source type="processor"><processor>COLRest_Service</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>stringlist</port></sink><source type="processor"><processor>Flatten_List</processor><port>outputlist</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_with_parameters</processor><port>xsltString</port></sink><source type="processor"><processor>Read_Text_File_2</processor><port>filecontents</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_with_parameters</processor><port>sourceString</port></sink><source type="processor"><processor>Merge_String_List_to_a_String</processor><port>concatenated</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_with_parameters</processor><port>paramList</port></sink><source type="processor"><processor>CreateID</processor><port>id_param</port></source></datalink><datalink><sink type="processor"><processor>Read_Text_File_2</processor><port>fileurl</port></sink><source type="processor"><processor>colRes_to_SynRes_xsl</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>CreateID</processor><port>name</port></sink><source type="processor"><processor>Transform_XML_2</processor><port>outputStr</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_2</processor><port>xslFileURL</port></sink><source type="processor"><processor>synReq_to_colReq_xsl</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_2</processor><port>inString</port></sink><source type="dataflow"><port>synRequest</port></source></datalink><datalink><sink type="processor"><processor>FirstElement_From_XPath</processor><port>xmltext</port></sink><source type="processor"><processor>COLRest_Service</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>FirstElement_From_XPath</processor><port>xpath</port></sink><source type="processor"><processor>name_status_xpath</processor><port>value</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>if_not_synonym</processor><port>colResponse</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>if_synonym</processor><port>colResponse</port></source></datalink><datalink><sink type="dataflow"><port>synResponse</port></sink><source type="processor"><processor>Transform_XML_with_parameters</processor><port>outputString</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
-        <text>UserNameHere</text>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>26d4175a-6fd8-4d00-a553-882be923f88c</identification>\r
       </annotationBean>\r
-      <date>2011-12-05 17:26:34.170 CET</date>\r
+      <date>2012-05-31 17:10:13.753 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inputlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>seperator</port></sink><source type="processor"><processor>no_separator</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>stringlist</port></sink><source type="processor"><processor>gbif_occurrence_max1000</processor><port>max1000_csv_output</port></source></datalink><datalink><sink type="processor"><processor>gbif_occurrence_max1000</processor><port>sciName</port></sink><source type="dataflow"><port>sciName</port></source></datalink><datalink><sink type="processor"><processor>gbif_occurrence_max1000</processor><port>next</port></sink><source type="processor"><processor>next_value</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>sink</processor><port>inputlist</port></sink><source type="processor"><processor>gbif_occurrence_max1000</processor><port>next</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>Merge_String_List_to_a_String</processor><port>concatenated</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>feaf6e99-716b-4cc9-81b0-7255ea5a38f7</identification>\r
+        <identification>3a9f1b0b-5d5a-45a0-b134-d5dafc51ea40</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:03:20.221 CET</date>\r
+      <date>2012-01-24 14:17:11.136 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4305,9 +2915,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c818b2a9-90a8-4fc2-9c42-8066af346cba</identification>\r
+        <identification>f88ebd38-9ab7-4f03-ab29-75fe55ee240a</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 15:47:04.807 CET</date>\r
+      <date>2012-02-14 17:10:41.962 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4316,9 +2926,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7be40bed-1839-4117-81ff-49391e0fe35a</identification>\r
+        <identification>13e365c6-a1f5-4e3a-99a4-d39a147367c7</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:52:39.889 CET</date>\r
+      <date>2012-01-23 15:39:42.940 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4327,9 +2937,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>98429027-b6ab-4c7a-8952-f92ce82af604</identification>\r
+        <identification>1bae1054-0ea5-436e-bc01-c2c8838ba066</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 16:44:12.623 CET</date>\r
+      <date>2012-01-23 15:47:21.97 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4338,9 +2948,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>eeab83cc-69df-4a18-a6ad-e33a5cc51f35</identification>\r
+        <identification>2023d475-cce4-4812-bf43-fffa5fecf9cb</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 16:59:53.791 CET</date>\r
+      <date>2012-02-14 13:54:46.413 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4349,9 +2959,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>df805bf7-d2c5-436b-a770-ba2258ed78c5</identification>\r
+        <identification>8c0fc6dc-bc1c-4cff-bd47-99e6a3a0fb62</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:39:08.415 CET</date>\r
+      <date>2012-06-01 11:31:19.315 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4360,9 +2970,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>69821203-d769-45ce-a3bb-145a9964679f</identification>\r
+        <identification>3ab53f67-d243-4e40-8627-83028ef002df</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:04:12.378 CET</date>\r
+      <date>2012-02-10 12:44:20.333 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4371,9 +2981,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>97a86075-f1f7-4e46-a383-cec4b7b16ec4</identification>\r
+        <identification>4f5b0cf0-f3e4-4a48-b3bc-4d3d6770a4c3</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:24:57.958 CET</date>\r
+      <date>2012-01-25 17:19:33.836 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4382,9 +2992,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4f8dd224-cc83-4af5-bbd2-dedfd09b43fe</identification>\r
+        <identification>d18fe496-419c-4f13-9a5e-9ea550bc3a1e</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:14:37.644 CET</date>\r
+      <date>2012-02-23 17:14:42.676 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4393,9 +3003,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8a58b613-ac30-4ec1-9877-8221a6654ff4</identification>\r
+        <identification>850e16e9-453e-416e-a7b1-ced1da71519f</identification>\r
       </annotationBean>\r
-      <date>2012-01-03 12:48:44.529 CET</date>\r
+      <date>2012-01-23 15:12:06.888 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4404,9 +3014,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f41b5d1f-a3a6-4fcb-a52a-748150c35471</identification>\r
+        <identification>654ddd4b-3aee-4576-8bf7-939c9d470b9d</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:22:31.525 CET</date>\r
+      <date>2012-01-23 15:14:53.241 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4415,9 +3025,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>96030fe2-efe7-4c53-a562-a358b87d4770</identification>\r
+        <identification>d004275f-4245-4a1c-b83a-ab166234a56d</identification>\r
       </annotationBean>\r
-      <date>2012-04-04 11:55:49.744 CEST</date>\r
+      <date>2012-06-01 11:33:15.588 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4426,9 +3036,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a87dd75f-af3c-44ad-9718-b7125a22089f</identification>\r
+        <identification>e376fad1-bf30-4908-b97b-894900c25efa</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:21:03.648 CET</date>\r
+      <date>2012-01-23 15:03:45.120 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4437,9 +3047,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8dc4d420-1edf-473f-b111-d6510f6f026e</identification>\r
+        <identification>eb74b582-81c7-4049-8ab5-43b3ec96b920</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:47:36.491 CET</date>\r
+      <date>2012-01-24 14:32:42.660 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4448,9 +3058,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>53f8a5ae-069d-4470-8da0-2df125dc5ec8</identification>\r
+        <identification>a58dbeb8-48e1-4b31-a1ea-57761cb4f712</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:50:56.83 CET</date>\r
+      <date>2012-01-25 17:22:12.481 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4459,9 +3069,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5dbd6255-5adc-46fb-a4c6-ed77d56af267</identification>\r
+        <identification>9f2c7ca2-e117-46e8-8d95-d5a9f8219570</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:16:27.428 CET</date>\r
+      <date>2012-01-23 14:57:41.971 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4470,9 +3080,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>818abfc6-bd93-4bbd-9c36-68b73b0af681</identification>\r
+        <identification>56c300cd-9209-44ef-9874-3efa78d77df3</identification>\r
       </annotationBean>\r
-      <date>2012-02-08 15:37:32.562 CET</date>\r
+      <date>2012-02-10 12:41:11.317 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4481,9 +3091,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7a284b5d-ac86-416b-a639-27e9dc335bd6</identification>\r
+        <identification>61896bb4-e33f-49fa-8792-11bd2c8e3efe</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:40:29.204 CET</date>\r
+      <date>2012-06-01 11:43:43.712 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4492,9 +3102,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b123cffa-dcf7-4e76-85e6-0dc999f97104</identification>\r
+        <identification>7d54ce42-e540-4c40-b7f1-2209c6638804</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 18:09:06.414 CET</date>\r
+      <date>2012-02-10 12:40:38.13 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4503,9 +3113,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>54d71067-a78a-4e3b-a54f-d47f75bd2adf</identification>\r
+        <identification>a0866021-3699-4383-b41c-6b8d0866305e</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:10:34.267 CET</date>\r
+      <date>2012-01-23 15:01:00.405 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4514,9 +3124,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7cbd63e4-d73d-42d9-9133-4f359b06efb5</identification>\r
+        <identification>c07ee8d5-7314-45dc-a7b9-f136f9762905</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 14:51:19.40 CET</date>\r
+      <date>2012-01-24 14:25:37.176 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4525,9 +3135,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3322b5a3-1530-4824-9300-ba6a6b18b7f1</identification>\r
+        <identification>20cf832b-88c5-4214-ac8b-cd46f8159b7d</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:27:20.693 CET</date>\r
+      <date>2012-01-23 15:08:03.570 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4536,9 +3146,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b5b6d740-cc89-4450-8e5b-44fcac2bfee2</identification>\r
+        <identification>6ad09a10-0f7c-43c2-b807-ebf6c0fd776e</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:00:31.584 CET</date>\r
+      <date>2012-01-23 15:14:07.562 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4547,9 +3157,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8218cf20-6aa4-4a85-a62a-da0b401991cd</identification>\r
+        <identification>337a348a-0d6e-4969-bea0-0778605f5574</identification>\r
       </annotationBean>\r
-      <date>2012-02-09 17:39:17.418 CET</date>\r
+      <date>2012-06-01 11:00:50.619 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4558,9 +3168,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9b1c8f07-a857-4d04-b260-b13bcf331662</identification>\r
+        <identification>b7e9c698-3b8f-418e-b732-c02b07b2d8dc</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:03:53.673 CET</date>\r
+      <date>2012-02-14 13:50:23.444 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4569,9 +3179,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>eb452b59-dcaf-4db0-8f72-244455633870</identification>\r
+        <identification>d6cabd36-4763-4a7c-bd19-afb1547696b9</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 15:40:37.647 CET</date>\r
+      <date>2012-01-25 16:08:29.517 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4580,9 +3190,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2764b0d8-8242-40ea-b0a3-ddf550e8dc59</identification>\r
+        <identification>0f6b20ae-e472-4fbd-8ce2-a9671157fb01</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:21:21.874 CET</date>\r
+      <date>2012-05-31 17:26:20.364 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4591,9 +3201,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>62f4cd4d-508e-409c-8e06-3fef4020fa97</identification>\r
+        <identification>7e933e2c-4286-4303-a56e-4cea981e3195</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:25:22.963 CET</date>\r
+      <date>2012-01-27 15:45:49.310 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4602,9 +3212,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d044d916-0adb-4065-b39f-8357372e42cc</identification>\r
+        <identification>2bcaf5f3-a086-4ab8-bfe6-4e7640a6ce45</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 15:44:17.623 CET</date>\r
+      <date>2012-01-23 15:10:26.350 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4613,42 +3223,487 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>dedef59b-8e8b-4e4d-8903-5f8c54422215</identification>\r
+        <identification>08117860-fcd2-4342-b938-efe94165feb0</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:04:37.936 CET</date>\r
+      <date>2012-01-24 13:53:17.262 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>54039e3d-8d1c-4a40-a818-9cd8bcbf64b7</identification>\r
+      </annotationBean>\r
+      <date>2012-01-23 15:05:53.745 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>907a23a5-7ea9-4901-8103-68bb6a45044e</identification>\r
+      </annotationBean>\r
+      <date>2012-02-13 13:36:37.936 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>3f6fdae5-1039-4d5d-b016-09a7d0b7808f</identification>\r
+      </annotationBean>\r
+      <date>2012-02-10 16:33:33.703 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>65b317eb-1a04-45d0-afc4-196506a33934</identification>\r
+      </annotationBean>\r
+      <date>2012-02-13 13:36:08.651 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>c273ba6e-577c-4078-a967-8bc0a6ce0ccb</identification>\r
+      </annotationBean>\r
+      <date>2012-02-23 16:20:00.241 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>7614477b-fc8e-4262-be98-03a72347ecd1</identification>\r
+      </annotationBean>\r
+      <date>2012-01-24 14:02:21.343 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="b8467b4d-a015-44b2-aba8-437c606b0d3c" role="nested"><name>Workflow35</name><inputPorts><port><name>datasetID</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>synReq</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>response</name><annotations /></port></outputPorts><processors><processor><name>GBIF_Name_Search</name><inputPorts><port><name>datasetID</name><depth>0</depth></port><port><name>sciName</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="datasetID" to="datasetID" /><map from="sciName" to="sciName" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+  <httpMethod>GET</httpMethod>\r
+  <urlSignature>http://ecat-dev.gbif.org/ws/usage/?rkey={datasetID}&amp;q={sciName}&amp;pagesize=100</urlSignature>\r
+  <acceptsHeaderValue>application/json</acceptsHeaderValue>\r
+  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
+  <outgoingDataFormat>String</outgoingDataFormat>\r
+  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
+  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
+  <escapeParameters>true</escapeParameters>\r
+  <otherHTTPHeaders />\r
+  <activityInputs>\r
+    <entry>\r
+      <string>datasetID</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+    <entry>\r
+      <string>sciName</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+  </activityInputs>\r
+</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="datasetID" depth="0" /><port name="sciName" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>gbifNameSearchParser</name><inputPorts><port><name>gbifNameSerachJSON</name><depth>0</depth></port></inputPorts><outputPorts><port><name>taxonIDList</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>emptyTaxonIDList</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="gbifNameSerachJSON" to="gbifNameSerachJSON" /></inputMap><outputMap><map from="taxonIDList" to="taxonIDList" /><map from="emptyTaxonIDList" to="emptyTaxonIDList" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>gbifNameSerachJSON</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>taxonIDList</name>\r
+      <depth>1</depth>\r
+      <mimeTypes />\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>emptyTaxonIDList</name>\r
+      <depth>1</depth>\r
+      <mimeTypes />\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies>\r
+    <string>json-simple-1.1.1.jar</string>\r
+  </localDependencies>\r
+  <artifactDependencies />\r
+  <script>import java.util.Iterator;\r
+import org.json.simple.JSONArray;\r
+import org.json.simple.JSONObject;\r
+import org.json.simple.parser.JSONParser;\r
+\r
+String taxonID = null;\r
+taxonIDList = new ArrayList();\r
+emptyTaxonIDList = new ArrayList();\r
+\r
+gbifChkList = new ArrayList();\r
+JSONParser parser = new JSONParser();\r
+\r
+Object obj = parser.parse(gbifNameSerachJSON);\r
+JSONObject jsonObject = (JSONObject) obj;\r
\r
+JSONArray data = (JSONArray) jsonObject.get("data");\r
+Iterator iterator = data.iterator();\r
+while (iterator.hasNext()) {\r
+       JSONObject dataObject= (JSONObject)iterator.next();\r
+       Boolean isSynonym = (Boolean)dataObject.get("isSynonym");\r
+       String taxonomicStatus = (String)dataObject.get("taxonomicStatus");\r
+       String rank = (String)dataObject.get("rank");\r
+       if(rank.equals("species")) {                    \r
+               if(taxonomicStatus.equals("Accepted") &amp;&amp; !isSynonym.booleanValue()) {\r
+                       Number taxonIDNumber = (Number)dataObject.get("taxonID");\r
+                       taxonID = String.valueOf(taxonIDNumber);\r
+               \r
+               }\r
+               if(taxonomicStatus.equals("Synonym") &amp;&amp; isSynonym.booleanValue()) {\r
+                       Number taxonIDNumber = (Number)dataObject.get("higherTaxonID");\r
+                       taxonID = String.valueOf(taxonIDNumber);\r
+               \r
+               }\r
+               break;\r
+       }\r
+}\r
+if(taxonID != null) {\r
+       taxonIDList.add(taxonID);       \r
+} else {\r
+       emptyTaxonIDList.add("");       \r
+}\r
+\r
+</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="gbifNameSerachJSON" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>synReq_to_GBIFReq.xsl</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value>http://ww2.bgbm.org/temp/biovel/synreq_to_gbifreq.xsl</value>\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>Transform_StringXML</name><inputPorts><port><name>inString</name><depth>0</depth></port><port><name>xslFileURL</name><depth>0</depth></port></inputPorts><outputPorts><port><name>outputStr</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inString" to="inString" /><map from="xslFileURL" to="xslFileURL" /></inputMap><outputMap><map from="outputStr" to="outputStr" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>xslFileURL</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>outFileURL</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>inString</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>outputExt</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>outputStr</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>import java.io.BufferedReader;\r
+import java.io.BufferedWriter;\r
+import java.io.FileInputStream;\r
+import java.io.FileNotFoundException;\r
+import java.io.FileReader;\r
+import java.io.FileWriter;\r
+import java.io.IOException;\r
+import java.io.InputStreamReader;\r
+import java.io.OutputStreamWriter;\r
+import java.io.StringWriter;\r
+import java.io.Writer;\r
+import java.net.URL;\r
+import java.util.HashMap;\r
+import java.util.Map;\r
+\r
+import javax.xml.transform.Result;\r
+import javax.xml.transform.Source;\r
+import javax.xml.transform.SourceLocator;\r
+import javax.xml.transform.Templates;\r
+import javax.xml.transform.Transformer;\r
+import javax.xml.transform.TransformerConfigurationException;\r
+import javax.xml.transform.TransformerException;\r
+import javax.xml.transform.TransformerFactory;\r
+import javax.xml.transform.stream.StreamResult;\r
+import javax.xml.transform.stream.StreamSource;\r
+\r
+BufferedReader getReader (String fileUrl) throws IOException {\r
+               InputStreamReader reader;\r
+               try {\r
+                       reader = new FileReader(fileUrl);\r
+               }\r
+               catch (FileNotFoundException e) {\r
+                       // try a real URL instead\r
+                       URL url = new URL(fileUrl);\r
+                       reader = new InputStreamReader (url.openStream());\r
+               }\r
+               return new BufferedReader(reader);\r
+       }\r
+       \r
+BufferedWriter getWriter (String fileUrl) throws IOException {\r
+               Writer writer;\r
+               try {\r
+                       writer = new FileWriter(fileUrl);\r
+               }\r
+               catch (FileNotFoundException e) {\r
+                       // try a real URL instead\r
+                       URL url = new URL(fileUrl);\r
+                       writer = new OutputStreamWriter (url.openConnection().getOutputStream());\r
+               }\r
+               return new BufferedWriter(writer);\r
+       }\r
+       \r
+String xslFilename = xslFileURL;\r
+\r
+\r
+\r
+// Create transformer factory\r
+TransformerFactory factory = TransformerFactory.newInstance();\r
+\r
+// Use the factory to create a template containing the xsl file\r
+Templates template = factory.newTemplates(new StreamSource(getReader(xslFilename)));\r
+\r
+// Use the template to create a transformer\r
+Transformer xformer = template.newTransformer();\r
+\r
+// Prepare the input and output files\r
+Reader sourceReader = new StringReader(inString);\r
+Source source = new StreamSource(sourceReader);\r
+StringWriter resultStr = new StringWriter();\r
+Result result = new StreamResult(resultStr);\r
+\r
+// Apply the xsl file to the source file and write the result to the\r
+// output file\r
+xformer.transform(source, result);\r
+outputStr = resultStr.toString();\r
+sourceReader.close();\r
+</script>\r
+  <dependencies />\r
+  <localworkerName>net.sourceforge.taverna.scuflworkers.xml.XSLTWorker</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b87d4830-e4c0-4665-972b-b60353b71873</identification>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
+        <text>UserNameHere</text>\r
       </annotationBean>\r
-      <date>2012-01-02 16:29:06.484 CET</date>\r
+      <date>2012-01-24 15:55:03.158 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inString" depth="0" /><port name="xslFileURL" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>taxon_search</name><inputPorts><port><name>taxonID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>response</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="taxonID" to="taxonID" /></inputMap><outputMap><map from="response" to="response" /></outputMap><configBean encoding="dataflow"><dataflow ref="c9988367-0549-456b-a037-a518f41268dc" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="taxonID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>empty_taxon_search</name><inputPorts><port><name>taxonID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>response</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="taxonID" to="taxonID" /></inputMap><outputMap><map from="response" to="response" /></outputMap><configBean encoding="dataflow"><dataflow ref="0415afc4-0331-4b83-a035-65ba8fea18f8" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="taxonID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Flatten_List</name><inputPorts><port><name>inputlist</name><depth>2</depth></port></inputPorts><outputPorts><port><name>outputlist</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inputlist" to="inputlist" /></inputMap><outputMap><map from="outputlist" to="outputlist" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>inputlist</name>\r
+      <depth>2</depth>\r
+      <mimeTypes>\r
+        <string>l(l(''))</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>[B</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>outputlist</name>\r
+      <depth>1</depth>\r
+      <mimeTypes />\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>flatten(inputs, outputs, depth) {\r
+       for (i = inputs.iterator(); i.hasNext();) {\r
+           element = i.next();\r
+               if (element instanceof Collection &amp;&amp; depth &gt; 0) {\r
+                       flatten(element, outputs, depth - 1);\r
+               } else {\r
+                       outputs.add(element);\r
+               }\r
+       }\r
+}\r
+\r
+outputlist = new ArrayList();\r
+\r
+flatten(inputlist, outputlist, 1);</script>\r
+  <dependencies />\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.FlattenList</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2547dd85-519d-4636-8ee9-3b380ad378ab</identification>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
+        <text>UserNameHere</text>\r
       </annotationBean>\r
-      <date>2012-02-07 17:38:22.701 CET</date>\r
+      <date>2012-05-31 14:23:14.813 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inputlist" depth="2" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Merge_String_List_to_a_String</name><inputPorts><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>concatenated</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="concatenated" to="concatenated" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>stringlist</name>\r
+      <depth>1</depth>\r
+      <mimeTypes>\r
+        <string>l('text/plain')</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>seperator</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>concatenated</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>String seperatorString = "\n";\r
+if (seperator != void) {\r
+       seperatorString = seperator;\r
+}\r
+StringBuffer sb = new StringBuffer();\r
+for (Iterator i = stringlist.iterator(); i.hasNext();) {\r
+       String item = (String) i.next();\r
+       sb.append(item);\r
+       if (i.hasNext()) {\r
+               sb.append(seperatorString);\r
+       }\r
+}\r
+concatenated = sb.toString();\r
+</script>\r
+  <dependencies />\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringListMerge</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="stringlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>GBIF_Name_Search</processor><port>datasetID</port></sink><source type="dataflow"><port>datasetID</port></source></datalink><datalink><sink type="processor"><processor>GBIF_Name_Search</processor><port>sciName</port></sink><source type="processor"><processor>Transform_StringXML</processor><port>outputStr</port></source></datalink><datalink><sink type="processor"><processor>gbifNameSearchParser</processor><port>gbifNameSerachJSON</port></sink><source type="processor"><processor>GBIF_Name_Search</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>Transform_StringXML</processor><port>inString</port></sink><source type="dataflow"><port>synReq</port></source></datalink><datalink><sink type="processor"><processor>Transform_StringXML</processor><port>xslFileURL</port></sink><source type="processor"><processor>synReq_to_GBIFReq.xsl</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>taxon_search</processor><port>taxonID</port></sink><source type="processor"><processor>gbifNameSearchParser</processor><port>taxonIDList</port></source></datalink><datalink><sink type="processor"><processor>empty_taxon_search</processor><port>taxonID</port></sink><source type="processor"><processor>gbifNameSearchParser</processor><port>emptyTaxonIDList</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>stringlist</port></sink><source type="processor"><processor>Flatten_List</processor><port>outputlist</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>empty_taxon_search</processor><port>response</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>taxon_search</processor><port>response</port></source></datalink><datalink><sink type="dataflow"><port>response</port></sink><source type="processor"><processor>Merge_String_List_to_a_String</processor><port>concatenated</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>533cbe09-7d47-4443-a85e-7a85ba750924</identification>\r
+        <identification>b8467b4d-a015-44b2-aba8-437c606b0d3c</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:33:24.631 CET</date>\r
+      <date>2012-05-31 14:32:43.437 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4657,9 +3712,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8fd4d664-f4f1-48b8-a9a6-36c420e7214e</identification>\r
+        <identification>a7f3e131-3c80-40cc-9dc5-234a1fd2dd02</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 15:45:48.22 CET</date>\r
+      <date>2012-05-30 15:15:49.57 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4668,9 +3723,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8f681f37-c9a0-4f78-b668-0df9c735e332</identification>\r
+        <identification>b76d4dd0-0ad6-4467-9915-f447594c97bc</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 15:24:58.691 CET</date>\r
+      <date>2012-05-31 11:04:38.839 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4679,9 +3734,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6baa5e11-586d-4f13-b6f4-92c61c10ec9a</identification>\r
+        <identification>5bb1326b-c853-4d21-8402-52a8549a1c4d</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 15:29:27.496 CET</date>\r
+      <date>2012-05-31 11:01:53.536 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4690,9 +3745,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7f0f8712-195f-48d2-9fce-5d5ff7832312</identification>\r
+        <identification>07bf6448-539d-44f4-8787-2a64b0b39e60</identification>\r
       </annotationBean>\r
-      <date>2012-01-25 16:57:56.63 CET</date>\r
+      <date>2012-05-30 14:58:56.214 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4701,9 +3756,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>68e10646-ec25-46ff-a748-a4ceb7eb8962</identification>\r
+        <identification>8770f75f-ea93-407e-a3be-9c53864bc376</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 17:02:32.988 CET</date>\r
+      <date>2012-05-31 10:56:20.466 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4712,9 +3767,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6e0d1517-2294-4837-b994-80604a634cd0</identification>\r
+        <identification>4c77ab8e-635b-4036-94db-d7c36ec680aa</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:55:00.474 CET</date>\r
+      <date>2012-05-30 15:29:43.240 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4723,9 +3778,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9b4884d3-e15c-4b7d-b142-29bf6a7dd990</identification>\r
+        <identification>3e35e07e-4c97-4343-9bf3-17eade05d232</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:48:17.932 CET</date>\r
+      <date>2012-05-31 13:54:19.874 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4734,9 +3789,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>fc6e1c60-48ee-4b31-b03c-56578917a502</identification>\r
+        <identification>c61d4169-13ef-490f-9ecd-eee672baed7c</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:54:50.374 CET</date>\r
+      <date>2012-05-31 11:03:18.115 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4745,9 +3800,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>82083c79-a4c9-4d8c-bf19-3e89ff2276e6</identification>\r
+        <identification>adc458ee-1842-4611-b76c-2e28e0cf5637</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:05:39.350 CET</date>\r
+      <date>2012-05-30 14:58:34.881 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4756,9 +3811,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>89f2b55a-52b9-43e9-a4a7-04fe6baca933</identification>\r
+        <identification>70a70f92-0fa4-429c-884d-57ecd0648750</identification>\r
       </annotationBean>\r
-      <date>2012-03-02 16:39:26.106 CET</date>\r
+      <date>2012-05-31 11:03:49.892 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4767,9 +3822,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>097d3ac1-d144-4f87-81f4-6b995a524fee</identification>\r
+        <identification>a760db04-36e5-4025-941b-b863876db602</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:42:08.823 CET</date>\r
+      <date>2012-05-31 14:23:18.919 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4778,9 +3833,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>32faa1ef-391d-4360-8bb4-cc7f25b963a1</identification>\r
+        <identification>b5d573ae-178f-4b80-9e81-024b39a3b432</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:19:44.583 CET</date>\r
+      <date>2012-05-30 16:05:02.997 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4789,9 +3844,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5f7faf68-279b-4c53-84ca-6746a5fa7832</identification>\r
+        <identification>c738cf55-94f7-4f09-a6fb-d84d59aaa92d</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:40:24.470 CET</date>\r
+      <date>2012-05-31 11:10:46.528 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4800,9 +3855,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d8d8cbfe-4a10-4903-b5d6-a1dbd68a1e0f</identification>\r
+        <identification>d11c5004-216c-4657-a06c-d0332fa0c542</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:43:58.338 CET</date>\r
+      <date>2012-05-31 11:08:31.317 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4811,9 +3866,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d4040120-4a6d-4a24-8bf4-73dd22e762c3</identification>\r
+        <identification>66e82f4d-252b-49fc-9e7e-9298ce2f2a2a</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:46:06.131 CET</date>\r
+      <date>2012-05-31 10:34:38.668 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4822,9 +3877,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1e0e6327-6000-40bb-bb2f-fb8f118350f0</identification>\r
+        <identification>41d9c42d-d995-4b13-983c-f0d6f4ef0927</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 18:14:57.3 CET</date>\r
+      <date>2012-05-31 11:22:05.145 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4833,9 +3888,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d705a674-a106-4328-b611-2deb72c4620b</identification>\r
+        <identification>645878a4-908e-4e46-8f9c-ab7cec2b4af8</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:22:50.732 CET</date>\r
+      <date>2012-05-31 11:06:03.713 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4844,9 +3899,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e2b4ef4f-5ce6-47fd-9aed-3042a7d27529</identification>\r
+        <identification>cc20fe69-fa30-4d70-a30a-341c85b833f4</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:20:24.718 CET</date>\r
+      <date>2012-05-31 10:36:02.653 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4855,9 +3910,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>25217334-644c-43ed-bd13-7a3b2a03d5c1</identification>\r
+        <identification>f6c32d1d-57bb-484a-ac3d-dbf9ff42bd02</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:20:23.935 CET</date>\r
+      <date>2012-05-31 10:44:22.727 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4866,9 +3921,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4337a0e1-a09d-4b68-8660-637490e21edb</identification>\r
+        <identification>f7cd8827-7b05-41f2-b574-db2cfedcf249</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 15:58:55.276 CET</date>\r
+      <date>2012-05-31 11:09:15.863 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4877,9 +3932,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5b4051bf-2a2a-46e8-a998-f80a766dd667</identification>\r
+        <identification>3a00768e-f305-4ac3-b583-6c67ca44baa7</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:59:00.308 CET</date>\r
+      <date>2012-05-31 11:02:44.800 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4888,9 +3943,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>56cae6e8-a10e-44dc-86d9-dde7c69beee3</identification>\r
+        <identification>2e6fd2d2-2cbb-421a-91c8-33b95182e838</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 15:45:44.504 CET</date>\r
+      <date>2012-05-31 13:58:32.514 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4899,9 +3954,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e0b1887f-8e9c-43d7-bb75-ee3b5e382834</identification>\r
+        <identification>e567287c-e35c-4aa6-b53b-40d70db381fa</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:29:30.593 CET</date>\r
+      <date>2012-05-31 13:57:55.225 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4910,9 +3965,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>273737ec-425c-4577-8d2a-963156312cfd</identification>\r
+        <identification>b7ac4716-121c-416e-96e8-9e0ea89e5036</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:56:51.418 CET</date>\r
+      <date>2012-05-31 12:07:38.745 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4921,9 +3976,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9995fb53-fe1e-4aee-88c8-60bb5f2f34cf</identification>\r
+        <identification>a3b7c0dd-4bb9-44bf-a6a3-696e69b65dab</identification>\r
       </annotationBean>\r
-      <date>2012-01-05 16:27:19.428 CET</date>\r
+      <date>2012-05-31 09:38:29.677 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4932,9 +3987,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>370ad085-8ced-4374-ba09-ebf615d24880</identification>\r
+        <identification>bd0a619e-6944-494b-94bf-1a3aa51ea288</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:42:41.998 CEST</date>\r
+      <date>2012-05-30 16:04:30.328 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4943,9 +3998,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>46828567-904f-4105-96ef-0bf268ada001</identification>\r
+        <identification>64504621-1eb1-4733-adbe-40998cf42368</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:06:50.222 CET</date>\r
+      <date>2012-05-30 13:58:13.304 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4954,9 +4009,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>aec72d1d-786a-4ccc-afb5-c712166bc3e2</identification>\r
+        <identification>5d2874a6-fd84-4dab-beef-cb00bf1bdf8a</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:33:25.857 CET</date>\r
+      <date>2012-05-31 10:36:39.802 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4965,9 +4020,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9f8d21c5-2523-4485-a181-01e6de804d4d</identification>\r
+        <identification>dc39bc20-faf0-4d9c-9839-00d601230e95</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:35:34.596 CET</date>\r
+      <date>2012-05-31 10:42:05.35 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4976,9 +4031,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0a796aad-5444-420c-a88c-c1ef2411601b</identification>\r
+        <identification>1d1b20d7-6c55-4da2-87dc-8f0cbe2ac044</identification>\r
       </annotationBean>\r
-      <date>2012-01-25 16:54:33.283 CET</date>\r
+      <date>2012-05-31 11:07:22.123 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4987,9 +4042,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>974e04bd-3efb-424a-9e35-2cd9f4fcd274</identification>\r
+        <identification>e629b48d-44c0-4824-9448-0bc9b5122d9e</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:23:23.829 CET</date>\r
+      <date>2012-05-31 11:11:11.348 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -4998,9 +4053,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d3e29f08-a44b-4bb2-9896-4f325e0499d3</identification>\r
+        <identification>878f934b-8a3e-4fff-9ad3-90543f6b1820</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 17:09:46.986 CET</date>\r
+      <date>2012-05-30 15:27:24.675 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5009,88 +4064,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a364b26a-abf3-425d-b166-ab27bf0381c5</identification>\r
-      </annotationBean>\r
-      <date>2012-01-02 17:04:19.721 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="5563c4db-2322-4ce6-92a1-341f62a3490e" role="nested"><name>Workflow23</name><inputPorts><port><name>synRequest</name><depth>1</depth><granularDepth>1</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>synRequest</name><annotations /></port></outputPorts><processors><processor><name>CoL_Copyright_Interaction</name><inputPorts /><outputPorts><port><name>answer</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>interaction-activity</artifact><version>0.1.2</version></raven><class>net.sf.taverna.t2.activities.interaction.InteractionActivity</class><inputMap /><outputMap><map from="answer" to="answer" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.interaction.InteractionActivityConfigurationBean xmlns="">\r
-  <inputs />\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>answer</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <presentationOrigin>http://ww2.bgbm.org/temp/biovel/col_copyright.html</presentationOrigin>\r
-  <interactionActivityType>LocallyPresentedHtml</interactionActivityType>\r
-</net.sf.taverna.t2.activities.interaction.InteractionActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>GBIF_Agreement_Conditional</name><inputPorts><port><name>copyright_answer</name><depth>0</depth></port><port><name>synReqIn</name><depth>1</depth></port></inputPorts><outputPorts><port><name>synReqOut</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="copyright_answer" to="copyright_answer" /><map from="synReqIn" to="synReqIn" /></inputMap><outputMap><map from="synReqOut" to="synReqOut" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>copyright_answer</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>synReqIn</name>\r
-      <depth>1</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>synReqOut</name>\r
-      <depth>1</depth>\r
-      <mimeTypes />\r
-      <granularDepth>1</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>if(copyright_answer.equals("Yes")) {\r
-   synReqOut = synReqIn;       \r
-} else {\r
-   synReqOut = new ArrayList();        \r
-}\r
-\r
-</script>\r
-  <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="copyright_answer" depth="0" /><port name="synReqIn" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>GBIF_Agreement_Conditional</processor><port>copyright_answer</port></sink><source type="processor"><processor>CoL_Copyright_Interaction</processor><port>answer</port></source></datalink><datalink><sink type="processor"><processor>GBIF_Agreement_Conditional</processor><port>synReqIn</port></sink><source type="dataflow"><port>synRequest</port></source></datalink><datalink><sink type="dataflow"><port>synRequest</port></sink><source type="processor"><processor>GBIF_Agreement_Conditional</processor><port>synReqOut</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c6db23cf-d2a1-4898-addb-fb7eafd3b6b0</identification>\r
+        <identification>0b277055-2b51-48b7-8793-3b6379e395f9</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 17:13:18.721 CEST</date>\r
+      <date>2012-05-31 12:53:00.670 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5099,9 +4075,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>fe0524a8-3d93-4759-a0cc-2537bb2a577d</identification>\r
+        <identification>3ba54c98-e4d8-42c5-a22e-d0a1028ccb83</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:34:35.523 CEST</date>\r
+      <date>2012-05-31 10:49:50.251 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5110,9 +4086,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5563c4db-2322-4ce6-92a1-341f62a3490e</identification>\r
+        <identification>afbf7fa0-d01f-44e3-8468-4cd0ac74577b</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 17:18:25.865 CEST</date>\r
+      <date>2012-05-31 14:02:27.138 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5121,9 +4097,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c13b55dc-e9e8-4809-887b-cd90764fa7c0</identification>\r
+        <identification>b2549055-01c9-4460-8c6c-7fd2aa2443ae</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:41:23.996 CEST</date>\r
+      <date>2012-05-31 10:05:51.430 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5132,9 +4108,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>25f616d8-fa88-4d60-8127-8228cf93c5a3</identification>\r
+        <identification>32645248-6c44-4435-a348-cdf417f52e56</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:31:27.376 CEST</date>\r
+      <date>2012-05-30 15:14:59.556 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5143,9 +4119,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1f4e6dc3-c3d1-40c2-9278-8f6396184737</identification>\r
+        <identification>c9dbc8d5-d665-4bf2-b6ad-a0941fb85605</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:53:48.103 CEST</date>\r
+      <date>2012-05-31 12:42:33.597 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5154,9 +4130,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5e20399a-7e4f-4807-b510-1f15cdc22dd8</identification>\r
+        <identification>6eb4fe80-f745-4726-a4ef-ab1796a9dc07</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:41:48.618 CEST</date>\r
+      <date>2012-05-31 14:13:54.299 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5165,9 +4141,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>25760699-c10c-4abe-ac58-2277f17a319b</identification>\r
+        <identification>fda28d76-34ae-401a-88cf-16f2d100dc94</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:47:29.177 CEST</date>\r
+      <date>2012-05-30 15:16:25.384 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5176,9 +4152,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>adf2df6f-6ffa-490f-9b73-d8e46adac00b</identification>\r
+        <identification>ca4c901c-2d01-4e13-a6bd-3a3a633d9299</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:54:07.336 CEST</date>\r
+      <date>2012-05-31 10:42:32.948 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5187,9 +4163,9 @@ concatenated = sb.toString();
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5a705158-54cb-4a67-aaa7-7f99030fdb84</identification>\r
+        <identification>8c5df190-a49a-4e67-aab9-68cca577c368</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 17:12:59.464 CEST</date>\r
+      <date>2012-05-30 16:06:55.686 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5544,9 +4520,31 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7f0d77bf-4336-4f46-8e55-d65a37d07ca3</identification>\r
+        <identification>4337a0e1-a09d-4b68-8660-637490e21edb</identification>\r
+      </annotationBean>\r
+      <date>2012-01-31 15:58:55.276 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>416607f5-ecab-4866-ac2b-966286db8332</identification>\r
+      </annotationBean>\r
+      <date>2012-03-22 09:26:32.315 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>3322b5a3-1530-4824-9300-ba6a6b18b7f1</identification>\r
       </annotationBean>\r
-      <date>2012-03-22 12:04:20.911 CET</date>\r
+      <date>2012-01-31 16:27:20.693 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5555,9 +4553,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c5da4161-0b70-4e67-9704-cc2d26b6cf6e</identification>\r
+        <identification>6e0d1517-2294-4837-b994-80604a634cd0</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 13:03:44.642 CET</date>\r
+      <date>2012-01-02 15:55:00.474 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5566,9 +4564,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>592c1eb2-fa84-4e1d-933a-e93df9414942</identification>\r
+        <identification>dedef59b-8e8b-4e4d-8903-5f8c54422215</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:34:58.572 CEST</date>\r
+      <date>2012-01-02 16:04:37.936 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5577,9 +4575,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3322b5a3-1530-4824-9300-ba6a6b18b7f1</identification>\r
+        <identification>53f8a5ae-069d-4470-8da0-2df125dc5ec8</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:27:20.693 CET</date>\r
+      <date>2012-01-02 17:50:56.83 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5588,9 +4586,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0d8d4ebe-a6f7-4e1c-b300-26d6bcda0d9f</identification>\r
+        <identification>592c1eb2-fa84-4e1d-933a-e93df9414942</identification>\r
       </annotationBean>\r
-      <date>2012-04-04 13:48:20.742 CEST</date>\r
+      <date>2012-04-05 16:34:58.572 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5599,9 +4597,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>34bdb8db-644c-4792-b591-dd8406ef7d78</identification>\r
+        <identification>9995fb53-fe1e-4aee-88c8-60bb5f2f34cf</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 12:12:06.884 CET</date>\r
+      <date>2012-01-05 16:27:19.428 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5610,9 +4608,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>38415ea5-cbce-41ed-bc16-1d582af4c523</identification>\r
+        <identification>b176d4c2-c954-4fd4-971d-5f55f1c2ef09</identification>\r
       </annotationBean>\r
-      <date>2012-04-04 13:39:59.914 CEST</date>\r
+      <date>2012-02-09 17:39:20.187 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5621,9 +4619,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b87d4830-e4c0-4665-972b-b60353b71873</identification>\r
+        <identification>b5b6d740-cc89-4450-8e5b-44fcac2bfee2</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:29:06.484 CET</date>\r
+      <date>2012-01-02 15:00:31.584 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5632,9 +4630,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>62f4cd4d-508e-409c-8e06-3fef4020fa97</identification>\r
+        <identification>24937535-5952-412a-bd44-beebd29db137</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:25:22.963 CET</date>\r
+      <date>2012-03-21 12:17:01.846 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5654,9 +4652,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>bb48ba73-aa77-42a1-9019-d72ebc20dfd0</identification>\r
+        <identification>40ab0272-4c88-4606-9f3a-2ebc309e017b</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 18:07:20.452 CET</date>\r
+      <date>2012-02-08 15:46:10.571 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5665,9 +4663,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e0c29b5e-9019-434e-954a-367b41400d14</identification>\r
+        <identification>eeab83cc-69df-4a18-a6ad-e33a5cc51f35</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 12:22:38.39 CET</date>\r
+      <date>2012-01-13 16:59:53.791 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5676,9 +4674,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>97a86075-f1f7-4e46-a383-cec4b7b16ec4</identification>\r
+        <identification>8a58b613-ac30-4ec1-9877-8221a6654ff4</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:24:57.958 CET</date>\r
+      <date>2012-01-03 12:48:44.529 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5687,9 +4685,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d044d916-0adb-4065-b39f-8357372e42cc</identification>\r
+        <identification>7f0d77bf-4336-4f46-8e55-d65a37d07ca3</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 15:44:17.623 CET</date>\r
+      <date>2012-03-22 12:04:20.911 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5698,9 +4696,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b5b6d740-cc89-4450-8e5b-44fcac2bfee2</identification>\r
+        <identification>6147d865-81ff-40cb-9061-1f373195f630</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:00:31.584 CET</date>\r
+      <date>2012-04-05 16:47:32.81 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5709,9 +4707,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>273737ec-425c-4577-8d2a-963156312cfd</identification>\r
+        <identification>9b1c8f07-a857-4d04-b260-b13bcf331662</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:56:51.418 CET</date>\r
+      <date>2012-01-31 16:03:53.673 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5720,9 +4718,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3c13925e-8808-471e-9f19-e40364e1406c</identification>\r
+        <identification>69821203-d769-45ce-a3bb-145a9964679f</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 13:01:39.855 CET</date>\r
+      <date>2012-01-02 15:04:12.378 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5742,9 +4740,42 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>00826864-df38-4222-a06b-ac5fd4d79e9a</identification>\r
+        <identification>46828567-904f-4105-96ef-0bf268ada001</identification>\r
       </annotationBean>\r
-      <date>2012-03-28 17:45:02.966 CEST</date>\r
+      <date>2012-01-02 17:06:50.222 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>5dbd6255-5adc-46fb-a4c6-ed77d56af267</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 17:16:27.428 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>974e04bd-3efb-424a-9e35-2cd9f4fcd274</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 17:23:23.829 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>98429027-b6ab-4c7a-8952-f92ce82af604</identification>\r
+      </annotationBean>\r
+      <date>2012-01-13 16:44:12.623 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5760,6 +4791,105 @@ flatten(inputlist, outputlist, 1);</script>
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>aec72d1d-786a-4ccc-afb5-c712166bc3e2</identification>\r
+      </annotationBean>\r
+      <date>2012-01-31 16:33:25.857 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>e6ecc0b3-5281-4c6a-9d60-19b6fb367643</identification>\r
+      </annotationBean>\r
+      <date>2012-03-21 13:25:38.0 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>00826864-df38-4222-a06b-ac5fd4d79e9a</identification>\r
+      </annotationBean>\r
+      <date>2012-03-28 17:45:02.966 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>d3e29f08-a44b-4bb2-9896-4f325e0499d3</identification>\r
+      </annotationBean>\r
+      <date>2012-01-13 17:09:46.986 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>eb452b59-dcaf-4db0-8f72-244455633870</identification>\r
+      </annotationBean>\r
+      <date>2012-01-13 15:40:37.647 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>d8d8cbfe-4a10-4903-b5d6-a1dbd68a1e0f</identification>\r
+      </annotationBean>\r
+      <date>2012-01-02 17:43:58.338 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>e0c29b5e-9019-434e-954a-367b41400d14</identification>\r
+      </annotationBean>\r
+      <date>2012-03-21 12:22:38.39 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>2a24fc15-ccdc-46a3-ac3c-56715818d2c9</identification>\r
+      </annotationBean>\r
+      <date>2012-04-04 13:30:18.779 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>0d8d4ebe-a6f7-4e1c-b300-26d6bcda0d9f</identification>\r
+      </annotationBean>\r
+      <date>2012-04-04 13:48:20.742 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
 </net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5775,9 +4905,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8fca71dd-0496-4ca3-b3be-788cecb6f2e2</identification>\r
+        <identification>b87d4830-e4c0-4665-972b-b60353b71873</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:54:59.874 CET</date>\r
+      <date>2012-01-02 16:29:06.484 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5786,9 +4916,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0fa06dee-52dd-4af0-815c-92a4fca15a38</identification>\r
+        <identification>273737ec-425c-4577-8d2a-963156312cfd</identification>\r
       </annotationBean>\r
-      <date>2012-03-22 09:26:12.858 CET</date>\r
+      <date>2012-01-02 15:56:51.418 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5797,9 +4927,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>98429027-b6ab-4c7a-8952-f92ce82af604</identification>\r
+        <identification>a364b26a-abf3-425d-b166-ab27bf0381c5</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 16:44:12.623 CET</date>\r
+      <date>2012-01-02 17:04:19.721 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5808,9 +4938,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>32faa1ef-391d-4360-8bb4-cc7f25b963a1</identification>\r
+        <identification>6baa5e11-586d-4f13-b6f4-92c61c10ec9a</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:19:44.583 CET</date>\r
+      <date>2012-01-13 15:29:27.496 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5819,9 +4949,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d6aa2f1a-4945-4c03-a5c1-83e8c5d71cbb</identification>\r
+        <identification>df805bf7-d2c5-436b-a770-ba2258ed78c5</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 18:09:14.553 CET</date>\r
+      <date>2012-01-31 16:39:08.415 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5830,9 +4960,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>14e0d5c9-4a24-47df-a07b-e532cec4ca5c</identification>\r
+        <identification>56cae6e8-a10e-44dc-86d9-dde7c69beee3</identification>\r
       </annotationBean>\r
-      <date>2012-03-02 16:39:52.276 CET</date>\r
+      <date>2012-01-31 15:45:44.504 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5841,9 +4971,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7be40bed-1839-4117-81ff-49391e0fe35a</identification>\r
+        <identification>c5da4161-0b70-4e67-9704-cc2d26b6cf6e</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:52:39.889 CET</date>\r
+      <date>2012-03-21 13:03:44.642 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5852,9 +4982,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>416607f5-ecab-4866-ac2b-966286db8332</identification>\r
+        <identification>f41b5d1f-a3a6-4fcb-a52a-748150c35471</identification>\r
       </annotationBean>\r
-      <date>2012-03-22 09:26:32.315 CET</date>\r
+      <date>2012-02-07 17:22:31.525 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5863,9 +4993,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7cbd63e4-d73d-42d9-9133-4f359b06efb5</identification>\r
+        <identification>92eb7f21-c6c2-4b1b-9200-1628662427a6</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 14:51:19.40 CET</date>\r
+      <date>2012-03-21 12:06:31.153 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5874,9 +5004,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>dedef59b-8e8b-4e4d-8903-5f8c54422215</identification>\r
+        <identification>bb48ba73-aa77-42a1-9019-d72ebc20dfd0</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:04:37.936 CET</date>\r
+      <date>2012-02-07 18:07:20.452 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5885,9 +5015,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>eeab83cc-69df-4a18-a6ad-e33a5cc51f35</identification>\r
+        <identification>f356c7e2-888e-4a2d-85f8-4bc7b6b059cd</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 16:59:53.791 CET</date>\r
+      <date>2012-02-07 18:13:43.986 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5896,9 +5026,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>feaf6e99-716b-4cc9-81b0-7255ea5a38f7</identification>\r
+        <identification>6be02b9a-7aaa-4e2f-9b42-b0b24ae2053d</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:03:20.221 CET</date>\r
+      <date>2012-02-10 13:02:19.116 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5907,9 +5037,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4337a0e1-a09d-4b68-8660-637490e21edb</identification>\r
+        <identification>b5feb718-54f5-402c-88a6-73874036974b</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 15:58:55.276 CET</date>\r
+      <date>2012-03-02 16:39:31.246 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5918,9 +5048,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8fd4d664-f4f1-48b8-a9a6-36c420e7214e</identification>\r
+        <identification>c919e20c-7881-47e8-afb1-b6233038e6d5</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 15:45:48.22 CET</date>\r
+      <date>2012-03-29 17:02:07.640 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5929,9 +5059,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a87dd75f-af3c-44ad-9718-b7125a22089f</identification>\r
+        <identification>62eace58-eeb6-495b-80e8-a94fadcc7316</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:21:03.648 CET</date>\r
+      <date>2012-02-08 13:41:58.660 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5940,9 +5070,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>df805bf7-d2c5-436b-a770-ba2258ed78c5</identification>\r
+        <identification>d6aa2f1a-4945-4c03-a5c1-83e8c5d71cbb</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:39:08.415 CET</date>\r
+      <date>2012-02-07 18:09:14.553 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5951,9 +5081,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d705a674-a106-4328-b611-2deb72c4620b</identification>\r
+        <identification>feaf6e99-716b-4cc9-81b0-7255ea5a38f7</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:22:50.732 CET</date>\r
+      <date>2012-01-02 16:03:20.221 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5962,9 +5092,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e6ecc0b3-5281-4c6a-9d60-19b6fb367643</identification>\r
+        <identification>54d71067-a78a-4e3b-a54f-d47f75bd2adf</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 13:25:38.0 CET</date>\r
+      <date>2012-01-31 16:10:34.267 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5973,9 +5103,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8a58b613-ac30-4ec1-9877-8221a6654ff4</identification>\r
+        <identification>7be40bed-1839-4117-81ff-49391e0fe35a</identification>\r
       </annotationBean>\r
-      <date>2012-01-03 12:48:44.529 CET</date>\r
+      <date>2012-01-02 17:52:39.889 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5984,9 +5114,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6147d865-81ff-40cb-9061-1f373195f630</identification>\r
+        <identification>e2b4ef4f-5ce6-47fd-9aed-3042a7d27529</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:47:32.81 CEST</date>\r
+      <date>2012-01-02 16:20:24.718 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -5995,9 +5125,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6be02b9a-7aaa-4e2f-9b42-b0b24ae2053d</identification>\r
+        <identification>d5d43373-3338-4d0e-8f11-62fc2c73afae</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 13:02:19.116 CET</date>\r
+      <date>2012-03-21 17:56:47.842 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6006,9 +5136,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2a24fc15-ccdc-46a3-ac3c-56715818d2c9</identification>\r
+        <identification>7cbd63e4-d73d-42d9-9133-4f359b06efb5</identification>\r
       </annotationBean>\r
-      <date>2012-04-04 13:30:18.779 CEST</date>\r
+      <date>2012-01-02 14:51:19.40 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6017,9 +5147,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>eb452b59-dcaf-4db0-8f72-244455633870</identification>\r
+        <identification>d653050e-1472-478a-9edb-4c0f7a35da03</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 15:40:37.647 CET</date>\r
+      <date>2012-04-04 11:56:34.34 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6028,9 +5158,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6e0d1517-2294-4837-b994-80604a634cd0</identification>\r
+        <identification>1178f00c-044f-4f45-b5e4-ac5b9f548ef2</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:55:00.474 CET</date>\r
+      <date>2012-02-07 17:53:12.962 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6039,9 +5169,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>53f8a5ae-069d-4470-8da0-2df125dc5ec8</identification>\r
+        <identification>82083c79-a4c9-4d8c-bf19-3e89ff2276e6</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:50:56.83 CET</date>\r
+      <date>2012-01-02 15:05:39.350 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6050,9 +5180,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d653050e-1472-478a-9edb-4c0f7a35da03</identification>\r
+        <identification>8f681f37-c9a0-4f78-b668-0df9c735e332</identification>\r
       </annotationBean>\r
-      <date>2012-04-04 11:56:34.34 CEST</date>\r
+      <date>2012-01-13 15:24:58.691 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6061,9 +5191,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7f3e2eef-0462-4723-abad-eb0c439535d7</identification>\r
+        <identification>97a86075-f1f7-4e46-a383-cec4b7b16ec4</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:43:22.12 CEST</date>\r
+      <date>2012-01-31 16:24:57.958 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6072,9 +5202,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>24937535-5952-412a-bd44-beebd29db137</identification>\r
+        <identification>8fd4d664-f4f1-48b8-a9a6-36c420e7214e</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 12:17:01.846 CET</date>\r
+      <date>2012-01-13 15:45:48.22 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6083,9 +5213,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>56cae6e8-a10e-44dc-86d9-dde7c69beee3</identification>\r
+        <identification>215a1834-28df-4b7d-b6c2-48f559140fa2</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 15:45:44.504 CET</date>\r
+      <date>2012-04-05 16:57:22.614 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6094,9 +5224,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f356c7e2-888e-4a2d-85f8-4bc7b6b059cd</identification>\r
+        <identification>5b4051bf-2a2a-46e8-a998-f80a766dd667</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 18:13:43.986 CET</date>\r
+      <date>2012-01-02 15:59:00.308 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6105,9 +5235,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d8d8cbfe-4a10-4903-b5d6-a1dbd68a1e0f</identification>\r
+        <identification>5f7faf68-279b-4c53-84ca-6746a5fa7832</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:43:58.338 CET</date>\r
+      <date>2012-01-31 16:40:24.470 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6116,9 +5246,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>46828567-904f-4105-96ef-0bf268ada001</identification>\r
+        <identification>7f3e2eef-0462-4723-abad-eb0c439535d7</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:06:50.222 CET</date>\r
+      <date>2012-04-05 16:43:22.12 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6127,9 +5257,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c919e20c-7881-47e8-afb1-b6233038e6d5</identification>\r
+        <identification>e0b1887f-8e9c-43d7-bb75-ee3b5e382834</identification>\r
       </annotationBean>\r
-      <date>2012-03-29 17:02:07.640 CEST</date>\r
+      <date>2012-01-31 16:29:30.593 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6149,9 +5279,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>090535d9-2339-47e9-bd53-1b568ae1968f</identification>\r
+        <identification>d705a674-a106-4328-b611-2deb72c4620b</identification>\r
       </annotationBean>\r
-      <date>2012-04-03 17:00:50.954 CEST</date>\r
+      <date>2012-01-31 16:22:50.732 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6160,9 +5290,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0a796aad-5444-420c-a88c-c1ef2411601b</identification>\r
+        <identification>32faa1ef-391d-4360-8bb4-cc7f25b963a1</identification>\r
       </annotationBean>\r
-      <date>2012-01-25 16:54:33.283 CET</date>\r
+      <date>2012-01-02 17:19:44.583 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6171,9 +5301,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1178f00c-044f-4f45-b5e4-ac5b9f548ef2</identification>\r
+        <identification>38415ea5-cbce-41ed-bc16-1d582af4c523</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:53:12.962 CET</date>\r
+      <date>2012-04-04 13:39:59.914 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6182,9 +5312,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>215a1834-28df-4b7d-b6c2-48f559140fa2</identification>\r
+        <identification>702db05d-4a74-48b1-9b61-9ee90a1de8f4</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:57:22.614 CEST</date>\r
+      <date>2012-02-08 15:37:36.668 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6193,9 +5323,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b5feb718-54f5-402c-88a6-73874036974b</identification>\r
+        <identification>9f8d21c5-2523-4485-a181-01e6de804d4d</identification>\r
       </annotationBean>\r
-      <date>2012-03-02 16:39:31.246 CET</date>\r
+      <date>2012-01-02 17:35:34.596 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6204,9 +5334,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e0b1887f-8e9c-43d7-bb75-ee3b5e382834</identification>\r
+        <identification>c630c1e5-1f83-4747-abd9-05a37cbb5b74</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:29:30.593 CET</date>\r
+      <date>2012-02-07 18:15:01.509 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6215,9 +5345,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c630c1e5-1f83-4747-abd9-05a37cbb5b74</identification>\r
+        <identification>a87dd75f-af3c-44ad-9718-b7125a22089f</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 18:15:01.509 CET</date>\r
+      <date>2012-01-02 17:21:03.648 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6226,9 +5356,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9995fb53-fe1e-4aee-88c8-60bb5f2f34cf</identification>\r
+        <identification>4f8dd224-cc83-4af5-bbd2-dedfd09b43fe</identification>\r
       </annotationBean>\r
-      <date>2012-01-05 16:27:19.428 CET</date>\r
+      <date>2012-01-02 17:14:37.644 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6237,9 +5367,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a364b26a-abf3-425d-b166-ab27bf0381c5</identification>\r
+        <identification>090535d9-2339-47e9-bd53-1b568ae1968f</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:04:19.721 CET</date>\r
+      <date>2012-04-03 17:00:50.954 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6248,9 +5378,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>69821203-d769-45ce-a3bb-145a9964679f</identification>\r
+        <identification>0a796aad-5444-420c-a88c-c1ef2411601b</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:04:12.378 CET</date>\r
+      <date>2012-01-25 16:54:33.283 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6259,9 +5389,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5b4051bf-2a2a-46e8-a998-f80a766dd667</identification>\r
+        <identification>d044d916-0adb-4065-b39f-8357372e42cc</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:59:00.308 CET</date>\r
+      <date>2012-01-13 15:44:17.623 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6270,9 +5400,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>40ab0272-4c88-4606-9f3a-2ebc309e017b</identification>\r
+        <identification>d4040120-4a6d-4a24-8bf4-73dd22e762c3</identification>\r
       </annotationBean>\r
-      <date>2012-02-08 15:46:10.571 CET</date>\r
+      <date>2012-01-02 16:46:06.131 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6281,9 +5411,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>54d71067-a78a-4e3b-a54f-d47f75bd2adf</identification>\r
+        <identification>e772224a-94c3-42a0-81e7-a7aedc37aff8</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:10:34.267 CET</date>\r
+      <date>2012-03-21 11:58:50.611 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6292,9 +5422,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8f681f37-c9a0-4f78-b668-0df9c735e332</identification>\r
+        <identification>0fa06dee-52dd-4af0-815c-92a4fca15a38</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 15:24:58.691 CET</date>\r
+      <date>2012-03-22 09:26:12.858 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6303,9 +5433,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5dbd6255-5adc-46fb-a4c6-ed77d56af267</identification>\r
+        <identification>3c13925e-8808-471e-9f19-e40364e1406c</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:16:27.428 CET</date>\r
+      <date>2012-02-10 13:01:39.855 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6314,9 +5444,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6baa5e11-586d-4f13-b6f4-92c61c10ec9a</identification>\r
+        <identification>8fca71dd-0496-4ca3-b3be-788cecb6f2e2</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 15:29:27.496 CET</date>\r
+      <date>2012-02-07 17:54:59.874 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6325,9 +5455,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b176d4c2-c954-4fd4-971d-5f55f1c2ef09</identification>\r
+        <identification>25217334-644c-43ed-bd13-7a3b2a03d5c1</identification>\r
       </annotationBean>\r
-      <date>2012-02-09 17:39:20.187 CET</date>\r
+      <date>2012-01-31 16:20:23.935 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6336,9 +5466,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5f7faf68-279b-4c53-84ca-6746a5fa7832</identification>\r
+        <identification>34bdb8db-644c-4792-b591-dd8406ef7d78</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:40:24.470 CET</date>\r
+      <date>2012-03-21 12:12:06.884 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6358,9 +5488,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9f8d21c5-2523-4485-a181-01e6de804d4d</identification>\r
+        <identification>62f4cd4d-508e-409c-8e06-3fef4020fa97</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:35:34.596 CET</date>\r
+      <date>2012-02-07 17:25:22.963 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6369,20 +5499,78 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d4040120-4a6d-4a24-8bf4-73dd22e762c3</identification>\r
+        <identification>14e0d5c9-4a24-47df-a07b-e532cec4ca5c</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:46:06.131 CET</date>\r
+      <date>2012-03-02 16:39:52.276 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="cb4b094a-0513-4723-9a8a-6313e81b11c4" role="nested"><name>Workflow144</name><inputPorts><port><name>synRequest</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>col_copyright_conditional</name><annotations /></port></outputPorts><processors><processor><name>Col_Copyright_Conditional</name><inputPorts><port><name>copyright_answer</name><depth>0</depth></port></inputPorts><outputPorts><port><name>col_copyright_conditional</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="copyright_answer" to="copyright_answer" /></inputMap><outputMap><map from="col_copyright_conditional" to="col_copyright_conditional" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>copyright_answer</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>col_copyright_conditional</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>\r
+//col_copyright_conditional = new ArrayList();\r
+if(copyright_answer.equals("Yes")) {\r
+   col_copyright_conditional = "true"; \r
+}\r
+\r
+</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="copyright_answer" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>CoL_Copyright_Interaction</name><inputPorts /><outputPorts><port><name>answer</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>interaction-activity</artifact><version>0.1.2</version></raven><class>net.sf.taverna.t2.activities.interaction.InteractionActivity</class><inputMap /><outputMap><map from="answer" to="answer" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.interaction.InteractionActivityConfigurationBean xmlns="">\r
+  <inputs />\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>answer</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <presentationOrigin>http://ww2.bgbm.org/temp/biovel/col_copyright.html</presentationOrigin>\r
+  <interactionActivityType>LocallyPresentedHtml</interactionActivityType>\r
+</net.sf.taverna.t2.activities.interaction.InteractionActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Col_Copyright_Conditional</processor><port>copyright_answer</port></sink><source type="processor"><processor>CoL_Copyright_Interaction</processor><port>answer</port></source></datalink><datalink><sink type="dataflow"><port>col_copyright_conditional</port></sink><source type="processor"><processor>Col_Copyright_Conditional</processor><port>col_copyright_conditional</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d5d43373-3338-4d0e-8f11-62fc2c73afae</identification>\r
+        <identification>90834f91-f80e-4426-b4b0-bbb6dcbb7dc2</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 17:56:47.842 CET</date>\r
+      <date>2012-05-31 17:56:41.645 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6391,9 +5579,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4f8dd224-cc83-4af5-bbd2-dedfd09b43fe</identification>\r
+        <identification>af069788-606d-4b1a-a033-d9c153256e49</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:14:37.644 CET</date>\r
+      <date>2012-06-01 11:32:35.248 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6402,9 +5590,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>25217334-644c-43ed-bd13-7a3b2a03d5c1</identification>\r
+        <identification>f35144b6-2ce9-4593-87c6-70e1dcf132be</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:20:23.935 CET</date>\r
+      <date>2012-06-01 11:00:08.42 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6413,9 +5601,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>aec72d1d-786a-4ccc-afb5-c712166bc3e2</identification>\r
+        <identification>f0aa610f-483e-4c68-9c42-a0b755cef545</identification>\r
       </annotationBean>\r
-      <date>2012-01-31 16:33:25.857 CET</date>\r
+      <date>2012-06-01 11:19:31.141 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6424,9 +5612,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>92eb7f21-c6c2-4b1b-9200-1628662427a6</identification>\r
+        <identification>64789f83-fd1c-4184-92f4-1d8543a1e36f</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 12:06:31.153 CET</date>\r
+      <date>2012-05-31 17:31:21.932 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6435,9 +5623,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d3e29f08-a44b-4bb2-9896-4f325e0499d3</identification>\r
+        <identification>011b4c31-e36d-49d1-a83b-f39abdd63d9d</identification>\r
       </annotationBean>\r
-      <date>2012-01-13 17:09:46.986 CET</date>\r
+      <date>2012-06-01 11:12:58.985 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6446,9 +5634,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>62eace58-eeb6-495b-80e8-a94fadcc7316</identification>\r
+        <identification>42f8e3b2-dbb0-4335-a380-35867968834a</identification>\r
       </annotationBean>\r
-      <date>2012-02-08 13:41:58.660 CET</date>\r
+      <date>2012-06-01 11:15:35.7 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6457,9 +5645,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>82083c79-a4c9-4d8c-bf19-3e89ff2276e6</identification>\r
+        <identification>cb4b094a-0513-4723-9a8a-6313e81b11c4</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 15:05:39.350 CET</date>\r
+      <date>2012-06-01 11:45:03.50 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6468,9 +5656,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>702db05d-4a74-48b1-9b61-9ee90a1de8f4</identification>\r
+        <identification>a51024e5-a87d-4bfa-8b05-d19438370ade</identification>\r
       </annotationBean>\r
-      <date>2012-02-08 15:37:36.668 CET</date>\r
+      <date>2012-05-31 18:01:29.938 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6479,9 +5667,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>974e04bd-3efb-424a-9e35-2cd9f4fcd274</identification>\r
+        <identification>b79ec55e-c1b6-4f9d-856d-cbac48fbb1d2</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 17:23:23.829 CET</date>\r
+      <date>2012-06-01 11:18:39.371 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6490,9 +5678,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f41b5d1f-a3a6-4fcb-a52a-748150c35471</identification>\r
+        <identification>5245ddfd-3682-46a3-aa4c-44d06531088b</identification>\r
       </annotationBean>\r
-      <date>2012-02-07 17:22:31.525 CET</date>\r
+      <date>2012-06-01 11:40:04.780 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6501,9 +5689,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e2b4ef4f-5ce6-47fd-9aed-3042a7d27529</identification>\r
+        <identification>883a39f0-67e5-46c3-9f8b-0a9305948eff</identification>\r
       </annotationBean>\r
-      <date>2012-01-02 16:20:24.718 CET</date>\r
+      <date>2012-06-01 11:30:15.15 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6512,9 +5700,9 @@ flatten(inputlist, outputlist, 1);</script>
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e772224a-94c3-42a0-81e7-a7aedc37aff8</identification>\r
+        <identification>ccbf0253-8206-404e-be25-d93c9de7bb39</identification>\r
       </annotationBean>\r
-      <date>2012-03-21 11:58:50.611 CET</date>\r
+      <date>2012-06-01 10:55:27.720 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6522,17 +5710,196 @@ flatten(inputlist, outputlist, 1);</script>
 </net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9b1c8f07-a857-4d04-b260-b13bcf331662</identification>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>bf1aa85d-138a-41a7-a605-3b34468e2d6f</identification>\r
+      </annotationBean>\r
+      <date>2012-05-31 17:32:15.224 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="124b440e-f7ef-445f-901b-b3d04ca3e2a7" role="nested"><name>Workflow20</name><inputPorts><port><name>sciName</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>next</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>next</name><annotations /></port><port><name>max1000_csv_output</name><annotations /></port></outputPorts><processors><processor><name>Transform_XML</name><inputPorts><port><name>xslFileURL</name><depth>0</depth></port><port><name>inString</name><depth>0</depth></port></inputPorts><outputPorts><port><name>outputStr</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inString" to="inString" /><map from="xslFileURL" to="xslFileURL" /></inputMap><outputMap><map from="outputStr" to="outputStr" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>xslFileURL</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>outFileURL</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>inString</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>outputExt</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>outputStr</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>import java.io.BufferedReader;\r
+import java.io.BufferedWriter;\r
+import java.io.FileInputStream;\r
+import java.io.FileNotFoundException;\r
+import java.io.FileReader;\r
+import java.io.FileWriter;\r
+import java.io.IOException;\r
+import java.io.InputStreamReader;\r
+import java.io.OutputStreamWriter;\r
+import java.io.StringWriter;\r
+import java.io.StringReader;\r
+import java.io.Writer;\r
+import java.net.URL;\r
+import java.util.HashMap;\r
+import java.util.Map;\r
+\r
+import javax.xml.transform.Result;\r
+import javax.xml.transform.Source;\r
+import javax.xml.transform.SourceLocator;\r
+import javax.xml.transform.Templates;\r
+import javax.xml.transform.Transformer;\r
+import javax.xml.transform.TransformerConfigurationException;\r
+import javax.xml.transform.TransformerException;\r
+import javax.xml.transform.TransformerFactory;\r
+import javax.xml.transform.stream.StreamResult;\r
+import javax.xml.transform.stream.StreamSource;\r
+\r
+BufferedReader getReader (String fileUrl) throws IOException {\r
+               InputStreamReader reader;\r
+               try {\r
+                       reader = new FileReader(fileUrl);\r
+               }\r
+               catch (FileNotFoundException e) {\r
+                       // try a real URL instead\r
+                       URL url = new URL(fileUrl);\r
+                       reader = new InputStreamReader (url.openStream());\r
+               }\r
+               return new BufferedReader(reader);\r
+       }\r
+       \r
+BufferedWriter getWriter (String fileUrl) throws IOException {\r
+               Writer writer;\r
+               try {\r
+                       writer = new FileWriter(fileUrl);\r
+               }\r
+               catch (FileNotFoundException e) {\r
+                       // try a real URL instead\r
+                       URL url = new URL(fileUrl);\r
+                       writer = new OutputStreamWriter (url.openConnection().getOutputStream());\r
+               }\r
+               return new BufferedWriter(writer);\r
+       }\r
+       \r
+String xslFilename = xslFileURL;\r
+String outFilename;\r
+if (outFileURL != void) {\r
+    outFilename = outFileURL;\r
+}\r
+\r
+String ext;\r
+if (outputExt != void) {\r
+    ext = outputExt;\r
+}\r
+\r
+\r
+\r
+// Create transformer factory\r
+TransformerFactory factory = TransformerFactory.newInstance();\r
+\r
+// Use the factory to create a template containing the xsl file\r
+Templates template = factory.newTemplates(new StreamSource(getReader(xslFilename)));\r
+\r
+// Use the template to create a transformer\r
+Transformer xformer = template.newTransformer();\r
+\r
+// Prepare the input and output files\r
+Reader sourceReader = new StringReader(inString);\r
+Source source = new StreamSource(sourceReader);\r
+StringWriter resultStr = new StringWriter();\r
+Result result = new StreamResult(resultStr);\r
+\r
+// Apply the xsl file to the source file and write the result to the\r
+// output file\r
+xformer.transform(source, result);\r
+\r
+outputStr = resultStr.toString();\r
+\r
+if ((outFilename != null) &amp;&amp; !outFilename.equals("")) {\r
+\r
+       BufferedWriter out = getWriter(outFilename);\r
+\r
+       out.write(outputStr);\r
+       out.close();\r
+}\r
+sourceReader.close();\r
+</script>\r
+  <dependencies />\r
+  <localworkerName>net.sourceforge.taverna.scuflworkers.xml.XSLTWorker</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
+        <text>UserNameHere</text>\r
       </annotationBean>\r
-      <date>2012-01-31 16:03:53.673 CET</date>\r
+      <date>2012-01-13 17:08:38.768 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="12806644-8a59-4917-a0bf-a32566bfe2ff" role="nested"><name>Workflow1</name><inputPorts><port><name>synResponse</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>nameStatus</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>colResponse</name><annotations /></port></outputPorts><processors><processor><name>COLSynCheck_REST</name><inputPorts><port><name>sciId</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="sciId" to="sciId" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xslFileURL" depth="0" /><port name="inString" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>gbifResponse_to_csv_xsl</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value>http://ww2.bgbm.org/temp/biovel/gbifResponse_to_csv.xsl</value>\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>gbifOccurrence</name><inputPorts><port><name>format</name><depth>0</depth></port><port><name>scientificname</name><depth>0</depth></port><port><name>next</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="next" to="next" /><map from="format" to="format" /><map from="scientificname" to="scientificname" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
   <httpMethod>GET</httpMethod>\r
-  <urlSignature>http://www.catalogueoflife.org/webservice?response=full&amp;id={sciId}</urlSignature>\r
+  <urlSignature>http://data.gbif.org/ws/rest/occurrence/list?scientificname={scientificname}&amp;format={format}&amp;startindex={next}&amp;maxresults=1000</urlSignature>\r
   <acceptsHeaderValue>application/xml</acceptsHeaderValue>\r
   <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
   <outgoingDataFormat>String</outgoingDataFormat>\r
@@ -6542,43 +5909,2006 @@ flatten(inputlist, outputlist, 1);</script>
   <otherHTTPHeaders />\r
   <activityInputs>\r
     <entry>\r
-      <string>sciId</string>\r
-      <java-class>java.lang.String</java-class>\r
+      <string>next</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+    <entry>\r
+      <string>format</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+    <entry>\r
+      <string>scientificname</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+  </activityInputs>\r
+</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="format" depth="0" /><port name="scientificname" depth="0" /><port name="next" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>format_value</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value>darwin</value>\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>next</name><inputPorts><port><name>xml_text</name><depth>0</depth></port></inputPorts><outputPorts><port><name>nodelist</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>xpath-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.xpath.XPathActivity</class><inputMap><map from="xml_text" to="xml_text" /></inputMap><outputMap><map from="nodelist" to="nodelist" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.xpath.XPathActivityConfigurationBean xmlns="">\r
+  <xmlDocument>&lt;?xml version="1.0" encoding="UTF-8"?&gt;\r
+&lt;?xml-stylesheet type="text/xsl" href="http://data.gbif.org/ws/rest/taxon/stylesheet"?&gt;&lt;gbif:gbifResponse xmlns:gbif="http://portal.gbif.org/ws/response/gbif" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:tc="http://rs.tdwg.org/ontology/voc/TaxonConcept#" xmlns:tn="http://rs.tdwg.org/ontology/voc/TaxonName#" xsi:schemaLocation="http://portal.gbif.org/ws/response/gbif http://data.gbif.org/ws/rest/taxon/schema http://purl.org/dc/elements/1.1/ http://data.gbif.org/schema/dc.xsd http://purl.org/dc/terms/ http://data.gbif.org/schema/dcterms.xsd http://www.w3.org/1999/02/22-rdf-syntax-ns# http://data.gbif.org/schema/rdf.xsd http://www.w3.org/2002/07/owl# http://data.gbif.org/schema/owl.xsd http://rs.tdwg.org/ontology/voc/Common# http://data.gbif.org/schema/tcom.xsd http://rs.tdwg.org/ontology/voc/TaxonOccurrence# http://data.gbif.org/schema/TaxonOccurrence.xsd http://rs.tdwg.org/ontology/voc/TaxonConcept# http://data.gbif.org/schema/TaxonConcept.xsd http://rs.tdwg.org/ontology/voc/TaxonName# http://data.gbif.org/schema/TaxonName.xsd"&gt;\r
+ &lt;gbif:header&gt;\r
+  &lt;gbif:help&gt;http://data.gbif.org/ws/rest/taxon/help\r
+&lt;/gbif:help&gt;\r
+  &lt;gbif:request&gt;list&lt;/gbif:request&gt;\r
+  &lt;gbif:statements&gt;-\r
+\r
+This document contains data shared through the GBIF Network - see http://data.gbif.org/ for more information.\r
+                                       \r
+All usage of these data must be in accordance with the GBIF Data Use Agreement - see http://www.gbif.org/DataProviders/Agreements/DUA\r
+\r
+-\r
+&lt;/gbif:statements&gt;\r
+  &lt;gbif:stylesheet&gt;http://data.gbif.org/ws/rest/taxon/stylesheet&lt;/gbif:stylesheet&gt;\r
+  &lt;gbif:parameter name="maxresults" value="100"/&gt;\r
+  &lt;gbif:parameter name="request" value="list"/&gt;\r
+  &lt;gbif:parameter name="service" value="taxon"/&gt;\r
+  &lt;gbif:parameter name="format" value="brief"/&gt;\r
+  &lt;gbif:parameter name="scientificname" value="Plantae"/&gt;\r
+  &lt;gbif:nextRequestUrl&gt;http://data.gbif.org/ws/rest/taxon/list?startindex=100&amp;amp;maxresults=100&amp;amp;format=brief&amp;amp;scientificname=Plantae&lt;/gbif:nextRequestUrl&gt;\r
+&lt;gbif:summary start="0" totalMatched="100" next="100" totalReturned="100"/&gt;\r
+ &lt;/gbif:header&gt;&lt;gbif:dataProviders&gt;\r
+\r
+\r
+&lt;gbif:dataProvider gbifKey="116" rdf:about="http://data.gbif.org/ws/rest/provider/get/116"&gt;\r
+                                                                                       &lt;gbif:name&gt;Museo Nacional de Costa Rica&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="566" rdf:about="http://data.gbif.org/ws/rest/resource/get/566"&gt;\r
+                    &lt;gbif:name&gt;herbario&lt;/gbif:name&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51456466" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51456466"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;herbario&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="318" rdf:about="http://data.gbif.org/ws/rest/provider/get/318"&gt;\r
+                                                                                       &lt;gbif:name&gt;Arizona State University, Global Institute for Sustainability&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="676" rdf:about="http://data.gbif.org/ws/rest/resource/get/676"&gt;\r
+                    &lt;gbif:name&gt;Arizona State University Vascular Plant Herbarium&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="52007005" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/52007005"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Arizona State University Vascular Plant Herbarium&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/676"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="112" rdf:about="http://data.gbif.org/ws/rest/provider/get/112"&gt;\r
+                                                                                       &lt;gbif:name&gt;Mokpo Museum of Natural History&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="570" rdf:about="http://data.gbif.org/ws/rest/resource/get/570"&gt;\r
+                    &lt;gbif:name&gt;Mokpo Museum of Natural History Plant&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51473457" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51473457"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Mokpo Museum of Natural History Plant&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/570"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="139" rdf:about="http://data.gbif.org/ws/rest/provider/get/139"&gt;\r
+                                                                                       &lt;gbif:name&gt;NLBIF&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="693" rdf:about="http://data.gbif.org/ws/rest/resource/get/693"&gt;\r
+                    &lt;gbif:name&gt;Natural History Museum Rotterdam&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;NLBIF, Natural History Museum Rotterdam&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="52066103" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/52066103"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Natural History Museum Rotterdam&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/693"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="57" rdf:about="http://data.gbif.org/ws/rest/provider/get/57"&gt;\r
+                                                                                       &lt;gbif:name&gt;GBIF-Spain&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="262" rdf:about="http://data.gbif.org/ws/rest/resource/get/262"&gt;\r
+                    &lt;gbif:name&gt;Institut d'Ecologia Litoral: IEL_Phyto&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Gomis, C. (2005). Institut d'Ecologia Litoral Phytoplankton Collections on line databases.&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50817295" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50817295"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Institut d'Ecologia Litoral: IEL_Phyto&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/262"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="263" rdf:about="http://data.gbif.org/ws/rest/resource/get/263"&gt;\r
+                    &lt;gbif:name&gt;Institut d'Ecologia Litoral: IEL_Plantae&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Vicedo, M. (2005). Institut d'Ecologia Litoral Plantae Collections on line databases&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50817987" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50817987"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Institut d'Ecologia Litoral: IEL_Plantae&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/263"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="240" rdf:about="http://data.gbif.org/ws/rest/resource/get/240"&gt;\r
+                    &lt;gbif:name&gt;Real Jardin Botanico (Madrid), Vascular Plant Herbarium (MA)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50645543" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50645543"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Real Jardin Botanico (Madrid), Vascular Plant Herbarium (MA)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/240"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="284" rdf:about="http://data.gbif.org/ws/rest/resource/get/284"&gt;\r
+                    &lt;gbif:name&gt;Herbario de la Universidad de Sevilla, SEV-Historico&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;F.J. Salgueiro, S. Talavera et al. (2006). SEV collections online data bases&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50842449" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50842449"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Herbario de la Universidad de Sevilla, SEV-Historico&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/284"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="283" rdf:about="http://data.gbif.org/ws/rest/resource/get/283"&gt;\r
+                    &lt;gbif:name&gt;Herbario de la Universidad de Sevilla, SEV&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;F.J. Salgueiro, S. Talavera et al. (2006). SEV collections online data bases&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50830315" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50830315"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Herbario de la Universidad de Sevilla, SEV&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/283"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="245" rdf:about="http://data.gbif.org/ws/rest/resource/get/245"&gt;\r
+                    &lt;gbif:name&gt;Universidad de Oviedo. Departamento de Biología de Organismos y Sistemas: FCO&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50743926" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50743926"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Universidad de Oviedo. Departamento de Biología de Organismos y Sistemas: FCO&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/245"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="244" rdf:about="http://data.gbif.org/ws/rest/resource/get/244"&gt;\r
+                    &lt;gbif:name&gt;Herbario de la Universidad de Almeria&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50739343" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50739343"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Herbario de la Universidad de Almeria&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/244"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="243" rdf:about="http://data.gbif.org/ws/rest/resource/get/243"&gt;\r
+                    &lt;gbif:name&gt;CeDoc de Biodiversitat Vegetal: BCN-Cormophyta&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Guardia, R. et al. (2007). Bases de dades de l'Herbari BCN http://www.ub.es/cedocbiv/bancdade.htm&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50735696" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50735696"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;CeDoc de Biodiversitat Vegetal: BCN-Cormophyta&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/243"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="242" rdf:about="http://data.gbif.org/ws/rest/resource/get/242"&gt;\r
+                    &lt;gbif:name&gt;Universidad del País Vasco/EHU, Bilbao: Herbario BIO&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Herrera, M. et al. (2004). BIO Vascular Plants Collections on line databases.&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50733148" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50733148"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Universidad del País Vasco/EHU, Bilbao: Herbario BIO&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/242"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="249" rdf:about="http://data.gbif.org/ws/rest/resource/get/249"&gt;\r
+                    &lt;gbif:name&gt;Departamento de Biolog. Veg. II, Facultad de Farmacia, Universidad Complutense, Madrid: MAF&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Pizarro, J. et al. Plantas vasculares en el herbario GBIFMAF.&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50770400" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50770400"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Departamento de Biolog. Veg. II, Facultad de Farmacia, Universidad Complutense, Madrid: MAF&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/249"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="248" rdf:about="http://data.gbif.org/ws/rest/resource/get/248"&gt;\r
+                    &lt;gbif:name&gt;Aranzadi Zientzi Elkartea&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50762908" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50762908"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Aranzadi Zientzi Elkartea&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/248"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="247" rdf:about="http://data.gbif.org/ws/rest/resource/get/247"&gt;\r
+                    &lt;gbif:name&gt;Jardín Botánico de Córdoba: Herbarium COA&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Martín-Consuegra, E. et al. (2005). COA collections online databases.&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50754749" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50754749"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Jardín Botánico de Córdoba: Herbarium COA&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/247"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="246" rdf:about="http://data.gbif.org/ws/rest/resource/get/246"&gt;\r
+                    &lt;gbif:name&gt;Instituto Pirenaico de Ecología-CSIC: Herbarium JACA&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Benito, J.L., D. Gómez and L. Villar (2004) Las bases de datos del herbario JACA en internet (Fecha de consulta).&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50753094" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50753094"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Instituto Pirenaico de Ecología-CSIC: Herbarium JACA&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/246"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="264" rdf:about="http://data.gbif.org/ws/rest/resource/get/264"&gt;\r
+                    &lt;gbif:name&gt;Institut d'Ecologia Litoral: IEL_Seed&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Vicedo, M. (2005). Institut d'Ecologia Litoral Seed Collections on line databases&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50818745" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50818745"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Institut d'Ecologia Litoral: IEL_Seed&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/264"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="300" rdf:about="http://data.gbif.org/ws/rest/resource/get/300"&gt;\r
+                    &lt;gbif:name&gt;Hortus Botanicus Sollerensis Herbarium (FBonafè)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50883651" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50883651"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Hortus Botanicus Sollerensis Herbarium (FBonafè)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/300"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="251" rdf:about="http://data.gbif.org/ws/rest/resource/get/251"&gt;\r
+                    &lt;gbif:name&gt;CIBIO, Alicante:ABH-GBIF&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Herbario de la Universidad de Alicante, ABH (2005).&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50773832" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50773832"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;CIBIO, Alicante:ABH-GBIF&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/251"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="296" rdf:about="http://data.gbif.org/ws/rest/resource/get/296"&gt;\r
+                    &lt;gbif:name&gt;CUBA: Herbario de la Academia de Ciencias, La Habana, Cuba: HAC-Pteridophyta&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Regalado, L., Lóriga J., Morejón, R., Hechavarría, L., Fuentes, I., Hernández A., Daniel, A., Caluff, M., Ventosa, I., Vale, A. et Echevarría R. 2006. Pteridophyte collection online database.&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50870745" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50870745"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;CUBA: Herbario de la Academia de Ciencias, La Habana, Cuba: HAC-Pteridophyta&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/296"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="292" rdf:about="http://data.gbif.org/ws/rest/resource/get/292"&gt;\r
+                    &lt;gbif:name&gt;Dpto de Botánica, Ecología y Fisiología Vegetal (herbario_cofc).Facultad de Ciencias.Universidad de Córdoba&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50860548" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50860548"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Dpto de Botánica, Ecología y Fisiología Vegetal (herbario_cofc).Facultad de Ciencias.Universidad de Córdoba&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/292"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="239" rdf:about="http://data.gbif.org/ws/rest/resource/get/239"&gt;\r
+                    &lt;gbif:name&gt;Herbario de la Universidad de Salamanca: SALA&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Herbario de la Universidad de Salamanca (SALA)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50618940" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50618940"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Herbario de la Universidad de Salamanca: SALA&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/239"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="278" rdf:about="http://data.gbif.org/ws/rest/resource/get/278"&gt;\r
+                    &lt;gbif:name&gt;Escuela Técnica Superior de Ingenieros de Montes, UPM: EMMA&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50824900" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50824900"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Escuela Técnica Superior de Ingenieros de Montes, UPM: EMMA&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/278"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="297" rdf:about="http://data.gbif.org/ws/rest/resource/get/297"&gt;\r
+                    &lt;gbif:name&gt;CUBA:Herbario del Jardín de los Helechos, Centro Oriental de Ecosistemas y Biodiversidad, Santiago de Cuba: BSC-Pteridophyta&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Caluff, M., Serguera, M., Sánchez, C., Morejón, R., Regalado, L., Hernández, A. et Daniel A. 2006. Pteridophyte collection online database.&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50871285" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50871285"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;CUBA:Herbario del Jardín de los Helechos, Centro Oriental de Ecosistemas y Biodiversidad, Santiago de Cuba: BSC-Pteridophyta&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/297"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="298" rdf:about="http://data.gbif.org/ws/rest/resource/get/298"&gt;\r
+                    &lt;gbif:name&gt;CUBA:Herbario del Jardín Botánico Nacional, La Habana, Cuba: HAJB-Pteridophyta&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Morejón, R., Sánchez, C., Regalado, L., Hernández, A. et Daniel A. 2006. Pteridophyte collection online database.&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50871396" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50871396"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;CUBA:Herbario del Jardín Botánico Nacional, La Habana, Cuba: HAJB-Pteridophyta&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/298"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="299" rdf:about="http://data.gbif.org/ws/rest/resource/get/299"&gt;\r
+                    &lt;gbif:name&gt;Institut Botanic de Barcelona, BC&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50872014" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50872014"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Institut Botanic de Barcelona, BC&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/299"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="257" rdf:about="http://data.gbif.org/ws/rest/resource/get/257"&gt;\r
+                    &lt;gbif:name&gt;Departamento de Biolog. Veg. II, Facultad de Farmacia, Universidad Complutense, Madrid: MAF-Lich&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Pizarro, José et al. (2005), MAF Lichen collection online database, UCM&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50812257" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50812257"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Departamento de Biolog. Veg. II, Facultad de Farmacia, Universidad Complutense, Madrid: MAF-Lich&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/257"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="234" rdf:about="http://data.gbif.org/ws/rest/resource/get/234"&gt;\r
+                    &lt;gbif:name&gt;Real Jardin Botanico, Madrid: MA-Algae&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Pando, F. et al. (2003). MA Cryptogamic collections online databases. http://www.rjb.csic.es/herbario/crypto/crydb.htm. (date when consulted)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50589373" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50589373"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Real Jardin Botanico, Madrid: MA-Algae&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/234"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="236" rdf:about="http://data.gbif.org/ws/rest/resource/get/236"&gt;\r
+                    &lt;gbif:name&gt;Real Jardin Botanico, Madrid: MA-Hepat&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Pando, F. et al. (2003). MA Cryptogamic collections online databases. http://www.rjb.csic.es/herbario/crypto/crydb.htm. (date when consulted)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50602339" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50602339"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Real Jardin Botanico, Madrid: MA-Hepat&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/236"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="235" rdf:about="http://data.gbif.org/ws/rest/resource/get/235"&gt;\r
+                    &lt;gbif:name&gt;Real Jardin Botanico, Madrid: MA-Musci&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Pando, F. et al. (2003). MA Cryptogamic collections online databases. http://www.rjb.csic.es/herbario/crypto/crydb.htm. (date when consulted)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50592362" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50592362"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Real Jardin Botanico, Madrid: MA-Musci&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/235"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="253" rdf:about="http://data.gbif.org/ws/rest/resource/get/253"&gt;\r
+                    &lt;gbif:name&gt;GBIF-PORTUGAL-Herbário João de Carvalho e Vasconcellos, I.S.A./U.T.L.&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50785400" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50785400"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;GBIF-PORTUGAL-Herbário João de Carvalho e Vasconcellos, I.S.A./U.T.L.&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/253"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="238" rdf:about="http://data.gbif.org/ws/rest/resource/get/238"&gt;\r
+                    &lt;gbif:name&gt;Jardi Botanic de Valencia: VAL&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50610276" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50610276"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Jardi Botanic de Valencia: VAL&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/238"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="256" rdf:about="http://data.gbif.org/ws/rest/resource/get/256"&gt;\r
+                    &lt;gbif:name&gt;Real Jardin Botanico, Madrid: MA-Funhist&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Pando, F. et al. (2003). MA Cryptogamic collections online databases. http://www.rjb.csic.es/herbario/crypto/crydb.htm. (date when consulted)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50796630" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50796630"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Real Jardin Botanico, Madrid: MA-Funhist&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/256"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="237" rdf:about="http://data.gbif.org/ws/rest/resource/get/237"&gt;\r
+                    &lt;gbif:name&gt;Real Jardin Botanico, Madrid: MA-Lichen&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Pando, F. et al. (2003). MA Cryptogamic collections online databases. http://www.rjb.csic.es/herbario/crypto/crydb.htm. (date when consulted)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50605097" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50605097"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Real Jardin Botanico, Madrid: MA-Lichen&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/237"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="255" rdf:about="http://data.gbif.org/ws/rest/resource/get/255"&gt;\r
+                    &lt;gbif:name&gt;Universidad de Extremadura, UNEX&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Ruiz, T. (2005) Vascular collection herbarium online database in Extremadura&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50788063" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50788063"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Universidad de Extremadura, UNEX&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/255"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="136" rdf:about="http://data.gbif.org/ws/rest/provider/get/136"&gt;\r
+                                                                                       &lt;gbif:name&gt;NatureServe&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="607" rdf:about="http://data.gbif.org/ws/rest/resource/get/607"&gt;\r
+                    &lt;gbif:name&gt;NatureServe Network Species Occurrence Data&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;NatureServe Central Databases&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51646369" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51646369"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;NatureServe Network Species Occurrence Data&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/607"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="56" rdf:about="http://data.gbif.org/ws/rest/provider/get/56"&gt;\r
+                                                                                       &lt;gbif:name&gt;GBIF New Zealand&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="471" rdf:about="http://data.gbif.org/ws/rest/resource/get/471"&gt;\r
+                    &lt;gbif:name&gt;NZFUNGI - Collections of the New Zealand National Fungal Herbarium (PDD)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;http://nzfungi.landcareresearch.co.nz Landcare Research, New Zealand&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51166007" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51166007"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;NZFUNGI - Collections of the New Zealand National Fungal Herbarium (PDD)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/471"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="472" rdf:about="http://data.gbif.org/ws/rest/resource/get/472"&gt;\r
+                    &lt;gbif:name&gt;International Collection of Microorganisms from Plants - New Zealand National Microbial Collection&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;International Collection of Microoganisms from Plants, Landcare Research, New Zealand&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51168326" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51168326"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;International Collection of Microorganisms from Plants - New Zealand National Microbial Collection&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/472"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="474" rdf:about="http://data.gbif.org/ws/rest/resource/get/474"&gt;\r
+                    &lt;gbif:name&gt;New Zealand National Plant Herbarium (CHR)&lt;/gbif:name&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51171666" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51171666"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;New Zealand National Plant Herbarium (CHR)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/474"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="473" rdf:about="http://data.gbif.org/ws/rest/resource/get/473"&gt;\r
+                    &lt;gbif:name&gt;New Zealand National Vegetation Survey Databank&lt;/gbif:name&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51168344" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51168344"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;New Zealand National Vegetation Survey Databank&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/473"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="156" rdf:about="http://data.gbif.org/ws/rest/provider/get/156"&gt;\r
+                                                                                       &lt;gbif:name&gt;Seodaemun Museum of Natural History&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="673" rdf:about="http://data.gbif.org/ws/rest/resource/get/673"&gt;\r
+                    &lt;gbif:name&gt;Seodaemun Museum of Natural History Plant&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51988429" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51988429"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Seodaemun Museum of Natural History Plant&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/673"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="670" rdf:about="http://data.gbif.org/ws/rest/resource/get/670"&gt;\r
+                    &lt;gbif:name&gt;Seodaemun Museum of Natural History Fossil&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51988402" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51988402"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Seodaemun Museum of Natural History Fossil&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/670"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="14" rdf:about="http://data.gbif.org/ws/rest/provider/get/14"&gt;\r
+                                                                                       &lt;gbif:name&gt;Bernice Pauahi Bishop Museum&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="54" rdf:about="http://data.gbif.org/ws/rest/resource/get/54"&gt;\r
+                    &lt;gbif:name&gt;Bishop Museum Natural Sciences Data&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Bishop Museum Natural History Data&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50178479" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50178479"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Bishop Museum Natural Sciences Data&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/54"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="12" rdf:about="http://data.gbif.org/ws/rest/provider/get/12"&gt;\r
+                                                                                       &lt;gbif:name&gt;BeBIF Provider&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="96" rdf:about="http://data.gbif.org/ws/rest/resource/get/96"&gt;\r
+                    &lt;gbif:name&gt;Royal Museum of Central Africa - Metafro-Infosys - Prelude&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Metafro-Infosys&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50267686" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50267686"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Royal Museum of Central Africa - Metafro-Infosys - Prelude&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/96"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="95" rdf:about="http://data.gbif.org/ws/rest/resource/get/95"&gt;\r
+                    &lt;gbif:name&gt;Royal Museum of Central Africa - Metafro-Infosys - Xylarium&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;RMCA-Metafro-Infosys-Xylarium&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50254870" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50254870"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Royal Museum of Central Africa - Metafro-Infosys - Xylarium&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/95"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="153" rdf:about="http://data.gbif.org/ws/rest/provider/get/153"&gt;\r
+                                                                                       &lt;gbif:name&gt;Alaska Ocean Observing System&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="654" rdf:about="http://data.gbif.org/ws/rest/resource/get/654"&gt;\r
+                    &lt;gbif:name&gt;Arctic Ocean Diversity&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51921018" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51921018"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Arctic Ocean Diversity&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/654"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="20" rdf:about="http://data.gbif.org/ws/rest/provider/get/20"&gt;\r
+                                                                                       &lt;gbif:name&gt;Botanical Research Institute of Texas&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="56" rdf:about="http://data.gbif.org/ws/rest/resource/get/56"&gt;\r
+                    &lt;gbif:name&gt;Andes to Amazon Biodiversity Program&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50205952" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50205952"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Andes to Amazon Biodiversity Program&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/56"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="368" rdf:about="http://data.gbif.org/ws/rest/provider/get/368"&gt;\r
+                                                                                       &lt;gbif:name&gt;ECAT development publisher&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="13566" rdf:about="http://data.gbif.org/ws/rest/resource/get/13566"&gt;\r
+                    &lt;gbif:name&gt;Wikipedia Species Pages - English&lt;/gbif:name&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="110582304" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110582304"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                                                                     &lt;tc:TaxonConcept gbifKey="110624584" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110624584"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                                                                     &lt;tc:TaxonConcept gbifKey="110525446" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110525446"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                                                                     &lt;tc:TaxonConcept gbifKey="110617462" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110617462"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                                                                     &lt;tc:TaxonConcept gbifKey="110568798" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110568798"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                                                                     &lt;tc:TaxonConcept gbifKey="110568797" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110568797"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                                                                     &lt;tc:TaxonConcept gbifKey="110586738" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110586738"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                                                                     &lt;tc:TaxonConcept gbifKey="110509215" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110509215"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                                                                     &lt;tc:TaxonConcept gbifKey="110499063" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110499063"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                                                                     &lt;tc:TaxonConcept gbifKey="110582305" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110582305"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - English&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13566"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="13562" rdf:about="http://data.gbif.org/ws/rest/resource/get/13562"&gt;\r
+                    &lt;gbif:name&gt;Wikipedia Species Pages - German&lt;/gbif:name&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="110405143" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/110405143"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;unranked&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Wikipedia Species Pages - German&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/13562"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="82" rdf:about="http://data.gbif.org/ws/rest/provider/get/82"&gt;\r
+                                                                                       &lt;gbif:name&gt;Ocean Biogeographic Information System&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="327" rdf:about="http://data.gbif.org/ws/rest/resource/get/327"&gt;\r
+                    &lt;gbif:name&gt;Natural Geography In Shore Areas (NaGISA) Dataset&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;(how users should cite data if they use it): Rigby,P.R., B.Konar, T.Kato, K.Iken, H.Chenelot and Y.Shirayama (2005)NaGISA OBIS Dataset ver.1&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50930545" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50930545"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Natural Geography In Shore Areas (NaGISA) Dataset&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/327"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="328" rdf:about="http://data.gbif.org/ws/rest/resource/get/328"&gt;\r
+                    &lt;gbif:name&gt;Continuous Plankton Recorder database&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Continuous Plankton Recorder (CPR) data from the Sir Alister Hardy Foundation for Ocean Science (SAHFOS). Avaiable from http://iobis.org/ [Accessed DATE] (citation as instructed)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50932584" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50932584"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Continuous Plankton Recorder database&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/328"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="343" rdf:about="http://data.gbif.org/ws/rest/resource/get/343"&gt;\r
+                    &lt;gbif:name&gt;Gwaii Haanas Marine Plants (OBIS Canada)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Living marine legacy of Gwaii Haanas. I: Marine plant baseline to 1999 and plant-related management issues&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51014853" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51014853"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Gwaii Haanas Marine Plants (OBIS Canada)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/343"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="361" rdf:about="http://data.gbif.org/ws/rest/resource/get/361"&gt;\r
+                    &lt;gbif:name&gt;Taxonomic Information Sytem for the Belgian coastal area (EurOBIS)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Vanden Berghe, E. (2000). Tisbe, Taxonomic Information System for the Belgian coastal area. http://www.vliz.be/vmdcdata/tisbe.&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51042676" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51042676"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Taxonomic Information Sytem for the Belgian coastal area (EurOBIS)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/361"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="320" rdf:about="http://data.gbif.org/ws/rest/resource/get/320"&gt;\r
+                    &lt;gbif:name&gt;SeamountsOnline (seamount biota) (CoML)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Stocks, K. 2003. SeamountsOnline: an online information system for seamount biology. Version 3.1. seamounts.sdsc.edu&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50919086" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50919086"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;SeamountsOnline (seamount biota) (CoML)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/320"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="380" rdf:about="http://data.gbif.org/ws/rest/resource/get/380"&gt;\r
+                    &lt;gbif:name&gt;MarBEF Publication Series data (EurOBIS)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51068483" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51068483"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;MarBEF Publication Series data (EurOBIS)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/380"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="347" rdf:about="http://data.gbif.org/ws/rest/resource/get/347"&gt;\r
+                    &lt;gbif:name&gt;Bay of Fundy Species List (OBIS Canada)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Pohle, G., L. Van Guelpen, A. Martin, D. Welshman, and A. McGuire. 2004. Bay of Fundy Species&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51021774" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51021774"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Bay of Fundy Species List (OBIS Canada)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/347"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="418" rdf:about="http://data.gbif.org/ws/rest/resource/get/418"&gt;\r
+                    &lt;gbif:name&gt;Benthic biodiversity along the central coast in the Brazilian EEZ (OBIS South America, BRAZIL) (OBIS South America, BRAZIL)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Lavrado, H.P. &amp;amp; Ignacio, B.L. (eds.) 2006. Biodiversidade bentônica da costa central da Zona Econômica Exclusiva brasileira. Rio de Janeiro : Museu Nacional, 2006.(Série Livros; 18) 389 p. ISBN 85-7427-014-8&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51106042" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51106042"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Benthic biodiversity along the central coast in the Brazilian EEZ (OBIS South America, BRAZIL) (OBIS South America, BRAZIL)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/418"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="408" rdf:about="http://data.gbif.org/ws/rest/resource/get/408"&gt;\r
+                    &lt;gbif:name&gt;Posidonia Oceanica Survey 2005 (EurOBIS)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51095281" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51095281"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Posidonia Oceanica Survey 2005 (EurOBIS)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/408"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="364" rdf:about="http://data.gbif.org/ws/rest/resource/get/364"&gt;\r
+                    &lt;gbif:name&gt;MedOBIS (EurOBIS)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51049806" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51049806"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;MedOBIS (EurOBIS)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/364"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="419" rdf:about="http://data.gbif.org/ws/rest/resource/get/419"&gt;\r
+                    &lt;gbif:name&gt;Phytoplankton Universidad Arturo Prat (OBIS South America, SOUTH PACIFIC NODE)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Herrera, L., Escribano, R. (2006)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51106440" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51106440"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Phytoplankton Universidad Arturo Prat (OBIS South America, SOUTH PACIFIC NODE)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/419"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="396" rdf:about="http://data.gbif.org/ws/rest/resource/get/396"&gt;\r
+                    &lt;gbif:name&gt;AIMS - Bioresources Library (OBIS Australia)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;AIMS - Bioresources Library&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51074210" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51074210"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;AIMS - Bioresources Library (OBIS Australia)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/396"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="414" rdf:about="http://data.gbif.org/ws/rest/resource/get/414"&gt;\r
+                    &lt;gbif:name&gt;Bolus Herbarium Algal Specimen Database (AfrOBIS)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Bolus Herbarium Algal Specimen Database&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51098105" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51098105"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Bolus Herbarium Algal Specimen Database (AfrOBIS)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/414"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="131" rdf:about="http://data.gbif.org/ws/rest/provider/get/131"&gt;\r
+                                                                                       &lt;gbif:name&gt;National Museum of Nature and Science, Japan&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="595" rdf:about="http://data.gbif.org/ws/rest/resource/get/595"&gt;\r
+                    &lt;gbif:name&gt;Algae Collection of National Museum of Nature and Science&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51580651" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51580651"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Algae Collection of National Museum of Nature and Science&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/595"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="600" rdf:about="http://data.gbif.org/ws/rest/resource/get/600"&gt;\r
+                    &lt;gbif:name&gt;Herbarium Specimens of Tokushima Prefectural Museum, Japan&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51601143" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51601143"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Herbarium Specimens of Tokushima Prefectural Museum, Japan&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/600"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="594" rdf:about="http://data.gbif.org/ws/rest/resource/get/594"&gt;\r
+                    &lt;gbif:name&gt;Bryophytes Collection of National Museum of Nature and Science&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51578373" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51578373"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Bryophytes Collection of National Museum of Nature and Science&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/594"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="596" rdf:about="http://data.gbif.org/ws/rest/resource/get/596"&gt;\r
+                    &lt;gbif:name&gt;Vascular Plants Collection of National Museum of Nature and Science&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51583518" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51583518"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Vascular Plants Collection of National Museum of Nature and Science&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/596"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="599" rdf:about="http://data.gbif.org/ws/rest/resource/get/599"&gt;\r
+                    &lt;gbif:name&gt;Plant Specimens of Kurashiki Museum of Natural History&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51592579" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51592579"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Plant Specimens of Kurashiki Museum of Natural History&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/599"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="609" rdf:about="http://data.gbif.org/ws/rest/resource/get/609"&gt;\r
+                    &lt;gbif:name&gt;Bryophyte specimens database of Mr. Tsutomu Kodama collection, Osaka museum of Natural History&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51662408" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51662408"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Bryophyte specimens database of Mr. Tsutomu Kodama collection, Osaka museum of Natural History&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/609"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="606" rdf:about="http://data.gbif.org/ws/rest/resource/get/606"&gt;\r
+                    &lt;gbif:name&gt;Herbarium of Kitakyushu Museum of Natural History and Human History&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51631882" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51631882"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Herbarium of Kitakyushu Museum of Natural History and Human History&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/606"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="61" rdf:about="http://data.gbif.org/ws/rest/provider/get/61"&gt;\r
+                                                                                       &lt;gbif:name&gt;Gyeryonsan Natural History Museum&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="218" rdf:about="http://data.gbif.org/ws/rest/resource/get/218"&gt;\r
+                    &lt;gbif:name&gt;Gyeryonsan Natural History Museum Fossil&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50515837" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50515837"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Gyeryonsan Natural History Museum Fossil&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/218"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="101" rdf:about="http://data.gbif.org/ws/rest/provider/get/101"&gt;\r
+                                                                                       &lt;gbif:name&gt;Korea National Arboretum (Korea Forest Service)&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="469" rdf:about="http://data.gbif.org/ws/rest/resource/get/469"&gt;\r
+                    &lt;gbif:name&gt;Plant&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51135517" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51135517"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Plant&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/469"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="48" rdf:about="http://data.gbif.org/ws/rest/provider/get/48"&gt;\r
+                                                                                       &lt;gbif:name&gt;Fairchild Tropical Botanic Garden&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="202" rdf:about="http://data.gbif.org/ws/rest/resource/get/202"&gt;\r
+                    &lt;gbif:name&gt;Fairchild Tropical Botanic Garden Virtual Herbarium Darwin Core format&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Fairchild Tropical Botanic Garden Virtual Herbarium&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50497602" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50497602"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Fairchild Tropical Botanic Garden Virtual Herbarium Darwin Core format&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/202"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="97" rdf:about="http://data.gbif.org/ws/rest/provider/get/97"&gt;\r
+                                                                                       &lt;gbif:name&gt;Jyvaskyla University Museum - The Section of Natural Sciences&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="462" rdf:about="http://data.gbif.org/ws/rest/resource/get/462"&gt;\r
+                    &lt;gbif:name&gt;Vascular plant collection of Jyvaskyla University Museum&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Jyvaskyla University Museum - The Section of Natural Sciences&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51127387" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51127387"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Vascular plant collection of Jyvaskyla University Museum&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/462"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="69" rdf:about="http://data.gbif.org/ws/rest/provider/get/69"&gt;\r
+                                                                                       &lt;gbif:name&gt;Herbarium of the University of Aarhus&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="224" rdf:about="http://data.gbif.org/ws/rest/resource/get/224"&gt;\r
+                    &lt;gbif:name&gt;The AAU Herbarium Database&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;AAU Herbarium Database&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50538726" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50538726"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;The AAU Herbarium Database&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/224"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="148" rdf:about="http://data.gbif.org/ws/rest/provider/get/148"&gt;\r
+                                                                                       &lt;gbif:name&gt;Royal Botanic Gardens, Kew&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="629" rdf:about="http://data.gbif.org/ws/rest/resource/get/629"&gt;\r
+                    &lt;gbif:name&gt;Royal Botanic Gardens, Kew&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51701360" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51701360"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Royal Botanic Gardens, Kew&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/629"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="90" rdf:about="http://data.gbif.org/ws/rest/provider/get/90"&gt;\r
+                                                                                       &lt;gbif:name&gt;Instituto Nacional de Biodiversidad (INBio), Costa Rica&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="333" rdf:about="http://data.gbif.org/ws/rest/resource/get/333"&gt;\r
+                    &lt;gbif:name&gt;Biodiversidad de Costa Rica&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;http://www.gbif.org/DataProviders/Cite&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50974029" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50974029"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Biodiversidad de Costa Rica&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/333"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="23" rdf:about="http://data.gbif.org/ws/rest/provider/get/23"&gt;\r
+                                                                                       &lt;gbif:name&gt;British Antarctic Survey&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="67" rdf:about="http://data.gbif.org/ws/rest/resource/get/67"&gt;\r
+                    &lt;gbif:name&gt;ANTARCTIC PLANT DATABASE&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50223325" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50223325"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;ANTARCTIC PLANT DATABASE&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/67"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="25" rdf:about="http://data.gbif.org/ws/rest/provider/get/25"&gt;\r
+                                                                                       &lt;gbif:name&gt;University of Washington Burke Museum&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="126" rdf:about="http://data.gbif.org/ws/rest/resource/get/126"&gt;\r
+                    &lt;gbif:name&gt;Vascular Plant Collection - University of Washington Herbarium (WTU)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;University of Washington Burke Museum. WTU Herbarium Vascular Plant Collection. Seattle, Washington.&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50316447" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50316447"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Vascular Plant Collection - University of Washington Herbarium (WTU)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/126"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="26" rdf:about="http://data.gbif.org/ws/rest/provider/get/26"&gt;\r
+                                                                                       &lt;gbif:name&gt;CABIDiGIR Provider&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="167" rdf:about="http://data.gbif.org/ws/rest/resource/get/167"&gt;\r
+                    &lt;gbif:name&gt;CABI Bioscience Fungus Collection&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;IMI&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50432479" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50432479"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;CABI Bioscience Fungus Collection&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/167"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="164" rdf:about="http://data.gbif.org/ws/rest/provider/get/164"&gt;\r
+                                                                                       &lt;gbif:name&gt;The Danish Biodiversity Information Facility&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="703" rdf:about="http://data.gbif.org/ws/rest/resource/get/703"&gt;\r
+                    &lt;gbif:name&gt;Botany registration database by Danish botanists&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="52077210" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/52077210"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Botany registration database by Danish botanists&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/703"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="702" rdf:about="http://data.gbif.org/ws/rest/resource/get/702"&gt;\r
+                    &lt;gbif:name&gt;University of Copenhagen's Arboretum&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation/&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="52071070" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/52071070"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;University of Copenhagen's Arboretum&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/702"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="30" rdf:about="http://data.gbif.org/ws/rest/provider/get/30"&gt;\r
+                                                                                       &lt;gbif:name&gt;Canadian Biodiversity Information Facility&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="512" rdf:about="http://data.gbif.org/ws/rest/resource/get/512"&gt;\r
+                    &lt;gbif:name&gt;Royal Botanical Gardens Herbarium&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Royal Botanical Gardens Herbarium&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51196472" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51196472"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Royal Botanical Gardens Herbarium&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/512"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="526" rdf:about="http://data.gbif.org/ws/rest/resource/get/526"&gt;\r
+                    &lt;gbif:name&gt;Phragmites of Canada&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Phragmites of Canada&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51200628" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51200628"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Phragmites of Canada&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/526"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="6" rdf:about="http://data.gbif.org/ws/rest/provider/get/6"&gt;\r
+                                                                                       &lt;gbif:name&gt;Australian Antarctic Data Centre&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="77" rdf:about="http://data.gbif.org/ws/rest/resource/get/77"&gt;\r
+                    &lt;gbif:name&gt;Antarctic Marine Protists species checklist&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Species list derived from the book Antarctic Marine Prostists (2005) edited by Fiona J. Scott and Harvey J. Marchant. (ISBN 0 642 56835 9)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50248379" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50248379"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Antarctic Marine Protists species checklist&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/77"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                                                                                                       &lt;gbif:dataResource gbifKey="76" rdf:about="http://data.gbif.org/ws/rest/resource/get/76"&gt;\r
+                    &lt;gbif:name&gt;Australian Antarctic Division Herbarium&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Contact Dave Watts for details on citation details.&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50244776" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50244776"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Australian Antarctic Division Herbarium&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/76"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="31" rdf:about="http://data.gbif.org/ws/rest/provider/get/31"&gt;\r
+                                                                                       &lt;gbif:name&gt;Canadian Museum of Nature&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="123" rdf:about="http://data.gbif.org/ws/rest/resource/get/123"&gt;\r
+                    &lt;gbif:name&gt;Canadian Museum of Nature Herbarium&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Canadian Museum of Nature Herbarium (The National Herbarium of Canada)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50295570" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50295570"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Canadian Museum of Nature Herbarium&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/123"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="8" rdf:about="http://data.gbif.org/ws/rest/provider/get/8"&gt;\r
+                                                                                       &lt;gbif:name&gt;Australian National Herbarium (CANB)&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="47" rdf:about="http://data.gbif.org/ws/rest/resource/get/47"&gt;\r
+                    &lt;gbif:name&gt;Australian National Herbarium (CANB)&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;http://www.cpbr.gov.au/cpbr/herbarium&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50029604" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50029604"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Australian National Herbarium (CANB)&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/47"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="75" rdf:about="http://data.gbif.org/ws/rest/provider/get/75"&gt;\r
+                                                                                       &lt;gbif:name&gt;Illinois Natural History Survey&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="225" rdf:about="http://data.gbif.org/ws/rest/resource/get/225"&gt;\r
+                    &lt;gbif:name&gt;Illinois Natural History Survey&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;INHS Insect Collection&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50581580" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50581580"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Illinois Natural History Survey&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/225"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="141" rdf:about="http://data.gbif.org/ws/rest/provider/get/141"&gt;\r
+                                                                                       &lt;gbif:name&gt;Oregon State University&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="622" rdf:about="http://data.gbif.org/ws/rest/resource/get/622"&gt;\r
+                    &lt;gbif:name&gt;Vascular Plant Collection&lt;/gbif:name&gt;\r
+                                         &lt;gbif:citation&gt;Oregon State University Herbarium (OSC)&lt;/gbif:citation&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="51680150" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/51680150"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;Vascular Plant Collection&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/622"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;gbif:dataProvider gbifKey="89" rdf:about="http://data.gbif.org/ws/rest/provider/get/89"&gt;\r
+                                                                                       &lt;gbif:name&gt;Instituto de Investigaciones de la Amazonía Peruana&lt;/gbif:name&gt;\r
+                                                               &lt;gbif:dataResources&gt;\r
+                                                                               &lt;gbif:dataResource gbifKey="325" rdf:about="http://data.gbif.org/ws/rest/resource/get/325"&gt;\r
+                    &lt;gbif:name&gt;HerbarioHerrerense&lt;/gbif:name&gt;\r
+                                               &lt;gbif:taxonConcepts&gt;\r
+                                             &lt;tc:TaxonConcept gbifKey="50922844" status="unconfirmed" rdf:about="http://data.gbif.org/ws/rest/taxon/get/50922844"&gt;\r
+                      &lt;tc:hasName&gt;\r
+                       &lt;tn:TaxonName&gt;\r
+                        &lt;tn:nameComplete&gt;Plantae&lt;/tn:nameComplete&gt;\r
+                                                        &lt;tn:rankString&gt;kingdom&lt;/tn:rankString&gt;\r
+                                        &lt;tn:scientific&gt;true&lt;/tn:scientific&gt;\r
+                       &lt;/tn:TaxonName&gt;\r
+                      &lt;/tc:hasName&gt;\r
+                      &lt;tc:accordingToString&gt;HerbarioHerrerense&lt;/tc:accordingToString&gt;\r
+                      &lt;tc:accordingTo rdf:resource="http://data.gbif.org/ws/rest/resource/get/325"/&gt;\r
+                      &lt;tc:primary&gt;true&lt;/tc:primary&gt;\r
+                     &lt;/tc:TaxonConcept&gt;                  \r
+                                               &lt;/gbif:taxonConcepts&gt;\r
+                               &lt;/gbif:dataResource&gt;    \r
+                       &lt;/gbif:dataResources&gt;\r
+               &lt;/gbif:dataProvider&gt;\r
+&lt;/gbif:dataProviders&gt;\r
+&lt;/gbif:gbifResponse&gt;</xmlDocument>\r
+  <xpathExpression>/gbif:gbifResponse/gbif:header/gbif:summary/@next[1]</xpathExpression>\r
+  <xpathNamespaceMap>\r
+    <entry>\r
+      <string>tn</string>\r
+      <string>http://rs.tdwg.org/ontology/voc/TaxonName#</string>\r
     </entry>\r
-  </activityInputs>\r
-</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciId" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>taxon_id_xpath</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value>/results/result[1]/sn_id</value>\r
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+    <entry>\r
+      <string>gbif</string>\r
+      <string>http://portal.gbif.org/ws/response/gbif</string>\r
+    </entry>\r
+    <entry>\r
+      <string>tc</string>\r
+      <string>http://rs.tdwg.org/ontology/voc/TaxonConcept#</string>\r
+    </entry>\r
+    <entry>\r
+      <string>rdf</string>\r
+      <string>http://www.w3.org/1999/02/22-rdf-syntax-ns#</string>\r
+    </entry>\r
+    <entry>\r
+      <string>xsi</string>\r
+      <string>http://www.w3.org/2001/XMLSchema-instance</string>\r
+    </entry>\r
+  </xpathNamespaceMap>\r
+</net.sf.taverna.t2.activities.xpath.XPathActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Loop</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration xmlns="">\r
+  <properties />\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>FirstElement_From_XPath</name><inputPorts><port><name>xmltext</name><depth>0</depth></port><port><name>xpath</name><depth>0</depth></port></inputPorts><outputPorts><port><name>nodeVal</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="xmltext" to="xmltext" /><map from="xpath" to="xpath" /></inputMap><outputMap><map from="nodeVal" to="nodeVal" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xml_text" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>list_to_single_value</name><inputPorts><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>xpath</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>xmltext</name>\r
-      <depth>0</depth>\r
+      <name>stringlist</name>\r
+      <depth>1</depth>\r
       <mimeTypes>\r
-        <string>text/plain</string>\r
+        <string>l('text/plain')</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
       <translatedElementType>java.lang.String</translatedElementType>\r
@@ -6587,138 +7917,54 @@ flatten(inputlist, outputlist, 1);</script>
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>nodeVal</name>\r
+      <name>value</name>\r
       <depth>0</depth>\r
       <mimeTypes />\r
       <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>import org.dom4j.Document;\r
-import org.dom4j.Node;\r
-import org.dom4j.io.SAXReader;\r
-\r
-SAXReader reader = new SAXReader(false);\r
-reader.setIncludeInternalDTDDeclarations(false);\r
-reader.setIncludeExternalDTDDeclarations(false);\r
-\r
-Document document = reader.read(new StringReader(xmltext));\r
-List nodelist = document.selectNodes(xpath);\r
-\r
-// Process the elements in the nodelist\r
-ArrayList outputList = new ArrayList();\r
-ArrayList outputXmlList = new ArrayList();\r
-\r
-String val = null;\r
-String xmlVal = null;\r
-for (Iterator iter = nodelist.iterator(); iter.hasNext();) {\r
-       Node element = (Node) iter.next();\r
-       xmlVal = element.asXML();\r
-       val = element.getStringValue();\r
-       if (val != null &amp;&amp; !val.equals("")) {\r
-               outputList.add(val);\r
-               outputXmlList.add(xmlVal);\r
-       }\r
-break;\r
-}\r
-\r
-//List nodelist=outputList;\r
-nodeVal = val;\r
-</script>\r
-  <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xmltext" depth="0" /><port name="xpath" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>COLSynCheck_REST</processor><port>sciId</port></sink><source type="processor"><processor>FirstElement_From_XPath</processor><port>nodeVal</port></source></datalink><datalink><sink type="processor"><processor>FirstElement_From_XPath</processor><port>xmltext</port></sink><source type="dataflow"><port>synResponse</port></source></datalink><datalink><sink type="processor"><processor>FirstElement_From_XPath</processor><port>xpath</port></sink><source type="processor"><processor>taxon_id_xpath</processor><port>value</port></source></datalink><datalink><sink type="dataflow"><port>colResponse</port></sink><source type="processor"><processor>COLSynCheck_REST</processor><port>responseBody</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3114c079-dc39-46d0-8feb-99dc0f686512</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 17:33:51.189 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>91226a57-267d-49c5-adc4-fab3dda2880a</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 18:00:29.942 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>126219a1-2553-4015-a3cb-56f21d51f599</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 17:18:47.464 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>cff680af-4261-4881-8faa-0c3f155a4f1b</identification>\r
-      </annotationBean>\r
-      <date>2012-01-23 17:27:35.142 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8eb05b48-f79d-4448-80a7-d45520247aee</identification>\r
-      </annotationBean>\r
-      <date>2012-01-24 14:00:38.765 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
-  <annotationAssertions>\r
-    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9b2ea773-b806-4c88-9dd8-8d952d8a0755</identification>\r
-      </annotationBean>\r
-      <date>2012-01-24 14:32:22.796 CET</date>\r
-      <creators />\r
-      <curationEventList />\r
-    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-  </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>String seperatorString = "\n";\r
+\r
+StringBuffer sb = new StringBuffer();\r
+for (Iterator i = stringlist.iterator(); i.hasNext();) {\r
+       String item = (String) i.next();\r
+       sb.append(item);\r
+       if (i.hasNext()) {\r
+               sb.append(seperatorString);\r
+       }\r
+}\r
+value = sb.toString();\r
+</script>\r
+  <dependencies />\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringListMerge</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>0bc37d95-ca84-4270-9a68-a33a6563caa4</identification>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
+        <text>UserNameHere</text>\r
       </annotationBean>\r
-      <date>2012-01-23 17:32:43.771 CET</date>\r
+      <date>2011-12-05 16:37:45.485 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="stringlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Transform_XML</processor><port>xslFileURL</port></sink><source type="processor"><processor>gbifResponse_to_csv_xsl</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML</processor><port>inString</port></sink><source type="processor"><processor>gbifOccurrence</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>gbifOccurrence</processor><port>format</port></sink><source type="processor"><processor>format_value</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>gbifOccurrence</processor><port>scientificname</port></sink><source type="dataflow"><port>sciName</port></source></datalink><datalink><sink type="processor"><processor>gbifOccurrence</processor><port>next</port></sink><source type="dataflow"><port>next</port></source></datalink><datalink><sink type="processor"><processor>next</processor><port>xml_text</port></sink><source type="processor"><processor>gbifOccurrence</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>list_to_single_value</processor><port>stringlist</port></sink><source type="processor"><processor>next</processor><port>nodelist</port></source></datalink><datalink><sink type="dataflow"><port>next</port></sink><source type="processor"><processor>list_to_single_value</processor><port>value</port></source></datalink><datalink><sink type="dataflow"><port>max1000_csv_output</port></sink><source type="processor"><processor>Transform_XML</processor><port>outputStr</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1d63adfb-85c4-4ce2-a039-13daee06364a</identification>\r
+        <identification>65d843f2-dc3a-45f3-a8b7-94138384a01a</identification>\r
       </annotationBean>\r
-      <date>2012-01-23 17:41:34.44 CET</date>\r
+      <date>2012-02-07 18:14:49.842 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6727,9 +7973,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6be0b511-0710-45a1-a809-31681f072659</identification>\r
+        <identification>0405ad51-49d4-499c-bba3-01dbac5fb318</identification>\r
       </annotationBean>\r
-      <date>2012-01-23 17:30:31.962 CET</date>\r
+      <date>2012-02-07 17:37:21.427 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6738,9 +7984,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>09763558-ce78-4cf7-bde5-1a202ba7953c</identification>\r
+        <identification>f653d906-88de-417d-bf3e-61ed29fd6733</identification>\r
       </annotationBean>\r
-      <date>2012-01-23 17:47:09.64 CET</date>\r
+      <date>2012-02-07 18:09:00.574 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6749,9 +7995,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>75f5a83c-3008-466a-ad20-33e95ba9ff15</identification>\r
+        <identification>3d7cc7af-f5a9-428f-a77d-2867c98c66a7</identification>\r
       </annotationBean>\r
-      <date>2012-01-23 17:38:12.894 CET</date>\r
+      <date>2012-02-07 17:48:00.763 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6760,9 +8006,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>07ec689f-59aa-4be9-8481-5f8e3f6000cf</identification>\r
+        <identification>88fdb5ec-112f-40ce-be72-3c9bf4d888b0</identification>\r
       </annotationBean>\r
-      <date>2012-01-23 17:45:21.174 CET</date>\r
+      <date>2012-02-08 15:37:15.977 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6771,9 +8017,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>ca3ec15d-1ea5-4bf2-a81f-136065d1d38b</identification>\r
+        <identification>124b440e-f7ef-445f-901b-b3d04ca3e2a7</identification>\r
       </annotationBean>\r
-      <date>2012-01-23 17:48:54.281 CET</date>\r
+      <date>2012-03-02 16:39:23.274 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6782,9 +8028,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f856eeda-c416-44e3-b84a-3a0b3b8cd10d</identification>\r
+        <identification>801315c9-0a96-46b3-927b-b74e186f7ece</identification>\r
       </annotationBean>\r
-      <date>2012-01-23 17:37:08.778 CET</date>\r
+      <date>2012-02-09 17:39:14.181 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6793,49 +8039,116 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>12806644-8a59-4917-a0bf-a32566bfe2ff</identification>\r
+        <identification>428913bf-040a-43f2-9500-bb904c8c5aa6</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 12:40:34.784 CET</date>\r
+      <date>2012-02-07 17:54:40.933 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="adf2df6f-6ffa-490f-9b73-d8e46adac00b" role="nested"><name>Workflow23</name><inputPorts><port><name>sciNameIn</name><depth>1</depth><granularDepth>1</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>sciName</name><annotations /></port></outputPorts><processors><processor><name>GBIF_Agreement_Interaction</name><inputPorts /><outputPorts><port><name>answer</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>interaction-activity</artifact><version>0.1.2</version></raven><class>net.sf.taverna.t2.activities.interaction.InteractionActivity</class><inputMap /><outputMap><map from="answer" to="answer" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.interaction.InteractionActivityConfigurationBean xmlns="">\r
-  <inputs />\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="85ba17c1-2e24-49d8-a00b-84acb2a1cf61" role="nested"><name>Workflow33</name><inputPorts><port><name>sciName</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_output</name><annotations /></port></outputPorts><processors><processor><name>slwArtDataBank_to_csv_xsl</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value>http://ww2.bgbm.org/temp/biovel/slwArtDataBank_to_csv.xsl</value>\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>slwOccurrence</name><inputPorts><port><name>scientificNameFilter</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="scientificNameFilter" to="scientificNameFilter" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+  <httpMethod>GET</httpMethod>\r
+  <urlSignature>http://slwgeo.artdata.slu.se:8080/geoserver/wfs?&amp;VERSION=1.0.0&amp;SERVICE=WFS&amp;REQUEST=GetFeature&amp;TYPENAME=SLW:SwedishSpeciesDarwinCore_1.5&amp;Filter={scientificNameFilter}</urlSignature>\r
+  <acceptsHeaderValue>application/xml</acceptsHeaderValue>\r
+  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
+  <outgoingDataFormat>String</outgoingDataFormat>\r
+  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
+  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
+  <escapeParameters>true</escapeParameters>\r
+  <otherHTTPHeaders />\r
+  <activityInputs>\r
+    <entry>\r
+      <string>scientificNameFilter</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+  </activityInputs>\r
+</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="scientificNameFilter" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>slw_filter_generator</name><inputPorts><port><name>sciName</name><depth>0</depth></port></inputPorts><outputPorts><port><name>filter</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="sciName" to="sciName" /></inputMap><outputMap><map from="filter" to="filter" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>sciName</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>answer</name>\r
+      <name>filter</name>\r
       <depth>0</depth>\r
       <mimeTypes />\r
       <granularDepth>0</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
   </outputs>\r
-  <presentationOrigin>http://ww2.bgbm.org/temp/biovel/gbif_agreement.html</presentationOrigin>\r
-  <interactionActivityType>LocallyPresentedHtml</interactionActivityType>\r
-</net.sf.taverna.t2.activities.interaction.InteractionActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>\r
+filter = "&lt;Filter&gt;&lt;PropertyIsLike wildCard='*' singleChar='.' escape='!'&gt;&lt;PropertyName&gt;scientificName&lt;/PropertyName&gt;&lt;Literal&gt;*" + sciName + "*&lt;/Literal&gt;&lt;/PropertyIsLike&gt;&lt;/Filter&gt;";</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>GBIF_Agreement_Conditional</name><inputPorts><port><name>agreement_answer</name><depth>0</depth></port><port><name>sciNameIn</name><depth>1</depth></port></inputPorts><outputPorts><port><name>sciNameOut</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="agreement_answer" to="agreement_answer" /><map from="sciNameIn" to="sciNameIn" /></inputMap><outputMap><map from="sciNameOut" to="sciNameOut" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciName" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Transform_XML_String</name><inputPorts><port><name>inString</name><depth>0</depth></port><port><name>xslFileURL</name><depth>0</depth></port></inputPorts><outputPorts><port><name>outputStr</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inString" to="inString" /><map from="xslFileURL" to="xslFileURL" /></inputMap><outputMap><map from="outputStr" to="outputStr" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>agreement_answer</name>\r
+      <name>xslFileURL</name>\r
       <depth>0</depth>\r
       <mimeTypes>\r
-        <string>text/plain</string>\r
+        <string>'text/plain'</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
       <translatedElementType>java.lang.String</translatedElementType>\r
       <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>sciNameIn</name>\r
-      <depth>1</depth>\r
+      <name>outFileURL</name>\r
+      <depth>0</depth>\r
       <mimeTypes>\r
-        <string>text/plain</string>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>inString</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>outputExt</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
       <translatedElementType>java.lang.String</translatedElementType>\r
@@ -6844,37 +8157,138 @@ nodeVal = val;
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>sciNameOut</name>\r
-      <depth>1</depth>\r
+      <name>outputStr</name>\r
+      <depth>0</depth>\r
       <mimeTypes />\r
-      <granularDepth>1</granularDepth>\r
+      <granularDepth>0</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
   </outputs>\r
   <classLoaderSharing>workflow</classLoaderSharing>\r
   <localDependencies />\r
   <artifactDependencies />\r
-  <script>if(agreement_answer.equals("Yes")) {\r
-   sciNameOut = sciNameIn;     \r
-} else {\r
-   sciNameOut = new ArrayList();       \r
+  <script>import java.io.BufferedReader;\r
+import java.io.BufferedWriter;\r
+import java.io.FileInputStream;\r
+import java.io.FileNotFoundException;\r
+import java.io.FileReader;\r
+import java.io.FileWriter;\r
+import java.io.IOException;\r
+import java.io.InputStreamReader;\r
+import java.io.OutputStreamWriter;\r
+import java.io.StringWriter;\r
+import java.io.StringReader;\r
+import java.io.Writer;\r
+import java.net.URL;\r
+import java.util.HashMap;\r
+import java.util.Map;\r
+\r
+import javax.xml.transform.Result;\r
+import javax.xml.transform.Source;\r
+import javax.xml.transform.SourceLocator;\r
+import javax.xml.transform.Templates;\r
+import javax.xml.transform.Transformer;\r
+import javax.xml.transform.TransformerConfigurationException;\r
+import javax.xml.transform.TransformerException;\r
+import javax.xml.transform.TransformerFactory;\r
+import javax.xml.transform.stream.StreamResult;\r
+import javax.xml.transform.stream.StreamSource;\r
+\r
+BufferedReader getReader (String fileUrl) throws IOException {\r
+               InputStreamReader reader;\r
+               try {\r
+                       reader = new FileReader(fileUrl);\r
+               }\r
+               catch (FileNotFoundException e) {\r
+                       // try a real URL instead\r
+                       URL url = new URL(fileUrl);\r
+                       reader = new InputStreamReader (url.openStream());\r
+               }\r
+               return new BufferedReader(reader);\r
+       }\r
+       \r
+BufferedWriter getWriter (String fileUrl) throws IOException {\r
+               Writer writer;\r
+               try {\r
+                       writer = new FileWriter(fileUrl);\r
+               }\r
+               catch (FileNotFoundException e) {\r
+                       // try a real URL instead\r
+                       URL url = new URL(fileUrl);\r
+                       writer = new OutputStreamWriter (url.openConnection().getOutputStream());\r
+               }\r
+               return new BufferedWriter(writer);\r
+       }\r
+       \r
+String xslFilename = xslFileURL;\r
+String outFilename;\r
+if (outFileURL != void) {\r
+    outFilename = outFileURL;\r
+}\r
+\r
+String ext;\r
+if (outputExt != void) {\r
+    ext = outputExt;\r
 }\r
 \r
+\r
+\r
+// Create transformer factory\r
+TransformerFactory factory = TransformerFactory.newInstance();\r
+\r
+// Use the factory to create a template containing the xsl file\r
+Templates template = factory.newTemplates(new StreamSource(getReader(xslFilename)));\r
+\r
+// Use the template to create a transformer\r
+Transformer xformer = template.newTransformer();\r
+\r
+// Prepare the input and output files\r
+Reader sourceReader = new StringReader(inString);\r
+Source source = new StreamSource(sourceReader);\r
+StringWriter resultStr = new StringWriter();\r
+Result result = new StreamResult(resultStr);\r
+\r
+// Apply the xsl file to the source file and write the result to the\r
+// output file\r
+xformer.transform(source, result);\r
+\r
+outputStr = resultStr.toString();\r
+\r
+if ((outFilename != null) &amp;&amp; !outFilename.equals("")) {\r
+\r
+       BufferedWriter out = getWriter(outFilename);\r
+\r
+       out.write(outputStr);\r
+       out.close();\r
+}\r
+sourceReader.close();\r
 </script>\r
   <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <localworkerName>net.sourceforge.taverna.scuflworkers.xml.XSLTWorker</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
+        <text>UserNameHere</text>\r
+      </annotationBean>\r
+      <date>2012-01-13 17:08:38.768 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="agreement_answer" depth="0" /><port name="sciNameIn" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>GBIF_Agreement_Conditional</processor><port>agreement_answer</port></sink><source type="processor"><processor>GBIF_Agreement_Interaction</processor><port>answer</port></source></datalink><datalink><sink type="processor"><processor>GBIF_Agreement_Conditional</processor><port>sciNameIn</port></sink><source type="dataflow"><port>sciNameIn</port></source></datalink><datalink><sink type="dataflow"><port>sciName</port></sink><source type="processor"><processor>GBIF_Agreement_Conditional</processor><port>sciNameOut</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inString" depth="0" /><port name="xslFileURL" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>slwOccurrence</processor><port>scientificNameFilter</port></sink><source type="processor"><processor>slw_filter_generator</processor><port>filter</port></source></datalink><datalink><sink type="processor"><processor>slw_filter_generator</processor><port>sciName</port></sink><source type="dataflow"><port>sciName</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_String</processor><port>inString</port></sink><source type="processor"><processor>slwOccurrence</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_String</processor><port>xslFileURL</port></sink><source type="processor"><processor>slwArtDataBank_to_csv_xsl</processor><port>value</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>Transform_XML_String</processor><port>outputStr</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>5e20399a-7e4f-4807-b510-1f15cdc22dd8</identification>\r
+        <identification>a6cc5fd4-fe4a-461f-a371-bc5b87bc0513</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:41:48.618 CEST</date>\r
+      <date>2012-03-20 16:48:17.526 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6883,9 +8297,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c13b55dc-e9e8-4809-887b-cd90764fa7c0</identification>\r
+        <identification>c2694978-40f8-4032-af83-fce1617d630e</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:41:23.996 CEST</date>\r
+      <date>2012-03-20 16:44:25.215 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6894,9 +8308,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>fe0524a8-3d93-4759-a0cc-2537bb2a577d</identification>\r
+        <identification>7d53acd3-c1d9-4ab0-9552-7dd5b3955adf</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:34:35.523 CEST</date>\r
+      <date>2012-03-21 17:55:21.599 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6905,9 +8319,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>adf2df6f-6ffa-490f-9b73-d8e46adac00b</identification>\r
+        <identification>1db7de4d-ac2e-4ce8-aa12-e50f2535dd51</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:54:07.336 CEST</date>\r
+      <date>2012-03-20 17:01:09.185 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6916,9 +8330,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1f4e6dc3-c3d1-40c2-9278-8f6396184737</identification>\r
+        <identification>85ba17c1-2e24-49d8-a00b-84acb2a1cf61</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:53:48.103 CEST</date>\r
+      <date>2012-03-22 09:26:26.82 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6927,9 +8341,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>25f616d8-fa88-4d60-8127-8228cf93c5a3</identification>\r
+        <identification>0ae246b3-cb94-4c25-851c-d306d21ad467</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:31:27.376 CEST</date>\r
+      <date>2012-03-20 17:37:48.845 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6938,53 +8352,20 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>25760699-c10c-4abe-ac58-2277f17a319b</identification>\r
+        <identification>62e3c568-62d4-405a-85e1-59356b885e27</identification>\r
       </annotationBean>\r
-      <date>2012-04-05 16:47:29.177 CEST</date>\r
+      <date>2012-03-20 17:00:24.471 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="89482956-6a9c-4300-ace2-d8cebb2c4750" role="nested"><name>Workflow21</name><inputPorts><port><name>nameStatus</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>colResponseIN</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>colResponse</name><annotations /></port></outputPorts><processors><processor><name>AssignInputOutput</name><inputPorts><port><name>in</name><depth>0</depth></port></inputPorts><outputPorts><port><name>out</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="in" to="in" /></inputMap><outputMap><map from="out" to="out" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>in</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>out</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>out = in;</script>\r
-  <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="in" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>AssignInputOutput</processor><port>in</port></sink><source type="dataflow"><port>colResponseIN</port></source></datalink><datalink><sink type="dataflow"><port>colResponse</port></sink><source type="processor"><processor>AssignInputOutput</processor><port>out</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6eadb547-663a-49c7-bdf8-a23b2d7f4123</identification>\r
+        <identification>1dd9b6f5-24e8-4ea7-875f-4e98f9d135e4</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 14:07:22.177 CET</date>\r
+      <date>2012-03-21 13:25:11.607 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -6993,9 +8374,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>810c97ff-1258-47ad-a9fa-c018449828ef</identification>\r
+        <identification>eafd7ab2-9c8f-4bfc-bac6-31e87a14286c</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 14:06:51.959 CET</date>\r
+      <date>2012-03-20 16:59:03.163 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7004,9 +8385,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>89482956-6a9c-4300-ace2-d8cebb2c4750</identification>\r
+        <identification>c0f096ee-4813-461c-a55a-6d153f3d06fb</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 14:27:28.355 CET</date>\r
+      <date>2012-03-21 13:13:48.453 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7015,9 +8396,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>724a8409-b76e-40b8-ab78-45fad288675b</identification>\r
+        <identification>15151ee4-7e16-4331-acb4-34a735cf3631</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 14:06:25.755 CET</date>\r
+      <date>2012-03-20 16:54:42.882 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7026,9 +8407,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b8e14154-831e-41ce-b590-9f6daaa9fa67</identification>\r
+        <identification>1c711ced-b003-47e0-bd32-3abd5705da83</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 14:12:26.300 CET</date>\r
+      <date>2012-03-22 09:26:09.603 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7037,9 +8418,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>8da12769-2015-408b-a6e2-d331a50c9c96</identification>\r
+        <identification>f4b19cf9-23f9-483a-ad3c-bfd981052f51</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 14:10:10.838 CET</date>\r
+      <date>2012-03-20 16:53:37.766 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7048,50 +8429,91 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>95364f28-7f90-498a-bc62-1d1ede09052c</identification>\r
+        <identification>986b70a2-9f54-4b20-80a8-aead9fdd537d</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 14:08:22.102 CET</date>\r
+      <date>2012-03-21 17:56:36.196 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="d18fe496-419c-4f13-9a5e-9ea550bc3a1e" role="nested"><name>Workflow11</name><inputPorts><port><name>synRequest</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>synResponse</name><annotations /></port></outputPorts><processors><processor><name>COLRest_Service</name><inputPorts><port><name>sciName</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="sciName" to="sciName" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
-  <httpMethod>GET</httpMethod>\r
-  <urlSignature>http://www.catalogueoflife.org/webservice?response=full&amp;name={sciName}</urlSignature>\r
-  <acceptsHeaderValue>application/xml</acceptsHeaderValue>\r
-  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
-  <outgoingDataFormat>String</outgoingDataFormat>\r
-  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
-  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
-  <escapeParameters>true</escapeParameters>\r
-  <otherHTTPHeaders />\r
-  <activityInputs>\r
-    <entry>\r
-      <string>sciName</string>\r
-      <java-class>java.lang.String</java-class>\r
-    </entry>\r
-  </activityInputs>\r
-</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>1f00c813-cd52-4caa-8030-892cccb3ab13</identification>\r
+      </annotationBean>\r
+      <date>2012-03-20 17:39:54.780 CET</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="ba529013-0329-4a22-be72-26b854e18f51" role="nested"><name>Workflow38</name><inputPorts><port><name>csvData</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>csv_output</name><annotations /></port></outputPorts><processors><processor><name>Wrap_strings_in_query_element</name><inputPorts><port><name>string1</name><depth>0</depth></port><port><name>string2</name><depth>0</depth></port></inputPorts><outputPorts><port><name>output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="string2" to="string2" /><map from="string1" to="string1" /></inputMap><outputMap><map from="output" to="output" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>string1</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>string2</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>'text/plain'</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>output</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>output = "&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n&lt;syncheck&gt;\n&lt;query&gt;\n" + string1 + string2 + "&lt;/query&gt;\n&lt;/syncheck&gt;";</script>\r
+  <dependencies />\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringConcat</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
+        <text>UserNameHere</text>\r
+      </annotationBean>\r
+      <date>2012-05-31 16:14:43.533 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciName" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>name_status_xpath</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value>/results/result[1]/name_status</value>\r
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><dot><port name="string1" depth="0" /><port name="string2" depth="0" /></dot></strategy></iteration></iterationStrategyStack></processor><processor><name>occ_retrieval</name><inputPorts><port><name>sciNameList</name><depth>1</depth></port></inputPorts><outputPorts><port><name>csv_output</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="sciNameList" to="sciNameList" /></inputMap><outputMap><map from="csv_output" to="csv_output" /></outputMap><configBean encoding="dataflow"><dataflow ref="215a1834-28df-4b7d-b6c2-48f559140fa2" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>NameStatusConditional</name><inputPorts><port><name>nameStatus</name><depth>0</depth></port></inputPorts><outputPorts><port><name>synpass_flags</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>synfail_flags</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="nameStatus" to="nameStatus" /></inputMap><outputMap><map from="synpass_flags" to="synpass_flags" /><map from="synfail_flags" to="synfail_flags" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="sciNameList" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>SynCheckGUI</name><inputPorts><port><name>synreqres_list</name><depth>1</depth></port></inputPorts><outputPorts><port><name>out</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="synreqres_list" to="synreqres_list" /></inputMap><outputMap><map from="out" to="out" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>nameStatus</name>\r
-      <depth>0</depth>\r
+      <name>synreqres_list</name>\r
+      <depth>1</depth>\r
       <mimeTypes>\r
         <string>text/plain</string>\r
       </mimeTypes>\r
@@ -7102,31 +8524,26 @@ nodeVal = val;
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>synpass_flags</name>\r
-      <depth>1</depth>\r
-      <mimeTypes />\r
-      <granularDepth>1</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>synfail_flags</name>\r
+      <name>out</name>\r
       <depth>1</depth>\r
       <mimeTypes />\r
       <granularDepth>1</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
   </outputs>\r
   <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
+  <localDependencies>\r
+    <string>DCWorkflow.jar</string>\r
+  </localDependencies>\r
   <artifactDependencies />\r
-  <script>import java.util.ArrayList;\r
+  <script>import org.bgbm.biovel.datacleaning.syncheck.SynCheckDialog;\r
+Frame f = new JFrame();\r
 \r
-ArrayList synpass_flags = new ArrayList();\r
-ArrayList synfail_flags = new ArrayList();\r
+SynCheckDialog scd = new SynCheckDialog(f,true, synreqres_list);\r
+scd.setLocationRelativeTo(null);\r
+scd.show();\r
 \r
-if (nameStatus.equals("synonym")) {\r
-       synpass_flags.add(nameStatus);  \r
-} else {\r
-       synfail_flags.add(nameStatus);  \r
-}</script>\r
+out = scd.getUniqueNameList();\r
+</script>\r
   <dependencies />\r
 </net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
@@ -7135,21 +8552,53 @@ if (nameStatus.equals("synonym")) {
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="nameStatus" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>if_synonym</name><inputPorts><port><name>nameStatus</name><depth>0</depth></port><port><name>synResponse</name><depth>0</depth></port></inputPorts><outputPorts><port><name>colResponse</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="nameStatus" to="nameStatus" /><map from="synResponse" to="synResponse" /></inputMap><outputMap><map from="colResponse" to="colResponse" /></outputMap><configBean encoding="dataflow"><dataflow ref="12806644-8a59-4917-a0bf-a32566bfe2ff" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="nameStatus" depth="0" /><port name="synResponse" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>if_not_synonym</name><inputPorts><port><name>nameStatus</name><depth>0</depth></port><port><name>colResponseIN</name><depth>0</depth></port></inputPorts><outputPorts><port><name>colResponse</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="colResponseIN" to="colResponseIN" /><map from="nameStatus" to="nameStatus" /></inputMap><outputMap><map from="colResponse" to="colResponse" /></outputMap><configBean encoding="dataflow"><dataflow ref="89482956-6a9c-4300-ace2-d8cebb2c4750" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="synreqres_list" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>DCSynExpInputParser</name><inputPorts><port><name>csvData</name><depth>0</depth></port></inputPorts><outputPorts><port><name>synonymRequest</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="csvData" to="csvData" /></inputMap><outputMap><map from="synonymRequest" to="synonymRequest" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>csvData</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>synonymRequest</name>\r
+      <depth>1</depth>\r
+      <mimeTypes />\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>incorrectRecords</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>import org.bgbm.biovel.datacleaning.syncheck.DCSynExpInputParser;\r
+import java.util.HashSet;\r
+    \r
+DCSynExpInputParser dcseip = new DCSynExpInputParser();\r
+HashSet sci_names_hs = dcseip.parse(csvData);\r
+synonymRequest = dcseip.synReq(sci_names_hs);\r
+incorrectRecords = dcseip.incorrectRecordsBldr.toString();\r
+</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="nameStatus" depth="0" /><port name="colResponseIN" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Merge_String_List_to_a_String</name><inputPorts><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>concatenated</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="concatenated" to="concatenated" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="csvData" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Merge_String_List_to_a_String</name><inputPorts><port><name>seperator</name><depth>0</depth></port><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>concatenated</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="seperator" to="seperator" /><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="concatenated" to="concatenated" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
       <name>stringlist</name>\r
@@ -7208,79 +8657,95 @@ concatenated = sb.toString();
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="stringlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Flatten_List</name><inputPorts><port><name>inputlist</name><depth>2</depth></port></inputPorts><outputPorts><port><name>outputlist</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inputlist" to="inputlist" /></inputMap><outputMap><map from="outputlist" to="outputlist" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="seperator" depth="0" /><port name="stringlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>no_separator</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
+  <value />\r
+</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>GBIF_ChkList_Retriever</name><inputPorts /><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap /><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+  <httpMethod>GET</httpMethod>\r
+  <urlSignature>http://ecat-dev.gbif.org/ws/checklist</urlSignature>\r
+  <acceptsHeaderValue>application/json</acceptsHeaderValue>\r
+  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
+  <outgoingDataFormat>String</outgoingDataFormat>\r
+  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
+  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
+  <escapeParameters>true</escapeParameters>\r
+  <otherHTTPHeaders />\r
+  <activityInputs />\r
+</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>GBIFCheckListParser</name><inputPorts><port><name>gbifChkListJSON</name><depth>0</depth></port></inputPorts><outputPorts><port><name>gbifChkList</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="gbifChkListJSON" to="gbifChkListJSON" /></inputMap><outputMap><map from="gbifChkList" to="gbifChkList" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>inputlist</name>\r
-      <depth>2</depth>\r
+      <name>gbifChkListJSON</name>\r
+      <depth>0</depth>\r
       <mimeTypes>\r
-        <string>l(l(''))</string>\r
+        <string>text/plain</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
-      <translatedElementType>[B</translatedElementType>\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
       <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>outputlist</name>\r
+      <name>gbifChkList</name>\r
       <depth>1</depth>\r
-      <mimeTypes>\r
-        <string>l('')</string>\r
-      </mimeTypes>\r
+      <mimeTypes />\r
       <granularDepth>1</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
   </outputs>\r
   <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
+  <localDependencies>\r
+    <string>json-simple-1.1.1.jar</string>\r
+    <string>DCWorkflow.jar</string>\r
+  </localDependencies>\r
   <artifactDependencies />\r
-  <script>flatten(inputs, outputs, depth) {\r
-       for (i = inputs.iterator(); i.hasNext();) {\r
-           element = i.next();\r
-               if (element instanceof Collection &amp;&amp; depth &gt; 0) {\r
-                       flatten(element, outputs, depth - 1);\r
-               } else {\r
-                       outputs.add(element);\r
-               }\r
-       }\r
+  <script>import java.util.Iterator;\r
+import org.json.simple.JSONArray;\r
+import org.json.simple.JSONObject;\r
+import org.json.simple.parser.JSONParser;\r
+\r
+gbifChkList = new ArrayList();\r
+JSONParser parser = new JSONParser();\r
+\r
+Object obj = parser.parse(gbifChkListJSON);\r
+JSONObject jsonObject = (JSONObject) obj;\r
\r
+JSONArray data = (JSONArray) jsonObject.get("data");\r
+Iterator iterator = data.iterator();\r
+while (iterator.hasNext()) {\r
+       JSONObject dataObject= (JSONObject)iterator.next();\r
+       Number datasetID = (Number)dataObject.get("datasetID");\r
+       String title = (String)dataObject.get("title");\r
+       gbifChkList.add(title + ":" + String.valueOf(datasetID));\r
 }\r
 \r
-outputlist = new ArrayList();\r
 \r
-flatten(inputlist, outputlist, 1);</script>\r
+</script>\r
   <dependencies />\r
-  <localworkerName>org.embl.ebi.escience.scuflworkers.java.FlattenList</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inputlist" depth="2" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>colRes_to_SynRes_xsl</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value>http://www.myexperiment.org/files/697/download/colres_to_synres.xsl</value>\r
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>Transform_XML_with_parameters</name><inputPorts><port><name>xsltString</name><depth>0</depth></port><port><name>sourceString</name><depth>0</depth></port><port><name>paramList</name><depth>1</depth></port></inputPorts><outputPorts><port><name>outputString</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="xsltString" to="xsltString" /><map from="paramList" to="paramList" /><map from="sourceString" to="sourceString" /></inputMap><outputMap><map from="outputString" to="outputString" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="gbifChkListJSON" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>DCSynExpInputDialog</name><inputPorts><port><name>gbifChkLists</name><depth>1</depth></port><port><name>synonymRequest</name><depth>1</depth></port></inputPorts><outputPorts><port><name>gbifSynReq</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>gbifSelChkListIDs</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>colCopyright</name><depth>1</depth><granularDepth>1</granularDepth></port><port><name>colSynReq</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="synonymRequest" to="synonymRequest" /><map from="gbifChkLists" to="gbifChkLists" /></inputMap><outputMap><map from="colSynReq" to="colSynReq" /><map from="colCopyright" to="colCopyright" /><map from="gbifSynReq" to="gbifSynReq" /><map from="gbifSelChkListIDs" to="gbifSelChkListIDs" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>sourceString</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>xsltString</name>\r
-      <depth>0</depth>\r
+      <name>gbifChkLists</name>\r
+      <depth>1</depth>\r
       <mimeTypes>\r
         <string>text/plain</string>\r
       </mimeTypes>\r
@@ -7289,7 +8754,7 @@ flatten(inputlist, outputlist, 1);</script>
       <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>paramList</name>\r
+      <name>synonymRequest</name>\r
       <depth>1</depth>\r
       <mimeTypes>\r
         <string>text/plain</string>\r
@@ -7301,81 +8766,83 @@ flatten(inputlist, outputlist, 1);</script>
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>outputString</name>\r
-      <depth>0</depth>\r
+      <name>colSynReq</name>\r
+      <depth>1</depth>\r
       <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>gbifSynReq</name>\r
+      <depth>1</depth>\r
+      <mimeTypes />\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>gbifSelChkListIDs</name>\r
+      <depth>1</depth>\r
+      <mimeTypes />\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>colCopyright</name>\r
+      <depth>1</depth>\r
+      <mimeTypes />\r
+      <granularDepth>1</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
   </outputs>\r
   <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
+  <localDependencies>\r
+    <string>DCWorkflow.jar</string>\r
+  </localDependencies>\r
   <artifactDependencies />\r
-  <script>//From a proposal by Mikolaj Rybinski\r
-import javax.xml.transform.Source;\r
-import javax.xml.transform.Transformer;\r
-import javax.xml.transform.TransformerFactory;\r
-import javax.xml.transform.stream.StreamResult;\r
-import javax.xml.transform.stream.StreamSource;\r
-\r
-param(paramstr) {\r
-    nameAndValue = paramstr.split("=");\r
-    if (nameAndValue.length != 2) {\r
-        throw new RuntimeException("Wrong parameter format: \"" + paramstr + "\".");\r
-    }\r
-    name = nameAndValue[0].trim();\r
-    value = nameAndValue[1].trim();\r
-    return this;\r
-}\r
+  <script>import org.bgbm.biovel.datacleaning.syncheck.DCSynExpInputDialog;\r
+Frame f = new JFrame();\r
 \r
-if ((sourceString == void) || (sourceString == null)) {\r
-        throw new RuntimeException("sourceString must be specified");\r
-}\r
+DCSynExpInputDialog dcseid = new DCSynExpInputDialog(f,true,gbifChkLists);\r
+dcseid.setLocationRelativeTo(null);\r
+dcseid.show();\r
+colSynReq = new ArrayList();\r
+colCopyright = new ArrayList();\r
+gbifSynReq = new ArrayList();\r
 \r
-if ((xsltString == void) || (xsltString == null)) {\r
-        throw new RuntimeException("xsltString must be specified");\r
+if(dcseid.isColSelected()) {\r
+       colSynReq = synonymRequest;\r
+       colCopyright.add("tocheck");    \r
 }\r
 \r
-Source inSource = new StreamSource(new StringReader(sourceString));\r
-Source xslSource = new StreamSource(new StringReader(xsltString));\r
-\r
-// the factory pattern supports different XSLT processors\r
-// e.g. set the "javax.xml.transform.TransformerFactory" system property\r
-TransformerFactory tnfFact = TransformerFactory.newInstance();\r
-Transformer tnf = tnfFact.newTransformer(xslSource);\r
-\r
-if (paramList != void) {\r
-  for (String paramstr : paramList) {\r
-    p = param(paramstr);\r
-    tnf.setParameter(p.name, p.value);\r
-  }\r
+if(!dcseid.getSelectedGBIFChkList().isEmpty()) {\r
+       gbifSynReq = synonymRequest;    \r
 }\r
-\r
-Writer outputWriter = new StringWriter();\r
-tnf.transform(inSource, new StreamResult(outputWriter));\r
-outputString = outputWriter.toString();</script>\r
+gbifSelChkListIDs = dcseid.getSelectedGBIFChkList();</script>\r
   <dependencies />\r
-  <localworkerName>net.sourceforge.taverna.scuflworkers.xml.XSLTWorkerWithParameters</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xsltString" depth="0" /><port name="sourceString" depth="0" /><port name="paramList" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Read_Text_File_2</name><inputPorts><port><name>fileurl</name><depth>0</depth></port></inputPorts><outputPorts><port><name>filecontents</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="fileurl" to="fileurl" /></inputMap><outputMap><map from="filecontents" to="filecontents" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="gbifChkLists" depth="1" /><port name="synonymRequest" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>gbif_syn_expansion</name><inputPorts><port><name>datasetID</name><depth>0</depth></port><port><name>synReq</name><depth>0</depth></port></inputPorts><outputPorts><port><name>response</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="datasetID" to="datasetID" /><map from="synReq" to="synReq" /></inputMap><outputMap><map from="response" to="response" /></outputMap><configBean encoding="dataflow"><dataflow ref="b8467b4d-a015-44b2-aba8-437c606b0d3c" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="synReq" depth="0" /><port name="datasetID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Merge_String_List_to_a_String_2</name><inputPorts><port><name>stringlist</name><depth>1</depth></port></inputPorts><outputPorts><port><name>concatenated</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="stringlist" to="stringlist" /></inputMap><outputMap><map from="concatenated" to="concatenated" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>fileurl</name>\r
-      <depth>0</depth>\r
+      <name>stringlist</name>\r
+      <depth>1</depth>\r
       <mimeTypes>\r
-        <string>'text/plain'</string>\r
+        <string>l('text/plain')</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
       <translatedElementType>java.lang.String</translatedElementType>\r
       <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>encoding</name>\r
+      <name>seperator</name>\r
       <depth>0</depth>\r
       <mimeTypes>\r
         <string>'text/plain'</string>\r
@@ -7387,7 +8854,7 @@ outputString = outputWriter.toString();</script>
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>filecontents</name>\r
+      <name>concatenated</name>\r
       <depth>0</depth>\r
       <mimeTypes>\r
         <string>'text/plain'</string>\r
@@ -7398,49 +8865,22 @@ outputString = outputWriter.toString();</script>
   <classLoaderSharing>workflow</classLoaderSharing>\r
   <localDependencies />\r
   <artifactDependencies />\r
-  <script>BufferedReader getReader (String fileUrl, String encoding) throws IOException {\r
-               InputStreamReader reader;\r
-               try {\r
-                       if (encoding == null) {\r
-                               reader = new FileReader(fileUrl);\r
-                       } else {\r
-                               reader = new InputStreamReader(new FileInputStream(fileUrl),encoding); \r
-                       }\r
-               }\r
-               catch (FileNotFoundException e) {\r
-                       // try a real URL instead\r
-                       URL url = new URL(fileUrl);\r
-                       if (encoding == null) {\r
-                               reader = new InputStreamReader (url.openStream());\r
-                       } else {\r
-                               reader = new InputStreamReader (url.openStream(), encoding);\r
-                       }\r
-               }\r
-               return new BufferedReader(reader);\r
-       }\r
-\r
-\r
-\r
-StringBuffer sb = new StringBuffer(4000);\r
-\r
-if (encoding == void) {\r
-       encoding = null;\r
+  <script>String seperatorString = "\n";\r
+if (seperator != void) {\r
+       seperatorString = seperator;\r
 }\r
-\r
-BufferedReader in = getReader(fileurl, encoding);\r
-String str;\r
-String lineEnding = System.getProperty("line.separator");\r
-\r
-while ((str = in.readLine()) != null) {\r
-       sb.append(str);\r
-       sb.append(lineEnding);\r
+StringBuffer sb = new StringBuffer();\r
+for (Iterator i = stringlist.iterator(); i.hasNext();) {\r
+       String item = (String) i.next();\r
+       sb.append(item);\r
+       if (i.hasNext()) {\r
+               sb.append(seperatorString);\r
+       }\r
 }\r
-in.close();\r
-filecontents = sb.toString();\r
-  \r
+concatenated = sb.toString();\r
 </script>\r
   <dependencies />\r
-  <localworkerName>net.sourceforge.taverna.scuflworkers.io.TextFileReader</localworkerName>\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.StringListMerge</localworkerName>\r
 </net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
@@ -7448,77 +8888,86 @@ filecontents = sb.toString();
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="fileurl" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>CreateID</name><inputPorts><port><name>name</name><depth>0</depth></port></inputPorts><outputPorts><port><name>id_param</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="name" to="name" /></inputMap><outputMap><map from="id_param" to="id_param" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="stringlist" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Flatten_List</name><inputPorts><port><name>inputlist</name><depth>2</depth></port></inputPorts><outputPorts><port><name>outputlist</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inputlist" to="inputlist" /></inputMap><outputMap><map from="outputlist" to="outputlist" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>name</name>\r
-      <depth>0</depth>\r
+      <name>inputlist</name>\r
+      <depth>2</depth>\r
       <mimeTypes>\r
-        <string>text/plain</string>\r
+        <string>l(l(''))</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
+      <translatedElementType>[B</translatedElementType>\r
       <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>id_param</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
+      <name>outputlist</name>\r
+      <depth>1</depth>\r
+      <mimeTypes>\r
+        <string>l('')</string>\r
+      </mimeTypes>\r
+      <granularDepth>1</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
   </outputs>\r
   <classLoaderSharing>workflow</classLoaderSharing>\r
   <localDependencies />\r
   <artifactDependencies />\r
-  <script>\r
-id_param = "syncheckid=" + name</script>\r
+  <script>flatten(inputs, outputs, depth) {\r
+       for (i = inputs.iterator(); i.hasNext();) {\r
+           element = i.next();\r
+               if (element instanceof Collection &amp;&amp; depth &gt; 0) {\r
+                       flatten(element, outputs, depth - 1);\r
+               } else {\r
+                       outputs.add(element);\r
+               }\r
+       }\r
+}\r
+\r
+outputlist = new ArrayList();\r
+\r
+flatten(inputlist, outputlist, 1);</script>\r
   <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <localworkerName>org.embl.ebi.escience.scuflworkers.java.FlattenList</localworkerName>\r
+</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
   <maxJobs>1</maxJobs>\r
 </net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
   <backoffFactor>1.0</backoffFactor>\r
   <initialDelay>1000</initialDelay>\r
   <maxDelay>5000</maxDelay>\r
   <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="name" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Transform_XML_2</name><inputPorts><port><name>xslFileURL</name><depth>0</depth></port><port><name>inString</name><depth>0</depth></port></inputPorts><outputPorts><port><name>outputStr</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>localworker-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.localworker.LocalworkerActivity</class><inputMap><map from="inString" to="inString" /><map from="xslFileURL" to="xslFileURL" /></inputMap><outputMap><map from="outputStr" to="outputStr" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean xmlns="">\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="inputlist" depth="2" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Workflow144</name><inputPorts><port><name>synRequest</name><depth>0</depth></port></inputPorts><outputPorts><port><name>col_copyright_conditional</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="synRequest" to="synRequest" /></inputMap><outputMap><map from="col_copyright_conditional" to="col_copyright_conditional" /></outputMap><configBean encoding="dataflow"><dataflow ref="cb4b094a-0513-4723-9a8a-6313e81b11c4" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="synRequest" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Workflow11</name><inputPorts><port><name>synRequest</name><depth>0</depth></port></inputPorts><outputPorts><port><name>synResponse</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>dataflow-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.dataflow.DataflowActivity</class><inputMap><map from="synRequest" to="synRequest" /></inputMap><outputMap><map from="synResponse" to="synResponse" /></outputMap><configBean encoding="dataflow"><dataflow ref="61896bb4-e33f-49fa-8792-11bd2c8e3efe" /></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="synRequest" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Beanshell</name><inputPorts><port><name>colSynReq</name><depth>1</depth></port><port><name>col_copyright_conditional</name><depth>1</depth></port></inputPorts><outputPorts><port><name>colSynReq</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="colSynReq" to="colSynReq" /><map from="col_copyright_conditional" to="col_copyright_conditional" /></inputMap><outputMap><map from="colSynReq" to="colSynReq" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
   <inputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>xslFileURL</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>outFileURL</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>'text/plain'</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>inString</name>\r
-      <depth>0</depth>\r
+      <name>col_copyright_conditional</name>\r
+      <depth>1</depth>\r
       <mimeTypes>\r
-        <string>'text/plain'</string>\r
+        <string>text/plain</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
       <translatedElementType>java.lang.String</translatedElementType>\r
       <allowsLiteralValues>true</allowsLiteralValues>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>outputExt</name>\r
-      <depth>0</depth>\r
+      <name>colSynReq</name>\r
+      <depth>1</depth>\r
       <mimeTypes>\r
-        <string>'text/plain'</string>\r
+        <string>text/plain</string>\r
       </mimeTypes>\r
       <handledReferenceSchemes />\r
       <translatedElementType>java.lang.String</translatedElementType>\r
@@ -7527,201 +8976,628 @@ id_param = "syncheckid=" + name</script>
   </inputs>\r
   <outputs>\r
     <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>outputStr</name>\r
-      <depth>0</depth>\r
+      <name>colSynReq</name>\r
+      <depth>1</depth>\r
       <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
+      <granularDepth>1</granularDepth>\r
     </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
   </outputs>\r
   <classLoaderSharing>workflow</classLoaderSharing>\r
   <localDependencies />\r
   <artifactDependencies />\r
-  <script>import java.io.BufferedReader;\r
-import java.io.BufferedWriter;\r
-import java.io.FileInputStream;\r
-import java.io.FileNotFoundException;\r
-import java.io.FileReader;\r
-import java.io.FileWriter;\r
-import java.io.IOException;\r
-import java.io.InputStreamReader;\r
-import java.io.OutputStreamWriter;\r
-import java.io.StringWriter;\r
-import java.io.Writer;\r
-import java.net.URL;\r
-import java.util.HashMap;\r
-import java.util.Map;\r
-\r
-import javax.xml.transform.Result;\r
-import javax.xml.transform.Source;\r
-import javax.xml.transform.SourceLocator;\r
-import javax.xml.transform.Templates;\r
-import javax.xml.transform.Transformer;\r
-import javax.xml.transform.TransformerConfigurationException;\r
-import javax.xml.transform.TransformerException;\r
-import javax.xml.transform.TransformerFactory;\r
-import javax.xml.transform.stream.StreamResult;\r
-import javax.xml.transform.stream.StreamSource;\r
-\r
-BufferedReader getReader (String fileUrl) throws IOException {\r
-               InputStreamReader reader;\r
-               try {\r
-                       reader = new FileReader(fileUrl);\r
-               }\r
-               catch (FileNotFoundException e) {\r
-                       // try a real URL instead\r
-                       URL url = new URL(fileUrl);\r
-                       reader = new InputStreamReader (url.openStream());\r
-               }\r
-               return new BufferedReader(reader);\r
-       }\r
-       \r
-BufferedWriter getWriter (String fileUrl) throws IOException {\r
-               Writer writer;\r
-               try {\r
-                       writer = new FileWriter(fileUrl);\r
-               }\r
-               catch (FileNotFoundException e) {\r
-                       // try a real URL instead\r
-                       URL url = new URL(fileUrl);\r
-                       writer = new OutputStreamWriter (url.openConnection().getOutputStream());\r
-               }\r
-               return new BufferedWriter(writer);\r
-       }\r
-       \r
-String xslFilename = xslFileURL;\r
-\r
-\r
-\r
-// Create transformer factory\r
-TransformerFactory factory = TransformerFactory.newInstance();\r
-\r
-// Use the factory to create a template containing the xsl file\r
-Templates template = factory.newTemplates(new StreamSource(getReader(xslFilename)));\r
-\r
-// Use the template to create a transformer\r
-Transformer xformer = template.newTransformer();\r
-\r
-// Prepare the input and output files\r
-Reader sourceReader = new StringReader(inString);\r
-Source source = new StreamSource(sourceReader);\r
-StringWriter resultStr = new StringWriter();\r
-Result result = new StreamResult(resultStr);\r
-\r
-// Apply the xsl file to the source file and write the result to the\r
-// output file\r
-xformer.transform(source, result);\r
-outputStr = resultStr.toString();\r
-sourceReader.close();\r
-</script>\r
+  <script>\r
+if(col_copyright_conditional.isEmpty()){\r
+       colSynReq = new ArrayList();\r
+}</script>\r
   <dependencies />\r
-  <localworkerName>net.sourceforge.taverna.scuflworkers.xml.XSLTWorker</localworkerName>\r
-</net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean></configBean><annotations><annotation_chain encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="colSynReq" depth="1" /><port name="col_copyright_conditional" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>Wrap_strings_in_query_element</processor><port>string1</port></sink><source type="processor"><processor>DCSynExpInputParser</processor><port>synonymRequest</port></source></datalink><datalink><sink type="processor"><processor>Wrap_strings_in_query_element</processor><port>string2</port></sink><source type="processor"><processor>Flatten_List</processor><port>outputlist</port></source></datalink><datalink><sink type="processor"><processor>occ_retrieval</processor><port>sciNameList</port></sink><source type="processor"><processor>SynCheckGUI</processor><port>out</port></source></datalink><datalink><sink type="processor"><processor>SynCheckGUI</processor><port>synreqres_list</port></sink><source type="processor"><processor>Wrap_strings_in_query_element</processor><port>output</port></source></datalink><datalink><sink type="processor"><processor>DCSynExpInputParser</processor><port>csvData</port></sink><source type="dataflow"><port>csvData</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>seperator</port></sink><source type="processor"><processor>no_separator</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>stringlist</port></sink><source type="processor"><processor>occ_retrieval</processor><port>csv_output</port></source></datalink><datalink><sink type="processor"><processor>GBIFCheckListParser</processor><port>gbifChkListJSON</port></sink><source type="processor"><processor>GBIF_ChkList_Retriever</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>DCSynExpInputDialog</processor><port>gbifChkLists</port></sink><source type="processor"><processor>GBIFCheckListParser</processor><port>gbifChkList</port></source></datalink><datalink><sink type="processor"><processor>DCSynExpInputDialog</processor><port>synonymRequest</port></sink><source type="processor"><processor>DCSynExpInputParser</processor><port>synonymRequest</port></source></datalink><datalink><sink type="processor"><processor>gbif_syn_expansion</processor><port>datasetID</port></sink><source type="processor"><processor>DCSynExpInputDialog</processor><port>gbifSelChkListIDs</port></source></datalink><datalink><sink type="processor"><processor>gbif_syn_expansion</processor><port>synReq</port></sink><source type="processor"><processor>DCSynExpInputDialog</processor><port>gbifSynReq</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String_2</processor><port>stringlist</port></sink><source type="processor"><processor>gbif_syn_expansion</processor><port>response</port></source></datalink><datalink><sink type="processor"><processor>Workflow144</processor><port>synRequest</port></sink><source type="processor"><processor>DCSynExpInputDialog</processor><port>colCopyright</port></source></datalink><datalink><sink type="processor"><processor>Workflow11</processor><port>synRequest</port></sink><source type="processor"><processor>Beanshell</processor><port>colSynReq</port></source></datalink><datalink><sink type="processor"><processor>Beanshell</processor><port>colSynReq</port></sink><source type="processor"><processor>DCSynExpInputDialog</processor><port>colSynReq</port></source></datalink><datalink><sink type="processor"><processor>Beanshell</processor><port>col_copyright_conditional</port></sink><source type="processor"><processor>Workflow144</processor><port>col_copyright_conditional</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>Merge_String_List_to_a_String_2</processor><port>concatenated</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>Workflow11</processor><port>synResponse</port></source></datalink><datalink><sink type="dataflow"><port>csv_output</port></sink><source type="processor"><processor>Merge_String_List_to_a_String</processor><port>concatenated</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>304759d3-1bc2-41d9-b2bf-6c8530f6efa9</identification>\r
+      </annotationBean>\r
+      <date>2012-06-01 11:15:44.68 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>3702c3a9-3bac-4f53-bb8d-9fbbd457e077</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 11:45:10.791 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>1feeb8b4-0d6c-4436-9a45-088052d4765a</identification>\r
+      </annotationBean>\r
+      <date>2012-04-05 16:36:08.95 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>7a500a7d-6dc3-4e85-8305-3ad391c40f65</identification>\r
+      </annotationBean>\r
+      <date>2012-05-29 13:42:53.908 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>24981a7d-e414-45a8-b5f4-97f6fad75bba</identification>\r
+      </annotationBean>\r
+      <date>2012-05-31 16:08:48.525 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>6a721986-e87d-498d-aefd-09d09b460250</identification>\r
+      </annotationBean>\r
+      <date>2012-05-31 17:21:41.874 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>ba529013-0329-4a22-be72-26b854e18f51</identification>\r
+      </annotationBean>\r
+      <date>2012-06-01 11:48:11.292 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>f32affaa-9b9e-442b-a750-8a5ae4b2c154</identification>\r
+      </annotationBean>\r
+      <date>2012-05-31 17:53:41.222 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>405b2dac-63cb-4a7e-9548-ab4ea4f14aad</identification>\r
+      </annotationBean>\r
+      <date>2012-06-01 11:33:23.582 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>cdf9c220-fb85-4262-bf44-77fc3302797e</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 17:02:17.600 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>efd208a7-5a9b-4f0a-a5a4-4beb3a8cb586</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 11:37:04.382 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>cc2ba98d-9d65-4882-a1ff-b64e73082de9</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 15:33:31.887 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>bdd79b27-981e-49df-8af7-139b4f2bda90</identification>\r
+      </annotationBean>\r
+      <date>2012-06-01 11:44:06.983 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>5c3c3a95-e017-404d-adb6-e7b91394df43</identification>\r
+      </annotationBean>\r
+      <date>2012-04-05 16:44:06.65 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>6e766316-f628-45b0-b532-25659311dd35</identification>\r
+      </annotationBean>\r
+      <date>2012-05-31 17:47:44.690 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>c08d7865-55d5-452b-aae4-88c1c5754d24</identification>\r
+      </annotationBean>\r
+      <date>2012-04-04 13:48:50.594 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>2f0ef2c4-0d2f-41b1-a08c-cf5b114c4e4c</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 14:59:02.824 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>3d310771-aaf3-40e5-bceb-73c1d47fbecd</identification>\r
+      </annotationBean>\r
+      <date>2012-05-31 16:14:57.603 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>f080c4b4-30ee-42eb-8897-0084d7779196</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 13:41:32.443 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>24d98a31-2381-4d6d-b412-57b803750c5e</identification>\r
+      </annotationBean>\r
+      <date>2012-05-31 17:10:52.363 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>b237f1c3-1d6f-4bee-b2e8-dddc87536337</identification>\r
+      </annotationBean>\r
+      <date>2012-04-05 16:47:36.9 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>cd01dcc6-e60d-4dfd-a820-a01a840d7f4b</identification>\r
+      </annotationBean>\r
+      <date>2012-06-01 11:01:04.251 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>646dc332-e938-4f49-9296-3304fffe6983</identification>\r
+      </annotationBean>\r
+      <date>2012-06-01 11:18:51.399 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>27df675c-6b6a-4f3d-bf15-7598ff5f87b4</identification>\r
+      </annotationBean>\r
+      <date>2012-04-05 16:57:33.422 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>d8130c5a-ea4b-4e89-a9c4-c7d95b0b4776</identification>\r
+      </annotationBean>\r
+      <date>2012-04-05 16:43:25.356 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>f5721832-2a9c-4d6a-8539-fc40e03263ee</identification>\r
+      </annotationBean>\r
+      <date>2012-05-31 18:02:35.143 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>8b188a00-3e4f-4262-bc22-696d31481b79</identification>\r
+      </annotationBean>\r
+      <date>2012-04-04 13:40:07.98 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>15a9de70-d664-4d17-ac86-6edd439ac044</identification>\r
+      </annotationBean>\r
+      <date>2012-05-31 16:20:42.607 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>77951a1c-3f1c-4754-bf05-c9d10f435e57</identification>\r
+      </annotationBean>\r
+      <date>2012-05-29 12:22:57.591 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>5e01c12c-1102-4b9a-a89f-aca05f43d64a</identification>\r
+      </annotationBean>\r
+      <date>2012-05-29 12:24:59.113 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>4c850607-fffc-45f3-acf1-7b806139ec8b</identification>\r
+      </annotationBean>\r
+      <date>2012-06-01 11:13:15.896 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>a61e3cdd-fe61-41f9-95af-c70859ad4797</identification>\r
+      </annotationBean>\r
+      <date>2012-04-04 13:30:30.994 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>fd8fb852-f3e8-4a57-a600-7a28c8c68961</identification>\r
+      </annotationBean>\r
+      <date>2012-03-28 17:50:15.876 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>62f3f979-79ca-4566-8cd7-22af322c4c7e</identification>\r
+      </annotationBean>\r
+      <date>2012-04-05 17:19:48.164 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>b36d4cfa-6510-4d81-883e-eada09b56f2d</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 14:25:21.10 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>4cf702a6-80f8-4d6f-92a1-79d0e2b6dc90</identification>\r
+      </annotationBean>\r
+      <date>2012-04-04 11:56:51.717 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>c937ca39-cd89-4ad1-8d74-161ccb7b3961</identification>\r
+      </annotationBean>\r
+      <date>2012-04-03 09:40:40.891 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
-      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution">\r
-        <text>UserNameHere</text>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>1fc5da48-e44d-4348-935c-2ddccdb32fbf</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 15:55:03.158 CET</date>\r
+      <date>2012-05-31 17:54:37.176 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xslFileURL" depth="0" /><port name="inString" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>synReq_to_colReq_xsl</name><inputPorts /><outputPorts><port><name>value</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>stringconstant-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.stringconstant.StringConstantActivity</class><inputMap /><outputMap><map from="value" to="value" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean xmlns="">\r
-  <value>http://www.myexperiment.org/files/690/download/synreq_to_colreq.xsl</value>\r
-</net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>FirstElement_From_XPath</name><inputPorts><port><name>xmltext</name><depth>0</depth></port><port><name>xpath</name><depth>0</depth></port></inputPorts><outputPorts><port><name>nodeVal</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="xmltext" to="xmltext" /><map from="xpath" to="xpath" /></inputMap><outputMap><map from="nodeVal" to="nodeVal" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
-  <inputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>xpath</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-      <name>xmltext</name>\r
-      <depth>0</depth>\r
-      <mimeTypes>\r
-        <string>text/plain</string>\r
-      </mimeTypes>\r
-      <handledReferenceSchemes />\r
-      <translatedElementType>java.lang.String</translatedElementType>\r
-      <allowsLiteralValues>true</allowsLiteralValues>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
-  </inputs>\r
-  <outputs>\r
-    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-      <name>nodeVal</name>\r
-      <depth>0</depth>\r
-      <mimeTypes />\r
-      <granularDepth>0</granularDepth>\r
-    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
-  </outputs>\r
-  <classLoaderSharing>workflow</classLoaderSharing>\r
-  <localDependencies />\r
-  <artifactDependencies />\r
-  <script>import org.dom4j.Document;\r
-import org.dom4j.Node;\r
-import org.dom4j.io.SAXReader;\r
-\r
-SAXReader reader = new SAXReader(false);\r
-reader.setIncludeInternalDTDDeclarations(false);\r
-reader.setIncludeExternalDTDDeclarations(false);\r
-\r
-Document document = reader.read(new StringReader(xmltext));\r
-List nodelist = document.selectNodes(xpath);\r
-\r
-// Process the elements in the nodelist\r
-ArrayList outputList = new ArrayList();\r
-ArrayList outputXmlList = new ArrayList();\r
-\r
-String val = "";\r
-String xmlVal = "";\r
-for (Iterator iter = nodelist.iterator(); iter.hasNext();) {\r
-       Node element = (Node) iter.next();\r
-       xmlVal = element.asXML();\r
-       val = element.getStringValue();\r
-       if (val != null &amp;&amp; !val.equals("")) {\r
-               outputList.add(val);\r
-               outputXmlList.add(xmlVal);\r
-       }\r
-break;\r
-}\r
-\r
-//List nodelist=outputList;\r
-nodeVal = val;\r
-</script>\r
-  <dependencies />\r
-</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
-  <maxJobs>1</maxJobs>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
-  <backoffFactor>1.0</backoffFactor>\r
-  <initialDelay>1000</initialDelay>\r
-  <maxDelay>5000</maxDelay>\r
-  <maxRetries>0</maxRetries>\r
-</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="xmltext" depth="0" /><port name="xpath" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>COLRest_Service</processor><port>sciName</port></sink><source type="processor"><processor>Transform_XML_2</processor><port>outputStr</port></source></datalink><datalink><sink type="processor"><processor>NameStatusConditional</processor><port>nameStatus</port></sink><source type="processor"><processor>FirstElement_From_XPath</processor><port>nodeVal</port></source></datalink><datalink><sink type="processor"><processor>if_synonym</processor><port>nameStatus</port></sink><source type="processor"><processor>NameStatusConditional</processor><port>synpass_flags</port></source></datalink><datalink><sink type="processor"><processor>if_synonym</processor><port>synResponse</port></sink><source type="processor"><processor>COLRest_Service</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>if_not_synonym</processor><port>nameStatus</port></sink><source type="processor"><processor>NameStatusConditional</processor><port>synfail_flags</port></source></datalink><datalink><sink type="processor"><processor>if_not_synonym</processor><port>colResponseIN</port></sink><source type="processor"><processor>COLRest_Service</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>Merge_String_List_to_a_String</processor><port>stringlist</port></sink><source type="processor"><processor>Flatten_List</processor><port>outputlist</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_with_parameters</processor><port>xsltString</port></sink><source type="processor"><processor>Read_Text_File_2</processor><port>filecontents</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_with_parameters</processor><port>sourceString</port></sink><source type="processor"><processor>Merge_String_List_to_a_String</processor><port>concatenated</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_with_parameters</processor><port>paramList</port></sink><source type="processor"><processor>CreateID</processor><port>id_param</port></source></datalink><datalink><sink type="processor"><processor>Read_Text_File_2</processor><port>fileurl</port></sink><source type="processor"><processor>colRes_to_SynRes_xsl</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>CreateID</processor><port>name</port></sink><source type="processor"><processor>Transform_XML_2</processor><port>outputStr</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_2</processor><port>xslFileURL</port></sink><source type="processor"><processor>synReq_to_colReq_xsl</processor><port>value</port></source></datalink><datalink><sink type="processor"><processor>Transform_XML_2</processor><port>inString</port></sink><source type="dataflow"><port>synRequest</port></source></datalink><datalink><sink type="processor"><processor>FirstElement_From_XPath</processor><port>xmltext</port></sink><source type="processor"><processor>COLRest_Service</processor><port>responseBody</port></source></datalink><datalink><sink type="processor"><processor>FirstElement_From_XPath</processor><port>xpath</port></sink><source type="processor"><processor>name_status_xpath</processor><port>value</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>if_not_synonym</processor><port>colResponse</port></source></datalink><datalink><sink type="merge"><processor>Flatten_List</processor><port>inputlist</port></sink><source type="processor"><processor>if_synonym</processor><port>colResponse</port></source></datalink><datalink><sink type="dataflow"><port>synResponse</port></sink><source type="processor"><processor>Transform_XML_with_parameters</processor><port>outputString</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>131afac6-f587-4b61-bb65-3f1ebe122bda</identification>\r
+      </annotationBean>\r
+      <date>2012-06-01 11:06:25.664 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>fe138fe6-063b-4ee2-a3b0-11cc1ddb1d96</identification>\r
+      </annotationBean>\r
+      <date>2012-05-31 16:25:51.890 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>5d68a44d-bf06-405c-806f-b228e4617031</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 11:03:32.312 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>d9fbd0bb-0b5c-4ae1-a3e6-24b25fe15d8c</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 14:30:40.331 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>771b9e2d-2de0-4b86-be30-ad834dac02b1</identification>\r
+      </annotationBean>\r
+      <date>2012-04-05 17:04:49.990 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>fc0831b0-d5d1-4849-b27e-45393915f6bb</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 14:55:49.410 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>8b2fddc8-881a-46d4-8830-26d02c16f297</identification>\r
+      </annotationBean>\r
+      <date>2012-05-31 17:57:04.999 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>b907f11d-0d2b-4c60-99d0-b49d6743029e</identification>\r
+      </annotationBean>\r
+      <date>2012-05-31 17:45:11.362 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>9c9f8b53-94a2-4e2f-8352-5871b5c93cc5</identification>\r
+      </annotationBean>\r
+      <date>2012-03-29 11:44:28.869 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>74414f96-5ade-4452-b80d-63c50e7fe0ed</identification>\r
+      </annotationBean>\r
+      <date>2012-05-31 16:53:07.453 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>4f535006-c1b1-4c88-ad65-a45415c76407</identification>\r
+      </annotationBean>\r
+      <date>2012-04-05 17:18:36.51 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>bc9c65e4-9cda-4d92-a6bf-6f6859c69cff</identification>\r
+      </annotationBean>\r
+      <date>2012-04-05 17:16:56.281 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>b4c96465-61be-4e99-bd05-52ba51a75f42</identification>\r
+      </annotationBean>\r
+      <date>2012-04-03 17:01:10.410 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>97c631bc-c4d3-452a-93d2-4610c3808892</identification>\r
+      </annotationBean>\r
+      <date>2012-04-05 16:35:01.668 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>6c3b8751-ec53-4741-a942-01283865a96a</identification>\r
+      </annotationBean>\r
+      <date>2012-06-01 11:32:44.573 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+  <annotationAssertions>\r
+    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+      <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
+        <identification>12fb5fe4-1523-48be-be0d-cedafda3b609</identification>\r
+      </annotationBean>\r
+      <date>2012-06-01 10:57:34.556 CEST</date>\r
+      <creators />\r
+      <curationEventList />\r
+    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
+  </annotationAssertions>\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>54039e3d-8d1c-4a40-a818-9cd8bcbf64b7</identification>\r
+        <identification>74230a5e-fcd6-41bf-a1d6-d4e7d6fb2658</identification>\r
       </annotationBean>\r
-      <date>2012-01-23 15:05:53.745 CET</date>\r
+      <date>2012-06-01 11:47:45.762 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7730,9 +9606,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>654ddd4b-3aee-4576-8bf7-939c9d470b9d</identification>\r
+        <identification>ae40be70-6c12-45e5-be8b-81f0b8b735ba</identification>\r
       </annotationBean>\r
-      <date>2012-01-23 15:14:53.241 CET</date>\r
+      <date>2012-03-29 12:03:32.626 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7741,9 +9617,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>13e365c6-a1f5-4e3a-99a4-d39a147367c7</identification>\r
+        <identification>db6f1b58-c356-4583-aeaf-18eedb3c8afc</identification>\r
       </annotationBean>\r
-      <date>2012-01-23 15:39:42.940 CET</date>\r
+      <date>2012-04-05 17:15:05.428 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7752,9 +9628,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a0866021-3699-4383-b41c-6b8d0866305e</identification>\r
+        <identification>6b12cb26-c06f-48ea-ab4e-353915b67bf5</identification>\r
       </annotationBean>\r
-      <date>2012-01-23 15:01:00.405 CET</date>\r
+      <date>2012-05-29 12:17:41.27 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7763,9 +9639,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d6cabd36-4763-4a7c-bd19-afb1547696b9</identification>\r
+        <identification>2b0f015c-fa70-4423-8d58-6dad4bb8b651</identification>\r
       </annotationBean>\r
-      <date>2012-01-25 16:08:29.517 CET</date>\r
+      <date>2012-06-01 11:18:44.605 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7774,9 +9650,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>20cf832b-88c5-4214-ac8b-cd46f8159b7d</identification>\r
+        <identification>cc5e9e4c-a539-44c7-b04e-69e4393e3500</identification>\r
       </annotationBean>\r
-      <date>2012-01-23 15:08:03.570 CET</date>\r
+      <date>2012-05-31 17:57:31.88 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7785,9 +9661,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>b7e9c698-3b8f-418e-b732-c02b07b2d8dc</identification>\r
+        <identification>e85227ec-8378-4cad-9a88-15a4a0f643c0</identification>\r
       </annotationBean>\r
-      <date>2012-02-14 13:50:23.444 CET</date>\r
+      <date>2012-03-29 13:52:07.195 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7796,9 +9672,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>f88ebd38-9ab7-4f03-ab29-75fe55ee240a</identification>\r
+        <identification>2a4a6728-39b3-4c0f-98a6-fc78db67bc3b</identification>\r
       </annotationBean>\r
-      <date>2012-02-14 17:10:41.962 CET</date>\r
+      <date>2012-06-01 11:19:40.72 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7807,20 +9683,53 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2023d475-cce4-4812-bf43-fffa5fecf9cb</identification>\r
+        <identification>1588011a-0b72-4e26-908e-424559dedf16</identification>\r
       </annotationBean>\r
-      <date>2012-02-14 13:54:46.413 CET</date>\r
+      <date>2012-05-29 12:18:20.252 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="89482956-6a9c-4300-ace2-d8cebb2c4750" role="nested"><name>Workflow21</name><inputPorts><port><name>nameStatus</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port><port><name>colResponseIN</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>colResponse</name><annotations /></port></outputPorts><processors><processor><name>AssignInputOutput</name><inputPorts><port><name>in</name><depth>0</depth></port></inputPorts><outputPorts><port><name>out</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="in" to="in" /></inputMap><outputMap><map from="out" to="out" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>in</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>out</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>out = in;</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="in" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>AssignInputOutput</processor><port>in</port></sink><source type="dataflow"><port>colResponseIN</port></source></datalink><datalink><sink type="dataflow"><port>colResponse</port></sink><source type="processor"><processor>AssignInputOutput</processor><port>out</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>850e16e9-453e-416e-a7b1-ced1da71519f</identification>\r
+        <identification>6eadb547-663a-49c7-bdf8-a23b2d7f4123</identification>\r
       </annotationBean>\r
-      <date>2012-01-23 15:12:06.888 CET</date>\r
+      <date>2012-01-24 14:07:22.177 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7829,9 +9738,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c273ba6e-577c-4078-a967-8bc0a6ce0ccb</identification>\r
+        <identification>724a8409-b76e-40b8-ab78-45fad288675b</identification>\r
       </annotationBean>\r
-      <date>2012-02-23 16:20:00.241 CET</date>\r
+      <date>2012-01-24 14:06:25.755 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7840,9 +9749,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3f6fdae5-1039-4d5d-b016-09a7d0b7808f</identification>\r
+        <identification>95364f28-7f90-498a-bc62-1d1ede09052c</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 16:33:33.703 CET</date>\r
+      <date>2012-01-24 14:08:22.102 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7851,9 +9760,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>e376fad1-bf30-4908-b97b-894900c25efa</identification>\r
+        <identification>b8e14154-831e-41ce-b590-9f6daaa9fa67</identification>\r
       </annotationBean>\r
-      <date>2012-01-23 15:03:45.120 CET</date>\r
+      <date>2012-01-24 14:12:26.300 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7862,9 +9771,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7e933e2c-4286-4303-a56e-4cea981e3195</identification>\r
+        <identification>89482956-6a9c-4300-ace2-d8cebb2c4750</identification>\r
       </annotationBean>\r
-      <date>2012-01-27 15:45:49.310 CET</date>\r
+      <date>2012-01-24 14:27:28.355 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7873,9 +9782,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>907a23a5-7ea9-4901-8103-68bb6a45044e</identification>\r
+        <identification>810c97ff-1258-47ad-a9fa-c018449828ef</identification>\r
       </annotationBean>\r
-      <date>2012-02-13 13:36:37.936 CET</date>\r
+      <date>2012-01-24 14:06:51.959 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7884,20 +9793,88 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>6ad09a10-0f7c-43c2-b807-ebf6c0fd776e</identification>\r
+        <identification>8da12769-2015-408b-a6e2-d331a50c9c96</identification>\r
       </annotationBean>\r
-      <date>2012-01-23 15:14:07.562 CET</date>\r
+      <date>2012-01-24 14:10:10.838 CET</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="adf2df6f-6ffa-490f-9b73-d8e46adac00b" role="nested"><name>Workflow23</name><inputPorts><port><name>sciNameIn</name><depth>1</depth><granularDepth>1</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>sciName</name><annotations /></port></outputPorts><processors><processor><name>GBIF_Agreement_Interaction</name><inputPorts /><outputPorts><port><name>answer</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>interaction-activity</artifact><version>0.1.2</version></raven><class>net.sf.taverna.t2.activities.interaction.InteractionActivity</class><inputMap /><outputMap><map from="answer" to="answer" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.interaction.InteractionActivityConfigurationBean xmlns="">\r
+  <inputs />\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>answer</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <presentationOrigin>http://ww2.bgbm.org/temp/biovel/gbif_agreement.html</presentationOrigin>\r
+  <interactionActivityType>LocallyPresentedHtml</interactionActivityType>\r
+</net.sf.taverna.t2.activities.interaction.InteractionActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy /></iteration></iterationStrategyStack></processor><processor><name>GBIF_Agreement_Conditional</name><inputPorts><port><name>agreement_answer</name><depth>0</depth></port><port><name>sciNameIn</name><depth>1</depth></port></inputPorts><outputPorts><port><name>sciNameOut</name><depth>1</depth><granularDepth>1</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="agreement_answer" to="agreement_answer" /><map from="sciNameIn" to="sciNameIn" /></inputMap><outputMap><map from="sciNameOut" to="sciNameOut" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>agreement_answer</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>sciNameIn</name>\r
+      <depth>1</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>sciNameOut</name>\r
+      <depth>1</depth>\r
+      <mimeTypes />\r
+      <granularDepth>1</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies />\r
+  <artifactDependencies />\r
+  <script>if(agreement_answer.equals("Yes")) {\r
+   sciNameOut = sciNameIn;     \r
+} else {\r
+   sciNameOut = new ArrayList();       \r
+}\r
+\r
+</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="agreement_answer" depth="0" /><port name="sciNameIn" depth="1" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>GBIF_Agreement_Conditional</processor><port>agreement_answer</port></sink><source type="processor"><processor>GBIF_Agreement_Interaction</processor><port>answer</port></source></datalink><datalink><sink type="processor"><processor>GBIF_Agreement_Conditional</processor><port>sciNameIn</port></sink><source type="dataflow"><port>sciNameIn</port></source></datalink><datalink><sink type="dataflow"><port>sciName</port></sink><source type="processor"><processor>GBIF_Agreement_Conditional</processor><port>sciNameOut</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>56c300cd-9209-44ef-9874-3efa78d77df3</identification>\r
+        <identification>fe0524a8-3d93-4759-a0cc-2537bb2a577d</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 12:41:11.317 CET</date>\r
+      <date>2012-04-05 16:34:35.523 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7906,9 +9883,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>1bae1054-0ea5-436e-bc01-c2c8838ba066</identification>\r
+        <identification>5e20399a-7e4f-4807-b510-1f15cdc22dd8</identification>\r
       </annotationBean>\r
-      <date>2012-01-23 15:47:21.97 CET</date>\r
+      <date>2012-04-05 16:41:48.618 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7917,9 +9894,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>65b317eb-1a04-45d0-afc4-196506a33934</identification>\r
+        <identification>c13b55dc-e9e8-4809-887b-cd90764fa7c0</identification>\r
       </annotationBean>\r
-      <date>2012-02-13 13:36:08.651 CET</date>\r
+      <date>2012-04-05 16:41:23.996 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7928,9 +9905,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>2bcaf5f3-a086-4ab8-bfe6-4e7640a6ce45</identification>\r
+        <identification>25760699-c10c-4abe-ac58-2277f17a319b</identification>\r
       </annotationBean>\r
-      <date>2012-01-23 15:10:26.350 CET</date>\r
+      <date>2012-04-05 16:47:29.177 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7939,9 +9916,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>08117860-fcd2-4342-b938-efe94165feb0</identification>\r
+        <identification>adf2df6f-6ffa-490f-9b73-d8e46adac00b</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 13:53:17.262 CET</date>\r
+      <date>2012-04-05 16:54:07.336 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7950,9 +9927,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7d54ce42-e540-4c40-b7f1-2209c6638804</identification>\r
+        <identification>25f616d8-fa88-4d60-8127-8228cf93c5a3</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 12:40:38.13 CET</date>\r
+      <date>2012-04-05 16:31:27.376 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7961,20 +9938,114 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>4f5b0cf0-f3e4-4a48-b3bc-4d3d6770a4c3</identification>\r
+        <identification>1f4e6dc3-c3d1-40c2-9278-8f6396184737</identification>\r
       </annotationBean>\r
-      <date>2012-01-25 17:19:33.836 CET</date>\r
+      <date>2012-04-05 16:53:48.103 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
   </annotationAssertions>\r
-</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
+</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow><dataflow id="9b888ae9-ece1-4b74-b177-5b915c9cc381" role="nested"><name>Workflow10</name><inputPorts><port><name>synTaxonID</name><depth>0</depth><granularDepth>0</granularDepth><annotations /></port></inputPorts><outputPorts><port><name>synResponse</name><annotations /></port></outputPorts><processors><processor><name>GBIF_Taxon_Search</name><inputPorts><port><name>taxonID</name><depth>0</depth></port></inputPorts><outputPorts><port><name>responseBody</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>rest-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.rest.RESTActivity</class><inputMap><map from="taxonID" to="taxonID" /></inputMap><outputMap><map from="responseBody" to="responseBody" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean xmlns="">\r
+  <httpMethod>GET</httpMethod>\r
+  <urlSignature>http://ecat-dev.gbif.org/ws/usage/{taxonID}</urlSignature>\r
+  <acceptsHeaderValue>application/json</acceptsHeaderValue>\r
+  <contentTypeForUpdates>application/xml</contentTypeForUpdates>\r
+  <outgoingDataFormat>String</outgoingDataFormat>\r
+  <sendHTTPExpectRequestHeader>false</sendHTTPExpectRequestHeader>\r
+  <showRedirectionOutputPort>false</showRedirectionOutputPort>\r
+  <escapeParameters>true</escapeParameters>\r
+  <otherHTTPHeaders />\r
+  <activityInputs>\r
+    <entry>\r
+      <string>taxonID</string>\r
+      <java-class>java.lang.String</java-class>\r
+    </entry>\r
+  </activityInputs>\r
+</net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="taxonID" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>gbifTaxonSearchParser</name><inputPorts><port><name>gbifSynTaxonSearchJSON</name><depth>0</depth></port></inputPorts><outputPorts><port><name>synResponse</name><depth>0</depth><granularDepth>0</granularDepth></port></outputPorts><annotations /><activities><activity><raven><group>net.sf.taverna.t2.activities</group><artifact>beanshell-activity</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.activities.beanshell.BeanshellActivity</class><inputMap><map from="gbifSynTaxonSearchJSON" to="gbifSynTaxonSearchJSON" /></inputMap><outputMap><map from="synResponse" to="synResponse" /></outputMap><configBean encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean xmlns="">\r
+  <inputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+      <name>gbifSynTaxonSearchJSON</name>\r
+      <depth>0</depth>\r
+      <mimeTypes>\r
+        <string>text/plain</string>\r
+      </mimeTypes>\r
+      <handledReferenceSchemes />\r
+      <translatedElementType>java.lang.String</translatedElementType>\r
+      <allowsLiteralValues>true</allowsLiteralValues>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>\r
+  </inputs>\r
+  <outputs>\r
+    <net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+      <name>synResponse</name>\r
+      <depth>0</depth>\r
+      <mimeTypes />\r
+      <granularDepth>0</granularDepth>\r
+    </net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>\r
+  </outputs>\r
+  <classLoaderSharing>workflow</classLoaderSharing>\r
+  <localDependencies>\r
+    <string>json-simple-1.1.1.jar</string>\r
+  </localDependencies>\r
+  <artifactDependencies />\r
+  <script>import java.util.Iterator;\r
+import org.json.simple.JSONArray;\r
+import org.json.simple.JSONObject;\r
+import org.json.simple.parser.JSONParser;\r
+\r
+synList = new ArrayList();\r
+StringBuilder synResponseBuilder = new StringBuilder();\r
+JSONParser parser = new JSONParser();\r
+\r
+Object obj = parser.parse(gbifSynTaxonSearchJSON);\r
+JSONObject jsonObject = (JSONObject) obj;\r
\r
+JSONObject dataObject = (JSONObject)jsonObject.get("data");\r
+String canonicalName = (String) dataObject.get("canonicalName");\r
+String datasetName = (String) dataObject.get("datasetName");\r
+String taxonomicStatus = (String) dataObject.get("taxonomicStatus");\r
+String rank = (String) dataObject.get("rank");\r
+\r
+synResponseBuilder.append("&lt;synonym&gt;");\r
+synResponseBuilder.append("&lt;taxonName&gt;&lt;authorship&gt;&lt;/authorship&gt;&lt;name&gt;");\r
+synResponseBuilder.append("&lt;nameComplete&gt;").append(canonicalName).append("&lt;/nameComplete&gt;");\r
+synResponseBuilder.append("&lt;atomisedName&gt;");\r
+synResponseBuilder.append("&lt;subGenus&gt;");\r
+synResponseBuilder.append("&lt;genusPart&gt;&lt;/genusPart&gt;&lt;specificEpithet&gt;&lt;/specificEpithet&gt;&lt;infraspecificEpithet&gt;&lt;/infraspecificEpithet&gt;");\r
+synResponseBuilder.append("&lt;/subGenus&gt;");\r
+synResponseBuilder.append("&lt;/atomisedName&gt;");\r
+synResponseBuilder.append("&lt;nameStatus&gt;").append(taxonomicStatus).append("&lt;/nameStatus&gt;");\r
+synResponseBuilder.append("&lt;/name&gt;");\r
+synResponseBuilder.append("&lt;rank&gt;").append(rank).append("&lt;/rank&gt;");\r
+synResponseBuilder.append("&lt;/taxonName&gt;");\r
+synResponseBuilder.append("&lt;source&gt;&lt;name&gt;&lt;/name&gt;&lt;url&gt;&lt;/url&gt;&lt;/source&gt;&lt;info&gt;&lt;url&gt;&lt;/url&gt;&lt;/info&gt;");\r
+synResponseBuilder.append("&lt;/synonym&gt;");\r
\r
+\r
+synResponse = synResponseBuilder.toString();\r
+\r
+</script>\r
+  <dependencies />\r
+</net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean></configBean><annotations /></activity></activities><dispatchStack><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Parallelize</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig xmlns="">\r
+  <maxJobs>1</maxJobs>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ErrorBounce</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Failover</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Retry</class><configBean encoding="xstream"><net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig xmlns="">\r
+  <backoffFactor>1.0</backoffFactor>\r
+  <initialDelay>1000</initialDelay>\r
+  <maxDelay>5000</maxDelay>\r
+  <maxRetries>0</maxRetries>\r
+</net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig></configBean></dispatchLayer><dispatchLayer><raven><group>net.sf.taverna.t2.core</group><artifact>workflowmodel-impl</artifact><version>1.3</version></raven><class>net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.Invoke</class><configBean encoding="xstream"><null xmlns="" /></configBean></dispatchLayer></dispatchStack><iterationStrategyStack><iteration><strategy><cross><port name="gbifSynTaxonSearchJSON" depth="0" /></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions /><datalinks><datalink><sink type="processor"><processor>GBIF_Taxon_Search</processor><port>taxonID</port></sink><source type="dataflow"><port>synTaxonID</port></source></datalink><datalink><sink type="processor"><processor>gbifTaxonSearchParser</processor><port>gbifSynTaxonSearchJSON</port></sink><source type="processor"><processor>GBIF_Taxon_Search</processor><port>responseBody</port></source></datalink><datalink><sink type="dataflow"><port>synResponse</port></sink><source type="processor"><processor>gbifTaxonSearchParser</processor><port>synResponse</port></source></datalink></datalinks><annotations><annotation_chain_2_2 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">\r
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>7614477b-fc8e-4262-be98-03a72347ecd1</identification>\r
+        <identification>9b888ae9-ece1-4b74-b177-5b915c9cc381</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 14:02:21.343 CET</date>\r
+      <date>2012-05-31 10:44:07.573 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7983,9 +10054,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>d18fe496-419c-4f13-9a5e-9ea550bc3a1e</identification>\r
+        <identification>2b1c6652-51c5-461a-8fff-44cb1d48eac6</identification>\r
       </annotationBean>\r
-      <date>2012-02-23 17:14:42.676 CET</date>\r
+      <date>2012-05-31 10:05:29.814 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -7994,9 +10065,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>c07ee8d5-7314-45dc-a7b9-f136f9762905</identification>\r
+        <identification>b2b36695-4605-43f5-9abb-3edb59937bfb</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 14:25:37.176 CET</date>\r
+      <date>2012-05-31 10:28:58.722 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8005,9 +10076,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>eb74b582-81c7-4049-8ab5-43b3ec96b920</identification>\r
+        <identification>4ebbd8f4-5d17-40e9-84b6-bf6c9483004c</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 14:32:42.660 CET</date>\r
+      <date>2012-05-31 10:03:40.298 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8016,9 +10087,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3ab53f67-d243-4e40-8627-83028ef002df</identification>\r
+        <identification>d804bf47-d57f-417d-a724-43fde250064d</identification>\r
       </annotationBean>\r
-      <date>2012-02-10 12:44:20.333 CET</date>\r
+      <date>2012-05-31 10:04:20.439 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8027,9 +10098,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>a58dbeb8-48e1-4b31-a1ea-57761cb4f712</identification>\r
+        <identification>6eb50bb0-c45f-4281-88c7-d7d0142fef05</identification>\r
       </annotationBean>\r
-      <date>2012-01-25 17:22:12.481 CET</date>\r
+      <date>2012-05-31 10:42:30.250 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8038,9 +10109,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>3a9f1b0b-5d5a-45a0-b134-d5dafc51ea40</identification>\r
+        <identification>3a4e4aea-879c-4dde-8988-5d920d7d979b</identification>\r
       </annotationBean>\r
-      <date>2012-01-24 14:17:11.136 CET</date>\r
+      <date>2012-05-31 10:19:15.89 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
@@ -8049,9 +10120,9 @@ nodeVal = val;
   <annotationAssertions>\r
     <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r
       <annotationBean class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">\r
-        <identification>9f2c7ca2-e117-46e8-8d95-d5a9f8219570</identification>\r
+        <identification>9f87d608-1374-4019-95ac-4e6333cbc129</identification>\r
       </annotationBean>\r
-      <date>2012-01-23 14:57:41.971 CET</date>\r
+      <date>2012-05-31 10:20:40.459 CEST</date>\r
       <creators />\r
       <curationEventList />\r
     </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>\r