apply gpl development license
[jalview.git] / schemas / jalviewJvV1.xsd
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <!--\r
3   Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1)\r
4   Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
5   \r
6   This program is free software; you can redistribute it and/or\r
7   modify it under the terms of the GNU General Public License\r
8   as published by the Free Software Foundation; either version 2\r
9   of the License, or (at your option) any later version.\r
10   \r
11   This program is distributed in the hope that it will be useful,\r
12   but WITHOUT ANY WARRANTY; without even the implied warranty of\r
13   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
14   GNU General Public License for more details.\r
15   \r
16   You should have received a copy of the GNU General Public License\r
17   along with this program; if not, write to the Free Software\r
18   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\r
19 -->\r
20 \r
21 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"\r
22                                  xmlns:vamsas="www.vamsas.org"\r
23                                  xmlns:jalview="www.jalview.org/colours"\r
24                                  xmlns:jv="www.jalview.org" \r
25                                  targetNamespace="www.jalview.org" elementFormDefault="qualified" attributeFormDefault="unqualified">\r
26                                  \r
27         <xs:import schemaLocation="vamsasJvV1.xsd" namespace="www.vamsas.org"/>\r
28         <xs:import schemaLocation="jalviewUserColours.xsd" namespace="www.jalview.org/colours"/>\r
29         <xs:complexType name="JalviewModel">\r
30                 <xs:sequence>\r
31                         <xs:element name="creationDate" type="xs:dateTime"/>\r
32                         <xs:element name="version" type="xs:string"/>\r
33                         <xs:element name="vamsasModel" type="vamsas:VAMSAS"/>\r
34                         <xs:sequence>\r
35                                 <xs:element name="JSeq" maxOccurs="unbounded">\r
36                                         <xs:complexType>\r
37                                                 <xs:sequence>\r
38                                                          <xs:element name="features" type="jv:feature" minOccurs="0" maxOccurs="unbounded"/>\r
39                                                          <xs:element name="pdbids" type="jv:pdbentry" minOccurs="0" maxOccurs="unbounded"/>\r
40                                               </xs:sequence>\r
41                                               \r
42                                                     <xs:attribute name="colour" type="xs:int" use="optional"/>\r
43                                                         <xs:attribute name="start" type="xs:int" use="required"/>\r
44                                                         <xs:attribute name="end" type="xs:int" use="required"/>\r
45                                                         <xs:attribute name="id" type="xs:int" use="required"/>\r
46                                                 </xs:complexType>\r
47                                 </xs:element>\r
48                                 <xs:element name="JGroup" minOccurs="0" maxOccurs="unbounded">\r
49                                         <xs:complexType>\r
50                                                 <xs:sequence minOccurs="1">\r
51                                                         <xs:element name="seq" maxOccurs="unbounded" type="xs:int"/>\r
52                                                 </xs:sequence>\r
53                                                 <xs:attribute name="start" type="xs:int"/>\r
54                                                 <xs:attribute name="end" type="xs:int"/>\r
55                                                 <xs:attribute name="name" type="xs:string"/>\r
56                                                 <xs:attribute name="colour" type="xs:string"/>\r
57                                                 <xs:attribute name="consThreshold" type="xs:int"/>\r
58                                                 <xs:attribute name="pidThreshold" type="xs:int"/>\r
59                                                 <xs:attribute name="outlineColour" type="xs:int"/>\r
60                                                 <xs:attribute name="displayBoxes" type="xs:boolean"/>\r
61                                                 <xs:attribute name="displayText" type="xs:boolean"/>\r
62                                                 <xs:attribute name="colourText" type="xs:boolean"/>\r
63                                         </xs:complexType>\r
64                                 </xs:element>\r
65                                 <xs:element name="Viewport" maxOccurs="unbounded">\r
66                                         <xs:complexType>\r
67                                                 <xs:attribute name="conservationSelected" type="xs:boolean"/>\r
68                                                 <xs:attribute name="pidSelected" type="xs:boolean"/>\r
69                                                 <xs:attribute name="bgColour" type="xs:string"/>\r
70                                                 <xs:attribute name="consThreshold" type="xs:int"/>\r
71                                                 <xs:attribute name="pidThreshold" type="xs:int"/>\r
72                                                 <xs:attribute name="title" type="xs:string"/>\r
73                                                 <xs:attribute name="showFullId" type="xs:boolean"/>\r
74                                                 <xs:attribute name="showText" type="xs:boolean"/>\r
75                                                 <xs:attribute name="showColourText" type="xs:boolean"/>\r
76                                                 <xs:attribute name="showBoxes" type="xs:boolean"/>\r
77                                                 <xs:attribute name="wrapAlignment" type="xs:boolean"/>\r
78                                                 <xs:attribute name="renderGaps" type="xs:boolean"/>\r
79                                                 <xs:attribute name="showSequenceFeatures" type="xs:boolean"/>\r
80                                                 <xs:attribute name="showAnnotation" type="xs:boolean"/>\r
81                                                 <xs:attribute name="showConservation" type="xs:boolean"/>\r
82                                                 <xs:attribute name="showQuality" type="xs:boolean"/>\r
83                                                 <xs:attribute name="showIdentity" type="xs:boolean"/>\r
84                                                 <xs:attribute name="xpos" type="xs:int"/>\r
85                                                 <xs:attribute name="ypos" type="xs:int"/>\r
86                                                 <xs:attribute name="width" type="xs:int"/>\r
87                                                 <xs:attribute name="height" type="xs:int"/>\r
88                                                 <xs:attribute name="startRes" type="xs:int"/>\r
89                                                 <xs:attribute name="startSeq" type="xs:int"/>\r
90                                                 <xs:attribute name="fontName" type="xs:string"/>\r
91                                                 <xs:attribute name="fontSize" type="xs:int"/>\r
92                                                 <xs:attribute name="fontStyle" type="xs:int"/>\r
93                                         </xs:complexType>\r
94                                 </xs:element>\r
95                                 <xs:element name="UserColours" minOccurs="0" maxOccurs="unbounded">\r
96                                         <xs:complexType>\r
97                                                 <xs:sequence minOccurs="1">\r
98                                                         <xs:element name="UserColourScheme" type="jalview:JalviewUserColours"/>\r
99                                                 </xs:sequence>\r
100                                                 <xs:attribute name="id" type="xs:string"/>\r
101                                         </xs:complexType>\r
102                                 </xs:element>\r
103                                 <xs:element name="tree" minOccurs="0" maxOccurs="unbounded">\r
104                                         <xs:complexType>\r
105                                                 <xs:sequence minOccurs="0" maxOccurs="1">\r
106                                                         <xs:element name="title" type="xs:string"/>\r
107                                                         <xs:element name="newick" type="xs:string"/>\r
108                                                 </xs:sequence>\r
109                                                 <xs:attribute name="width" type="xs:int"/>\r
110                                                 <xs:attribute name="height" type="xs:int"/>\r
111                                                 <xs:attribute name="xpos" type="xs:int"/>\r
112                                                 <xs:attribute name="ypos" type="xs:int"/>\r
113                                                 <xs:attribute name="fontName" type="xs:string"/>\r
114                                                 <xs:attribute name="fontSize" type="xs:int"/>\r
115                                                 <xs:attribute name="fontStyle" type="xs:int"/>\r
116                                                 <xs:attribute name="threshold" type="xs:float"/>\r
117                                                 <xs:attribute name="showBootstrap" type="xs:boolean"/>\r
118                                                 <xs:attribute name="showDistances" type="xs:boolean"/>\r
119                                                 <xs:attribute name="markUnlinked" type="xs:boolean"/>\r
120                                                 <xs:attribute name="fitToWindow" type="xs:boolean"/>\r
121                                                 <xs:attribute name="currentTree" type="xs:boolean"/>\r
122                                         </xs:complexType>\r
123                                 </xs:element>\r
124                                 \r
125                                 <xs:element name="FeatureSettings" minOccurs="0" maxOccurs="1">\r
126                                                 <xs:complexType>\r
127                                 <xs:sequence>\r
128                                         <xs:element name="setting" minOccurs="0" maxOccurs="unbounded">\r
129                                                 <xs:complexType>\r
130                                                         <xs:attribute name="type" type="xs:string" use="required"/>\r
131                                                         <xs:attribute name="colour" type="xs:int" use="required"/>\r
132                                                         <xs:attribute name="display" type="xs:boolean" use="required"/>\r
133                                                 </xs:complexType>\r
134                                         </xs:element>\r
135                                 </xs:sequence>\r
136                                 </xs:complexType>\r
137                                 </xs:element>\r
138                                 \r
139                         </xs:sequence>\r
140                 </xs:sequence>\r
141         </xs:complexType>\r
142         \r
143         <xs:complexType name="feature">\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:complexType>\r
150                 \r
151         <xs:complexType name="pdbentry">\r
152                 <xs:sequence minOccurs="0" maxOccurs="unbounded">\r
153                         <xs:element name="property" minOccurs="0" maxOccurs="unbounded">\r
154                                 <xs:complexType>\r
155                                         <xs:attribute name="name" type="xs:string" use="required"/>\r
156                                         <xs:attribute name="value" type="xs:string" use="required"/>\r
157                                 </xs:complexType>\r
158                         </xs:element>\r
159                 </xs:sequence>\r
160                 <xs:attribute name="id" type="xs:string" use="required"/>\r
161                 <xs:attribute name="type" type="xs:string" use="optional"/>\r
162         </xs:complexType>\r
163         \r
164 </xs:schema>\r