visible
[jalview.git] / schemas / jalview.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <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">
3                 <xs:import namespace="www.vamsas.ac.uk/jalview/version2" schemaLocation="vamsas.xsd"/>
4         <xs:import namespace="www.jalview.org/colours" schemaLocation="JalviewUserColours.xsd"/>
5         <xs:complexType name="JalviewModel">
6                 <xs:sequence>
7                         <xs:element name="creationDate" type="xs:dateTime"/>
8                         <xs:element name="version" type="xs:string"/>
9                         <xs:element name="vamsasModel" type="vamsas:VAMSAS"/>
10                         <xs:sequence>
11                                 <xs:element name="JSeq" maxOccurs="unbounded">
12                                         <xs:complexType>
13                                                 <xs:sequence>
14                                                         <xs:element name="features" type="jv:feature" minOccurs="0" maxOccurs="unbounded"/>
15                                                         <xs:element name="pdbids" minOccurs="0" maxOccurs="unbounded">
16                                                                 <xs:complexType>
17                                                                         <xs:complexContent>
18                                                                                 <xs:extension base="jv:pdbentry">
19                                                                                         <xs:sequence>
20                                                                                                 <xs:element name="structureState" minOccurs="0" maxOccurs="unbounded">
21                                                                                                         <xs:complexType>
22                                                                                                                 <xs:simpleContent>
23                                                                                                                         <xs:extension base="xs:string">
24                                                                                                                                 <xs:attribute name="visible" type="xs:boolean"/>
25                                                                                                                                 <xs:attribute name="xpos" type="xs:int"/>
26                                                                                                                                 <xs:attribute name="ypos" type="xs:int"/>
27                                                                                                                                 <xs:attribute name="width" type="xs:int"/>
28                                                                                                                                 <xs:attribute name="height" type="xs:int"/>
29                                                                                                                         </xs:extension>
30                                                                                                                 </xs:simpleContent>
31                                                                                                         </xs:complexType>
32                                                                                                 </xs:element>
33                                                                                         </xs:sequence>
34                                                                                 </xs:extension>
35                                                                         </xs:complexContent>
36                                                                 </xs:complexType>
37                                                         </xs:element>
38                                                         <xs:element name="hiddenSequences" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
39                                                 </xs:sequence>
40                                                 <xs:attribute name="colour" type="xs:int" use="optional"/>
41                                                 <xs:attribute name="start" type="xs:int" use="required"/>
42                                                 <xs:attribute name="end" type="xs:int" use="required"/>
43                                                 <xs:attribute name="id" type="xs:int" use="required"/>
44                                                 <xs:attribute name="hidden" type="xs:boolean"/>
45                                         </xs:complexType>
46                                 </xs:element>
47                                 <xs:element name="JGroup" minOccurs="0" maxOccurs="unbounded">
48                                         <xs:complexType>
49                                                 <xs:sequence>
50                                                         <xs:element name="seq" type="xs:int" maxOccurs="unbounded"/>
51                                                 </xs:sequence>
52                                                 <xs:attribute name="start" type="xs:int"/>
53                                                 <xs:attribute name="end" type="xs:int"/>
54                                                 <xs:attribute name="name" type="xs:string"/>
55                                                 <xs:attribute name="colour" type="xs:string"/>
56                                                 <xs:attribute name="consThreshold" type="xs:int"/>
57                                                 <xs:attribute name="pidThreshold" type="xs:int"/>
58                                                 <xs:attribute name="outlineColour" type="xs:int"/>
59                                                 <xs:attribute name="displayBoxes" type="xs:boolean"/>
60                                                 <xs:attribute name="displayText" type="xs:boolean"/>
61                                                 <xs:attribute name="colourText" type="xs:boolean"/>
62                                                 <xs:attribute name="textCol1" type="xs:int"/>
63                                                 <xs:attribute name="textCol2" type="xs:int"/>
64                                                 <xs:attribute name="textColThreshold" type="xs:int"/>
65                                         </xs:complexType>
66                                 </xs:element>
67                                 <xs:element name="Viewport" maxOccurs="unbounded">
68                                         <xs:complexType>
69                                                 <xs:sequence>
70                                                         <xs:element name="AnnotationColours" minOccurs="0">
71                                                                 <xs:complexType>
72                                                                         <xs:attribute name="aboveThreshold" type="xs:int"/>
73                                                                         <xs:attribute name="annotation" type="xs:string"/>
74                                                                         <xs:attribute name="minColour" type="xs:int"/>
75                                                                         <xs:attribute name="maxColour" type="xs:int"/>
76                                                                         <xs:attribute name="colourScheme" type="xs:string"/>
77                                                                         <xs:attribute name="threshold" type="xs:float"/>
78                                                                 </xs:complexType>
79                                                         </xs:element>
80                                                         <xs:element name="hiddenColumns" minOccurs="0" maxOccurs="unbounded">
81                                                                 <xs:complexType>
82                                                                         <xs:attribute name="start" type="xs:int"/>
83                                                                         <xs:attribute name="end" type="xs:int"/>
84                                                                 </xs:complexType>
85                                                         </xs:element>
86                                                 </xs:sequence>
87                                                 <xs:attribute name="conservationSelected" type="xs:boolean"/>
88                                                 <xs:attribute name="pidSelected" type="xs:boolean"/>
89                                                 <xs:attribute name="bgColour" type="xs:string"/>
90                                                 <xs:attribute name="consThreshold" type="xs:int"/>
91                                                 <xs:attribute name="pidThreshold" type="xs:int"/>
92                                                 <xs:attribute name="title" type="xs:string"/>
93                                                 <xs:attribute name="showFullId" type="xs:boolean"/>
94                                                 <xs:attribute name="rightAlignIds" type="xs:boolean"/>
95                                                 <xs:attribute name="showText" type="xs:boolean"/>
96                                                 <xs:attribute name="showColourText" type="xs:boolean"/>
97                                                 <xs:attribute name="showBoxes" type="xs:boolean"/>
98                                                 <xs:attribute name="wrapAlignment" type="xs:boolean"/>
99                                                 <xs:attribute name="renderGaps" type="xs:boolean"/>
100                                                 <xs:attribute name="showSequenceFeatures" type="xs:boolean"/>
101                                                 <xs:attribute name="showAnnotation" type="xs:boolean"/>
102                                                 <xs:attribute name="xpos" type="xs:int"/>
103                                                 <xs:attribute name="ypos" type="xs:int"/>
104                                                 <xs:attribute name="width" type="xs:int"/>
105                                                 <xs:attribute name="height" type="xs:int"/>
106                                                 <xs:attribute name="startRes" type="xs:int"/>
107                                                 <xs:attribute name="startSeq" type="xs:int"/>
108                                                 <xs:attribute name="fontName" type="xs:string"/>
109                                                 <xs:attribute name="fontSize" type="xs:int"/>
110                                                 <xs:attribute name="fontStyle" type="xs:int"/>
111                                                 <xs:attribute name="viewName" type="xs:string"/>
112                                                 <xs:attribute name="sequenceSetId" type="xs:string"/>
113                                                 <xs:attribute name="gatheredViews" type="xs:boolean"/>
114                                                 <xs:attribute name="textCol1" type="xs:int"/>
115                                                 <xs:attribute name="textCol2" type="xs:int"/>
116                                                 <xs:attribute name="textColThreshold" type="xs:int"/>
117                                         </xs:complexType>
118                                 </xs:element>
119                                 <xs:element name="UserColours" minOccurs="0" maxOccurs="unbounded">
120                                         <xs:complexType>
121                                                 <xs:sequence>
122                                                         <xs:element name="UserColourScheme" type="jalview:JalviewUserColours"/>
123                                                 </xs:sequence>
124                                                 <xs:attribute name="id" type="xs:string"/>
125                                         </xs:complexType>
126                                 </xs:element>
127                                 <xs:element name="tree" minOccurs="0" maxOccurs="unbounded">
128                                         <xs:complexType>
129                                                 <xs:sequence minOccurs="0">
130                                                         <xs:element name="title" type="xs:string"/>
131                                                         <xs:element name="newick" type="xs:string"/>
132                                                 </xs:sequence>
133                                                 <xs:attribute name="width" type="xs:int"/>
134                                                 <xs:attribute name="height" type="xs:int"/>
135                                                 <xs:attribute name="xpos" type="xs:int"/>
136                                                 <xs:attribute name="ypos" type="xs:int"/>
137                                                 <xs:attribute name="fontName" type="xs:string"/>
138                                                 <xs:attribute name="fontSize" type="xs:int"/>
139                                                 <xs:attribute name="fontStyle" type="xs:int"/>
140                                                 <xs:attribute name="threshold" type="xs:float"/>
141                                                 <xs:attribute name="showBootstrap" type="xs:boolean"/>
142                                                 <xs:attribute name="showDistances" type="xs:boolean"/>
143                                                 <xs:attribute name="markUnlinked" type="xs:boolean"/>
144                                                 <xs:attribute name="fitToWindow" type="xs:boolean"/>
145                                                 <xs:attribute name="currentTree" type="xs:boolean"/>
146                                         </xs:complexType>
147                                 </xs:element>
148                                 <xs:element name="FeatureSettings" minOccurs="0">
149                                         <xs:complexType>
150                                                 <xs:sequence>
151                                                         <xs:element name="setting" minOccurs="0" maxOccurs="unbounded">
152                                                                 <xs:complexType>
153                                                                         <xs:attribute name="type" type="xs:string" use="required"/>
154                                                                         <xs:attribute name="colour" type="xs:int" use="required"/>
155                                                                         <xs:attribute name="display" type="xs:boolean" use="required"/>
156                                                                         <xs:attribute name="order" type="xs:float" use="optional"/>
157                                                                 </xs:complexType>
158                                                         </xs:element>
159                                                         <xs:element name="group" minOccurs="0" maxOccurs="unbounded">
160                                                                 <xs:complexType>
161                                                                         <xs:attribute name="name" type="xs:string" use="required"/>
162                                                                         <xs:attribute name="display" type="xs:boolean" use="required"/>
163                                                                 </xs:complexType>
164                                                         </xs:element>
165                                                 </xs:sequence>
166                                         </xs:complexType>
167                                 </xs:element>
168                         </xs:sequence>
169                 </xs:sequence>
170         </xs:complexType>
171         <xs:complexType name="feature">
172                 <xs:sequence>
173                         <xs:element name="otherData" minOccurs="0" maxOccurs="unbounded">
174                                 <xs:complexType>
175                                         <xs:attribute name="key" type="xs:string" use="required"/>
176                                         <xs:attribute name="value" type="xs:string" use="required"/>
177                                 </xs:complexType>
178                         </xs:element>
179                 </xs:sequence>
180                 <xs:attribute name="begin" type="xs:int" use="required"/>
181                 <xs:attribute name="end" type="xs:int" use="required"/>
182                 <xs:attribute name="type" type="xs:string" use="required"/>
183                 <xs:attribute name="description" type="xs:string" use="optional"/>
184                 <xs:attribute name="status" type="xs:string" use="optional"/>
185                 <xs:attribute name="featureGroup" type="xs:string" use="optional"/>
186                 <xs:attribute name="score" type="xs:float" use="optional"/>
187         </xs:complexType>
188         <xs:complexType name="pdbentry">
189                 <xs:sequence minOccurs="0" maxOccurs="unbounded">
190                         <xs:element name="property" minOccurs="0" maxOccurs="unbounded">
191                                 <xs:complexType>
192                                         <xs:attribute name="name" type="xs:string" use="required"/>
193                                         <xs:attribute name="value" type="xs:string" use="required"/>
194                                 </xs:complexType>
195                         </xs:element>
196                 </xs:sequence>
197                 <xs:attribute name="id" type="xs:string" use="required"/>
198                 <xs:attribute name="type" type="xs:string" use="optional"/>
199                 <xs:attribute name="file" type="xs:string"/>
200         </xs:complexType>
201 </xs:schema>