| <!-- |
| 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. |
| --> |
| <xs:schema |
| xmlns:jxb="http://java.sun.com/xml/ns/jaxb" |
| |
| xmlns="http://www.w3.org/2001/XMLSchema" |
| xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:port="http://ns.taverna.org.uk/2010/port/" |
| xmlns:run="http://ns.taverna.org.uk/2010/run/" xmlns:tns="http://ns.taverna.org.uk/2010/port/" |
| xmlns:xlink="http://www.w3.org/1999/xlink" attributeFormDefault="qualified" |
| elementFormDefault="qualified" targetNamespace="http://ns.taverna.org.uk/2010/port/" |
| jxb:version="2.1"> |
| <xs:annotation> |
| <xs:appinfo> |
| <jxb:schemaBindings> |
| <jxb:package name="org.apache.taverna.server.client.port" /> |
| </jxb:schemaBindings> |
| </xs:appinfo> |
| </xs:annotation> |
| <xs:import namespace="http://www.w3.org/1999/xlink" /> |
| <xs:element name="inputDescription" type="port:inputDescription" /> |
| <xs:element name="workflowOutputs" type="port:outputDescription" /> |
| <xs:complexType name="outputDescription"> |
| <xs:complexContent> |
| <xs:extension base="port:PortDescription"> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" minOccurs="0" name="output" type="port:OutputPort" /> |
| </xs:sequence> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| <xs:complexType abstract="true" name="PortDescription"> |
| <xs:sequence /> |
| <xs:attribute ref="port:workflowId" /> |
| <xs:attribute ref="port:workflowRun" /> |
| <xs:attribute ref="port:workflowRunId" /> |
| </xs:complexType> |
| <xs:complexType name="OutputPort"> |
| <xs:complexContent> |
| <xs:extension base="port:Port"> |
| <xs:choice> |
| <xs:element name="value" type="port:LeafValue" /> |
| <xs:element name="list" type="port:ListValue" /> |
| <xs:element name="error" type="port:ErrorValue" /> |
| <xs:element name="absent" type="port:AbsentValue" /> |
| </xs:choice> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| <xs:complexType name="Port"> |
| <xs:sequence /> |
| <xs:attribute ref="port:name" use="required" /> |
| <xs:attribute ref="port:depth" /> |
| </xs:complexType> |
| <xs:complexType name="LeafValue"> |
| <xs:complexContent> |
| <xs:extension base="port:Value"> |
| <xs:sequence /> |
| <xs:attribute ref="port:contentFile" /> |
| <xs:attribute ref="port:contentType" /> |
| <xs:attribute ref="port:contentByteLength" /> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| <xs:complexType abstract="true" name="Value"> |
| <xs:sequence /> |
| <xs:attribute ref="xlink:href" /> |
| </xs:complexType> |
| <xs:complexType name="ErrorValue"> |
| <xs:complexContent> |
| <xs:extension base="port:Value"> |
| <xs:sequence /> |
| <xs:attribute ref="port:depth" /> |
| <xs:attribute ref="port:errorFile" /> |
| <xs:attribute ref="port:errorByteLength" /> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| <xs:complexType name="ListValue"> |
| <xs:complexContent> |
| <xs:extension base="port:Value"> |
| <xs:sequence> |
| <xs:choice maxOccurs="unbounded" minOccurs="0"> |
| <xs:element name="value" type="port:LeafValue" /> |
| <xs:element name="list" type="port:ListValue" /> |
| <xs:element name="error" type="port:ErrorValue" /> |
| <xs:element name="absent" type="port:AbsentValue" /> |
| </xs:choice> |
| </xs:sequence> |
| <xs:attribute ref="port:length" /> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| <xs:complexType name="AbsentValue"> |
| <xs:complexContent> |
| <xs:extension base="port:Value"> |
| <xs:sequence /> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| <xs:complexType name="inputDescription"> |
| <xs:complexContent> |
| <xs:extension base="port:PortDescription"> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" minOccurs="0" name="input" type="port:InputPort" /> |
| </xs:sequence> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| <xs:complexType name="InputPort"> |
| <xs:complexContent> |
| <xs:extension base="port:Port"> |
| <xs:sequence /> |
| <xs:attribute ref="xlink:href" /> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| <xs:attribute name="contentByteLength" type="xs:long" /> |
| <xs:attribute name="contentFile" type="xs:string" /> |
| <xs:attribute name="contentType" type="xs:string" /> |
| <xs:attribute name="depth" type="xs:int" /> |
| <xs:attribute name="errorByteLength" type="xs:long" /> |
| <xs:attribute name="errorFile" type="xs:string" /> |
| <xs:attribute name="length" type="xs:int" /> |
| <xs:attribute name="name" type="xs:ID" /> |
| <xs:attribute name="workflowId" type="xs:string" /> |
| <xs:attribute name="workflowRun" type="xs:anyURI" /> |
| <xs:attribute name="workflowRunId" type="xs:string" /> |
| </xs:schema> |