Sequences are optionalcvs diff vamsas.xsd
[jalview.git] / schemas / vamsas.xsd
index 08a70af..aeb9ee3 100755 (executable)
@@ -1,25 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>\r
-<!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by lj (jl) -->\r
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vamsas="www.vamsas.org" targetNamespace="www.vamsas.org" elementFormDefault="qualified" attributeFormDefault="unqualified">\r
+<!-- edited with XMLSpy v2006 sp1 U (http://www.altova.com) by ioh[ (o[ih[oh) -->\r
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vamsas="www.vamsas.ac.uk/jalview/version2" targetNamespace="www.vamsas.ac.uk/jalview/version2" elementFormDefault="qualified" attributeFormDefault="unqualified">\r
        <xs:complexType name="VAMSAS">\r
                <xs:sequence>\r
-                       <xs:element name="Alignment" minOccurs="0" maxOccurs="unbounded">\r
-                               <xs:complexType>\r
-                                       <xs:sequence>\r
-                                               <xs:element name="Annotation" minOccurs="0">\r
-                                                       <xs:complexType>\r
-                                                               <xs:sequence>\r
-                                                                       <xs:element ref="vamsas:annotationElement" maxOccurs="unbounded"/>\r
-                                                                       <xs:element name="label" type="xs:string"/>\r
-                                                                       <xs:element name="description" type="xs:string"/>\r
-                                                               </xs:sequence>\r
-                                                               <xs:attribute name="graph" type="xs:boolean" use="required"/>\r
-                                                       </xs:complexType>\r
-                                               </xs:element>\r
-                                               <xs:element ref="vamsas:SequenceSet"/>\r
-                                       </xs:sequence>\r
-                               </xs:complexType>\r
-                       </xs:element>\r
                        <xs:element name="Tree" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>\r
                        <xs:element ref="vamsas:SequenceSet" minOccurs="0" maxOccurs="unbounded"/>\r
                </xs:sequence>\r
        <xs:element name="SequenceSet">\r
                <xs:complexType>\r
                        <xs:sequence>\r
-                               <xs:element name="Sequence" type="vamsas:SequenceType" maxOccurs="unbounded"/>\r
+                               <xs:element name="Sequence" minOccurs="0" maxOccurs="unbounded">\r
+                                       <xs:complexType>\r
+                                               <xs:complexContent>\r
+                                                       <xs:extension base="vamsas:SequenceType">\r
+                                                               <xs:sequence>\r
+                                                                       <xs:element name="DBRef" minOccurs="0" maxOccurs="unbounded">\r
+                                                                               <xs:complexType>\r
+                                                                                       <xs:attribute name="source" type="xs:string"/>\r
+                                                                                       <xs:attribute name="version" type="xs:string"/>\r
+                                                                                       <xs:attribute name="accessionId" type="xs:string"/>\r
+                                                                               </xs:complexType>\r
+                                                                       </xs:element>\r
+                                                               </xs:sequence>\r
+                                                       </xs:extension>\r
+                                               </xs:complexContent>\r
+                                       </xs:complexType>\r
+                               </xs:element>\r
                                <xs:element name="Annotation" minOccurs="0" maxOccurs="unbounded">\r
                                        <xs:complexType>\r
                                                <xs:sequence>\r
-                                                       <xs:element name="description" type="xs:string" minOccurs="0"/>\r
-                                                       <xs:element name="status" type="xs:string" minOccurs="0"/>\r
                                                        <xs:element ref="vamsas:annotationElement" minOccurs="0" maxOccurs="unbounded"/>\r
+                                                       <xs:element name="label" type="xs:string"/>\r
+                                                       <xs:element name="description" type="xs:string" minOccurs="0"/>\r
+                                                       <xs:element name="thresholdLine" minOccurs="0">\r
+                                                               <xs:complexType>\r
+                                                                       <xs:attribute name="label" type="xs:string"/>\r
+                                                                       <xs:attribute name="value" type="xs:float"/>\r
+                                                                       <xs:attribute name="colour" type="xs:int"/>\r
+                                                               </xs:complexType>\r
+                                                       </xs:element>\r
                                                </xs:sequence>\r
-                                               <xs:attribute name="type" type="xs:string" use="required"/>\r
-                                               <xs:attribute name="end" type="xs:string" use="required"/>\r
-                                               <xs:attribute name="begin" type="xs:string" use="required"/>\r
-                                               <xs:attribute name="seqRef" type="xs:string" use="required"/>\r
+                                               <xs:attribute name="graph" type="xs:boolean" use="required"/>\r
+                                               <xs:attribute name="graphType" type="xs:int" use="optional"/>\r
+                                               <xs:attribute name="sequenceRef" type="xs:string" use="optional"/>\r
+                                               <xs:attribute name="graphColour" type="xs:int" use="optional"/>\r
+                                               <xs:attribute name="graphGroup" type="xs:int" use="optional"/>\r
                                        </xs:complexType>\r
                                </xs:element>\r
                        </xs:sequence>\r
        <xs:element name="annotationElement">\r
                <xs:complexType>\r
                        <xs:sequence>\r
-                               <xs:element name="displayCharacter" type="xs:string"/>\r
-                               <xs:element name="description" type="xs:string"/>\r
-                               <xs:element name="secondaryStructure">\r
+                               <xs:element name="displayCharacter" type="xs:string" minOccurs="0"/>\r
+                               <xs:element name="description" type="xs:string" minOccurs="0"/>\r
+                               <xs:element name="secondaryStructure" minOccurs="0">\r
                                        <xs:simpleType>\r
                                                <xs:restriction base="xs:string">\r
                                                        <xs:length value="1"/>\r
                                                </xs:restriction>\r
                                        </xs:simpleType>\r
                                </xs:element>\r
-                               <xs:element name="value" type="xs:float"/>\r
+                               <xs:element name="value" type="xs:float" minOccurs="0"/>\r
                        </xs:sequence>\r
                        <xs:attribute name="position" type="xs:int" use="required"/>\r
+                       <xs:attribute name="colour" type="xs:int" use="optional"/>\r
                </xs:complexType>\r
        </xs:element>\r
        <xs:complexType name="SequenceType">\r
                <xs:sequence>\r
-                       <xs:element name="sequence" type="xs:string"/>\r
-                       <xs:element name="name" type="xs:string"/>\r
+                       <xs:element name="sequence" type="xs:string" minOccurs="0"/>\r
+                       <xs:element name="name" type="xs:string" minOccurs="0"/>\r
                </xs:sequence>\r
                <xs:attribute name="id" type="xs:string"/>\r
+               <xs:attribute name="description" type="xs:string"/>\r
        </xs:complexType>\r
 </xs:schema>\r