On 18/07/2011 09:19, Mikołaj Rybiński wrote:
Hi,

yes please, send the workflow. This is the "Transform XML with
parameters" right? Is it new for v2.3?

Yes. It's basically the code you sent. I'm attaching the inner workflow.

Thanks,
Mikołaj

Alan
<workflow xmlns="http://taverna.sf.net/2008/xml/t2flow"; version="1" 
producedBy="taverna-2.3.0"><dataflow id="965d8ac1-2adb-4ca9-b9e4-04ba22cf0d3f" 
role="top"><name>TransformXMLelementtolistofdataXMLelements</name><inputPorts><port><name>elementXml</name><depth>0</depth><granularDepth>0</granularDepth><annotations><annotation_chain
 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
  <annotationAssertions>
    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
      <annotationBean 
class="net.sf.taverna.t2.annotation.annotationbeans.MimeType">
        <text>text/plain</text>
      </annotationBean>
      <date>2011-07-16 11:22:04.591 BST</date>
      <creators />
      <curationEventList />
    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
  </annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain><annotation_chain
 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
  <annotationAssertions>
    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
      <annotationBean 
class="net.sf.taverna.t2.annotation.annotationbeans.FreeTextDescription">
        <text>Timepoints or results XML elements.

Example value:
&lt;results&gt;
  &lt;result&gt;
    &lt;constant name="c1"&gt;1&lt;/constant&gt;
    &lt;constant name="c2"&gt;2&lt;/constant&gt;
    &lt;property name="p1"&gt;1&lt;/property&gt;
    &lt;property name="p2&gt;2&lt;/property&gt;
  &lt;/result&gt;
&lt;/results&gt;</text>
      </annotationBean>
      <date>2011-07-16 11:22:04.591 BST</date>
      <creators />
      <curationEventList />
    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
  </annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain><annotation_chain
 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
  <annotationAssertions>
    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
      <annotationBean 
class="net.sf.taverna.t2.annotation.annotationbeans.MimeType">
        <text>text/xml</text>
      </annotationBean>
      <date>2011-07-16 11:22:04.591 BST</date>
      <creators />
      <curationEventList />
    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
  </annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></port><port><name>argNameList</name><depth>1</depth><granularDepth>1</granularDepth><annotations><annotation_chain
 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
  <annotationAssertions>
    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
      <annotationBean 
class="net.sf.taverna.t2.annotation.annotationbeans.MimeType">
        <text>text/plain</text>
      </annotationBean>
      <date>2011-07-16 11:22:04.591 BST</date>
      <creators />
      <curationEventList />
    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
  </annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain><annotation_chain
 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
  <annotationAssertions>
    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
      <annotationBean 
class="net.sf.taverna.t2.annotation.annotationbeans.FreeTextDescription">
        <text>List of arguments names to leave in the resulting data series.

Example value:
c1
c2</text>
      </annotationBean>
      <date>2011-07-16 11:22:04.591 BST</date>
      <creators />
      <curationEventList />
    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
  </annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></port><port><name>valNameListList</name><depth>2</depth><granularDepth>2</granularDepth><annotations><annotation_chain
 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
  <annotationAssertions>
    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
      <annotationBean 
class="net.sf.taverna.t2.annotation.annotationbeans.FreeTextDescription">
        <text>List of lists of values names to split with and leave in the 
resulting data series.

Example value:
p2</text>
      </annotationBean>
      <date>2011-07-16 11:22:04.591 BST</date>
      <creators />
      <curationEventList />
    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
  </annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain><annotation_chain
 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
  <annotationAssertions>
    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
      <annotationBean 
class="net.sf.taverna.t2.annotation.annotationbeans.MimeType">
        <text>text/plain</text>
      </annotationBean>
      <date>2011-07-16 11:22:04.591 BST</date>
      <creators />
      <curationEventList />
    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
  </annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></port></inputPorts><outputPorts><port><name>dataXmlList</name><annotations><annotation_chain
 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
  <annotationAssertions>
    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
      <annotationBean 
