Dbref attributes are of type string
[vamsas.git] / schemas / vamsas.xsd
index 6b591a7..bbf2caf 100644 (file)
@@ -2,63 +2,51 @@
 <!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by MSD (EMBL OUTSTATION THE EBI WELLCOME TRUST GENOME CAMPUS) -->
 <!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by lj (jl) -->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vamsas="http://www.vamsas.org" targetNamespace="http://www.vamsas.org" elementFormDefault="qualified" attributeFormDefault="unqualified">
-       <xs:element name="Version" type="xs:string"/>
-               <xs:annotation>
-                       <xs:documentation>DESCRIPTION</xs:documentation>
-       </xs:annotation>
-       
-       <xs:complexType name="LockFile">
-               <xs:simpleContent>
-                       <xs:extension base="xs:string"/>
-               </xs:simpleContent>
-       </xs:complexType>
        <xs:element name="VAMSAS">
-       <xs:complexType>
-
-               <xs:sequence>
-                       <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
-                       <xs:element ref="vamsas:SequenceSet" minOccurs="0" maxOccurs="unbounded"/>
-               </xs:sequence>
-               <xs:attribute name="id" type="xs:ID"  use="optional"/>  
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element ref="vamsas:DataSet" minOccurs="0" maxOccurs="unbounded"/>
+                       </xs:sequence>
+                       <xs:attribute name="id" type="xs:ID" use="optional"/>
+               </xs:complexType>
+       </xs:element>
+       <xs:element name="Tree">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="title" type="xs:string" minOccurs="0"/>
+                               <xs:element name="newick" maxOccurs="unbounded">
+                                       <xs:complexType>
+                                               <xs:simpleContent>
+                                                       <xs:extension base="xs:string">
+                                                               <xs:attribute name="title" type="xs:string" use="optional"/>
+                                                               <xs:attribute name="id" type="xs:ID" use="optional"/>
+                                                       </xs:extension>
+                                               </xs:simpleContent>
+                                       </xs:complexType>
+                               </xs:element>
+                               <xs:element ref="vamsas:Provenance"/>
+                       </xs:sequence>
+                       <xs:attribute name="id" type="xs:ID" use="optional"/>
                </xs:complexType>
-    </xs:element>
-    <xs:element name="Tree">
-               <xs:complexType>
-               <xs:sequence>
-                       <xs:element name="title" type="xs:string" minOccurs="0" maxOccurs="1"/>
-                       <xs:element name="newick" minOccurs="1" maxOccurs="unbounded">
-                         <xs:complexType>
-                         <xs:simpleContent>
-                         <xs:extension base="xs:string">
-                         <xs:attribute name="title" type="xs:string"  use="optional"/>
-                         <xs:attribute name="id" type="xs:ID"  use="optional"/>
-                         </xs:extension>
-                         </xs:simpleContent>
-                         </xs:complexType>
-                       </xs:element>
-                       <xs:element ref="vamsas:Provenance" minOccurs="1" maxOccurs="1"/>
-                   </xs:sequence>
-               <xs:attribute name="id" type="xs:ID"  use="optional"/>
-       </xs:complexType>
        </xs:element>
        <xs:element name="Provenance">
                <xs:complexType>
                        <xs:sequence>
-                               <xs:element name="entry" minOccurs="0" maxOccurs="unbounded">
+                               <xs:element name="entry" maxOccurs="unbounded">
                                        <xs:complexType>
                                                <xs:sequence>
                                                        <xs:element name="User" type="xs:string"/>
                                                        <xs:element name="Action" type="xs:string"/>
                                                        <xs:element name="Date" type="xs:date"/>
                                                </xs:sequence>
-                                               <xs:attribute name="id" type="xs:ID"  use="optional"/>
+                                               <xs:attribute name="id" type="xs:ID" use="optional"/>
                                        </xs:complexType>
                                </xs:element>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
-
-       <xs:element name="SequenceSet">
+       <xs:element name="DataSet">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element name="Sequence" maxOccurs="unbounded">
                                                <xs:complexContent>
                                                        <xs:extension base="vamsas:SequenceType">
                                                                <xs:sequence>
