Viewname, sequencesetid, gatheredViews
[jalview.git] / schemas / jalview.xsd
index 65c7422..f3cf52b 100755 (executable)
 <?xml version="1.0" encoding="UTF-8"?>\r
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" \r
-                       xmlns:vamsas="www.vamsas.org" \r
-                       xmlns:jalview="www.jalview.org/colours" \r
-                       targetNamespace="www.jalview.org" \r
-                       elementFormDefault="qualified" \r
-                       attributeFormDefault="unqualified">\r
-\r
-<xs:import schemaLocation="vamsas.xsd" namespace="www.vamsas.org" />\r
-<xs:import schemaLocation="jalviewUserColours.xsd" namespace="www.jalview.org/colours"/>\r
-\r
-<xs:complexType name="JalviewModel">\r
-\r
-    <xs:sequence>\r
-\r
-           <xs:element name="creationDate" type="xs:dateTime"/>\r
-\r
-        <xs:element name="vamsasModel" type="vamsas:VAMSAS"/>\r
-\r
-        <xs:sequence>\r
-\r
-            <xs:element name="JSeq" maxOccurs="unbounded">\r
-\r
-                <xs:complexType>\r
-                    \r
-                                       <xs:attribute name="colour" type="xs:int" use="optional"/>\r
-                                       \r
-                    <xs:attribute name="start" type="xs:int" use="required"/>\r
-\r
-                    <xs:attribute name="end" type="xs:int" use="required"/>\r
-\r
-                    <xs:attribute name="id" type="xs:int" use="required"/>\r
-\r
-                </xs:complexType>\r
-\r
-            </xs:element>\r
-\r
-            <xs:element name="JGroup" maxOccurs="unbounded">\r
-\r
-                <xs:complexType>\r
-\r
-                    <xs:sequence minOccurs="1">\r
-\r
-                        <xs:element name="seq" maxOccurs="unbounded" type="xs:int"/>\r
-                                       \r
-                    </xs:sequence>\r
-\r
-                        <xs:attribute name="start" type="xs:int"/>\r
-\r
-                        <xs:attribute name="end" type="xs:int"/>\r
-\r
-                        <xs:attribute name="name" type="xs:string"/>\r
-\r
-                        <xs:attribute name="colour" type="xs:string"/>\r
-\r
+<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
+       <xs:import namespace="www.vamsas.ac.uk/jalview/version2" schemaLocation="vamsas.xsd"/>\r
+       <xs:import namespace="www.jalview.org/colours" schemaLocation="JalviewUserColours.xsd"/>\r
+       <xs:complexType name="JalviewModel">\r
+               <xs:sequence>\r
+                       <xs:element name="creationDate" type="xs:dateTime"/>\r
+                       <xs:element name="version" type="xs:string"/>\r
+                       <xs:element name="vamsasModel" type="vamsas:VAMSAS"/>\r
+                       <xs:sequence>\r
+                               <xs:element name="JSeq" maxOccurs="unbounded">\r
+                                       <xs:complexType>\r
+                                               <xs:sequence>\r
+                                                       <xs:element name="features" type="jv:feature" minOccurs="0" maxOccurs="unbounded"/>\r
+                                                       <xs:element name="pdbids" type="jv:pdbentry" minOccurs="0" maxOccurs="unbounded"/>\r
+                                                       <xs:element name="hiddenSequences" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>\r
+                                               </xs:sequence>\r
+                                               <xs:attribute name="colour" type="xs:int" use="optional"/>\r
+                                               <xs:attribute name="start" type="xs:int" use="required"/>\r
+                                               <xs:attribute name="end" type="xs:int" use="required"/>\r
+                                               <xs:attribute name="id" type="xs:int" use="required"/>\r
+                                               <xs:attribute name="hidden" type="xs:boolean"/>\r
+                                       </xs:complexType>\r
+                               </xs:element>\r
+                               <xs:element name="JGroup" minOccurs="0" maxOccurs="unbounded">\r
+                                       <xs:complexType>\r
+                                               <xs:sequence>\r
+                                                       <xs:element name="seq" type="xs:int" maxOccurs="unbounded"/>\r
+                                               </xs:sequence>\r
+                                               <xs:attribute name="start" type="xs:int"/>\r
+                                               <xs:attribute name="end" type="xs:int"/>\r
+                                               <xs:attribute name="name" type="xs:string"/>\r
+                                               <xs:attribute name="colour" type="xs:string"/>\r
                                                <xs:attribute name="consThreshold" type="xs:int"/>\r
