Optional instead of min/max
[vamsas.git] / schemas / vamsas.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by MSD (EMBL OUTSTATION THE EBI WELLCOME TRUST GENOME CAMPUS) -->
3 <!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by lj (jl) -->
4 <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">
5         <xs:element name="Version" type="xs:string"/>
6                 <xs:annotation>
7                         <xs:documentation>DESCRIPTION</xs:documentation>
8         </xs:annotation>
9         
10         <xs:complexType name="LockFile">
11                 <xs:simpleContent>
12                         <xs:extension base="xs:string"/>
13                 </xs:simpleContent>
14         </xs:complexType>
15         <xs:element name="VAMSAS">
16         <xs:complexType>
17
18                 <xs:sequence>
19                         <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
20                         <xs:element ref="vamsas:SequenceSet" minOccurs="0" maxOccurs="unbounded"/>
21                 </xs:sequence>
22                 <xs:attribute name="id" type="xs:ID"  use="optional"/>  
23                 </xs:complexType>
24     </xs:element>
25     <xs:element name="Tree">
26                 <xs:complexType>
27                 <xs:sequence>
28                         <xs:element name="title" type="xs:string" minOccurs="0" maxOccurs="1"/>
29                         <xs:element name="newick" minOccurs="1" maxOccurs="unbounded">
30                           <xs:complexType>
31                           <xs:simpleContent>
32                           <xs:extension base="xs:string">
33                           <xs:attribute name="title" type="xs:string"  use="optional"/>
34                           <xs:attribute name="id" type="xs:ID"  use="optional"/>
35                           </xs:extension>
36                           </xs:simpleContent>
37                           </xs:complexType>
38                         </xs:element>
39                         <xs:element ref="vamsas:Provenance" minOccurs="1" maxOccurs="1"/>
40                     </xs:sequence>
41                 <xs:attribute name="id" type="xs:ID"  use="optional"/>
42         </xs:complexType>
43         </xs:element>
44         <xs:element name="Provenance">
45                 <xs:complexType>
46                         <xs:sequence>
47                                 <xs:element name="entry" minOccurs="0" maxOccurs="unbounded">
48                                         <xs:complexType>
49                                                 <xs:sequence>
50                                                         <xs:element name="User" type="xs:string"/>
51                                                         <xs:element name="Action" type="xs:string"/>
52                                                         <xs:element name="Date" type="xs:date"/>
53                                                 </xs:sequence>
54                                                 <xs:attribute name="id" type="xs:ID"  use="optional"/>
55                                         </xs:complexType>
56                                 </xs:element>
57                         </xs:sequence>
58                 </xs:complexType>
59         </xs:element>
60
61         <xs:element name="SequenceSet">
62                 <xs:complexType>
63                         <xs:sequence>
64                                 <xs:element name="Sequence" maxOccurs="unbounded">
65                                         <xs:complexType>
66                                                 <xs:complexContent>
67                                                         <xs:extension base="vamsas:SequenceType">
68                                                                 <xs:sequence>
69                                                                     <xs:element name="dbRef" minOccurs="0" maxOccurs="unbounded">
70                                                                         <xs:complexType>
71                                                                                 <xs:attribute name="source"/>
72                                                                                 <xs:attribute name="version"/>
73                                                                                 <xs:attribute name="accessionId"/>
74                                                                                 <xs:attribute name="id" type="xs:ID"  use="optional"/>
75                                                                         </xs:complexType>
76                                                                         </xs:element>
77                                                                 </xs:sequence>
78                                                                 <xs:attribute name="id" type="xs:ID"  use="required"/>
79                                                                 <xs:attribute name="dictionary" type="xs:string"/>
80                                                         </xs:extension>
81                                                 </xs:complexContent>
82                                         </xs:complexType>
83                                 </xs:element>
84                                 <xs:element name="SequenceSetAnnotations" minOccurs="0" maxOccurs="unbounded">
85                                         <xs:complexType>
86                                                 <xs:sequence>
87                                                         <xs:element name="description" type="xs:string" minOccurs="0"/>
88                                                         <xs:element name="status" type="xs:string" minOccurs="0"/>
89                                                         <xs:element ref="vamsas:annotationElement" minOccurs="0" maxOccurs="unbounded"/>
90                                                         <xs:element ref="vamsas:Provenance" minOccurs="0" maxOccurs="unbounded"/>
91                                                 </xs:sequence>
92                                                 <xs:attribute name="type" type="xs:string" use="required"/>
93                                                 <xs:attribute name="end" type="xs:string" use="required"/>
94                                                 <xs:attribute name="begin" type="xs:string" use="required"/>
95                                                 <xs:attribute name="seqRef" type="xs:IDREF" use="required"/>
96                                                 <xs:attribute name="id" type="xs:ID"  use="optional"/>
97                                         </xs:complexType>
98                                 </xs:element>
99                                 <xs:element name="Alignment" minOccurs="0" maxOccurs="unbounded">
100                                         <xs:complexType>
101                                                 <xs:sequence>
102                                                         <xs:element name="AlignmentAnnotations" minOccurs="0">
103                                                                 <xs:complexType>
104                                                                         <xs:sequence>
105                                                                                 <xs:element ref="vamsas:annotationElement" maxOccurs="unbounded"/>
106                                                                                 <xs:element name="label" type="xs:string"/>
107                                                                                 <xs:element name="description" type="xs:string"/>
108                                                                                 <xs:element ref="vamsas:Provenance"/>
109                                                                         </xs:sequence>
110                                                                         <xs:attribute name="graph" type="xs:boolean" use="required"/>
111                                                                         <xs:attribute name="id" type="xs:ID"  use="optional"/>
112                                                                 </xs:complexType>
113                                                         </xs:element>
114                                                         <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
115                                                         <xs:element name="alignmentSequence" minOccurs="2" maxOccurs="unbounded">
116                                                                 <xs:complexType>
117                                                                         <xs:complexContent>
118                                                                                 <xs:extension base="vamsas:SequenceType">
119                                                                                         <xs:attribute name="id" type="xs:ID"  use="optional"/>
120                                                                                         <xs:attribute name="refid" type="xs:IDREF" use="required"/>
121                                                                                 </xs:extension>
122                                                                         </xs:complexContent>
123                                                                 </xs:complexType>
124                                                         </xs:element>
125                                                         <xs:element ref="vamsas:Provenance"/>
126                                                 </xs:sequence>
127                                                 <xs:attribute name="id" type="xs:ID"  use="optional"/>
128                                         </xs:complexType>
129                                 </xs:element>
130                                 <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
131                                 <xs:element ref="vamsas:Provenance"/>
132                         </xs:sequence>
133                         <xs:attribute name="gapChar" type="xs:string" use="required"/>
134                         <xs:attribute name="aligned" type="xs:boolean" use="optional"/>
135                         <xs:attribute name="id" type="xs:ID"   use="optional"/>
136                 </xs:complexType>
137         </xs:element>
138         <xs:element name="annotationElement">
139                 <xs:complexType>
140                         <xs:sequence>
141                                 <xs:element name="displayCharacter" type="xs:string"/>
142                                 <xs:element name="description" type="xs:string"/>
143                                 <xs:element name="secondaryStructure">
144                                         <xs:simpleType>
145                                                 <xs:restriction base="xs:string">
146                                                         <xs:length value="1"/>
147                                                 </xs:restriction>
148                                         </xs:simpleType>
149                                 </xs:element>
150                                 <xs:element name="value" type="xs:float"/>
151                         </xs:sequence>
152                         <xs:attribute name="position" type="xs:int" use="required"/>
153                         <xs:attribute name="id" type="xs:ID"   use="optional"/>
154                 </xs:complexType>
155         </xs:element>
156     <xs:complexType name="SequenceType">
157                 <xs:sequence>
158                         <xs:element name="sequence" type="xs:string"/>
159                         <xs:element name="name" type="xs:string"/>
160                 </xs:sequence>
161                 <xs:attribute name="start" type="xs:int" use="required"/>
162                 <xs:attribute name="end" type="xs:int" use="required"/>
163         </xs:complexType>
164         
165     <xs:complexType name="ApplicationData">
166                 <xs:sequence>
167                         <xs:element name="Application">
168                                 <xs:complexType>
169                                         <xs:sequence>
170                                           <xs:element name="User">
171                                           <xs:complexType>
172                                                 <xs:attribute name="fullname" type="xs:string"/>
173                                                 <xs:attribute name="organization" type="xs:string"/>
174                                                 <xs:attribute name="data" type="xs:string"/>
175                                           </xs:complexType>
176                                           </xs:element>
177                                         </xs:sequence>
178                                         <xs:attribute name="version" type="xs:string"/>
179                                         <xs:attribute name="name" type="xs:string"/>
180                                         <xs:attribute name="urn" type="xs:string"/>
181                                         <xs:attribute name="data" type="xs:string"/>
182                                 </xs:complexType>
183                         </xs:element>
184                 </xs:sequence>
185         </xs:complexType>
186 </xs:schema>