29d1a16da100720bc8eff8ce6c2111d4b0892fdc
[jalview.git] / schemas / vamsasJvV1.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
4   Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
5   
6   This file is part of Jalview.
7   
8   Jalview is free software: you can redistribute it and/or
9   modify it under the terms of the GNU General Public License 
10   as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
11    
12   Jalview is distributed in the hope that it will be useful, but 
13   WITHOUT ANY WARRANTY; without even the implied warranty 
14   of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
15   PURPOSE.  See the GNU General Public License for more details.
16   
17   You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
18 -->
19 <!-- edited with XMLSpy v2006 sp1 U (http://www.altova.com) by ioh[ (o[ih[oh) -->
20 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vamsas="www.vamsas.org" targetNamespace="www.vamsas.org" elementFormDefault="qualified" attributeFormDefault="unqualified">
21         <xs:complexType name="VAMSAS">
22                 <xs:sequence>
23                         <xs:element name="Alignment" minOccurs="0" maxOccurs="unbounded">
24                                 <xs:complexType>
25                                         <xs:sequence>
26                                                 <xs:element name="Annotation" minOccurs="0">
27                                                         <xs:complexType>
28                                                                 <xs:sequence>
29                                                                         <xs:element ref="vamsas:annotationElement" maxOccurs="unbounded"/>
30                                                                         <xs:element name="label" type="xs:string"/>
31                                                                         <xs:element name="description" type="xs:string"/>
32                                                                 </xs:sequence>
33                                                                 <xs:attribute name="graph" type="xs:boolean" use="required"/>
34                                                                 <xs:attribute name="graphType" type="xs:int" use="optional"/>
35                                                         </xs:complexType>
36                                                 </xs:element>
37                                                 <xs:element ref="vamsas:SequenceSet"/>
38                                         </xs:sequence>
39                                 </xs:complexType>
40                         </xs:element>
41                         <xs:element name="Tree" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
42                         <xs:element ref="vamsas:SequenceSet" minOccurs="0" maxOccurs="unbounded"/>
43                 </xs:sequence>
44         </xs:complexType>
45         <xs:element name="SequenceSet">
46                 <xs:complexType>
47                         <xs:sequence>
48                                 <xs:element name="Sequence" type="vamsas:SequenceType" maxOccurs="unbounded"/>
49                                 <xs:element name="Annotation" minOccurs="0" maxOccurs="unbounded">
50                                         <xs:complexType>
51                                                 <xs:sequence>
52                                                         <xs:element name="description" type="xs:string" minOccurs="0"/>
53                                                         <xs:element name="status" type="xs:string" minOccurs="0"/>
54                                                         <xs:element ref="vamsas:annotationElement" minOccurs="0" maxOccurs="unbounded"/>
55                                                 </xs:sequence>
56                                                 <xs:attribute name="type" type="xs:string" use="required"/>
57                                                 <xs:attribute name="end" type="xs:string" use="required"/>
58                                                 <xs:attribute name="begin" type="xs:string" use="required"/>
59                                                 <xs:attribute name="seqRef" type="xs:string" use="required"/>
60                                         </xs:complexType>
61                                 </xs:element>
62                         </xs:sequence>
63                         <xs:attribute name="gapChar" type="xs:string" use="required"/>
64                         <xs:attribute name="aligned" type="xs:boolean" use="optional"/>
65                 </xs:complexType>
66         </xs:element>
67         <xs:element name="annotationElement">
68                 <xs:complexType>
69                         <xs:sequence>
70                                 <xs:element name="displayCharacter" type="xs:string"/>
71                                 <xs:element name="description" type="xs:string"/>
72                                 <xs:element name="secondaryStructure">
73                                         <xs:simpleType>
74                                                 <xs:restriction base="xs:string">
75                                                         <xs:length value="1"/>
76                                                 </xs:restriction>
77                                         </xs:simpleType>
78                                 </xs:element>
79                                 <xs:element name="value" type="xs:float"/>
80                         </xs:sequence>
81                         <xs:attribute name="position" type="xs:int" use="required"/>
82                 </xs:complexType>
83         </xs:element>
84         <xs:complexType name="SequenceType">
85                 <xs:sequence>
86                         <xs:element name="sequence" type="xs:string"/>
87                         <xs:element name="name" type="xs:string"/>
88                 </xs:sequence>
89                 <xs:attribute name="id" type="xs:string"/>
90         </xs:complexType>
91 </xs:schema>