Sequences are optionalcvs diff vamsas.xsd
[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" type="jv:pdbentry" minOccurs="0" maxOccurs="unbounded"/>\r
16                                                         <xs:element name="hiddenSequences" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>\r
17                                                 </xs:sequence>\r
18                                                 <xs:attribute name="colour" type="xs:int" use="optional"/>\r
19                                                 <xs:attribute name="start" type="xs:int" use="required"/>\r
20                                                 <xs:attribute name="end" type="xs:int" use="required"/>\r
21                                                 <xs:attribute name="id" type="xs:int" use="required"/>\r
22                                                 <xs:attribute name="hidden" type="xs:boolean"/>\r
23                                         </xs:complexType>\r
24                                 </xs:element>\r
25                                 <xs:element name="JGroup" minOccurs="0" maxOccurs="unbounded">\r
26                                         <xs:complexType>\r
27                                                 <xs:sequence>\r
28                                                         <xs:element name="seq" type="xs:int" maxOccurs="unbounded"/>\r
29                                                 </xs:sequence>\r
30                                                 <xs:attribute name="start" type="xs:int"/>\r
31                                                 <xs:attribute name="end" type="xs:int"/>\r
32                                                 <xs:attribute name="name" type="xs:string"/>\r
33                                                 <xs:attribute name="colour" type="xs:string"/>\r
34                                                 <xs:attribute name="consThreshold" type="xs:int"/>\r
35                                                 <xs:attribute name="pidThreshold" type="xs:int"/>\r
36                                                 <xs:attribute name="outlineColour" type="xs:int"/>\r
37                                                 <xs:attribute name="displayBoxes" type="xs:boolean"/>\r
38                                                 <xs:attribute name="displayText" type="xs:boolean"/>\r
39                                                 <xs:attribute name="colourText" type="xs:boolean"/>\r
40                                         </xs:complexType>\r
41                                 </xs:element>\r
42                                 <xs:element name="Viewport" maxOccurs="unbounded">\r
43                                         <xs:complexType>\r
44                                                 <xs:sequence>\r
45                                                         <xs:element name="AnnotationColours" minOccurs="0">\r
46                                                                 <xs:complexType>\r
47                                                                         <xs:attribute name="aboveThreshold" type="xs:int"/>\r
48                                                                         <xs:attribute name="annotation" type="xs:string"/>\r
49                                                                         <xs:attribute name="minColour" type="xs:int"/>\r
50                                                                         <xs:attribute name="maxColour" type="xs:int"/>\r
51                                                                         <xs:attribute name="colourScheme" type="xs:string"/>\r
52                                                                         <xs:attribute name="threshold" type="xs:float"/>\r
53                                                                 </xs:complexType>\r
54                                                         </xs:element>\r
55                                                         <xs:element name="hiddenColumns" minOccurs="0" maxOccurs="unbounded">\r
56                                                                 <xs:complexType>\r
57                                                                         <xs:attribute name="start" type="xs:int"/>\r
58                                                                         <xs:attribute name="end" type="xs:int"/>\r
59                                                                 </xs:complexType>\r
60                                                         </xs:element>\r
61                                                 </xs:sequence>\r
62                                                 <xs:attribute name="conservationSelected" type="xs:boolean"/>\r
63                                                 <xs:attribute name="pidSelected" type="xs:boolean"/>\r
64                                                 <xs:attribute name="bgColour" type="xs:string"/>\r
65                                                 <xs:attribute name="consThreshold" type="xs:int"/>\r
66                                                 <xs:attribute name="pidThreshold" type="xs:int"/>\r
67                                                 <xs:attribute name="title" type="xs:string"/>\r
68                                                 <xs:attribute name="showFullId" type="xs:boolean"/>\r
69                                                 <xs:attribute name="showText" type="xs:boolean"/>\r
70                                                 <xs:attribute name="showColourText" type="xs:boolean"/>\r
71                                                 <xs:attribute name="showBoxes" type="xs:boolean"/>\r
72                                                 <xs:attribute name="wrapAlignment" type="xs:boolean"/>\r
73                                                 <xs:attribute name="renderGaps" type="xs:boolean"/>\r
74                                                 <xs:attribute name="showSequenceFeatures" type="xs:boolean"/>\r
75                                                 <xs:attribute name="showAnnotation" type="xs:boolean"/>\r
76                                                 <xs:attribute name="showConservation" type="xs:boolean"/>\r
77                                                 <xs:attribute name="showQuality" type="xs:boolean"/>\r
78                                                 <xs:attribute name="showIdentity" type="xs:boolean"/>\r
79                                                 <xs:attribute name="xpos" type="xs:int"/>\r
80                                                 <xs:attribute name="ypos" type="xs:int"/>\r
81                                                 <xs:attribute name="width" type="xs:int"/>\r
82                                                 <xs:attribute name="height" type="xs:int"/>\r
83                                                 <xs:attribute name="startRes" type="xs:int"/>\r
84                                                 <xs:attribute name="startSeq" type="xs:int"/>\r
85                                                 <xs:attribute name="fontName" type="xs:string"/>\r
86                                                 <xs:attribute name="fontSize" type="xs:int"/>\r
87                                                 <xs:attribute name="fontStyle" type="xs:int"/>\r
88                                         </xs:complexType>\r
89                                 </xs:element>\r
90                                 <xs:element name="UserColours" minOccurs="0" maxOccurs="unbounded">\r
91                                         <xs:complexType>\r
92                                                 <xs:sequence>\r
93                                                         <xs:element name="UserColourScheme" type="jalview:JalviewUserColours"/>\r
94                                                 </xs:sequence>\r
95                                                 <xs:attribute name="id" type="xs:string"/>\r
96                                         </xs:complexType>\r
97                                 </xs:element>\r
98                                 <xs:element name="tree" minOccurs="0" maxOccurs="unbounded">\r
99                                         <xs:complexType>\r
100                                                 <xs:sequence minOccurs="0">\r
101                                                         <xs:element name="title" type="xs:string"/>\r
102                                                         <xs:element name="newick" type="xs:string"/>\r
103                                                 </xs:sequence>\r
104                                                 <xs:attribute name="width" type="xs:int"/>\r
105                                                 <xs:attribute name="height" type="xs:int"/>\r
106                                                 <xs:attribute name="xpos" type="xs:int"/>\r
107                                                 <xs:attribute name="ypos" 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="threshold" type="xs:float"/>\r
112                                                 <xs:attribute name="showBootstrap" type="xs:boolean"/>\r
113                                                 <xs:attribute name="showDistances" type="xs:boolean"/>\r
114                                                 <xs:attribute name="markUnlinked" type="xs:boolean"/>\r
115                                                 <xs:attribute name="fitToWindow" type="xs:boolean"/>\r
116                                                 <xs:attribute name="currentTree" type="xs:boolean"/>\r
117                                         </xs:complexType>\r
118                                 </xs:element>\r
119                                 <xs:element name="FeatureSettings" minOccurs="0">\r
120                                         <xs:complexType>\r
121                                                 <xs:sequence>\r
122                                                         <xs:element name="setting" minOccurs="0" maxOccurs="unbounded">\r
123                                                                 <xs:complexType>\r
124                                                                         <xs:attribute name="type" type="xs:string" use="required"/>\r
125                                                                         <xs:attribute name="colour" type="xs:int" use="required"/>\r
126                                                                         <xs:attribute name="display" type="xs:boolean" use="required"/>\r
127                                                                 </xs:complexType>\r
128                                                         </xs:element>\r
129                                                 </xs:sequence>\r
130                                         </xs:complexType>\r
131                                 </xs:element>\r
132                         </xs:sequence>\r
133                 </xs:sequence>\r
134         </xs:complexType>\r
135         <xs:complexType name="feature">\r
136                 <xs:sequence>\r
137                         <xs:element name="otherData" minOccurs="0" maxOccurs="unbounded">\r
138                                 <xs:complexType>\r
139                                         <xs:attribute name="key" type="xs:string" use="required"/>\r
140                                         <xs:attribute name="value" type="xs:string" use="required"/>\r
141                                 </xs:complexType>\r
142                         </xs:element>\r
143                 </xs:sequence>\r
144                 <xs:attribute name="begin" type="xs:int" use="required"/>\r
145                 <xs:attribute name="end" type="xs:int" use="required"/>\r
146                 <xs:attribute name="type" type="xs:string" use="required"/>\r
147                 <xs:attribute name="description" type="xs:string" use="optional"/>\r
148                 <xs:attribute name="status" type="xs:string" use="optional"/>\r
149                 <xs:attribute name="featureGroup" type="xs:string" use="optional"/>\r
150                 <xs:attribute name="score" type="xs:float" use="optional"/>\r
151         </xs:complexType>\r
152         <xs:complexType name="pdbentry">\r
153                 <xs:sequence minOccurs="0" maxOccurs="unbounded">\r
154                         <xs:element name="property" minOccurs="0" maxOccurs="unbounded">\r
155                                 <xs:complexType>\r
156                                         <xs:attribute name="name" type="xs:string" use="required"/>\r
157                                         <xs:attribute name="value" type="xs:string" use="required"/>\r
158                                 </xs:complexType>\r
159                         </xs:element>\r
160                 </xs:sequence>\r
161                 <xs:attribute name="id" type="xs:string" use="required"/>\r
162                 <xs:attribute name="type" type="xs:string" use="optional"/>\r
163                 <xs:attribute name="file" type="xs:string"/>\r
164         </xs:complexType>\r
165 </xs:schema>\r