blob: 180c8c2e380451920616aabd35ebc1dfd3de6c43 [file] [log] [blame]
<?xml version="1.0"?>
<xs:schema xmlns="http://ns.taverna.org.uk/2013/application/plugin"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:versions="http://ns.taverna.org.uk/2013/application/versions"
xmlns:ap="http://ns.taverna.org.uk/2013/application/profile"
xmlns:plugin="http://ns.taverna.org.uk/2013/application/plugin"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb" jxb:version="1.0"
targetNamespace="http://ns.taverna.org.uk/2013/application/plugin"
elementFormDefault="qualified">
<xs:annotation>
<xs:appinfo>
<jxb:schemaBindings>
<jxb:package name="uk.org.taverna.commons.plugin.xml.jaxb" />
</jxb:schemaBindings>
</xs:appinfo>
</xs:annotation>
<xs:import namespace="http://ns.taverna.org.uk/2013/application/versions"
schemaLocation="ApplicationVersions.xsd" />
<xs:import namespace="http://ns.taverna.org.uk/2013/application/profile"
schemaLocation="ApplicationProfile.xsd" />
<xs:element name="pluginInfo">
<xs:complexType>
<xs:sequence>
<xs:element name="id" type="xs:string" />
<xs:element name="name" type="xs:string" />
<xs:element name="description" type="xs:string" />
<xs:element name="organization" type="xs:string" />
<xs:element name="version" type="versions:semanticVersion" />
<xs:element name="bundle" type="ap:bundleInfo" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="pluginVersions">
<xs:complexContent>
<xs:extension base="versions:versions">
<xs:sequence>
<xs:element name="organization" type="xs:string" />
<xs:element name="pluginSiteUrl" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="plugins">
<xs:complexType>
<xs:sequence>
<xs:element name="plugin" type="pluginVersions"
minOccurs="1" maxOccurs="unbounded">
<xs:unique name="versionUnique">
<xs:selector
xpath="versions:previousVersion/versions:version|versions:latestVersion/versions:version" />
<xs:field xpath="." />
</xs:unique>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:unique name="versionsIdUnique">
<xs:selector xpath="plugin:versions/versions:id" />
<xs:field xpath="." />
</xs:unique>
</xs:element>
</xs:schema>