update author list in license for (JAL-826)
[jalview.git] / schemas / jalview.xsd
index 6a959a2..cc8b1e9 100755 (executable)
-<?xml version="1.0" encoding="UTF-8"?>\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
-                                               <xs:attribute name="pidThreshold" type="xs:int"/>\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
-                                               <xs:attribute name="bgColour" type="xs:string"/>\r
-                                               <xs:attribute name="consThreshold" type="xs:int"/>\r
-                                               <xs:attribute name="pidThreshold" type="xs:int"/>\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
-                                               <xs:attribute name="showConservation" type="xs:boolean"/>\r
-                                               <xs:attribute name="showQuality" type="xs:boolean"/>\r
-                                               <xs:attribute name="showIdentity" type="xs:boolean"/>\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: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: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: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:complexType>\r
-</xs:schema>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
+ * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ * 
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+-->
+<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">
+               <xs:import namespace="www.vamsas.ac.uk/jalview/version2" schemaLocation="vamsas.xsd"/>
+       <xs:import namespace="www.jalview.org/colours" schemaLocation="JalviewUserColours.xsd"/>
+       <xs:complexType name="JalviewModel">
+               <xs:sequence>
+                       <xs:element name="creationDate" type="xs:dateTime"/>
+                       <xs:element name="version" type="xs:string"/>
+                       <xs:element name="vamsasModel" type="vamsas:VAMSAS"/>
+                       <xs:sequence>
+                               <xs:element name="JSeq" maxOccurs="unbounded">
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element name="features" type="jv:feature" minOccurs="0" maxOccurs="unbounded"/>
+                                                       <xs:element name="pdbids" minOccurs="0" maxOccurs="unbounded">
+                                                               <xs:complexType>
+                                                                       <xs:complexContent>
+                                                                               <xs:extension base="jv:pdbentry">
+                                                                                       <xs:sequence>
+                                                                                               <xs:element name="structureState" minOccurs="0" maxOccurs="unbounded">
+                                                                                                       <xs:complexType>
+                                                                                                               <xs:simpleContent>
+                                                                                                               <xs:extension base="xs:string">
+                                                                                                               <xs:attributeGroup ref="jv:swingwindow"/>
+                                                                                                                               <xs:attribute name="visible" type="xs:boolean"/>
+                                                                                                                               <xs:attribute name="viewId" type="xs:string" use="optional">
+                                                                                                                                       <xs:annotation>
+                                                                                                                                               <xs:documentation>additional identifier which properly disambiguates
+                                                                                                                                               the structure view from any other view with the same attributes. This is not an ID,
+                                                                                                                                               because it is possible to have many references to the same physical structure view
+                                                                                                                                               from different sequences in an alignment. A structureState element citing the same
+                                                                                                                                               viewId will appear for each instance.</xs:documentation>
+                                                                                                                                       </xs:annotation>
+                                                                                                                               </xs:attribute>
+                                                                                                                               <xs:attribute name="alignwithAlignPanel" type="xs:boolean" use="optional" default="true">
+                                                                                                                               <xs:annotation>
+                                                                                                                               <xs:documentation>
+                                                                                                                                       Flag set if the alignment panel containing this JSeq should be included in those used to perform a structure superposition (since Jalview 2.7).
+                                                                                                                               </xs:documentation>
+                                                                                                                               </xs:annotation>
+                                                                                                                               </xs:attribute>
+                                                                                                                               <xs:attribute name="colourwithAlignPanel" type="xs:boolean" use="optional" default="false">
+                                                                                                                               <xs:annotation>
+                                                                                                                               <xs:documentation>
+                                                                                                                                       Flag set if the alignment panel containing this JSeq should be included in those used to colour its associated sequences in this structureState(since Jalview 2.7).
+                                                                                                                               </xs:documentation>
+                                                                                                                               </xs:annotation>
+                                                                                                                               </xs:attribute>
+                                                                                                                               <xs:attribute name="colourByJmol" type="xs:boolean" use="optional" default="true">
+                                                                                                                               <xs:annotation><xs:documentation>
+                                                                                                                                 Flag set if the structure display is coloured by the Jmol state, rather than by one or more linked alignment views.
+                                                                                                                               </xs:documentation></xs:annotation></xs:attribute>      
+                                                                                                                               
+                                                                                                                       </xs:extension>
+                                                                                                   </xs:simpleContent>
+                                                                                                       </xs:complexType>
+                                                                                               </xs:element>
+                                                                                       </xs:sequence>
+                                                                               </xs:extension>
+                                                                       </xs:complexContent>
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                                       <xs:element name="hiddenSequences" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
+                                               </xs:sequence>
+                                               <xs:attribute name="colour" type="xs:int" use="optional"/>
+                                               <xs:attribute name="start" type="xs:int" use="required"/>
+                                               <xs:attribute name="end" type="xs:int" use="required"/>
+                                               <xs:attribute name="id" type="xs:string" use="required"/>
+                                               <xs:attribute name="hidden" type="xs:boolean"/>
+                                       </xs:complexType>
+                               </xs:element>
+                               <xs:element name="JGroup" minOccurs="0" maxOccurs="unbounded">
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element name="seq" type="xs:string" maxOccurs="unbounded"/>
+                                               </xs:sequence>
+                                               <xs:attribute name="start" type="xs:int"/>
+                                               <xs:attribute name="end" type="xs:int"/>
+                                               <xs:attribute name="name" type="xs:string"/>
+                                               <xs:attribute name="colour" type="xs:string"/>
+                                               <xs:attribute name="consThreshold" type="xs:int"/>
+                                               <xs:attribute name="pidThreshold" type="xs:int"/>
+                                               <xs:attribute name="outlineColour" type="xs:int"/>
+                                               <xs:attribute name="displayBoxes" type="xs:boolean"/>
+                                               <xs:attribute name="displayText" type="xs:boolean"/>
+                                               <xs:attribute name="colourText" type="xs:boolean"/>
+                                               <xs:attribute name="textCol1" type="xs:int"/>
+                                               <xs:attribute name="textCol2" type="xs:int"/>
+                                               <xs:attribute name="textColThreshold" type="xs:int"/>
+                                               <xs:attribute name="showUnconserved" type="xs:boolean" use="optional"/>
+                                               <xs:attribute name="ignoreGapsinConsensus" type="xs:boolean" use="optional" default="true"/>
+                                               <xs:attribute name="showConsensusHistogram" type="xs:boolean" use="optional" default="true"/>
+                                               <xs:attribute name="showSequenceLogo" type="xs:boolean" use="optional" default="false"/>
+                                               <xs:attribute name="id" type="xs:string" use="optional"><xs:annotation>
+                                               <xs:documentation>
+                                               Optional sequence group ID (only needs to be unique for this alignment)
+                                               </xs:documentation>
+                                               </xs:annotation></xs:attribute>
+                                       </xs:complexType>
+                               </xs:element>
+                               <xs:element name="Viewport" maxOccurs="unbounded">
+                                       <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:complexType>
+                                                       </xs:element>
+                                                       <xs:element name="hiddenColumns" minOccurs="0" maxOccurs="unbounded">
+                                                               <xs:complexType>
+                                                                       <xs:attribute name="start" type="xs:int"/>
+                                                                       <xs:attribute name="end" type="xs:int"/>
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                               </xs:sequence>
+                                               <xs:attributeGroup ref="jv:swingwindow"/>
+                                               <xs:attribute name="conservationSelected" type="xs:boolean"/>
+                                               <xs:attribute name="pidSelected" type="xs:boolean"/>
+                                               <xs:attribute name="bgColour" type="xs:string"/>
+                                               <xs:attribute name="consThreshold" type="xs:int"/>
+                                               <xs:attribute name="pidThreshold" type="xs:int"/>
+                                               <xs:attribute name="title" type="xs:string"/>
+                                               <xs:attribute name="showFullId" type="xs:boolean"/>
+                                               <xs:attribute name="rightAlignIds" type="xs:boolean"/>
+                                               <xs:attribute name="showText" type="xs:boolean"/>
+                                               <xs:attribute name="showColourText" type="xs:boolean"/>
+                                               <xs:attribute name="showUnconserved" type="xs:boolean" use="optional" default="false"/>
+                                               <xs:attribute name="showBoxes" type="xs:boolean"/>
+                                               <xs:attribute name="wrapAlignment" type="xs:boolean"/>
+                                               <xs:attribute name="renderGaps" type="xs:boolean"/>
+                                               <xs:attribute name="showSequenceFeatures" type="xs:boolean"/>
+                                               <xs:attribute name="showNPfeatureTooltip" type="xs:boolean" use="optional"/>
+                                               <xs:attribute name="showDbRefTooltip" type="xs:boolean" use="optional"/>
+                                               <xs:attribute name="followHighlight" type="xs:boolean" use="optional" default="true"/>
+                                               <xs:attribute name="followSelection" type="xs:boolean" use="optional" default="true"/>
+                                               <xs:attribute name="showAnnotation" type="xs:boolean"/>
+                                               <xs:attribute name="centreColumnLabels" type="xs:boolean" use="optional" default="false"/>
+                                               <xs:attribute name="showGroupConservation" type="xs:boolean" use="optional" default="false"/>
+                                               <xs:attribute name="showGroupConsensus" type="xs:boolean" use="optional" default="false"/>
+                                               <xs:attribute name="showConsensusHistogram" type="xs:boolean" use="optional" default="true"/>
+                                               <xs:attribute name="showSequenceLogo" 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="startSeq" type="xs:int"/>
+                                               <xs:attribute name="fontName" type="xs:string"/>
+                                               <xs:attribute name="fontSize" type="xs:int"/>
+                                               <xs:attribute name="fontStyle" type="xs:int"/>
+                                               <xs:attribute name="viewName" type="xs:string"/>
+                                               <xs:attribute name="sequenceSetId" type="xs:string"/>
+                                               <xs:attribute name="gatheredViews" type="xs:boolean"/>
+                                               <xs:attribute name="textCol1" type="xs:int"/>
+                                               <xs:attribute name="textCol2" type="xs:int"/>
+                                               <xs:attribute name="textColThreshold" type="xs:int"/>
+                                               <xs:attribute name="id" type="xs:ID" use="optional">
+                                                       <xs:annotation>
+                                                               <xs:documentation>
+                                                                       unique id used by jalview to synchronize between stored and instantiated views
+                                                               </xs:documentation>
+                                                       </xs:annotation>
+                                               </xs:attribute>
+          </xs:complexType>
+                               </xs:element>
+                               <xs:element name="UserColours" minOccurs="0" maxOccurs="unbounded">
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element name="UserColourScheme" type="jalview:JalviewUserColours"/>
+                                               </xs:sequence>
+                                               <xs:attribute name="id" type="xs:string"/>
+                                       </xs:complexType>
+                               </xs:element>
+                               <xs:element name="tree" minOccurs="0" maxOccurs="unbounded">
+                                       <xs:complexType>
+                                        <xs:sequence minOccurs="0">
+              <xs:element name="title" type="xs:string"/>
+              <xs:element name="newick" type="xs:string"/>
+            </xs:sequence>
+            <xs:attribute name="fontName" type="xs:string"/>
+            <xs:attribute name="fontSize" type="xs:int"/>
+            <xs:attribute name="fontStyle" type="xs:int"/>
+            <xs:attribute name="threshold" type="xs:float"/>
+            <xs:attribute name="showBootstrap" type="xs:boolean"/>
+            <xs:attribute name="showDistances" type="xs:boolean"/>
+            <xs:attribute name="markUnlinked" type="xs:boolean"/>
+            <xs:attribute name="fitToWindow" type="xs:boolean"/>
+            <xs:attribute name="currentTree" type="xs:boolean"/>
+            <xs:attribute name="id" type="xs:ID" use="optional">
+              <xs:annotation><xs:documentation>Tree ID added for binding tree visualization settings to vamsas document trees in jalview 2.4.1</xs:documentation></xs:annotation>
+            </xs:attribute>
+          <xs:attributeGroup ref="jv:swingwindow"/>
+          </xs:complexType>
+                               </xs:element>
+                               <xs:element name="FeatureSettings" minOccurs="0">
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element name="setting" minOccurs="0" maxOccurs="unbounded">
+                                                               <xs:complexType>
+                                                                       <xs:attribute name="type" type="xs:string" use="required"/>
+                                                                       <xs:attribute name="colour" type="xs:int" use="required"/>
+                                                                       <xs:attribute name="display" type="xs:boolean" use="required"/>
+                                                                       <xs:attribute name="order" type="xs:float" use="optional"/>
+                                                                       <xs:attribute name="mincolour" type="xs:int" use="optional">
+                                                                       <xs:annotation><xs:documentation>Optional minimum colour for graduated feature colour</xs:documentation>
+                                                                       </xs:annotation></xs:attribute>
+                                                                       <xs:attribute name="threshold" type="xs:float" use="optional">
+                                                                       <xs:annotation><xs:documentation>threshold value for graduated feature colour</xs:documentation>
+                                                                       </xs:annotation></xs:attribute>
+                                                                       <xs:attribute name="threshstate" type="xs:int" use="optional">
+                                                                       <xs:annotation><xs:documentation>threshold type for graduated feature colour</xs:documentation>
+                                                                       </xs:annotation></xs:attribute>
+                                                                       <xs:attribute name="max" type="xs:float" use="optional"/>
+                                                                       <xs:attribute name="min" type="xs:float" use="optional"/>
+                                                                       <xs:attribute name="colourByLabel" type="xs:boolean" use="optional"/>
+                                                                       <xs:attribute name="autoScale" type="xs:boolean" use="optional"/>
+                                                       </xs:complexType>
+                                                       </xs:element>
+                                                       <xs:element name="group" minOccurs="0" maxOccurs="unbounded">
+                                                               <xs:complexType>
+                                                                       <xs:attribute name="name" type="xs:string" use="required"/>
+                                                                       <xs:attribute name="display" type="xs:boolean" use="required"/>
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                               </xs:sequence>
+                                       </xs:complexType>
+                               </xs:element>
+                       </xs:sequence>
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="feature">
+               <xs:sequence>
+                       <xs:element name="otherData" minOccurs="0" maxOccurs="unbounded">
+                               <xs:complexType>
+                                       <xs:attribute name="key" type="xs:string" use="required"/>
+                                       <xs:attribute name="value" type="xs:string" use="required"/>
+                               </xs:complexType>
+                       </xs:element>
+               </xs:sequence>
+               <xs:attribute name="begin" type="xs:int" use="required"/>
+               <xs:attribute name="end" type="xs:int" use="required"/>
+               <xs:attribute name="type" type="xs:string" use="required"/>
+               <xs:attribute name="description" type="xs:string" use="optional"/>
+               <xs:attribute name="status" type="xs:string" use="optional"/>
+               <xs:attribute name="featureGroup" type="xs:string" use="optional"/>
+               <xs:attribute name="score" type="xs:float" use="optional"/>
+       </xs:complexType>
+       <xs:complexType name="pdbentry">
+               <xs:sequence minOccurs="0" maxOccurs="unbounded">
+                       <xs:element name="property" minOccurs="0" maxOccurs="unbounded">
+                               <xs:complexType>
+                                       <xs:attribute name="name" type="xs:string" use="required"/>
+                                       <xs:attribute name="value" type="xs:string" use="required"/>
+                               </xs:complexType>
+                       </xs:element>
+               </xs:sequence>
+               <xs:attribute name="id" type="xs:string" use="required"/>
+               <xs:attribute name="type" type="xs:string" use="optional"/>
+               <xs:attribute name="file" type="xs:string"/>
+       </xs:complexType>
+       <!-- 
+       <xs:complexType name="reportWindow">
+       <xs:annotation>
+       <xs:documentation>Generic type for windows containing mime-typed data associated with other jalview windows</xs:documentation>
+       </xs:annotation>
+       <xs:sequence>
+       </xs:sequence>
+    <xs:attribute name="id" type="xs:string" use="required"/>
+    <xs:attribute name="type" type="xs:string" use="optional"/>
+    <xs:attribute name="file" type="xs:string" use="optional"/>
+       </xs:complexType>
+ -->
+    <xs:attributeGroup name="swingwindow">
+    <xs:annotation>
+    <xs:documentation>
+      base attributes for windows displayed in Jalview desktop.
+    </xs:documentation>
+    </xs:annotation>
+      <xs:attribute name="width" type="xs:int"/>
+      <xs:attribute name="height" type="xs:int"/>
+      <xs:attribute name="xpos" type="xs:int"/>
+      <xs:attribute name="ypos" type="xs:int"/>
+    </xs:attributeGroup>
+</xs:schema>