class="net.sf.taverna.t2.annotation.annotationbeans.MimeType">
        <text>text/xml</text>
      </annotationBean>
      <date>2011-07-16 11:22:04.591 BST</date>
      <creators />
      <curationEventList />
    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
  </annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain></annotations></port></outputPorts><processors><processor><name>mergeListsApply</name><inputPorts><port><name>inExtListOfLists</name><depth>2</depth></port><port><name>inBaseList</name><depth>1</depth></port></inputPorts><outputPorts><port><name>outList</name><depth>2</depth><granularDepth>2</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="inBaseList" to="inBaseList" /><map from="inExtListOfLists" 
to="inExtListOfLists" /></inputMap><outputMap><map from="outList" to="outList" 
/></outputMap><configBean 
encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean
 xmlns="">
  <inputs>
    
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
      <name>inBaseList</name>
      <depth>1</depth>
      <mimeTypes>
        <string>l('text/plain')</string>
      </mimeTypes>
      <handledReferenceSchemes />
      <translatedElementType>java.lang.String</translatedElementType>
      <allowsLiteralValues>true</allowsLiteralValues>
    
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
    
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
      <name>inExtListOfLists</name>
      <depth>2</depth>
      <mimeTypes>
        <string>l(l('text/plain'))</string>
      </mimeTypes>
      <handledReferenceSchemes />
      <translatedElementType>java.lang.String</translatedElementType>
      <allowsLiteralValues>true</allowsLiteralValues>
    
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
  </inputs>
  <outputs>
    
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
      <name>outList</name>
      <depth>2</depth>
      <mimeTypes>
        <string>l(l('text/plain'))</string>
      </mimeTypes>
      <granularDepth>2</granularDepth>
    
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
  </outputs>
  <classLoaderSharing>workflow</classLoaderSharing>
  <localDependencies />
  <artifactDependencies />
  <script>outList = new LinkedList();
for (extList: inExtListOfLists) {
    list = new LinkedList(inBaseList);
    list.addAll(extList);
    outList.add(list);
}</script>
  <dependencies />
</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="">
  <maxJobs>1</maxJobs>
</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="">
  <backoffFactor>1.0</backoffFactor>
  <initialDelay>0</initialDelay>
  <maxDelay>0</maxDelay>
  <maxRetries>0</maxRetries>
</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="inExtListOfLists" depth="2" /><port name="inBaseList" depth="1" 
/></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>projectCoordinates</name><inputPorts><port><name>coordinateNameList</name><depth>1</depth></port><port><name>inXml</name><depth>0</depth></port></inputPorts><outputPorts><port><name>outXml</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="inXml" to="inXml" /><map from="coordinateNameList" 
to="coordinateNameList" /></inputMap><outputMap><map from="outXml" to="outXml" 
/></outputMap><configBean 
encoding="xstream"><net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean
 xmlns="">
  <inputs>
    
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
      <name>inXml</name>
      <depth>0</depth>
      <mimeTypes>
        <string>'text/xml'</string>
      </mimeTypes>
      <handledReferenceSchemes />
      <translatedElementType>java.lang.String</translatedElementType>
      <allowsLiteralValues>true</allowsLiteralValues>
    
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
    
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
      <name>coordinateNameList</name>
      <depth>1</depth>
      <mimeTypes>
        <string>l('text/plain')</string>
      </mimeTypes>
      <handledReferenceSchemes />
      <translatedElementType>java.lang.String</translatedElementType>
      <allowsLiteralValues>true</allowsLiteralValues>
    
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
  </inputs>
  <outputs>
    
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
      <name>outXml</name>
      <depth>0</depth>
      <mimeTypes />
      <granularDepth>0</granularDepth>
    
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
  </outputs>
  <classLoaderSharing>workflow</classLoaderSharing>
  <localDependencies />
  <artifactDependencies />
  <script>source(new 
URL("http://bioputer.mimuw.edu.pl/tav4sb/workflows/projectCoordinates.bsh";));
</script>
  <dependencies />
</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="">
  <maxJobs>1</maxJobs>