-                                                                   <xs:element name="dbRef" minOccurs="0" maxOccurs="unbounded">
-                                                                       <xs:complexType>
-                                                                               <xs:attribute name="source"/>
-                                                                               <xs:attribute name="version"/>
-                                                                               <xs:attribute name="accessionId"/>
-                                                                               <xs:attribute name="id" type="xs:ID"  use="optional"/>
-                                                                       </xs:complexType>
+                                                                       <xs:element name="dbRef" minOccurs="0" maxOccurs="unbounded">
+                                                                               <xs:complexType>
+                                                                                       <xs:attribute name="source" type="xs:string"/>
+                                                                                       <xs:attribute name="version" type="xs:string"/>
+                                                                                       <xs:attribute name="accessionId" type="xs:string"/>
+                                                                                       <xs:attribute name="id" type="xs:ID" use="optional"/>
+                                                                               </xs:complexType>
                                                                        </xs:element>
                                                                </xs:sequence>
-                                                               <xs:attribute name="id" type="xs:ID"  use="required"/>
+                                                               <xs:attribute name="id" type="xs:ID" use="required"/>
                                                                <xs:attribute name="dictionary" type="xs:string"/>
                                                        </xs:extension>
                                                </xs:complexContent>
                                        </xs:complexType>
                                </xs:element>
-                               <xs:element name="SequenceSetAnnotations" minOccurs="0" maxOccurs="unbounded">
+                               <xs:element name="DataSetAnnotations" minOccurs="0" maxOccurs="unbounded">
                                        <xs:complexType>
                                                <xs:sequence>
                                                        <xs:element name="description" type="xs:string" minOccurs="0"/>
                                                        <xs:element name="status" type="xs:string" minOccurs="0"/>
                                                        <xs:element ref="vamsas:annotationElement" minOccurs="0" maxOccurs="unbounded"/>
-                                                       <xs:element ref="vamsas:Provenance" minOccurs="0" maxOccurs="unbounded"/>
+                                                       <xs:element ref="vamsas:Provenance" maxOccurs="unbounded"/>
                                                </xs:sequence>
                                                <xs:attribute name="type" type="xs:string" use="required"/>
                                                <xs:attribute name="end" type="xs:string" use="required"/>
                                                <xs:attribute name="begin" type="xs:string" use="required"/>
                                                <xs:attribute name="seqRef" type="xs:IDREF" use="required"/>
-                                               <xs:attribute name="id" type="xs:ID"  use="optional"/>
+                                               <xs:attribute name="id" type="xs:ID" use="optional"/>
                                        </xs:complexType>
                                </xs:element>
                                <xs:element name="Alignment" minOccurs="0" maxOccurs="unbounded">
                                        <xs:complexType>
                                                <xs:sequence>
-                                                       <xs:element name="AlignmentAnnotations" minOccurs="0">
+                                                       <xs:element name="AlignmentAnnotations" minOccurs="0" maxOccurs="unbounded">
                                                                <xs:complexType>
                                                                        <xs:sequence>
                                                                                <xs:element ref="vamsas:annotationElement" maxOccurs="unbounded"/>
                                                                                <xs:element ref="vamsas:Provenance"/>
                                                                        </xs:sequence>
                                                                        <xs:attribute name="graph" type="xs:boolean" use="required"/>
-                                                                       <xs:attribute name="id" type="xs:ID"  use="optional"/>
+                                                                       <xs:attribute name="id" type="xs:ID" use="optional"/>
                                                                </xs:complexType>
                                                        </xs:element>
                                                        <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
-                                                       <xs:element name="alignmentSequence" minOccurs="2" maxOccurs="unbounded">
+                                                       <xs:element name="alignmentSequence" maxOccurs="unbounded">
                                                                <xs:complexType>
                                                                        <xs:complexContent>
                                                                                <xs:extension base="vamsas:SequenceType">
-                                                                                       <xs:attribute name="id" type="xs:ID"  use="optional"/>
+                                                                                       <xs:attribute name="id" type="xs:ID" use="optional"/>
                                                                                        <xs:attribute name="refid" type="xs:IDREF" use="required"/>
                                                                                </xs:extension>
                                                                        </xs:complexContent>
                                                        </xs:element>
                                                        <xs:element ref="vamsas:Provenance"/>
                                                </xs:sequence>
