| <?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. |
| |
| |
| This XML schema is derivative work from the Original Work, |
| Research Object Evolution Ontology (roevo) |
| http://w3id.org/ro/roevo |
| used under the terms of |
| Creative Commons Attribution 3.0 License |
| http://creativecommons.org/licenses/by/3.0 |
| |
| Attribution for the original work: |
| |
| (c) 2011-2014 |
| Raul Palma, PSNC |
| Jun Zhao, University of Oxford |
| Khalid Belhajjame, University of Manchester |
| Stian Soiland-Reyes, University of Manchester |
| Oscar Corcho, UPM |
| |
| --> |
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" |
| elementFormDefault="qualified" targetNamespace="http://purl.org/wf4ever/roevo#" |
| xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
| xmlns:roevo="http://purl.org/wf4ever/roevo#" |
| xmlns:prov="http://www.w3.org/ns/prov#" |
| xmlns:jxb="http://java.sun.com/xml/ns/jaxb" |
| jxb:version="1.0"> |
| |
| <xs:annotation> |
| <xs:appinfo> |
| <jxb:globalBindings /> |
| <jxb:schemaBindings> |
| <jxb:package name="org.apache.taverna.scufl2.xml.roevo" /> |
| </jxb:schemaBindings> |
| </xs:appinfo> |
| </xs:annotation> |
| <!-- |
| <xs:import namespace="http://www.w3.org/XML/1998/namespace" |
| schemaLocation="http://www.w3.org/2001/03/xml.xsd" /> |
| <xs:import namespace="http://www.w3.org/2000/01/rdf-schema#" |
| schemaLocation="rdfs.xsd" /> |
| <xs:import namespace="http://www.w3.org/2002/07/owl#" |
| schemaLocation="owl.xsd" /> |
| --> |
| |
| |
| <xs:import namespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
| schemaLocation="rdf.xsd" /> |
| <xs:import namespace="http://www.w3.org/ns/prov#" |
| schemaLocation="prov.xsd" /> |
| |
| <xs:complexType name="RoEvoDocument"> |
| <xs:complexContent> |
| <xs:restriction base="rdf:RDF"> |
| <xs:sequence> |
| <xs:element ref="roevo:VersionableResource" minOccurs="0" maxOccurs="unbounded" /> |
| </xs:sequence> |
| </xs:restriction> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| <xs:element name="VersionableResource"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="wasChangedBy" minOccurs="0"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="roevo:ChangeSpecification" /> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element ref="prov:generatedAtTime" minOccurs="0" /> |
| <xs:element ref="prov:wasRevisionOf" minOccurs="0" /> |
| <xs:element ref="prov:hadOriginalSource" minOccurs="0" maxOccurs="unbounded"/> |
| <xs:element ref="prov:wasAttributedTo" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| <xs:attributeGroup ref="rdf:about" /> |
| </xs:complexType> |
| </xs:element> |
| |
| |
| <xs:element name="ChangeSpecification"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="rdf:type" minOccurs="0"/> |
| <xs:element name="fromVersion" type="rdf:Resource" minOccurs="0" /> |
| <xs:element name="hasChange" minOccurs="0" maxOccurs="3"> |
| <xs:annotation> |
| <xs:documentation> |
| <p xmlns='http://www.w3.org/1999/xhtml'> |
| A ChangeSpecification can have up to 3 changes, |
| one of Addition, one of Modificaton and one of Removal. |
| Ironically, to avoid an 'non ambigious' XML Schema, this schema |
| has to allow also say Addition, Addition, Removal. Clients MAY |
| parse additional changes of the same type, but SHOULD merge them |
| to a single change per type when saving, ie. add the resources |
| from the second Addition to the resources of the first. |
| </p> |
| </xs:documentation> |
| </xs:annotation> |
| <xs:complexType> |
| <xs:choice> |
| <xs:element name="Addition" type="roevo:Change" /> |
| <xs:element name="Modification" type="roevo:Change" /> |
| <xs:element name="Removal" type="roevo:Change" /> |
| </xs:choice> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:complexType name="Change"> |
| <xs:sequence> |
| <xs:element name="relatedResource" type="rdf:Resource" minOccurs="0" maxOccurs="unbounded"/> |
| </xs:sequence> |
| </xs:complexType> |
| |
| </xs:schema> |