-\r
                                                <xs:attribute name="pidThreshold" type="xs:int"/>\r
-\r
-                        <xs:attribute name="outlineColour" type="xs:int"/>\r
-\r
-                        <xs:attribute name="displayBoxes" type="xs:boolean"/>\r
-\r
-                        <xs:attribute name="displayText" type="xs:boolean"/>\r
-\r
-                        <xs:attribute name="colourText" type="xs:boolean"/>\r
-\r
-                </xs:complexType>\r
-\r
-            </xs:element>\r
-\r
-            <xs:element name="Viewport" maxOccurs="unbounded">\r
-\r
-                <xs:complexType>\r
-                                       <xs:attribute name="conservationSelected" type="xs:boolean"/>\r
-\r
+                                               <xs:attribute name="outlineColour" type="xs:int"/>\r
+                                               <xs:attribute name="displayBoxes" type="xs:boolean"/>\r
+                                               <xs:attribute name="displayText" type="xs:boolean"/>\r
+                                               <xs:attribute name="colourText" type="xs:boolean"/>\r
+                                       </xs:complexType>\r
+                               </xs:element>\r
+                               <xs:element name="Viewport" maxOccurs="unbounded">\r
+                                       <xs:complexType>\r
+                                               <xs:sequence>\r
+                                                       <xs:element name="AnnotationColours" minOccurs="0">\r
+                                                               <xs:complexType>\r
+                                                                       <xs:attribute name="aboveThreshold" type="xs:int"/>\r
+                                                                       <xs:attribute name="annotation" type="xs:string"/>\r
+                                                                       <xs:attribute name="minColour" type="xs:int"/>\r
+                                                                       <xs:attribute name="maxColour" type="xs:int"/>\r
+                                                                       <xs:attribute name="colourScheme" type="xs:string"/>\r
+                                                                       <xs:attribute name="threshold" type="xs:float"/>\r
+                                                               </xs:complexType>\r
+                                                       </xs:element>\r
+                                                       <xs:element name="hiddenColumns" minOccurs="0" maxOccurs="unbounded">\r
+                                                               <xs:complexType>\r
+                                                                       <xs:attribute name="start" type="xs:int"/>\r
+                                                                       <xs:attribute name="end" type="xs:int"/>\r
+                                                               </xs:complexType>\r
+                                                       </xs:element>\r
+                                               </xs:sequence>\r
+                                               <xs:attribute name="conservationSelected" type="xs:boolean"/>\r
                                                <xs:attribute name="pidSelected" type="xs:boolean"/>\r
-\r
-                        <xs:attribute name="bgColour" type="xs:string"/>\r
-\r
+                                               <xs:attribute name="bgColour" type="xs:string"/>\r
                                                <xs:attribute name="consThreshold" type="xs:int"/>\r
-\r
                                                <xs:attribute name="pidThreshold" type="xs:int"/>\r