-                                               <xs:attribute name="id" type="xs:ID"  use="optional"/>
+                                               <xs:attribute name="gapChar" type="xs:string" use="required"/>
+                                               <xs:attribute name="aligned" type="xs:boolean" use="optional"/>
+                                               <xs:attribute name="id" type="xs:ID" use="optional"/>
                                        </xs:complexType>
                                </xs:element>
                                <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
                                <xs:element ref="vamsas:Provenance"/>
                        </xs:sequence>
-                       <xs:attribute name="gapChar" type="xs:string" use="required"/>
-                       <xs:attribute name="aligned" type="xs:boolean" use="optional"/>
-                       <xs:attribute name="id" type="xs:ID"   use="optional"/>
+                       <xs:attribute name="id" type="xs:ID" use="optional"/>
                </xs:complexType>
        </xs:element>
        <xs:element name="annotationElement">
                <xs:complexType>
                        <xs:sequence>
-                               <xs:element name="displayCharacter" type="xs:string"/>
-                               <xs:element name="description" type="xs:string"/>
-                               <xs:element name="secondaryStructure">
+                               <xs:element name="displayCharacter" type="xs:string" minOccurs="0"/>
+                               <xs:element name="description" type="xs:string" minOccurs="0"/>
+                               <xs:element name="secondaryStructure" minOccurs="0">
                                        <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                        <xs:length value="1"/>
                                                </xs:restriction>
                                        </xs:simpleType>
                                </xs:element>
-                               <xs:element name="value" type="xs:float"/>
+                               <xs:element name="value" type="xs:float" minOccurs="0"/>
                        </xs:sequence>
                        <xs:attribute name="position" type="xs:int" use="required"/>
-                       <xs:attribute name="id" type="xs:ID"   use="optional"/>
+                       <xs:attribute name="id" type="xs:ID" use="optional"/>
                </xs:complexType>
        </xs:element>
-    <xs:complexType name="SequenceType">
+       <xs:complexType name="SequenceType">
                <xs:sequence>
                        <xs:element name="sequence" type="xs:string"/>
                        <xs:element name="name" type="xs:string"/>
                <xs:attribute name="start" type="xs:int" use="required"/>
                <xs:attribute name="end" type="xs:int" use="required"/>
        </xs:complexType>
-       
-    <xs:complexType name="ApplicationData">
-               <xs:sequence>
-                       <xs:element name="Application">
-                               <xs:complexType>
-                                       <xs:sequence>
-                                         <xs:element name="User">
-                                         <xs:complexType>
-                                               <xs:attribute name="fullname" type="xs:string"/>
-                                               <xs:attribute name="organization" type="xs:string"/>
-                                               <xs:attribute name="data" type="xs:string"/>
-                                         </xs:complexType>
-                                         </xs:element>
-                                       </xs:sequence>
-                                       <xs:attribute name="version" type="xs:string"/>
-                                       <xs:attribute name="name" type="xs:string"/>
-                                       <xs:attribute name="urn" type="xs:string"/>
-                                       <xs:attribute name="data" type="xs:string"/>
-                               </xs:complexType>
-                       </xs:element>
-               </xs:sequence>
-       </xs:complexType>
+       <xs:element name="ApplicationData">
+               <xs:complexType>
+                       <xs:sequence>
+                               <xs:element name="Application" minOccurs="0" maxOccurs="unbounded">
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element name="User" maxOccurs="unbounded">
+                                                               <xs:complexType>
+                                                                       <xs:attribute name="fullname" type="xs:string"/>
+                                                                       <xs:attribute name="organization" type="xs:string"/>
+                                                                       <xs:attribute name="data" type="xs:string"/>
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                               </xs:sequence>
+                                               <xs:attribute name="version" type="xs:string" use="required"/>
+                                               <xs:attribute name="name" type="xs:string" use="required"/>
+                                               <xs:attribute name="urn" type="xs:string" use="required"/>
+                                               <xs:attribute name="data" type="xs:string" use="required"/>
+                                       </xs:complexType>
+                               </xs:element>
+                       </xs:sequence>
+               </xs:complexType>
+       </xs:element>
 </xs:schema>