| <?xml version="1.0"?> |
| <!-- |
| |
| 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="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="org.apache.taverna.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> |