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