</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="">
  <backoffFactor>1.0</backoffFactor>
  <initialDelay>0</initialDelay>
  <maxDelay>0</maxDelay>
  <maxRetries>0</maxRetries>
</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="coordinateNameList" depth="1" /><port name="inXml" depth="0" 
/></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>elementXml2dataXml_xslFileURL_defaultValue</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="">
  
<value>http://bioputer.mimuw.edu.pl/tav4sb/workflows/elementXml2dataXml.xsl</value>
</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="">
  <maxJobs>1</maxJobs>
</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="">
  <backoffFactor>1.0</backoffFactor>
  <initialDelay>0</initialDelay>
  <maxDelay>0</maxDelay>
  <maxRetries>0</maxRetries>
</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
 
/></strategy></iteration></iterationStrategyStack></processor><processor><name>Transform_XML_with_parameters</name><inputPorts><port><name>sourceString</name><depth>0</depth></port><port><name>xsltString</name><depth>0</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="sourceString" to="sourceString" 
/></inputMap><outputMap><map from="outputString" to="outputString" 
/></outputMap><configBean 
encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean
 xmlns="">
  <inputs>
    
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
      <name>sourceString</name>
      <depth>0</depth>
      <mimeTypes>
        <string>text/plain</string>
      </mimeTypes>
      <handledReferenceSchemes />
      <translatedElementType>java.lang.String</translatedElementType>
      <allowsLiteralValues>true</allowsLiteralValues>
    
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
    
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
      <name>xsltString</name>
      <depth>0</depth>
      <mimeTypes>
        <string>text/plain</string>
      </mimeTypes>
      <handledReferenceSchemes />
      <translatedElementType>java.lang.String</translatedElementType>
      <allowsLiteralValues>true</allowsLiteralValues>
    
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
    
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
      <name>paramList</name>
      <depth>1</depth>
      <mimeTypes>
        <string>text/plain</string>
      </mimeTypes>
      <handledReferenceSchemes />
      <translatedElementType>java.lang.String</translatedElementType>
      <allowsLiteralValues>true</allowsLiteralValues>
    
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
  </inputs>
  <outputs>
    
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
      <name>outputString</name>
      <depth>0</depth>
      <mimeTypes />
      <granularDepth>0</granularDepth>
    
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
  </outputs>
  <classLoaderSharing>workflow</classLoaderSharing>
  <localDependencies />
  <artifactDependencies />
  <script>//From a proposal by Mikolaj Rybinski
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;

param(paramstr) {
    nameAndValue = paramstr.split("=");
    if (nameAndValue.length != 2) {
        throw new RuntimeException("Wrong parameter format: \"" + paramstr + 
"\".");
    }
    name = nameAndValue[0].trim();
    value = nameAndValue[1].trim();
    return this;
}

if ((sourceString == void) || (sourceString == null)) {
        throw new RuntimeException("sourceString must be specified");
}

if ((xsltString == void) || (xsltString == null)) {
        throw new RuntimeException("xsltString must be specified");
}

Source inSource = new StreamSource(new StringReader(sourceString));
Source xslSource = new StreamSource(new StringReader(xsltString));

// the factory pattern supports different XSLT processors
// e.g. set the "javax.xml.transform.TransformerFactory" system property
TransformerFactory tnfFact = TransformerFactory.newInstance();
Transformer tnf = tnfFact.newTransformer(xslSource);

if (paramList != void) {
  for (String paramstr : paramList) {
    p = param(paramstr);
    tnf.setParameter(p.name, p.value);
  }
}

Writer outputWriter = new StringWriter();
tnf.transform(inSource, new StreamResult(outputWriter));
outputString = outputWriter.toString();</script>
  <dependencies />
  
<localworkerName>net.sourceforge.taverna.scuflworkers.xml.XSLTWorkerWithParameters</localworkerName>
</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="">
  <maxJobs>1</maxJobs>
</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="">
  <backoffFactor>1.0</backoffFactor>
  <initialDelay>1000</initialDelay>
  <maxDelay>5000</maxDelay>
  <maxRetries>0</maxRetries>
