blob: 78073a2baa4a341e65e6ab42d9c06755fcdf3b49 [file] [log] [blame]
<?xml version="1.0"?>
<xs:schema xmlns="http://ns.taverna.org.uk/2013/application/profile"
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:jxb="http://java.sun.com/xml/ns/jaxb"
jxb:version="1.0" targetNamespace="http://ns.taverna.org.uk/2013/application/profile"
elementFormDefault="qualified">
<xs:annotation>
<xs:appinfo>
<jxb:schemaBindings>
<jxb:package name="uk.org.taverna.commons.profile.xml.jaxb" />
</jxb:schemaBindings>
</xs:appinfo>
</xs:annotation>
<xs:import namespace="http://ns.taverna.org.uk/2013/application/versions"
schemaLocation="ApplicationVersions.xsd" />
<xs:complexType name="frameworkConfiguration">
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
<xs:complexType name="bundleInfo">
<xs:sequence>
<xs:element name="fileName" type="xs:anyURI" minOccurs="0" />
</xs:sequence>
<xs:attribute name="symbolicName" type="xs:string" use="required" />
<xs:attribute name="version" type="versions:semanticVersion"
use="required" />
</xs:complexType>
<xs:complexType name="updates">
<xs:sequence>
<xs:element name="updateSite" type="xs:anyURI" />
<xs:element name="updatesFile" type="xs:string" />
<xs:element name="libDirectory" type="xs:string" />
<xs:element name="pluginSite" type="xs:string" />
<xs:element name="pluginsFile" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="applicationProfile">
<xs:complexType>
<xs:sequence>
<xs:element name="id" type="xs:string" />
<xs:element name="name" type="xs:string" />
<xs:element name="version" type="versions:semanticVersion" />
<xs:element name="updates" type="updates" />
<xs:element name="frameworkConfiguration" type="frameworkConfiguration"
minOccurs="0" maxOccurs="unbounded" />
<xs:element name="bundle" type="bundleInfo" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:unique name="symbolicNameUnique">
<xs:selector xpath="ap:bundles/ap:bundle"></xs:selector>
<xs:field xpath="@symbolicName"></xs:field>
</xs:unique>
</xs:element>
<xs:element name="updateSite">
<xs:complexType>
<xs:sequence>
<xs:element name="versions" type="versions:versions">
<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:element>
</xs:schema>