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