</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="sourceString" depth="0" /><port name="xsltString" depth="0" 
/></cross></strategy></iteration></iterationStrategyStack></processor><processor><name>Get_Web_Page_from_URL</name><inputPorts><port><name>url</name><depth>0</depth></port></inputPorts><outputPorts><port><name>contents</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="url" to="url" /></inputMap><outputMap><map from="contents" to="contents" 
/></outputMap><configBean 
encoding="xstream"><net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean
 xmlns="">
  <inputs>
    
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
      <name>url</name>
      <depth>0</depth>
      <mimeTypes>
        <string>'text/x-taverna-web-url'</string>
      </mimeTypes>
      <handledReferenceSchemes />
      <translatedElementType>java.lang.String</translatedElementType>
      <allowsLiteralValues>true</allowsLiteralValues>
    
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
    
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
      <name>base</name>
      <depth>0</depth>
      <mimeTypes>
        <string>'text/x-taverna-web-url'</string>
      </mimeTypes>
      <handledReferenceSchemes />
      <translatedElementType>java.lang.String</translatedElementType>
      <allowsLiteralValues>true</allowsLiteralValues>
    
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean>
  </inputs>
  <outputs>
    
<net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
      <name>contents</name>
      <depth>0</depth>
      <mimeTypes>
        <string>'text/plain,text/html'</string>
      </mimeTypes>
      <granularDepth>0</granularDepth>
    
</net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean>
  </outputs>
  <classLoaderSharing>workflow</classLoaderSharing>
  <localDependencies />
  <artifactDependencies />
  <script>if ((url == void) || (url == null)) {
        throw new RuntimeException("The url must be specified");
}

URL inputURL = null;
if (base != void) {
  inputURL = new URL(new URL(base), url);
}
else {
  inputURL = new URL(url);
}
URLConnection con = inputURL.openConnection();
InputStream in = con.getInputStream();

StringBuffer result = new StringBuffer();
BufferedReader reader;

String encoding = con.getContentEncoding();
if (encoding == null) {
  reader = new BufferedReader(new InputStreamReader(in));
} else {
  reader = new BufferedReader(new InputStreamReader(in, encoding));
}
String line = null;
String NEWLINE = System.getProperty("line.separator");
while ((line = reader.readLine()) != null) {
        result.append(line);
        result.append(NEWLINE);
}

reader.close();
contents = result.toString();
</script>
  <dependencies />
  
<localworkerName>org.embl.ebi.escience.scuflworkers.java.WebPageFetcher</localworkerName>
</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="">
  <maxJobs>1</maxJobs>
</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="">
  <backoffFactor>1.0</backoffFactor>
  <initialDelay>1000</initialDelay>
  <maxDelay>5000</maxDelay>
  <maxRetries>0</maxRetries>
</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="url" depth="0" 
/></cross></strategy></iteration></iterationStrategyStack></processor></processors><conditions
 /><datalinks><datalink><sink 
type="processor"><processor>mergeListsApply</processor><port>inExtListOfLists</port></sink><source
 
type="dataflow"><port>valNameListList</port></source></datalink><datalink><sink 
type="processor"><processor>mergeListsApply</processor><port>inBaseList</port></sink><source
 type="dataflow"><port>argNameList</port></source></datalink><datalink><sink 
type="processor"><processor>projectCoordinates</processor><port>coordinateNameList</port></sink><source
 
type="processor"><processor>mergeListsApply</processor><port>outList</port></source></datalink><datalink><sink
 
type="processor"><processor>projectCoordinates</processor><port>inXml</port></sink><source
 
type="processor"><processor>Transform_XML_with_parameters</processor><port>outputString</port></source></datalink><datalink><sink
 
type="processor"><processor>Transform_XML_with_parameters</processor><port>sourceString</port></sink><source
 type="dataflow"><port>elementXml</port></source></datalink><datalink><sink 
type="processor"><processor>Transform_XML_with_parameters</processor><port>xsltString</port></sink><source
 
type="processor"><processor>Get_Web_Page_from_URL</processor><port>contents</port></source></datalink><datalink><sink
 
type="processor"><processor>Get_Web_Page_from_URL</processor><port>url</port></sink><source
 
