Dbref attributes are of type string
[vamsas.git] / schemas / vamsas.xsd
index 9487eca..bbf2caf 100644 (file)
@@ -2,22 +2,11 @@
 <!-- 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>Vamsas Document Version Number</xs:documentation>
-       </xs:annotation>
-       <xs:element name="LockFile">
-               <xs:complexType>
-                       <xs:simpleContent>
-                               <xs:extension base="xs:string"/>
-                       </xs:simpleContent>
-               </xs:complexType>
-       </xs:element>
        <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:element ref="vamsas:DataSet" minOccurs="0" maxOccurs="unbounded"/>
                        </xs:sequence>
                        <xs:attribute name="id" type="xs:ID" use="optional"/>
                </xs:complexType>
@@ -25,8 +14,8 @@
        <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:element name="title" type="xs:string" minOccurs="0"/>
+                               <xs:element name="newick" maxOccurs="unbounded">
                                        <xs:complexType>
                                                <xs:simpleContent>
                                                        <xs:extension base="xs:string">
@@ -36,7 +25,7 @@
                                                </xs:simpleContent>
                                        </xs:complexType>
                                </xs:element>
-                               <xs:element ref="vamsas:Provenance" minOccurs="1" maxOccurs="1"/>
+                               <xs:element ref="vamsas:Provenance"/>
                        </xs:sequence>
                        <xs:attribute name="id" type="xs:ID" use="optional"/>
                </xs:complexType>
@@ -44,7 +33,7 @@
        <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"/>
@@ -57,7 +46,7 @@
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
-       <xs:element name="SequenceSet">
+       <xs:element name="DataSet">
                <xs:complexType>
                        <xs:sequence>
                                <xs:element name="Sequence" maxOccurs="unbounded">
@@ -67,9 +56,9 @@
                                                                <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="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: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"/>
@@ -98,7 +87,7 @@
                                <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: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: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:element name="ApplicationData">
                <xs:complexType>
                        <xs:sequence>
-                               <xs:element name="Application">
+                               <xs:element name="Application" minOccurs="0" maxOccurs="unbounded">
                                        <xs:complexType>
                                                <xs:sequence>
-                                                       <xs:element name="User">
+                                                       <xs:element name="User" maxOccurs="unbounded">
                                                                <xs:complexType>
                                                                        <xs:attribute name="fullname" type="xs:string"/>
                                                                        <xs:attribute name="organization" 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: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>