-\r
-                        <xs:attribute name="title" type="xs:string"/>\r
-\r
-                        <xs:attribute name="showFullId" type="xs:boolean"/>\r
-\r
-                        <xs:attribute name="showText" type="xs:boolean"/>\r
-\r
-                        <xs:attribute name="showColourText" type="xs:boolean"/>\r
-\r
-                        <xs:attribute name="showBoxes" type="xs:boolean"/>\r
-\r
-                        <xs:attribute name="wrapAlignment" type="xs:boolean"/>\r
-\r
-                        <xs:attribute name="renderGaps" type="xs:boolean"/>\r
-\r
-                        <xs:attribute name="showSequenceFeatures" type="xs:boolean"/>\r
-\r
+                                               <xs:attribute name="title" type="xs:string"/>\r
+                                               <xs:attribute name="showFullId" type="xs:boolean"/>\r
+                                               <xs:attribute name="showText" type="xs:boolean"/>\r
+                                               <xs:attribute name="showColourText" type="xs:boolean"/>\r
+                                               <xs:attribute name="showBoxes" type="xs:boolean"/>\r
+                                               <xs:attribute name="wrapAlignment" type="xs:boolean"/>\r
+                                               <xs:attribute name="renderGaps" type="xs:boolean"/>\r
+                                               <xs:attribute name="showSequenceFeatures" type="xs:boolean"/>\r
                                                <xs:attribute name="showAnnotation" type="xs:boolean"/>\r
-\r
-                        <xs:attribute name="showConservation" type="xs:boolean"/>\r
-\r
-                        <xs:attribute name="showQuality" type="xs:boolean"/>\r
-\r
+                                               <xs:attribute name="showConservation" type="xs:boolean"/>\r
+                                               <xs:attribute name="showQuality" type="xs:boolean"/>\r
                                                <xs:attribute name="showIdentity" type="xs:boolean"/>\r
