fix path
[jalview.git] / schemas / jalview.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   Jalview - A Sequence Alignment Editor and Viewer (Version 2.4.0.b2)
4   Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
5   
6   This program is free software; you can redistribute it and/or
7   modify it under the terms of the GNU General Public License
8   as published by the Free Software Foundation; either version 2
9   of the License, or (at your option) any later version.
10   
11   This program is distributed in the hope that it will be useful,
12   but WITHOUT ANY WARRANTY; without even the implied warranty of
13   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   GNU General Public License for more details.
15   
16   You should have received a copy of the GNU General Public License
17   along with this program; if not, write to the Free Software
18   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
19 -->
20 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vamsas="www.vamsas.ac.uk/jalview/version2" xmlns:jalview="www.jalview.org/colours" xmlns:jv="www.jalview.org" targetNamespace="www.jalview.org" elementFormDefault="qualified" attributeFormDefault="unqualified">
21                 <xs:import namespace="www.vamsas.ac.uk/jalview/version2" schemaLocation="vamsas.xsd"/>
22         <xs:import namespace="www.jalview.org/colours" schemaLocation="JalviewUserColours.xsd"/>
23         <xs:complexType name="JalviewModel">
24                 <xs:sequence>
25                         <xs:element name="creationDate" type="xs:dateTime"/>
26                         <xs:element name="version" type="xs:string"/>
27                         <xs:element name="vamsasModel" type="vamsas:VAMSAS"/>
28                         <xs:sequence>
29                                 <xs:element name="JSeq" maxOccurs="unbounded">
30                                         <xs:complexType>
31                                                 <xs:sequence>
32                                                         <xs:element name="features" type="jv:feature" minOccurs="0" maxOccurs="unbounded"/>
33                                                         <xs:element name="pdbids" minOccurs="0" maxOccurs="unbounded">
34                                                                 <xs:complexType>
35                                                                         <xs:complexContent>
36                                                                                 <xs:extension base="jv:pdbentry">
37                                                                                         <xs:sequence>
38                                                                                                 <xs:element name="structureState" minOccurs="0" maxOccurs="unbounded">
39                                                                                                         <xs:complexType>
40                                                                                                                 <xs:simpleContent>
41                                                                                                                         <xs:extension base="xs:string">
42                                                                                                                                 <xs:attribute name="visible" type="xs:boolean"/>
43                                                                                                                                 <xs:attribute name="xpos" type="xs:int"/>
44                                                                                                                                 <xs:attribute name="ypos" type="xs:int"/>
45                                                                                                                                 <xs:attribute name="width" type="xs:int"/>
46                                                                                                                                 <xs:attribute name="height" type="xs:int"/>
47                                                                                                                         </xs:extension>
48                                                                                                                 </xs:simpleContent>
49                                                                                                         </xs:complexType>
50                                                                                                 </xs:element>
51                                                                                         </xs:sequence>
52                                                                                 </xs:extension>
53                                                                         </xs:complexContent>
54                                                                 </xs:complexType>
55                                                         </xs:element>
56                                                         <xs:element name="hiddenSequences" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
57                                                 </xs:sequence>
58                                                 <xs:attribute name="colour" type="xs:int" use="optional"/>
59                                                 <xs:attribute name="start" type="xs:int" use="required"/>
60                                                 <xs:attribute name="end" type="xs:int" use="required"/>
61                                                 <xs:attribute name="id" type="xs:string" use="required"/>
62                                                 <xs:attribute name="hidden" type="xs:boolean"/>
63                                         </xs:complexType>
64                                 </xs:element>
65                                 <xs:element name="JGroup" minOccurs="0" maxOccurs="unbounded">
66                                         <xs:complexType>
67                                                 <xs:sequence>
68                                                         <xs:element name="seq" type="xs:string" maxOccurs="unbounded"/>
69                                                 </xs:sequence>
70                                                 <xs:attribute name="start" type="xs:int"/>
71                                                 <xs:attribute name="end" type="xs:int"/>
72                                                 <xs:attribute name="name" type="xs:string"/>
73                                                 <xs:attribute name="colour" type="xs:string"/>
74                                                 <xs:attribute name="consThreshold" type="xs:int"/>
75                                                 <xs:attribute name="pidThreshold" type="xs:int"/>
76                                                 <xs:attribute name="outlineColour" type="xs:int"/>
77                                                 <xs:attribute name="displayBoxes" type="xs:boolean"/>
78                                                 <xs:attribute name="displayText" type="xs:boolean"/>
79                                                 <xs:attribute name="colourText" type="xs:boolean"/>
80                                                 <xs:attribute name="textCol1" type="xs:int"/>
81                                                 <xs:attribute name="textCol2" type="xs:int"/>
82                                                 <xs:attribute name="textColThreshold" type="xs:int"/>
83                                         </xs:complexType>
84                                 </xs:element>
85                                 <xs:element name="Viewport" maxOccurs="unbounded">
86                                         <xs:complexType>
87                                                 <xs:sequence>
88                                                         <xs:element name="AnnotationColours" minOccurs="0">
89                                                                 <xs:complexType>
90                                                                         <xs:attribute name="aboveThreshold" type="xs:int"/>
91                                                                         <xs:attribute name="annotation" type="xs:string"/>
92                                                                         <xs:attribute name="minColour" type="xs:int"/>
93                                                                         <xs:attribute name="maxColour" type="xs:int"/>
94                                                                         <xs:attribute name="colourScheme" type="xs:string"/>
95                                                                         <xs:attribute name="threshold" type="xs:float"/>
96                                                                 </xs:complexType>
97                                                         </xs:element>
98                                                         <xs:element name="hiddenColumns" minOccurs="0" maxOccurs="unbounded">
99                                                                 <xs:complexType>
100                                                                         <xs:attribute name="start" type="xs:int"/>
101                                                                         <xs:attribute name="end" type="xs:int"/>
102                                                                 </xs:complexType>
103                                                         </xs:element>
104                                                 </xs:sequence>
105                                                 <xs:attribute name="conservationSelected" type="xs:boolean"/>
106                                                 <xs:attribute name="pidSelected" type="xs:boolean"/>
107                                                 <xs:attribute name="bgColour" type="xs:string"/>
108                                                 <xs:attribute name="consThreshold" type="xs:int"/>
109                                                 <xs:attribute name="pidThreshold" type="xs:int"/>
110                                                 <xs:attribute name="title" type="xs:string"/>
111                                                 <xs:attribute name="showFullId" type="xs:boolean"/>
112                                                 <xs:attribute name="rightAlignIds" type="xs:boolean"/>
113                                                 <xs:attribute name="showText" type="xs:boolean"/>
114                                                 <xs:attribute name="showColourText" type="xs:boolean"/>
115                                                 <xs:attribute name="showBoxes" type="xs:boolean"/>
116                                                 <xs:attribute name="wrapAlignment" type="xs:boolean"/>
117                                                 <xs:attribute name="renderGaps" type="xs:boolean"/>
118                                                 <xs:attribute name="showSequenceFeatures" type="xs:boolean"/>
119                                                 <xs:attribute name="showAnnotation" type="xs:boolean"/>
120                                                 <xs:attribute name="xpos" type="xs:int"/>
121                                                 <xs:attribute name="ypos" type="xs:int"/>
122                                                 <xs:attribute name="width" type="xs:int"/>
123                                                 <xs:attribute name="height" type="xs:int"/>
124                                                 <xs:attribute name="startRes" type="xs:int"/>
125                                                 <xs:attribute name="startSeq" type="xs:int"/>
126                                                 <xs:attribute name="fontName" type="xs:string"/>
127                                                 <xs:attribute name="fontSize" type="xs:int"/>
128                                                 <xs:attribute name="fontStyle" type="xs:int"/>
129                                                 <xs:attribute name="viewName" type="xs:string"/>
130                                                 <xs:attribute name="sequenceSetId" type="xs:string"/>
131                                                 <xs:attribute name="gatheredViews" type="xs:boolean"/>
132                                                 <xs:attribute name="textCol1" type="xs:int"/>
133                                                 <xs:attribute name="textCol2" type="xs:int"/>
134                                                 <xs:attribute name="textColThreshold" type="xs:int"/>
135                                         </xs:complexType>
136                                 </xs:element>
137                                 <xs:element name="UserColours" minOccurs="0" maxOccurs="unbounded">
138                                         <xs:complexType>
139                                                 <xs:sequence>
140                                                         <xs:element name="UserColourScheme" type="jalview:JalviewUserColours"/>
141                                                 </xs:sequence>
142                                                 <xs:attribute name="id" type="xs:string"/>
143                                         </xs:complexType>
144                                 </xs:element>
145                                 <xs:element name="tree" minOccurs="0" maxOccurs="unbounded">
146                                         <xs:complexType>
147                                                 <xs:sequence minOccurs="0">
148                                                         <xs:element name="title" type="xs:string"/>
149                                                         <xs:element name="newick" type="xs:string"/>
150                                                 </xs:sequence>
151                                                 <xs:attribute name="width" type="xs:int"/>
152                                                 <xs:attribute name="height" type="xs:int"/>
153                                                 <xs:attribute name="xpos" type="xs:int"/>
154                                                 <xs:attribute name="ypos" type="xs:int"/>
155                                                 <xs:attribute name="fontName" type="xs:string"/>
156                                                 <xs:attribute name="fontSize" type="xs:int"/>
157                                                 <xs:attribute name="fontStyle" type="xs:int"/>
158                                                 <xs:attribute name="threshold" type="xs:float"/>
159                                                 <xs:attribute name="showBootstrap" type="xs:boolean"/>
160                                                 <xs:attribute name="showDistances" type="xs:boolean"/>
161                                                 <xs:attribute name="markUnlinked" type="xs:boolean"/>
162                                                 <xs:attribute name="fitToWindow" type="xs:boolean"/>
163                                                 <xs:attribute name="currentTree" type="xs:boolean"/>
164                                         </xs:complexType>
165                                 </xs:element>
166                                 <xs:element name="FeatureSettings" minOccurs="0">
167                                         <xs:complexType>
168                                                 <xs:sequence>
169                                                         <xs:element name="setting" minOccurs="0" maxOccurs="unbounded">
170                                                                 <xs:complexType>
171                                                                         <xs:attribute name="type" type="xs:string" use="required"/>
172                                                                         <xs:attribute name="colour" type="xs:int" use="required"/>
173                                                                         <xs:attribute name="display" type="xs:boolean" use="required"/>
174                                                                         <xs:attribute name="order" type="xs:float" use="optional"/>
175                                                                 </xs:complexType>
176                                                         </xs:element>
177                                                         <xs:element name="group" minOccurs="0" maxOccurs="unbounded">
178                                                                 <xs:complexType>
179                                                                         <xs:attribute name="name" type="xs:string" use="required"/>
180                                                                         <xs:attribute name="display" type="xs:boolean" use="required"/>
181                                                                 </xs:complexType>
182                                                         </xs:element>
183                                                 </xs:sequence>
184                                         </xs:complexType>
185                                 </xs:element>
186                         </xs:sequence>
187                 </xs:sequence>
188         </xs:complexType>
189         <xs:complexType name="feature">
190                 <xs:sequence>
191                         <xs:element name="otherData" minOccurs="0" maxOccurs="unbounded">
192                                 <xs:complexType>
193                                         <xs:attribute name="key" type="xs:string" use="required"/>
194                                         <xs:attribute name="value" type="xs:string" use="required"/>
195                                 </xs:complexType>
196                         </xs:element>
197                 </xs:sequence>
198                 <xs:attribute name="begin" type="xs:int" use="required"/>
199                 <xs:attribute name="end" type="xs:int" use="required"/>
200                 <xs:attribute name="type" type="xs:string" use="required"/>
201                 <xs:attribute name="description" type="xs:string" use="optional"/>
202                 <xs:attribute name="status" type="xs:string" use="optional"/>
203                 <xs:attribute name="featureGroup" type="xs:string" use="optional"/>
204                 <xs:attribute name="score" type="xs:float" use="optional"/>
205         </xs:complexType>
206         <xs:complexType name="pdbentry">
207                 <xs:sequence minOccurs="0" maxOccurs="unbounded">
208                         <xs:element name="property" minOccurs="0" maxOccurs="unbounded">
209                                 <xs:complexType>
210                                         <xs:attribute name="name" type="xs:string" use="required"/>
211                                         <xs:attribute name="value" type="xs:string" use="required"/>
212                                 </xs:complexType>
213                         </xs:element>
214                 </xs:sequence>
215                 <xs:attribute name="id" type="xs:string" use="required"/>
216                 <xs:attribute name="type" type="xs:string" use="optional"/>
217                 <xs:attribute name="file" type="xs:string"/>
218         </xs:complexType>
219 </xs:schema>