JAL-1764 add structure view type attribute to project schema
[jalview.git] / schemas / jalview.xsd
index eb10ae1..eab6500 100755 (executable)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
                                                                                                                                                </xs:documentation>
                                                                                                                                        </xs:annotation>
                                                                                                                                </xs:attribute>
+                                                                                                                               <xs:attribute name="type" type="xs:string"
+                                                                                                                                       use="optional">
+                                                                                                                                       <xs:annotation>
+                                                                                                                                               <xs:documentation>
+                                                                                                                                                       An identifier for the viewer type, currently either
+                                                                                                                                                       JMOL or CHIMERA
+                                                                                                                                               </xs:documentation>
+                                                                                                                                       </xs:annotation>
+                                                                                                                               </xs:attribute>
 
                                                                                                                        </xs:extension>
                                                                                                                </xs:simpleContent>
                                <xs:element name="JGroup" minOccurs="0"
                                        maxOccurs="unbounded">
                                        <xs:complexType>
-                                               <xs:sequence>
-                                                       <xs:element name="seq" type="xs:string"
-                                                               maxOccurs="unbounded" />
+            <xs:sequence>
+                                                       <xs:element name="seq" type="xs:string" maxOccurs="unbounded" />
+                                                       <xs:element name="annotationColours" type="jv:AnnotationColourScheme"
+                                                               minOccurs="0" maxOccurs="1" />
                                                </xs:sequence>
                                                <xs:attribute name="start" type="xs:int" />
                                                <xs:attribute name="end" type="xs:int" />
                                <xs:element name="Viewport" maxOccurs="unbounded" minOccurs="0">
                                        <xs:complexType>
                                                <xs:sequence>
-                                                       <xs:element name="AnnotationColours"
-                                                               minOccurs="0">
-                                                               <xs:complexType>
-                                                                       <xs:attribute name="aboveThreshold"
-                                                                               type="xs:int" />
-                                                                       <xs:attribute name="annotation"
-                                                                               type="xs:string" />
-                                                                       <xs:attribute name="minColour"
-                                                                               type="xs:int" />
-                                                                       <xs:attribute name="maxColour"
-                                                                               type="xs:int" />
-                                                                       <xs:attribute name="colourScheme"
-                                                                               type="xs:string" />
-                                                                       <xs:attribute name="threshold"
-                                                                               type="xs:float" />
-                       <xs:attribute name="perSequence" 
-                       type="xs:boolean" 
-                       use="optional" />
-                       <xs:attribute name="predefinedColours" 
-                  type="xs:boolean" 
-                  use="optional" />
-                                                               </xs:complexType>
+                                                       <xs:element name="AnnotationColours" type="jv:AnnotationColourScheme" 
+                                                               minOccurs="0" maxOccurs="1">
                                                        </xs:element>
                                                        <xs:element name="hiddenColumns"
                                                                minOccurs="0" maxOccurs="unbounded">
                                                        type="xs:boolean" use="optional" default="true" />
                                                <xs:attribute name="showSequenceLogo"
                                                        type="xs:boolean" use="optional" default="false" />
-            <xs:attribute name="normaliseSequenceLogo"
-              type="xs:boolean" use="optional" default="false" />
+                                   <xs:attribute name="normaliseSequenceLogo"
+                                     type="xs:boolean" use="optional" default="false" />
                                                <xs:attribute name="ignoreGapsinConsensus"
                                                        type="xs:boolean" use="optional" default="true" />
-
-                                               <xs:attribute name="startRes" type="xs:int" />
+                                                       <xs:attribute name="startRes" type="xs:int" />
                                                <xs:attribute name="startSeq" type="xs:int" />
                                                <xs:attribute name="fontName" type="xs:string" />
                                                <xs:attribute name="fontSize" type="xs:int" />
                                                                </xs:documentation>
                                                        </xs:annotation>
                                                </xs:attribute>
+                                               <xs:attribute name="complementId" type="xs:string"
+                                                       use="optional">
+                                                       <xs:annotation>
+                                                               <xs:documentation>
+                                                                       The viewport id of this viewport's (cdna/protein) coding complement, if any
+                                                               </xs:documentation>
+                                                       </xs:annotation>
+                                               </xs:attribute>
                                        </xs:complexType>
                                </xs:element>
                                <xs:element name="UserColours" minOccurs="0"
       <xs:attribute name="xpos" type="xs:int"/>
       <xs:attribute name="ypos" type="xs:int"/>
     </xs:attributeGroup>
+  <xs:complexType name="AnnotationColourScheme">
+       <xs:attribute name="aboveThreshold" type="xs:int" />
+       <xs:attribute name="annotation" type="xs:string" />
+       <xs:attribute name="minColour" type="xs:int" />
+       <xs:attribute name="maxColour" type="xs:int" />
+       <xs:attribute name="colourScheme" type="xs:string" />
+       <xs:attribute name="threshold" type="xs:float" />
+       <xs:attribute name="perSequence" type="xs:boolean" use="optional" />
+       <xs:attribute name="predefinedColours" type="xs:boolean"
+               use="optional" />
+  </xs:complexType>
+  
 </xs:schema>