-\r
-                    <xs:attribute name="xpos" type="xs:int"/>\r
-\r
-                    <xs:attribute name="ypos" type="xs:int"/>\r
-\r
-                    <xs:attribute name="width" type="xs:int"/>\r
-\r
-                    <xs:attribute name="height" type="xs:int"/>\r
-\r
-                                   <xs:attribute name="startRes" type="xs:int"/>\r
-                                       <xs:attribute name="startSeq" type="xs:int"/>\r
-                                       <xs:attribute name="fontName" type="xs:string"/>\r
-                                       <xs:attribute name="fontSize" type="xs:int"/>\r
-                                       <xs:attribute name="fontStyle" type="xs:int"/>\r
-                               \r
-\r
-                </xs:complexType>\r
-\r
-            </xs:element>    \r
-\r
-                       <xs:element name="UserColours" maxOccurs="unbounded">\r
-                <xs:complexType>  \r
-                                        <xs:sequence minOccurs="1">\r
-                                               <xs:element name="UserColourScheme" type="jalview:JalviewUserColours"/>\r
-                                        </xs:sequence>\r
-                                        <xs:attribute name="id" type="xs:string"/>\r
-                 </xs:complexType>\r
-            </xs:element>\r
-\r
-       </xs:sequence>\r
-\r
-    </xs:sequence>\r
-\r
-</xs:complexType>\r
-\r
-\r
-\r
-\r
+                                               <xs:attribute name="xpos" type="xs:int"/>\r
+                                               <xs:attribute name="ypos" type="xs:int"/>\r
+                                               <xs:attribute name="width" type="xs:int"/>\r
+                                               <xs:attribute name="height" type="xs:int"/>\r
+                                               <xs:attribute name="startRes" type="xs:int"/>\r
+                                               <xs:attribute name="startSeq" type="xs:int"/>\r
+                                               <xs:attribute name="fontName" type="xs:string"/>\r
+                                               <xs:attribute name="fontSize" type="xs:int"/>\r
+                                               <xs:attribute name="fontStyle" type="xs:int"/>\r
+                                               <xs:attribute name="viewName" type="xs:string"/>\r
+                                               <xs:attribute name="sequenceSetId" type="xs:string"/>\r
+                                               <xs:attribute name="gatheredViews" type="xs:boolean"/>\r
+                                       </xs:complexType>\r
+                               </xs:element>\r
+                               <xs:element name="UserColours" minOccurs="0" maxOccurs="unbounded">\r
+                                       <xs:complexType>\r
+                                               <xs:sequence>\r
+                                                       <xs:element name="UserColourScheme" type="jalview:JalviewUserColours"/>\r
+                                               </xs:sequence>\r
+                                               <xs:attribute name="id" type="xs:string"/>\r
+                                       </xs:complexType>\r
+                               </xs:element>\r
+                               <xs:element name="tree" minOccurs="0" maxOccurs="unbounded">\r
+                                       <xs:complexType>\r
+                                               <xs:sequence minOccurs="0">\r
+                                                       <xs:element name="title" type="xs:string"/>\r
+                                                       <xs:element name="newick" type="xs:string"/>\r
+                                               </xs:sequence>\r
+                                               <xs:attribute name="width" type="xs:int"/>\r
+                                               <xs:attribute name="height" type="xs:int"/>\r
+                                               <xs:attribute name="xpos" type="xs:int"/>\r
+                                               <xs:attribute name="ypos" type="xs:int"/>\r
+                                               <xs:attribute name="fontName" type="xs:string"/>\r
+                                               <xs:attribute name="fontSize" type="xs:int"/>\r
+                                               <xs:attribute name="fontStyle" type="xs:int"/>\r
+                                               <xs:attribute name="threshold" type="xs:float"/>\r
+                                               <xs:attribute name="showBootstrap" type="xs:boolean"/>\r
+                                               <xs:attribute name="showDistances" type="xs:boolean"/>\r
+                                               <xs:attribute name="markUnlinked" type="xs:boolean"/>\r
+                                               <xs:attribute name="fitToWindow" type="xs:boolean"/>\r
+                                               <xs:attribute name="currentTree" type="xs:boolean"/>\r
+                                       </xs:complexType>\r
+                               </xs:element>\r
+                               <xs:element name="FeatureSettings" minOccurs="0">\r
+                                       <xs:complexType>\r
+                                               <xs:sequence>\r
+                                                       <xs:element name="setting" minOccurs="0" maxOccurs="unbounded">\r
+                                                               <xs:complexType>\r
+                                                                       <xs:attribute name="type" type="xs:string" use="required"/>\r
+                                                                       <xs:attribute name="colour" type="xs:int" use="required"/>\r
+                                                                       <xs:attribute name="display" type="xs:boolean" use="required"/>\r
+                                                               </xs:complexType>\r
+                                                       </xs:element>\r
+                                               </xs:sequence>\r
+                                       </xs:complexType>\r
+                               </xs:element>\r
+                       </xs:sequence>\r
+               </xs:sequence>\r
+       </xs:complexType>\r
+       <xs:complexType name="feature">\r
+               <xs:sequence>\r
+                       <xs:element name="otherData" minOccurs="0" maxOccurs="unbounded">\r
+                               <xs:complexType>\r
+                                       <xs:attribute name="key" type="xs:string" use="required"/>\r
+                                       <xs:attribute name="value" type="xs:string" use="required"/>\r
+                               </xs:complexType>\r
+                       </xs:element>\r
+               </xs:sequence>\r
+               <xs:attribute name="begin" type="xs:int" use="required"/>\r
+               <xs:attribute name="end" type="xs:int" use="required"/>\r
+               <xs:attribute name="type" type="xs:string" use="required"/>\r
+               <xs:attribute name="description" type="xs:string" use="optional"/>\r
+               <xs:attribute name="status" type="xs:string" use="optional"/>\r
+               <xs:attribute name="featureGroup" type="xs:string" use="optional"/>\r
+               <xs:attribute name="score" type="xs:float" use="optional"/>\r
+       </xs:complexType>\r
+       <xs:complexType name="pdbentry">\r
+               <xs:sequence minOccurs="0" maxOccurs="unbounded">\r
+                       <xs:element name="property" minOccurs="0" maxOccurs="unbounded">\r
+                               <xs:complexType>\r
+                                       <xs:attribute name="name" type="xs:string" use="required"/>\r
+                                       <xs:attribute name="value" type="xs:string" use="required"/>\r
+                               </xs:complexType>\r
+                       </xs:element>\r
+               </xs:sequence>\r
+               <xs:attribute name="id" type="xs:string" use="required"/>\r
+               <xs:attribute name="type" type="xs:string" use="optional"/>\r
+               <xs:attribute name="file" type="xs:string"/>\r
+       </xs:complexType>\r
 </xs:schema>\r