type="processor"><processor>elementXml2dataXml_xslFileURL_defaultValue</processor><port>value</port></source></datalink><datalink><sink
 type="dataflow"><port>dataXmlList</port></sink><source 
type="processor"><processor>projectCoordinates</processor><port>outXml</port></source></datalink></datalinks><annotations><annotation_chain
 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
  <annotationAssertions>
    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
      <annotationBean 
class="net.sf.taverna.t2.annotation.annotationbeans.DescriptiveTitle">
        <text>Transform XML element to list of data XML elements</text>
      </annotationBean>
      <date>2011-07-16 11:22:04.620 BST</date>
      <creators />
      <curationEventList />
    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
  </annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain><annotation_chain_2_2
 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
  <annotationAssertions>
    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
      <annotationBean 
class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">
        <identification>9ac320c9-8803-418d-bf6a-60a82ad0d70c</identification>
      </annotationBean>
      <date>2011-07-16 11:35:47.816 BST</date>
      <creators />
      <curationEventList />
    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
  </annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain
 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
  <annotationAssertions>
    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
      <annotationBean 
class="net.sf.taverna.t2.annotation.annotationbeans.FreeTextDescription">
        <text>Currently supported input XML elements are: results (with 
result/property and result/constant sub-elements) and timepoints (with 
timepoint/time and timepoint/variable sub-element).</text>
      </annotationBean>
      <date>2011-07-16 11:22:04.620 BST</date>
      <creators />
      <curationEventList />
    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
  </annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain><annotation_chain_2_2
 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
  <annotationAssertions>
    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
      <annotationBean 
class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">
        <identification>965d8ac1-2adb-4ca9-b9e4-04ba22cf0d3f</identification>
      </annotationBean>
      <date>2011-07-16 11:42:23.928 BST</date>
      <creators />
      <curationEventList />
    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
  </annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2
 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
  <annotationAssertions>
    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
      <annotationBean 
class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">
        <identification>6f8cb5dd-8651-49ce-8601-0689058c1d27</identification>
      </annotationBean>
      <date>2011-07-16 11:22:14.428 BST</date>
      <creators />
      <curationEventList />
    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
  </annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain_2_2
 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
  <annotationAssertions>
    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
      <annotationBean 
class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">
        <identification>f549a0e8-95c3-4e00-8b44-ab1a5f0cff8e</identification>
      </annotationBean>
      <date>2011-07-16 11:39:08.404 BST</date>
      <creators />
      <curationEventList />
    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
  </annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2><annotation_chain
 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
  <annotationAssertions>
    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
      <annotationBean 
class="net.sf.taverna.t2.annotation.annotationbeans.Author">
        <text>Mikołaj Rybiński</text>
      </annotationBean>
      <date>2011-07-16 11:22:04.620 BST</date>
      <creators />
      <curationEventList />
    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
  </annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain><annotation_chain_2_2
 encoding="xstream"><net.sf.taverna.t2.annotation.AnnotationChainImpl xmlns="">
  <annotationAssertions>
    <net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
      <annotationBean 
class="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion">
        <identification>e4bc793c-b9b2-4aa0-b20c-2a953fcd4390</identification>
      </annotationBean>
      <date>2011-07-16 11:40:40.20 BST</date>
      <creators />
      <curationEventList />
    </net.sf.taverna.t2.annotation.AnnotationAssertionImpl>
  </annotationAssertions>
</net.sf.taverna.t2.annotation.AnnotationChainImpl></annotation_chain_2_2></annotations></dataflow></workflow>
------------------------------------------------------------------------------
AppSumo Presents a FREE Video for the SourceForge Community by Eric 
Ries, the creator of the Lean Startup Methodology on "Lean Startup 
Secrets Revealed." This video shows you how to validate your ideas, 
optimize your ideas and identify your business strategy.
http://p.sf.net/sfu/appsumosfdev2dev
_______________________________________________
taverna-users mailing list
[email protected]
[email protected]
Web site: http://www.taverna.org.uk
Mailing lists: http://www.taverna.org.uk/about/contact-us/

Reply via email to