JAL-3063 tweak schema so JAXB tool xjc recognises XML root element
[jalview.git] / schemas / jalview.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) 
3         * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of 
4         Jalview. * * Jalview is free software: you can redistribute it and/or * modify 
5         it under the terms of the GNU General Public License * as published by the 
6         Free Software Foundation, either version 3 of the License, or (at your option) 
7         any later version. * * Jalview is distributed in the hope that it will be 
8         useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of 
9         MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General 
10         Public License for more details. * * You should have received a copy of the 
11         GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>. 
12         * The Jalview Authors are detailed in the 'AUTHORS' file. -->
13 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
14         xmlns:vamsas="www.vamsas.ac.uk/jalview/version2" xmlns:jalview="www.jalview.org/colours"
15         xmlns:jv="www.jalview.org" xmlns:jvws="www.jalview.org/xml/wsparamset"
16         targetNamespace="www.jalview.org" elementFormDefault="qualified"
17         attributeFormDefault="unqualified">
18         <xs:import namespace="www.vamsas.ac.uk/jalview/version2"
19                 schemaLocation="vamsas.xsd" />
20         <xs:import namespace="www.jalview.org/colours"
21                 schemaLocation="JalviewUserColours.xsd" />
22         <xs:import namespace="www.jalview.org/xml/wsparamset"
23                 schemaLocation="JalviewWsParamSet.xsd" />
24         <xs:element name="JalviewModel" type="jv:JalviewModel" />
25         <xs:complexType name="JalviewModel">
26                 <xs:sequence>
27                         <xs:element name="creationDate" type="xs:dateTime" />
28                         <xs:element name="version" type="xs:string" />
29                         <xs:element name="vamsasModel" type="vamsas:VAMSAS" />
30                         <xs:sequence>
31                                 <xs:element name="JSeq" maxOccurs="unbounded" minOccurs="0">
32                                         <xs:complexType>
33                                                 <xs:sequence>
34                                                         <xs:element name="features" type="jv:feature"
35                                                                 minOccurs="0" maxOccurs="unbounded" />
36                                                         <xs:element name="pdbids" minOccurs="0" maxOccurs="unbounded">
37                                                                 <xs:complexType>
38                                                                         <xs:complexContent>
39                                                                                 <xs:extension base="jv:pdbentry">
40                                                                                         <xs:sequence>
41                                                                                                 <xs:element name="structureState" minOccurs="0"
42                                                                                                         maxOccurs="unbounded">
43                                                                                                         <xs:complexType>
44                                                                                                                 <xs:simpleContent>
45                                                                                                                         <xs:extension base="xs:string">
46                                                                                                                                 <xs:attributeGroup ref="jv:swingwindow" />
47                                                                                                                                 <xs:attribute name="visible" type="xs:boolean" />
48                                                                                                                                 <xs:attribute name="viewId" type="xs:string"
49                                                                                                                                         use="optional">
50                                                                                                                                         <xs:annotation>
51                                                                                                                                                 <xs:documentation>
52                                                                                                                                                         additional
53                                                                                                                                                         identifier
54                                                                                                                                                         which
55                                                                                                                                                         properly
56                                                                                                                                                         disambiguates
57                                                                                                                                                         the
58                                                                                                                                                         structure
59                                                                                                                                                         view
60                                                                                                                                                         from
61                                                                                                                                                         any
62                                                                                                                                                         other
63                                                                                                                                                         view
64                                                                                                                                                         with
65                                                                                                                                                         the
66                                                                                                                                                         same
67                                                                                                                                                         attributes.
68                                                                                                                                                         This
69                                                                                                                                                         is
70                                                                                                                                                         not
71                                                                                                                                                         an
72                                                                                                                                                         ID,
73                                                                                                                                                         because
74                                                                                                                                                         it
75                                                                                                                                                         is
76                                                                                                                                                         possible
77                                                                                                                                                         to
78                                                                                                                                                         have
79                                                                                                                                                         many
80                                                                                                                                                         references
81                                                                                                                                                         to
82                                                                                                                                                         the
83                                                                                                                                                         same
84                                                                                                                                                         physical
85                                                                                                                                                         structure
86                                                                                                                                                         view
87                                                                                                                                                         from
88                                                                                                                                                         different
89                                                                                                                                                         sequences
90                                                                                                                                                         in
91                                                                                                                                                         an
92                                                                                                                                                         alignment.
93                                                                                                                                                         A
94                                                                                                                                                         structureState
95                                                                                                                                                         element
96                                                                                                                                                         citing
97                                                                                                                                                         the
98                                                                                                                                                         same
99                                                                                                                                                         viewId
100                                                                                                                                                         will
101                                                                                                                                                         appear
102                                                                                                                                                         for
103                                                                                                                                                         each
104                                                                                                                                                         instance.
105                                                                                                                                                 </xs:documentation>
106                                                                                                                                         </xs:annotation>
107                                                                                                                                 </xs:attribute>
108                                                                                                                                 <xs:attribute name="alignwithAlignPanel"
109                                                                                                                                         type="xs:boolean" use="optional" default="true">
110                                                                                                                                         <xs:annotation>
111                                                                                                                                                 <xs:documentation>
112                                                                                                                                                         Flag
113                                                                                                                                                         set
114                                                                                                                                                         if
115                                                                                                                                                         the
116                                                                                                                                                         alignment
117                                                                                                                                                         panel
118                                                                                                                                                         containing
119                                                                                                                                                         this
120                                                                                                                                                         JSeq
121                                                                                                                                                         should
122                                                                                                                                                         be
123                                                                                                                                                         included
124                                                                                                                                                         in
125                                                                                                                                                         those
126                                                                                                                                                         used
127                                                                                                                                                         to
128                                                                                                                                                         perform
129                                                                                                                                                         a
130                                                                                                                                                         structure
131                                                                                                                                                         superposition
132                                                                                                                                                         (since
133                                                                                                                                                         Jalview
134                                                                                                                                                         2.7).
135                                                                                                                                                 </xs:documentation>
136                                                                                                                                         </xs:annotation>
137                                                                                                                                 </xs:attribute>
138                                                                                                                                 <xs:attribute name="colourwithAlignPanel"
139                                                                                                                                         type="xs:boolean" use="optional" default="false">
140                                                                                                                                         <xs:annotation>
141                                                                                                                                                 <xs:documentation>
142                                                                                                                                                         Flag
143                                                                                                                                                         set
144                                                                                                                                                         if
145                                                                                                                                                         the
146                                                                                                                                                         alignment
147                                                                                                                                                         panel
148                                                                                                                                                         containing
149                                                                                                                                                         this
150                                                                                                                                                         JSeq
151                                                                                                                                                         should
152                                                                                                                                                         be
153                                                                                                                                                         included
154                                                                                                                                                         in
155                                                                                                                                                         those
156                                                                                                                                                         used
157                                                                                                                                                         to
158                                                                                                                                                         colour
159                                                                                                                                                         its
160                                                                                                                                                         associated
161                                                                                                                                                         sequences
162                                                                                                                                                         in
163                                                                                                                                                         this
164                                                                                                                                                         structureState(since
165                                                                                                                                                         Jalview
166                                                                                                                                                         2.7).
167                                                                                                                                                 </xs:documentation>
168                                                                                                                                         </xs:annotation>
169                                                                                                                                 </xs:attribute>
170                                                                                                                                 <xs:attribute name="colourByJmol" type="xs:boolean"
171                                                                                                                                         use="optional" default="true">
172                                                                                                                                         <xs:annotation>
173                                                                                                                                                 <xs:documentation>
174                                                                                                                                                         Flag
175                                                                                                                                                         set
176                                                                                                                                                         if
177                                                                                                                                                         the
178                                                                                                                                                         structure
179                                                                                                                                                         display
180                                                                                                                                                         is
181                                                                                                                                                         coloured
182                                                                                                                                                         by
183                                                                                                                                                         the
184                                                                                                                                                         Jmol
185                                                                                                                                                         state,
186                                                                                                                                                         rather
187                                                                                                                                                         than
188                                                                                                                                                         by
189                                                                                                                                                         one
190                                                                                                                                                         or
191                                                                                                                                                         more
192                                                                                                                                                         linked
193                                                                                                                                                         alignment
194                                                                                                                                                         views.
195                                                                                                                                                 </xs:documentation>
196                                                                                                                                         </xs:annotation>
197                                                                                                                                 </xs:attribute>
198                                                                                                                                 <xs:attribute name="type" type="xs:string"
199                                                                                                                                         use="optional">
200                                                                                                                                         <xs:annotation>
201                                                                                                                                                 <xs:documentation>
202                                                                                                                                                         An
203                                                                                                                                                         identifier
204                                                                                                                                                         for
205                                                                                                                                                         the
206                                                                                                                                                         viewer
207                                                                                                                                                         type,
208                                                                                                                                                         currently
209                                                                                                                                                         either
210                                                                                                                                                         JMOL
211                                                                                                                                                         or
212                                                                                                                                                         CHIMERA
213                                                                                                                                                 </xs:documentation>
214                                                                                                                                         </xs:annotation>
215                                                                                                                                 </xs:attribute>
216
217                                                                                                                         </xs:extension>
218                                                                                                                 </xs:simpleContent>
219                                                                                                         </xs:complexType>
220                                                                                                 </xs:element>
221                                                                                         </xs:sequence>
222                                                                                 </xs:extension>
223                                                                         </xs:complexContent>
224                                                                 </xs:complexType>
225                                                         </xs:element>
226                                                         <xs:element name="hiddenSequences" type="xs:int"
227                                                                 minOccurs="0" maxOccurs="unbounded" />
228                                                         <xs:element name="rnaViewer" minOccurs="0" maxOccurs="unbounded">
229                                                                 <xs:annotation>
230                                                                         <xs:documentation>Reference to a viewer showing RNA structure
231                                                                                 for this sequence. Schema supports one viewer showing multiple
232                                                                                 annotations for multiple sequences, though currently only one
233                                                                                 annotation for one sequence (gapped or trimmed) is used
234                                                                         </xs:documentation>
235                                                                 </xs:annotation>
236                                                                 <xs:complexType>
237                                                                         <xs:sequence>
238                                                                                 <xs:element name="secondaryStructure" minOccurs="1"
239                                                                                         maxOccurs="unbounded">
240                                                                                         <xs:complexType>
241                                                                                                 <xs:attribute name="title" type="xs:string" />
242                                                                                                 <xs:attribute name="annotationId" type="xs:string"
243                                                                                                         use="required">
244                                                                                                         <xs:annotation>
245                                                                                                                 <xs:documentation>id attribute of Annotation in
246                                                                                                                         vamsasModel for
247                                                                                                                         the secondary structure annotation shown
248                                                                                                                         in the viewer
249                                                                                                                 </xs:documentation>
250                                                                                                         </xs:annotation>
251                                                                                                 </xs:attribute>
252                                                                                                 <xs:attribute name="gapped" type="xs:boolean">
253                                                                                                         <xs:annotation>
254                                                                                                                 <xs:documentation>if true the RNA structure is shown with gaps, if false without
255                                                                                                                 </xs:documentation>
256                                                                                                         </xs:annotation>
257                                                                                                 </xs:attribute>
258                                                                                                 <xs:attribute name="viewerState" type="xs:string">
259                                                                                                         <xs:annotation>
260                                                                                                                 <xs:documentation>name of the project jar entry that holds
261                                                                                                                         the VARNA viewer state for the structure
262                                                                                                                 </xs:documentation>
263                                                                                                         </xs:annotation>
264                                                                                                 </xs:attribute>
265                                                                                         </xs:complexType>
266                                                                                 </xs:element>
267                                                                         </xs:sequence>
268                                                                         <xs:attributeGroup ref="jv:swingwindow" />
269                                                                         <xs:attribute name="title" type="xs:string" />
270                                                                         <xs:attribute name="viewId" type="xs:string">
271                                                                                 <xs:annotation>
272                                                                                         <xs:documentation>An id unique to the RNA viewer panel
273                                                                                         </xs:documentation>
274                                                                                 </xs:annotation>
275                                                                         </xs:attribute>
276                                                                         <xs:attribute name="dividerLocation" type="xs:int">
277                                                                                 <xs:annotation>
278                                                                                         <xs:documentation>horizontal position of split pane divider
279                                                                                         </xs:documentation>
280                                                                                 </xs:annotation>
281                                                                         </xs:attribute>
282                                                                         <xs:attribute name="selectedRna" type="xs:int">
283                                                                                 <xs:annotation>
284                                                                                         <xs:documentation>Index of the selected structure in the
285                                                                                                 viewer panel
286                                                                                         </xs:documentation>
287                                                                                 </xs:annotation>
288                                                                         </xs:attribute>
289                                                                 </xs:complexType>
290                                                         </xs:element>
291                                                 </xs:sequence>
292                                                 <xs:attribute name="colour" type="xs:int" use="optional" />
293                                                 <xs:attribute name="start" type="xs:int" use="required" />
294                                                 <xs:attribute name="end" type="xs:int" use="required" />
295                                                 <xs:attribute name="id" type="xs:string" use="required" />
296                                                 <xs:attribute name="hidden" type="xs:boolean" />
297                                                 <xs:attribute name="viewreference" type="xs:boolean" use="optional"/>
298                                         </xs:complexType>
299                                 </xs:element>
300                                 <xs:element name="JGroup" minOccurs="0" maxOccurs="unbounded">
301                                         <xs:complexType>
302                                                 <xs:sequence>
303                                                         <xs:element name="seq" type="xs:string" maxOccurs="unbounded" />
304                                                         <xs:element name="annotationColours" type="jv:AnnotationColourScheme"
305                                                                 minOccurs="0" maxOccurs="1" />
306                                                 </xs:sequence>
307                                                 <xs:attribute name="start" type="xs:int" />
308                                                 <xs:attribute name="end" type="xs:int" />
309                                                 <xs:attribute name="name" type="xs:string" />
310                                                 <xs:attribute name="colour" type="xs:string" />
311                                                 <xs:attribute name="consThreshold" type="xs:int" />
312                                                 <xs:attribute name="pidThreshold" type="xs:int" />
313                                                 <xs:attribute name="outlineColour" type="xs:int" />
314                                                 <xs:attribute name="displayBoxes" type="xs:boolean" />
315                                                 <xs:attribute name="displayText" type="xs:boolean" />
316                                                 <xs:attribute name="colourText" type="xs:boolean" />
317                                                 <xs:attribute name="textCol1" type="xs:int" />
318                                                 <xs:attribute name="textCol2" type="xs:int" />
319                                                 <xs:attribute name="textColThreshold" type="xs:int" />
320                                                 <xs:attribute name="showUnconserved" type="xs:boolean"
321                                                         use="optional" />
322                                                 <xs:attribute name="ignoreGapsinConsensus" type="xs:boolean"
323                                                         use="optional" default="true" />
324                                                 <xs:attribute name="showConsensusHistogram" type="xs:boolean"
325                                                         use="optional" default="true" />
326                                                 <xs:attribute name="showSequenceLogo" type="xs:boolean"
327                                                         use="optional" default="false" />
328                                                 <xs:attribute name="normaliseSequenceLogo" type="xs:boolean"
329                                                         use="optional" default="false" />
330                                                 <xs:attribute name="id" type="xs:string" use="optional">
331                                                         <xs:annotation>
332                                                                 <xs:documentation>
333                                                                         Optional sequence group ID (only
334                                                                         needs to be
335                                                                         unique for this
336                                                                         alignment)
337                                                                 </xs:documentation>
338                                                         </xs:annotation>
339                                                 </xs:attribute>
340                                         </xs:complexType>
341                                 </xs:element>
342                                 <xs:element name="Viewport" maxOccurs="unbounded"
343                                         minOccurs="0">
344                                         <xs:complexType>
345                                                 <xs:sequence>
346                                                         <xs:element name="AnnotationColours" type="jv:AnnotationColourScheme"
347                                                                 minOccurs="0" maxOccurs="1">
348                                                         </xs:element>
349                                                         <xs:element name="hiddenColumns" minOccurs="0"
350                                                                 maxOccurs="unbounded">
351                                                                 <xs:complexType>
352                                                                         <xs:attribute name="start" type="xs:int" />
353                                                                         <xs:attribute name="end" type="xs:int" />
354                                                                 </xs:complexType>
355                                                         </xs:element>
356                                                         <xs:element name="calcIdParam" minOccurs="0"
357                                                                 maxOccurs="unbounded">
358                                                                 <xs:complexType>
359                                                                         <xs:complexContent>
360                                                                                 <xs:extension base="jvws:WebServiceParameterSet">
361                                                                                         <xs:attribute name="calcId" type="xs:string"
362                                                                                                 use="required">
363                                                                                                 <xs:annotation>
364                                                                                                         <xs:documentation>handle for the calculation which uses
365                                                                                                                 this parameter set
366                                                                                                         </xs:documentation>
367                                                                                                 </xs:annotation>
368                                                                                         </xs:attribute>
369                                                                                         <xs:attribute name="needsUpdate" type="xs:boolean"
370                                                                                                 use="optional" default="false">
371                                                                                                 <xs:annotation>
372                                                                                                         <xs:documentation>should the calculation be performed
373                                                                                                                 immediately after loading in order to refresh results
374                                                                                                         </xs:documentation>
375                                                                                                 </xs:annotation>
376                                                                                         </xs:attribute>
377                                                                                         <xs:attribute name="autoUpdate" type="xs:boolean"
378                                                                                                 use="required">
379                                                                                                 <xs:annotation>
380                                                                                                         <xs:documentation>should the calculation be automatically
381                                                                                                                 performed on edits
382                                                                                                         </xs:documentation>
383                                                                                                 </xs:annotation>
384                                                                                         </xs:attribute>
385                                                                                 </xs:extension>
386                                                                         </xs:complexContent>
387                                                                 </xs:complexType>
388                                                         </xs:element>
389                                                 </xs:sequence>
390                                                 <xs:attributeGroup ref="jv:swingwindow" />
391                                                 <xs:attribute name="conservationSelected" type="xs:boolean" />
392                                                 <xs:attribute name="pidSelected" type="xs:boolean" />
393                                                 <xs:attribute name="bgColour" type="xs:string" />
394                                                 <xs:attribute name="consThreshold" type="xs:int" />
395                                                 <xs:attribute name="pidThreshold" type="xs:int" />
396                                                 <xs:attribute name="title" type="xs:string" />
397                                                 <xs:attribute name="showFullId" type="xs:boolean" />
398                                                 <xs:attribute name="rightAlignIds" type="xs:boolean" />
399                                                 <xs:attribute name="showText" type="xs:boolean" />
400                                                 <xs:attribute name="showColourText" type="xs:boolean" />
401                                                 <xs:attribute name="showUnconserved" type="xs:boolean"
402                                                         use="optional" default="false" />
403                                                 <xs:attribute name="showBoxes" type="xs:boolean" />
404                                                 <xs:attribute name="wrapAlignment" type="xs:boolean" />
405                                                 <xs:attribute name="renderGaps" type="xs:boolean" />
406                                                 <xs:attribute name="showSequenceFeatures" type="xs:boolean" />
407                                                 <xs:attribute name="showNPfeatureTooltip" type="xs:boolean"
408                                                         use="optional" />
409                                                 <xs:attribute name="showDbRefTooltip" type="xs:boolean"
410                                                         use="optional" />
411                                                 <xs:attribute name="followHighlight" type="xs:boolean"
412                                                         use="optional" default="true" />
413                                                 <xs:attribute name="followSelection" type="xs:boolean"
414                                                         use="optional" default="true" />
415                                                 <xs:attribute name="showAnnotation" type="xs:boolean" />
416                                                 <xs:attribute name="centreColumnLabels" type="xs:boolean"
417                                                         use="optional" default="false" />
418                                                 <xs:attribute name="showGroupConservation" type="xs:boolean"
419                                                         use="optional" default="false" />
420                                                 <xs:attribute name="showGroupConsensus" type="xs:boolean"
421                                                         use="optional" default="false" />
422                                                 <xs:attribute name="showConsensusHistogram" type="xs:boolean"
423                                                         use="optional" default="true" />
424                                                 <xs:attribute name="showSequenceLogo" type="xs:boolean"
425                                                         use="optional" default="false" />
426                                                 <xs:attribute name="normaliseSequenceLogo" type="xs:boolean"
427                                                         use="optional" default="false" />
428                                                 <xs:attribute name="ignoreGapsinConsensus" type="xs:boolean"
429                                                         use="optional" default="true" />
430                                                 <xs:attribute name="startRes" type="xs:int" />
431                                                 <xs:attribute name="startSeq" type="xs:int" />
432                                                 <xs:attribute name="fontName" type="xs:string" />
433                                                 <xs:attribute name="fontSize" type="xs:int" />
434                                                 <xs:attribute name="fontStyle" type="xs:int" />
435                                                 <xs:attribute name="scaleProteinAsCdna" type="xs:boolean" use="optional" default="true" />
436                                                 <xs:attribute name="viewName" type="xs:string" />
437                                                 <xs:attribute name="sequenceSetId" type="xs:string" />
438                                                 <xs:attribute name="gatheredViews" type="xs:boolean" />
439                                                 <xs:attribute name="textCol1" type="xs:int" />
440                                                 <xs:attribute name="textCol2" type="xs:int" />
441                                                 <xs:attribute name="textColThreshold" type="xs:int" />
442                                                 <xs:attribute name="id" type="xs:ID" use="optional">
443                                                         <xs:annotation>
444                                                                 <xs:documentation>
445                                                                         unique id used by jalview to
446                                                                         synchronize
447                                                                         between stored and
448                                                                         instantiated views
449                                                                 </xs:documentation>
450                                                         </xs:annotation>
451                                                 </xs:attribute>
452                                                 <xs:attribute name="complementId" type="xs:string"
453                                                         use="optional">
454                                                         <xs:annotation>
455                                                                 <xs:documentation>
456                                                                         The viewport id of this viewport's
457                                                                         (cdna/protein) coding complement, if any
458                                                                 </xs:documentation>
459                                                         </xs:annotation>
460                                                 </xs:attribute>
461                                         </xs:complexType>
462                                 </xs:element>
463                                 <xs:element name="UserColours" minOccurs="0" maxOccurs="unbounded">
464                                         <xs:complexType>
465                                                 <xs:sequence>
466                                                         <xs:element name="UserColourScheme" type="jalview:JalviewUserColours" />
467                                                 </xs:sequence>
468                                                 <xs:attribute name="id" type="xs:string" />
469                                         </xs:complexType>
470                                 </xs:element>
471                                 <xs:element name="tree" minOccurs="0" maxOccurs="unbounded">
472                                         <xs:complexType>
473                                                 <xs:sequence minOccurs="0">
474                                                         <xs:element name="title" type="xs:string" />
475                                                         <xs:element name="newick" type="xs:string" />
476                                                 </xs:sequence>
477                                                 <xs:attribute name="fontName" type="xs:string" />
478                                                 <xs:attribute name="fontSize" type="xs:int" />
479                                                 <xs:attribute name="fontStyle" type="xs:int" />
480                                                 <xs:attribute name="threshold" type="xs:float" />
481                                                 <xs:attribute name="showBootstrap" type="xs:boolean" />
482                                                 <xs:attribute name="showDistances" type="xs:boolean" />
483                                                 <xs:attribute name="markUnlinked" type="xs:boolean" />
484                                                 <xs:attribute name="fitToWindow" type="xs:boolean" />
485                                                 <xs:attribute name="currentTree" type="xs:boolean" />
486                                                 <xs:attribute name="id" type="xs:ID" use="optional">
487                                                         <xs:annotation>
488                                                                 <xs:documentation>
489                                                                         Tree ID added for binding tree
490                                                                         visualization
491                                                                         settings to vamsas
492                                                                         document trees in jalview 2.4.1
493                                                                 </xs:documentation>
494                                                         </xs:annotation>
495                                                 </xs:attribute>
496                                                 <xs:attributeGroup ref="jv:swingwindow" />
497                                         </xs:complexType>
498                                 </xs:element>
499                                 <xs:element name="FeatureSettings" minOccurs="0">
500                                         <xs:complexType>
501                                                 <xs:sequence>
502                                                         <xs:element name="setting" minOccurs="0" maxOccurs="unbounded">
503                                                                 <xs:complexType>
504                                                                         <xs:sequence>
505                                                                             <xs:element name="attributeName" type="xs:string" minOccurs="0" maxOccurs="2">
506                                                                                         <xs:annotation>
507                                                                                                 <xs:documentation>name of feature attribute to colour by, or attribute and sub-attribute</xs:documentation>
508                                                                                         </xs:annotation>
509                                                                             </xs:element> 
510                                                                                 <xs:element name="matcherSet" minOccurs="0" type="jalview:FeatureMatcherSet">
511                                                                                         <xs:annotation>
512                                                                                                 <xs:documentation>optional filter(s) applied to the feature type</xs:documentation>
513                                                                                         </xs:annotation>
514                                                                                 </xs:element>
515                                                                         </xs:sequence>
516                                                                         <xs:attribute name="type" type="xs:string" use="required" />
517                                                                         <xs:attribute name="colour" type="xs:int" use="required" />
518                                                                         <xs:attribute name="display" type="xs:boolean"
519                                                                                 use="required" />
520                                                                         <xs:attribute name="order" type="xs:float" use="optional" />
521                                                                         <xs:attribute name="mincolour" type="xs:int" use="optional">
522                                                                                 <xs:annotation>
523                                                                                         <xs:documentation>
524                                                                                                 Optional minimum colour
525                                                                                                 for graduated
526                                                                                                 feature
527                                                                                                 colour
528                                                                                         </xs:documentation>
529                                                                                 </xs:annotation>
530                                                                         </xs:attribute>
531                                                                         <xs:attribute name="noValueColour" use="optional" type="jalview:NoValueColour" default="Min" />
532                                                                         <xs:attribute name="threshold" type="xs:float"
533                                                                                 use="optional">
534                                                                                 <xs:annotation>
535                                                                                         <xs:documentation>
536                                                                                                 threshold value for
537                                                                                                 graduated feature colour
538                                                                                         </xs:documentation>
539                                                                                 </xs:annotation>
540                                                                         </xs:attribute>
541                                                                         <xs:attribute name="threshstate" type="xs:int"
542                                                                                 use="optional">
543                                                                                 <xs:annotation>
544                                                                                         <xs:documentation>
545                                                                                                 threshold type for
546                                                                                                 graduated feature colour
547                                                                                         </xs:documentation>
548                                                                                 </xs:annotation>
549                                                                         </xs:attribute>
550                                                                         <xs:attribute name="max" type="xs:float" use="optional" />
551                                                                         <xs:attribute name="min" type="xs:float" use="optional" />
552                                                                         <xs:attribute name="colourByLabel" type="xs:boolean"
553                                                                                 use="optional" />
554                                                                         <xs:attribute name="autoScale" type="xs:boolean"
555                                                                                 use="optional" />
556                                                                 </xs:complexType>
557                                                         </xs:element>
558                                                         <xs:element name="group" minOccurs="0" maxOccurs="unbounded">
559                                                                 <xs:complexType>
560                                                                         <xs:attribute name="name" type="xs:string" use="required" />
561                                                                         <xs:attribute name="display" type="xs:boolean"
562                                                                                 use="required" />
563                                                                 </xs:complexType>
564                                                         </xs:element>
565                                                 </xs:sequence>
566                                         </xs:complexType>
567                                 </xs:element>
568                         </xs:sequence>
569                 </xs:sequence>
570         </xs:complexType>
571         <xs:complexType name="feature">
572                 <xs:sequence>
573                         <xs:element name="otherData" minOccurs="0" maxOccurs="unbounded">
574                                 <xs:complexType>
575                                         <xs:attribute name="key" type="xs:string" use="required" />
576                                         <xs:attribute name="key2" type="xs:string" use="optional">
577                                                 <xs:annotation>
578                                                         <xs:documentation>key2 may be used for a sub-attribute of key</xs:documentation>
579                                                 </xs:annotation>
580                                         </xs:attribute>
581                                         <xs:attribute name="value" type="xs:string" use="required" />
582                                 </xs:complexType>
583                         </xs:element>
584                 </xs:sequence>
585                 <xs:attribute name="begin" type="xs:int" use="required" />
586                 <xs:attribute name="end" type="xs:int" use="required" />
587                 <xs:attribute name="type" type="xs:string" use="required" />
588                 <xs:attribute name="description" type="xs:string" use="optional" />
589                 <xs:attribute name="status" type="xs:string" use="optional" />
590                 <xs:attribute name="featureGroup" type="xs:string" use="optional" />
591                 <xs:attribute name="score" type="xs:float" use="optional" />
592         </xs:complexType>
593         <xs:complexType name="pdbentry">
594                 <xs:sequence minOccurs="0" maxOccurs="unbounded">
595                         <xs:element name="property" minOccurs="0" maxOccurs="unbounded">
596                                 <xs:complexType>
597                                         <xs:attribute name="name" type="xs:string" use="required" />
598                                         <xs:attribute name="value" type="xs:string" use="required" />
599                                 </xs:complexType>
600                         </xs:element>
601                 </xs:sequence>
602                 <xs:attribute name="id" type="xs:string" use="required" />
603                 <xs:attribute name="type" type="xs:string" use="optional" />
604                 <xs:attribute name="file" type="xs:string" />
605         </xs:complexType>
606         <!-- <xs:complexType name="reportWindow"> <xs:annotation> <xs:documentation>Generic 
607                 type for windows containing mime-typed data associated with other jalview 
608                 windows</xs:documentation> </xs:annotation> <xs:sequence> </xs:sequence> 
609                 <xs:attribute name="id" type="xs:string" use="required"/> <xs:attribute name="type" 
610                 type="xs:string" use="optional"/> <xs:attribute name="file" type="xs:string" 
611                 use="optional"/> </xs:complexType> -->
612         <xs:attributeGroup name="swingwindow">
613                 <xs:annotation>
614                         <xs:documentation>
615                                 base attributes for windows displayed in Jalview
616                                 desktop.
617                         </xs:documentation>
618                 </xs:annotation>
619                 <xs:attribute name="width" type="xs:int" />
620                 <xs:attribute name="height" type="xs:int" />
621                 <xs:attribute name="xpos" type="xs:int" />
622                 <xs:attribute name="ypos" type="xs:int" />
623         </xs:attributeGroup>
624         <xs:complexType name="AnnotationColourScheme">
625                 <xs:attribute name="aboveThreshold" type="xs:int" />
626                 <xs:attribute name="annotation" type="xs:string" />
627                 <xs:attribute name="minColour" type="xs:int" />
628                 <xs:attribute name="maxColour" type="xs:int" />
629                 <xs:attribute name="colourScheme" type="xs:string" />
630                 <xs:attribute name="threshold" type="xs:float" />
631                 <xs:attribute name="perSequence" type="xs:boolean" use="optional" />
632                 <xs:attribute name="predefinedColours" type="xs:boolean"
633                         use="optional" />
634         </xs:complexType>
635
636 </xs:schema>