prototype for store/restore of feature colour gradient settings
[jalview.git] / schemas / jalviewJvV1.xsd
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"\r
3                                  xmlns:vamsas="www.vamsas.org"\r
4                                  xmlns:jalview="www.jalview.org/colours"\r
5                                  xmlns:jv="www.jalview.org" \r
6                                  targetNamespace="www.jalview.org" elementFormDefault="qualified" attributeFormDefault="unqualified">\r
7                                  \r
8         <xs:import schemaLocation="vamsasJvV1.xsd" namespace="www.vamsas.org"/>\r
9         <xs:import schemaLocation="jalviewUserColours.xsd" namespace="www.jalview.org/colours"/>\r
10         <xs:complexType name="JalviewModel">\r
11                 <xs:sequence>\r
12                         <xs:element name="creationDate" type="xs:dateTime"/>\r
13                         <xs:element name="version" type="xs:string"/>\r
14                         <xs:element name="vamsasModel" type="vamsas:VAMSAS"/>\r
15                         <xs:sequence>\r
16                                 <xs:element name="JSeq" maxOccurs="unbounded">\r
17                                         <xs:complexType>\r
18                                                 <xs:sequence>\r
19                                                          <xs:element name="features" type="jv:feature" minOccurs="0" maxOccurs="unbounded"/>\r
20                                                          <xs:element name="pdbids" type="jv:pdbentry" minOccurs="0" maxOccurs="unbounded"/>\r
21                                               </xs:sequence>\r
22                                               \r
23                                                     <xs:attribute name="colour" type="xs:int" use="optional"/>\r
24                                                         <xs:attribute name="start" type="xs:int" use="required"/>\r
25                                                         <xs:attribute name="end" type="xs:int" use="required"/>\r
26                                                         <xs:attribute name="id" type="xs:int" use="required"/>\r
27                                                 </xs:complexType>\r
28                                 </xs:element>\r
29                                 <xs:element name="JGroup" minOccurs="0" maxOccurs="unbounded">\r
30                                         <xs:complexType>\r
31                                                 <xs:sequence minOccurs="1">\r
32                                                         <xs:element name="seq" maxOccurs="unbounded" type="xs:int"/>\r
33                                                 </xs:sequence>\r
34                                                 <xs:attribute name="start" type="xs:int"/>\r
35                                                 <xs:attribute name="end" type="xs:int"/>\r
36                                                 <xs:attribute name="name" type="xs:string"/>\r
37                                                 <xs:attribute name="colour" type="xs:string"/>\r
38                                                 <xs:attribute name="consThreshold" type="xs:int"/>\r
39                                                 <xs:attribute name="pidThreshold" type="xs:int"/>\r
40                                                 <xs:attribute name="outlineColour" type="xs:int"/>\r
41                                                 <xs:attribute name="displayBoxes" type="xs:boolean"/>\r
42                                                 <xs:attribute name="displayText" type="xs:boolean"/>\r
43                                                 <xs:attribute name="colourText" type="xs:boolean"/>\r
44                                         </xs:complexType>\r
45                                 </xs:element>\r
46                                 <xs:element name="Viewport" maxOccurs="unbounded">\r
47                                         <xs:complexType>\r
48                                                 <xs:attribute name="conservationSelected" type="xs:boolean"/>\r
49                                                 <xs:attribute name="pidSelected" type="xs:boolean"/>\r
50                                                 <xs:attribute name="bgColour" type="xs:string"/>\r
51                                                 <xs:attribute name="consThreshold" type="xs:int"/>\r
52                                                 <xs:attribute name="pidThreshold" type="xs:int"/>\r
53                                                 <xs:attribute name="title" type="xs:string"/>\r
54                                                 <xs:attribute name="showFullId" type="xs:boolean"/>\r
55                                                 <xs:attribute name="showText" type="xs:boolean"/>\r
56                                                 <xs:attribute name="showColourText" type="xs:boolean"/>\r
57                                                 <xs:attribute name="showBoxes" type="xs:boolean"/>\r
58                                                 <xs:attribute name="wrapAlignment" type="xs:boolean"/>\r
59                                                 <xs:attribute name="renderGaps" type="xs:boolean"/>\r
60                                                 <xs:attribute name="showSequenceFeatures" type="xs:boolean"/>\r
61                                                 <xs:attribute name="showAnnotation" type="xs:boolean"/>\r
62                                                 <xs:attribute name="showConservation" type="xs:boolean"/>\r
63                                                 <xs:attribute name="showQuality" type="xs:boolean"/>\r
64                                                 <xs:attribute name="showIdentity" type="xs:boolean"/>\r
65                                                 <xs:attribute name="xpos" type="xs:int"/>\r
66                                                 <xs:attribute name="ypos" type="xs:int"/>\r
67                                                 <xs:attribute name="width" type="xs:int"/>\r
68                                                 <xs:attribute name="height" type="xs:int"/>\r
69                                                 <xs:attribute name="startRes" type="xs:int"/>\r
70                                                 <xs:attribute name="startSeq" type="xs:int"/>\r
71                                                 <xs:attribute name="fontName" type="xs:string"/>\r
72                                                 <xs:attribute name="fontSize" type="xs:int"/>\r
73                                                 <xs:attribute name="fontStyle" type="xs:int"/>\r
74                                         </xs:complexType>\r
75                                 </xs:element>\r
76                                 <xs:element name="UserColours" minOccurs="0" maxOccurs="unbounded">\r
77                                         <xs:complexType>\r
78                                                 <xs:sequence minOccurs="1">\r
79                                                         <xs:element name="UserColourScheme" type="jalview:JalviewUserColours"/>\r
80                                                 </xs:sequence>\r
81                                                 <xs:attribute name="id" type="xs:string"/>\r
82                                         </xs:complexType>\r
83                                 </xs:element>\r
84                                 <xs:element name="tree" minOccurs="0" maxOccurs="unbounded">\r
85                                         <xs:complexType>\r
86                                                 <xs:sequence minOccurs="0" maxOccurs="1">\r
87                                                         <xs:element name="title" type="xs:string"/>\r
88                                                         <xs:element name="newick" type="xs:string"/>\r
89                                                 </xs:sequence>\r
90                                                 <xs:attribute name="width" type="xs:int"/>\r
91                                                 <xs:attribute name="height" type="xs:int"/>\r
92                                                 <xs:attribute name="xpos" type="xs:int"/>\r
93                                                 <xs:attribute name="ypos" type="xs:int"/>\r
94                                                 <xs:attribute name="fontName" type="xs:string"/>\r
95                                                 <xs:attribute name="fontSize" type="xs:int"/>\r
96                                                 <xs:attribute name="fontStyle" type="xs:int"/>\r
97                                                 <xs:attribute name="threshold" type="xs:float"/>\r
98                                                 <xs:attribute name="showBootstrap" type="xs:boolean"/>\r
99                                                 <xs:attribute name="showDistances" type="xs:boolean"/>\r
100                                                 <xs:attribute name="markUnlinked" type="xs:boolean"/>\r
101                                                 <xs:attribute name="fitToWindow" type="xs:boolean"/>\r
102                                                 <xs:attribute name="currentTree" type="xs:boolean"/>\r
103                                         </xs:complexType>\r
104                                 </xs:element>\r
105                                 \r
106                                 <xs:element name="FeatureSettings" minOccurs="0" maxOccurs="1">\r
107                                                 <xs:complexType>\r
108                                 <xs:sequence>\r
109                                         <xs:element name="setting" minOccurs="0" maxOccurs="unbounded">\r
110                                                 <xs:complexType>\r
111                                                         <xs:attribute name="type" type="xs:string" use="required"/>\r
112                                                         <xs:attribute name="colour" type="xs:int" use="required"/>\r
113                                                         <xs:attribute name="display" type="xs:boolean" use="required"/>\r
114                                                 </xs:complexType>\r
115                                         </xs:element>\r
116                                 </xs:sequence>\r
117                                 </xs:complexType>\r
118                                 </xs:element>\r
119                                 \r
120                         </xs:sequence>\r
121                 </xs:sequence>\r
122         </xs:complexType>\r
123         \r
124         <xs:complexType name="feature">\r
125                 <xs:attribute name="begin" type="xs:int" use="required"/>\r
126                 <xs:attribute name="end" type="xs:int" use="required"/>\r
127                 <xs:attribute name="type" type="xs:string" use="required"/>\r
128                 <xs:attribute name="description" type="xs:string" use="optional"/>\r
129                 <xs:attribute name="status" type="xs:string" use="optional"/>\r
130         </xs:complexType>\r
131                 \r
132         <xs:complexType name="pdbentry">\r
133                 <xs:sequence minOccurs="0" maxOccurs="unbounded">\r
134                         <xs:element name="property" minOccurs="0" maxOccurs="unbounded">\r
135                                 <xs:complexType>\r
136                                         <xs:attribute name="name" type="xs:string" use="required"/>\r
137                                         <xs:attribute name="value" type="xs:string" use="required"/>\r
138                                 </xs:complexType>\r
139                         </xs:element>\r
140                 </xs:sequence>\r
141                 <xs:attribute name="id" type="xs:string" use="required"/>\r
142                 <xs:attribute name="type" type="xs:string" use="optional"/>\r
143         </xs:complexType>\r
144         \r
145 </xs:schema>\r