refactored tree type to avoid conflicts.
[vamsas.git] / schemas / vamsas15_9.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:complexType name="LockFile">
7                 <xs:simpleContent>
8                         <xs:extension base="xs:string"/>
9                 </xs:simpleContent>
10         </xs:complexType>
11         <xs:complexType name="VAMSAS">
12                 <xs:sequence>
13                         <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
14                         <xs:element ref="vamsas:SequenceSet" minOccurs="0" maxOccurs="unbounded"/>
15                 </xs:sequence>
16                 <xs:attribute name="id" type="xs:ID"/>
17     </xs:complexType>
18     <xs:element name="Tree">
19                 <xs:complexType>
20                 <xs:sequence>
21                         <xs:element name="newickFormat" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
22                         <xs:element ref="vamsas:Provenance" minOccurs="1" maxOccurs="1"/>
23                     </xs:sequence>
24                 <xs:attribute name="id" type="xs:ID"/>
25         </xs:complexType>
26         </xs:element>
27         <xs:element name="Provenance">
28                 <xs:complexType>
29                         <xs:sequence maxOccurs="unbounded">
30                                 <xs:element name="entry">
31                                         <xs:complexType>
32                                                 <xs:sequence>
33                                                         <xs:element name="User" type="xs:string"/>
34                                                         <xs:element name="Action" type="xs:string"/>
35                                                         <xs:element name="Date" type="xs:date"/>
36                                                 </xs:sequence>
37                                         <xs:attribute name="id" type="xs:ID"/>
38                                         </xs:complexType>
39                                 </xs:element>
40                         </xs:sequence>
41                 </xs:complexType>
42         </xs:element>
43         <xs:element name="SequenceSet">
44                 <xs:complexType>
45                         <xs:sequence>
46                                 <xs:element name="Sequence" maxOccurs="unbounded">
47                                         <xs:complexType>
48                                                 <xs:complexContent>
49                                                         <xs:extension base="vamsas:SequenceType">
50                                                                 <xs:attribute name="dictionary" type="xs:string"/>
51                                                         </xs:extension>
52                                                 </xs:complexContent>
53                                         </xs:complexType>
54                                 </xs:element>
55                                 <xs:element name="SequenceSetAnnotations" minOccurs="0" maxOccurs="unbounded">
56                                         <xs:complexType>
57                                                 <xs:sequence>
58                                                         <xs:element name="description" type="xs:string" minOccurs="0"/>
59                                                         <xs:element name="status" type="xs:string" minOccurs="0"/>
60                                                         <xs:element ref="vamsas:annotationElement" minOccurs="0" maxOccurs="unbounded"/>
61                                                         <xs:element ref="vamsas:Provenance"/>
62                                                 </xs:sequence>
63                                                 <xs:attribute name="type" type="xs:string" use="required"/>
64                                                 <xs:attribute name="end" type="xs:string" use="required"/>
65                                                 <xs:attribute name="begin" type="xs:string" use="required"/>
66                                                 <xs:attribute name="seqRef" type="xs:IDREF" use="required"/>
67                                                 <xs:attribute name="id" type="xs:ID"/>
68                                         </xs:complexType>
69                                 </xs:element>
70                                 <xs:element name="Alignment" minOccurs="0" maxOccurs="unbounded">
71                                         <xs:complexType>
72                                                 <xs:sequence>
73                                                         <xs:element name="AlignmentAnnotations" minOccurs="0">
74                                                                 <xs:complexType>
75                                                                         <xs:sequence>
76                                                                                 <xs:element ref="vamsas:annotationElement" maxOccurs="unbounded"/>
77                                                                                 <xs:element name="label" type="xs:string"/>
78                                                                                 <xs:element name="description" type="xs:string"/>
79                                                                                 <xs:element ref="vamsas:Provenance"/>
80                                                                         </xs:sequence>
81                                                                         <xs:attribute name="graph" type="xs:boolean" use="required"/>
82                                                                         <xs:attribute name="id" type="xs:ID"/>
83                                                                 </xs:complexType>
84                                                         </xs:element>
85                                                         <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
86                                                         <xs:element name="alignmentSequence" minOccurs="2" maxOccurs="unbounded">
87                                                                 <xs:complexType>
88                                                                         <xs:complexContent>
89                                                                                 <xs:extension base="vamsas:SequenceType">
90                                                                                         <xs:attribute name="refid" type="xs:IDREF" use="required"/>
91                                                                                 </xs:extension>
92                                                                         </xs:complexContent>
93                                                                 </xs:complexType>
94                                                         </xs:element>
95                                                         <xs:element ref="vamsas:Provenance"/>
96                                                 </xs:sequence>
97                                         </xs:complexType>
98                                 </xs:element>
99                                 <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
100                                 <xs:element ref="vamsas:Provenance"/>
101                         </xs:sequence>
102                         <xs:attribute name="gapChar" type="xs:string" use="required"/>
103                         <xs:attribute name="aligned" type="xs:boolean" use="optional"/>
104                         <xs:attribute name="id" type="xs:ID"/>
105                 </xs:complexType>
106         </xs:element>
107         <xs:element name="annotationElement">
108                 <xs:complexType>
109                         <xs:sequence>
110                                 <xs:element name="displayCharacter" type="xs:string"/>
111                                 <xs:element name="description" type="xs:string"/>
112                                 <xs:element name="secondaryStructure">
113                                         <xs:simpleType>
114                                                 <xs:restriction base="xs:string">
115                                                         <xs:length value="1"/>
116                                                 </xs:restriction>
117                                         </xs:simpleType>
118                                 </xs:element>
119                                 <xs:element name="value" type="xs:float"/>
120                         </xs:sequence>
121                         <xs:attribute name="position" type="xs:int" use="required"/>
122                         <xs:attribute name="id" type="xs:ID"/>
123                 </xs:complexType>
124         </xs:element>
125     <xs:complexType name="SequenceType">
126                 <xs:sequence>
127                         <xs:element name="sequence" type="xs:string"/>
128                         <xs:element name="name" type="xs:string"/>
129                         <xs:element name="dbRef" minOccurs="0" maxOccurs="unbounded">
130                                 <xs:complexType>
131                                         <xs:attribute name="source"/>
132                                         <xs:attribute name="version"/>
133                                         <xs:attribute name="accessionId"/>
134                                         <xs:attribute name="id" type="xs:ID"/>
135                                 </xs:complexType>
136                         </xs:element>
137                 </xs:sequence>
138                 <xs:attribute name="start" type="xs:int" use="required"/>
139                 <xs:attribute name="end" type="xs:int" use="required"/>
140                 <xs:attribute name="id" type="xs:ID"/>
141         </xs:complexType>
142         
143     <xs:complexType name="ApplicationData">
144                 <xs:sequence>
145                         <xs:element name="Application">
146                                 <xs:complexType>
147                                         <xs:attribute name="version" type="xs:string"/>
148                                         <xs:attribute name="name" type="xs:string"/>
149                                         <xs:attribute name="session" type="xs:string"/>
150                                         <xs:attribute name="data" type="xs:string"/>
151                                 </xs:complexType>
152                         </xs:element>
153                 </xs:sequence>
154         </xs:complexType>
155 </xs:schema>