blob: 01d39401c9b243a57e6f5d73fd1437a7c87cd167 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<xsd:schema elementFormDefault="unqualified"
targetNamespace="http://taverna.sf.net/2008/xml/t2activities"
xmlns:activities="http://taverna.sf.net/2008/xml/t2activities"
xmlns:tav="http://taverna.sf.net/2008/xml/t2flow" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
jxb:version="1.0">
<xsd:annotation>
<xsd:appinfo>
<!-- -->
<jxb:schemaBindings>
<jxb:package name="org.apache.taverna.scufl2.xml.t2flow.jaxb" />
</jxb:schemaBindings>
</xsd:appinfo>
</xsd:annotation>
<xsd:import namespace="http://taverna.sf.net/2008/xml/t2flow"
schemaLocation="t2flow.xsd" />
<xsd:complexType name="DataflowConfig">
<xsd:annotation>
<xsd:documentation>Configuration for the nested dataflow activity.
The actual nested dataflow is referenced by uuid to identify the
dataflow element of the workflow container.</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="ref" type="tav:uuid"></xsd:attribute>
</xsd:complexType>
<xsd:complexType name="ApiConsumerConfig">
<xsd:sequence>
<xsd:element name="apiConsumerName" type="xsd:string" />
<xsd:element name="apiConsumerDescription" type="xsd:string" />
<xsd:element name="description" type="xsd:string" />
<xsd:element name="className" type="xsd:string" />
<xsd:element name="methodName" type="xsd:string" />
<xsd:element name="parameterNames" type="activities:ApiConsumerParameterNames" />
<xsd:element name="parameterDimensions"
type="activities:ApiConsumerParameterDimensions" />
<xsd:element name="parameterTypes" type="activities:ApiConsumerParameterTypes" />
<xsd:element name="returnType" type="xsd:string" />
<xsd:element name="returnDimension" type="xsd:nonNegativeInteger" />
<xsd:element name="isMethodStatic" type="xsd:boolean" />
<xsd:element name="isMethodConstructor" type="xsd:boolean" />
<xsd:element name="classLoaderSharing" type="activities:ClassLoaderSharing" />
<xsd:element name="localDependencies" type="activities:LocalDependencies" />
<xsd:element name="artifactDependencies" type="activities:ArtifactDependencies" />
<xsd:element name="inputs" type="activities:ActivityInputPorts" />
<xsd:element name="outputs" type="activities:ActivityOutputPorts" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ApiConsumerParameterNames">
<xsd:sequence>
<xsd:element name="string" type="xsd:string" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ApiConsumerParameterDimensions">
<xsd:sequence>
<xsd:element name="int" type="xsd:nonNegativeInteger"
minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ApiConsumerParameterTypes">
<xsd:sequence>
<xsd:element name="string" type="xsd:string" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="BeanshellConfig">
<xsd:annotation>
<xsd:documentation>Configuration for the Beanshell activity.
</xsd:documentation>
</xsd:annotation>
<xsd:all>
<xsd:element name="script" type="xsd:string">
<xsd:annotation>
<xsd:documentation>A Beanshell script</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="dependencies" type="activities:Dependencies" />
<xsd:element name="classLoaderSharing" type="activities:ClassLoaderSharing" />
<xsd:element name="localDependencies" type="activities:LocalDependencies" />
<xsd:element name="artifactDependencies" type="activities:ArtifactDependencies" />
<xsd:element name="inputs" type="activities:ActivityInputPorts" />
<xsd:element name="outputs" type="activities:ActivityOutputPorts" />
<xsd:element name="localworkerName" type="xsd:string"
minOccurs="0" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="StringConstantConfig">
<xsd:sequence>
<xsd:sequence>
<xsd:element name="value" type="xsd:string"></xsd:element>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RShellConfig">
<xsd:all>
<xsd:element name="inputs" type="activities:ActivityInputPorts" />
<xsd:element name="outputs" type="activities:ActivityOutputPorts" />
<xsd:element name="rVersion" type="xsd:string" minOccurs="0" />
<xsd:element name="script" type="xsd:string" />
<xsd:element name="connectionSettings" type="activities:RShellConnection" />
<xsd:element name="inputSymanticTypes" type="activities:RShellSymanticType" />
<xsd:element name="outputSymanticTypes" type="activities:RShellSymanticType" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="RShellConnection">
<xsd:sequence>
<xsd:element name="host" type="xsd:string" />
<xsd:element name="port" type="xsd:unsignedShort" />
<xsd:element name="username" type="xsd:string" minOccurs="0"/>
<xsd:element name="password" type="xsd:string" minOccurs="0"/>
<xsd:element name="keepSessionAlive" type="xsd:boolean" />
<xsd:element name="newRVersion" type="xsd:boolean" default="false" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RShellSymanticType">
<xsd:sequence>
<xsd:element
name="net.sf.taverna.t2.activities.rshell.RShellPortSymanticTypeBean" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:annotation>
<xsd:appinfo>
<jxb:class name="RShellPortSymanticTypeBean" />
</xsd:appinfo>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="name" type="xsd:string" />
<xsd:element name="symanticType">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="reference" type="xsd:string"
use="optional" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="WSDLConfig">
<xsd:annotation>
<xsd:documentation>Configuration for the WSDL activity.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="wsdl" type="xsd:anyURI">
<xsd:annotation>
<xsd:documentation>Location of WSDL specification as an URL.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="operation" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Name of operation within the WSDL specification.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="securityProfile" type="activities:WSDLSecurityProfile"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>Name of 'security profile' to apply.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="WSDLSecurityProfile">
<xsd:union memberTypes="activities:StandardWSDLSecurityProfile xsd:string" />
</xsd:simpleType>
<xsd:simpleType name="StandardWSDLSecurityProfile">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="HTTPDigestAuthN" />
<xsd:enumeration value="HTTPBasicAuthNPlainTextPassword" />
<xsd:enumeration value="WSSecurityTimestampUsernameTokenDigestPassword" />
<xsd:enumeration value="WSSecurityTimestampUsernameTokenPlainTextPassword" />
<xsd:enumeration value="WSSecurityUsernameTokenDigestPassword" />
<xsd:enumeration value="WSSecurityUsernameTokenPlainTextPassword" />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="XMLSplitterConfig">
<xsd:all>
<xsd:element name="wrappedTypeXML" type="xsd:string" />
<xsd:element name="inputs" type="activities:ActivityInputPorts" />
<xsd:element name="outputs" type="activities:ActivityOutputPorts" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="BioMartConfig">
<xsd:sequence>
<xsd:element name="MartService">
<xsd:complexType>
<xsd:attribute name="location" type="xsd:anyURI"></xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:element name="MartDataset" />
<xsd:element name="Query" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="BioMobyConfig">
<xsd:complexContent>
<xsd:extension base="activities:BioMobyObjectConfig">
<xsd:sequence>
<xsd:element name="category" type="activities:BioMobyCategory">
</xsd:element>
<xsd:element name="serviceType" type="activities:BioMobyServiceType">
</xsd:element>
<xsd:element name="secondaries" type="activities:BioMobySecondaries">
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="BioMobyObjectConfig">
<xsd:sequence>
<xsd:element name="mobyEndpoint" type="xsd:anyURI" />
<xsd:element name="serviceName" />
<xsd:element name="authorityName" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="BioMobyParserConfig">
<xsd:sequence>
<xsd:element name="datatypeName" />
<xsd:element name="registryEndpoint" type="xsd:anyURI" />
<xsd:element name="articleNameUsedByService" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SoaplabConfig">
<xsd:annotation>
<xsd:documentation>Configuration for the SoapLab activity.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="endpoint" type="xsd:anyURI">
<xsd:annotation>
<xsd:documentation>Location of Soaplab endpoint as an URL.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="pollingInterval" type="xsd:nonNegativeInteger">
<xsd:annotation>
<xsd:documentation>Milliseconds between polling for asynchronous
service completion. If 0, the synchronous 'waitFor' method is
used
instead.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="pollingBackoff" type="xsd:double">
<xsd:annotation>
<xsd:documentation>
Multiplication factor to apply to current
polling interval (initially "pollingInterval"), gradually
increasing the polling interval. It is advisable
to keep this close
to 1.0, for instance 1.1.
The polling interval will however never
be larger than the specified
"pollingIntervalMax". Must be
above 0.0
to avoid negative polling
intervals.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="pollingIntervalMax" type="xsd:nonNegativeInteger">
<xsd:annotation>
<xsd:documentation>Maximum polling interval in milliseconds after
multiplying with "pollingBackoff". Should be larger than
"pollingInterval".
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SpreadsheetImportConfig">
<xsd:sequence>
<xsd:element name="columnRange" type="activities:SpreadsheetRange" />
<xsd:element name="rowRange" type="activities:SpreadsheetRange" />
<xsd:element name="emptyCellValue" type="xsd:string" />
<xsd:element name="columnNames" type="activities:SpreadsheetColumnNames" />
<xsd:element name="allRows" type="xsd:boolean" />
<xsd:element name="excludeFirstRow" type="xsd:boolean" />
<xsd:element name="ignoreBlankRows" type="xsd:boolean" />
<xsd:element name="emptyCellPolicy" type="activities:SpreadsheetEmptyCellPolicy" />
<xsd:element name="outputFormat" type="activities:OutputFormat" />
<xsd:element name="csvDelimiter" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="SpreadsheetEmptyCellPolicy">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="EMPTY_STRING"></xsd:enumeration>
<xsd:enumeration value="USER_DEFINED"></xsd:enumeration>
<xsd:enumeration value="GENERATE_ERROR"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="OutputFormat">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="PORT_PER_COLUMN"></xsd:enumeration>
<xsd:enumeration value="SINGLE_PORT"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="SpreadsheetColumnNames">
<xsd:sequence>
<xsd:element name="entry" type="activities:SpreadsheetColumnNameEntry"
minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SpreadsheetColumnNameEntry">
<xsd:sequence>
<xsd:element name="string" type="xsd:string" minOccurs="2"
maxOccurs="2" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SpreadsheetRange">
<xsd:sequence>
<xsd:element name="start" type="xsd:nonNegativeInteger" />
<xsd:element name="end" type="xsd:nonNegativeInteger" />
<xsd:element name="excludes" type="activities:SpreadsheetExcludes" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SpreadsheetExcludes">
<xsd:sequence>
<xsd:element name="exclude" type="activities:SpreadsheetRange"
minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="LocalDependencies">
<xsd:sequence>
<xsd:element name="string" type="xsd:string" maxOccurs="unbounded"
minOccurs="0">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ArtifactDependencies">
<xsd:sequence>
<xsd:element name="net.sf.taverna.raven.repository.BasicArtifact"
type="activities:BasicArtifact" maxOccurs="unbounded" minOccurs="0">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Dependencies">
<xsd:sequence>
<xsd:choice>
<xsd:element name="string" type="xsd:string" maxOccurs="unbounded"
minOccurs="0">
</xsd:element>
<xsd:element name="element" type="activities:DependencyElement"
maxOccurs="unbounded" minOccurs="0">
</xsd:element>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="class" type="xsd:string" use="optional"></xsd:attribute>
</xsd:complexType>
<xsd:complexType name="DependencyElement">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="class" use="optional" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="ClassLoaderSharing">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="workflow" />
<xsd:enumeration value="system" />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="BasicArtifact">
<xsd:sequence>
<xsd:element name="groupId" type="xsd:string" />
<xsd:element name="artifactId" type="xsd:string" />
<xsd:element name="version" type="xsd:string" />
<xsd:element name="hashCode" type="xsd:string" minOccurs="0" />
<xsd:element name="string" type="xsd:string" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ActivityInputPorts">
<xsd:sequence>
<xsd:element
name="net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean"
minOccurs="0" maxOccurs="unbounded" type="activities:ActivityPortDefinitionBean">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ActivityPortDefinitionBean">
<xsd:choice minOccurs="1" maxOccurs="unbounded" id="activityPortChoice">
<xsd:annotation>
<xsd:documentation>
These seem to come in any order depending on Activity type and Taverna
version (probably some internal hash maps involved) - and instead of
trying to model this using xsd:any, xsd:groups and xsd:choice, I just
went for an unbounded xsd:choice. Users will have to deal with the following
additional constaints:
These elements are required, maximum 1 occurance: name, depth
These can occur 0..unbounded times:
handledReferenceSchemes, translatedElementType
The rest are optional, but must maximally appear once.
</xsd:documentation>
</xsd:annotation>
<xsd:element name="handledReferenceSchemes" type="xsd:string"/>
<xsd:element name="translatedElementType" type="xsd:string" />
<xsd:element name="name" type="xsd:string" />
<xsd:element name="depth" type="xsd:nonNegativeInteger" />
<xsd:element name="allowsLiteralValues" type="xsd:boolean" />
<xsd:element name="mimeTypes">
<xsd:complexType>
<xsd:choice>
<xsd:element name="string" type="xsd:string" minOccurs="0"
maxOccurs="unbounded" />
<xsd:element name="element" type="activities:DependencyElement" />
</xsd:choice>
<xsd:attribute name="class" type="xsd:string" use="optional" />
</xsd:complexType>
</xsd:element>
<xsd:element name="granularDepth" type="xsd:nonNegativeInteger" />
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="ActivityOutputPorts">
<xsd:sequence>
<xsd:element
name="net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean"
minOccurs="0" maxOccurs="unbounded" type="activities:ActivityPortDefinitionBean">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="BioMobyCategory">
<xsd:sequence>
<xsd:any namespace="##any" processContents="lax" minOccurs="0"
maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="BioMobyServiceType">
<xsd:sequence>
<xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##any"
processContents="lax">
</xsd:any>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="BioMobySecondaries">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="entry"
type="activities:BioMobyEntry">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="BioMobyEntry">
<xsd:sequence>
<xsd:element minOccurs="2" maxOccurs="2" name="string"
type="xsd:anyType">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>