JAL-4020 class reformatting
[jalview.git] / schemas / jalview.xsd
index 055710e..1d2235e 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" minOccurs="0" maxOccurs="unbounded">\r
-                                                               <xs:complexType>\r
-                                                                       <xs:complexContent>\r
-                                                                               <xs:extension base="jv:pdbentry">\r
-                                                                                       <xs:sequence>\r
-                                                                                               <xs:element name="structureState" minOccurs="0" maxOccurs="unbounded">\r
-                                                                                                       <xs:complexType>\r
-                                                                                                               <xs:simpleContent>\r
-                                                                                                                       <xs:extension base="xs:string">\r
-                                                                                                                               <xs:attribute name="visible" 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:extension>\r
-                                                                                                               </xs:simpleContent>\r
-                                                                                                       </xs:complexType>\r
-                                                                                               </xs:element>\r
-                                                                                       </xs:sequence>\r
-                                                                               </xs:extension>\r
-                                                                       </xs:complexContent>\r
-                                                               </xs:complexType>\r
-                                                       </xs:element>\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:attribute name="textCol1" type="xs:int"/>\r
-                                               <xs:attribute name="textCol2" type="xs:int"/>\r
-                                               <xs:attribute name="textColThreshold" type="xs:int"/>\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="rightAlignIds" 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="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:attribute name="textCol1" type="xs:int"/>\r
-                                               <xs:attribute name="textCol2" type="xs:int"/>\r
-                                               <xs:attribute name="textColThreshold" 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: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
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) 
+       * Copyright (C) $$Year-Rel$$ The Jalview Authors * * 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/>. 
+       * The Jalview Authors are detailed in the 'AUTHORS' file. -->
+<!-- 
+       Java JAXB binding classes are generated by running command line tool xjc:
+           xjc schemas/jalview.xsd -d src -p jalview.xml.binding.jalview
+       Note this also generates code for included schemas
+-->
+<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" xmlns:jvws="www.jalview.org/xml/wsparamset"
+       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:import namespace="www.jalview.org/xml/wsparamset"
+               schemaLocation="JalviewWsParamSet.xsd" />
+       <xs:element name="JalviewModel" type="jv:JalviewModel" />
+       <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" minOccurs="0">
+                                       <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: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: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:element name="rnaViewer" minOccurs="0" maxOccurs="unbounded">
+                                                               <xs:annotation>
+                                                                       <xs:documentation>Reference to a viewer showing RNA structure
+                                                                               for this sequence. Schema supports one viewer showing multiple
+                                                                               annotations for multiple sequences, though currently only one
+                                                                               annotation for one sequence (gapped or trimmed) is used
+                                                                       </xs:documentation>
+                                                               </xs:annotation>
+                                                               <xs:complexType>
+                                                                       <xs:sequence>
+                                                                               <xs:element name="secondaryStructure" minOccurs="1"
+                                                                                       maxOccurs="unbounded">
+                                                                                       <xs:complexType>
+                                                                                               <xs:attribute name="title" type="xs:string" />
+                                                                                               <xs:attribute name="annotationId" type="xs:string"
+                                                                                                       use="required">
+                                                                                                       <xs:annotation>
+                                                                                                               <xs:documentation>id attribute of Annotation in
+                                                                                                                       vamsasModel for
+                                                                                                                       the secondary structure annotation shown
+                                                                                                                       in the viewer
+                                                                                                               </xs:documentation>
+                                                                                                       </xs:annotation>
+                                                                                               </xs:attribute>
+                                                                                               <xs:attribute name="gapped" type="xs:boolean">
+                                                                                                       <xs:annotation>
+                                                                                                               <xs:documentation>if true the RNA structure is shown with gaps, if false without
+                                                                                                               </xs:documentation>
+                                                                                                       </xs:annotation>
+                                                                                               </xs:attribute>
+                                                                                               <xs:attribute name="viewerState" type="xs:string">
+                                                                                                       <xs:annotation>
+                                                                                                               <xs:documentation>name of the project jar entry that holds
+                                                                                                                       the VARNA viewer state for the structure
+                                                                                                               </xs:documentation>
+                                                                                                       </xs:annotation>
+                                                                                               </xs:attribute>
+                                                                                       </xs:complexType>
+                                                                               </xs:element>
+                                                                       </xs:sequence>
+                                                                       <xs:attributeGroup ref="jv:swingwindow" />
+                                                                       <xs:attribute name="title" type="xs:string" />
+                                                                       <xs:attribute name="viewId" type="xs:string">
+                                                                               <xs:annotation>
+                                                                                       <xs:documentation>An id unique to the RNA viewer panel
+                                                                                       </xs:documentation>
+                                                                               </xs:annotation>
+                                                                       </xs:attribute>
+                                                                       <xs:attribute name="dividerLocation" type="xs:int">
+                                                                               <xs:annotation>
+                                                                                       <xs:documentation>horizontal position of split pane divider
+                                                                                       </xs:documentation>
+                                                                               </xs:annotation>
+                                                                       </xs:attribute>
+                                                                       <xs:attribute name="selectedRna" type="xs:int">
+                                                                               <xs:annotation>
+                                                                                       <xs:documentation>Index of the selected structure in the
+                                                                                               viewer panel
+                                                                                       </xs:documentation>
+                                                                               </xs:annotation>
+                                                                       </xs:attribute>
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                               </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:attribute name="viewreference" type="xs:boolean" use="optional"/>
+                                       </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: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: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="normaliseSequenceLogo" 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"
+                                       minOccurs="0">
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element name="AnnotationColours" type="jv:AnnotationColourScheme"
+                                                               minOccurs="0" maxOccurs="1">
+                                                       </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:element name="calcIdParam" minOccurs="0"
+                                                               maxOccurs="unbounded">
+                                                               <xs:complexType>
+                                                                       <xs:complexContent>
+                                                                               <xs:extension base="jvws:WebServiceParameterSet">
+                                                                                       <xs:attribute name="calcId" type="xs:string"
+                                                                                               use="required">
+                                                                                               <xs:annotation>
+                                                                                                       <xs:documentation>handle for the calculation which uses
+                                                                                                               this parameter set
+                                                                                                       </xs:documentation>
+                                                                                               </xs:annotation>
+                                                                                       </xs:attribute>
+                                                                                       <xs:attribute name="needsUpdate" type="xs:boolean"
+                                                                                               use="optional" default="false">
+                                                                                               <xs:annotation>
+                                                                                                       <xs:documentation>should the calculation be performed
+                                                                                                               immediately after loading in order to refresh results
+                                                                                                       </xs:documentation>
+                                                                                               </xs:annotation>
+                                                                                       </xs:attribute>
+                                                                                       <xs:attribute name="autoUpdate" type="xs:boolean"
+                                                                                               use="required">
+                                                                                               <xs:annotation>
+                                                                                                       <xs:documentation>should the calculation be automatically
+                                                                                                               performed on edits
+                                                                                                       </xs:documentation>
+                                                                                               </xs:annotation>
+                                                                                       </xs:attribute>
+                                                                               </xs:extension>
+                                                                       </xs:complexContent>
+                                                               </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="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="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="scaleProteinAsCdna" type="xs:boolean" use="optional" default="true" />
+                                               <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: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:attribute name="showComplementFeatures" type="xs:boolean" use="optional" default="false" />
+                                               <xs:attribute name="showComplementFeaturesOnTop" type="xs:boolean" use="optional" default="false" />
+                                       </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:attribute name="linkToAllViews" use="optional" default="false" type="xs:boolean" />
+                                       </xs:complexType>
+                               </xs:element>
+                               <xs:element name="PcaViewer" minOccurs="0" maxOccurs="unbounded">
+                                       <xs:complexType>
+                                               <xs:sequence>
+                                                       <xs:element name="sequencePoint" minOccurs="1" maxOccurs="unbounded">
+                                                               <xs:complexType>
+                                                                       <xs:attribute name="sequenceRef" type="xs:string" />
+                                                                       <xs:attributeGroup ref="jv:position" />
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                                       <xs:element name="axis" minOccurs="3" maxOccurs="3">
+                                                               <xs:annotation>
+                                                                       <xs:documentation>
+                                                                               endpoints of X, Y and Z axes in that order
+                                                                       </xs:documentation>
+                                                               </xs:annotation>
+                                                               <xs:complexType>
+                                                                       <xs:attributeGroup ref="jv:position" />
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                                       <xs:element name="seqPointMin">
+                                                               <xs:complexType>
+                                                                       <xs:attributeGroup ref="jv:position" />
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                                       <xs:element name="seqPointMax">
+                                                               <xs:complexType>
+                                                                       <xs:attributeGroup ref="jv:position" />
+                                                               </xs:complexType>
+                                                       </xs:element>
+                                                       <xs:element name="pcaData" type="jv:PcaDataType" />
+                                               </xs:sequence>
+                                               <xs:attribute name="title" type="xs:string" />
+                                               <xs:attribute name="scoreModelName" type="xs:string" />
+                                               <xs:attribute name="xDim" type="xs:int" />
+                                               <xs:attribute name="yDim" type="xs:int" />
+                                               <xs:attribute name="zDim" type="xs:int" />
+                                               <xs:attribute name="bgColour" type="xs:int" />
+                                               <xs:attribute name="scaleFactor" type="xs:float" />
+                                               <xs:attribute name="showLabels" type="xs:boolean" />
+                                               <xs:attribute name="linkToAllViews" type="xs:boolean" />
+                                               <xs:attributeGroup ref="jv:SimilarityParams" />
+                                               <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:sequence>
+                                                                           <xs:element name="attributeName" type="xs:string" minOccurs="0" maxOccurs="2">
+                                                                                       <xs:annotation>
+                                                                                               <xs:documentation>name of feature attribute to colour by, or attribute and sub-attribute</xs:documentation>
+                                                                                       </xs:annotation>
+                                                                           </xs:element> 
+                                                                               <xs:element name="matcherSet" minOccurs="0" type="jalview:FeatureMatcherSet">
+                                                                                       <xs:annotation>
+                                                                                               <xs:documentation>optional filter(s) applied to the feature type</xs:documentation>
+                                                                                       </xs:annotation>
+                                                                               </xs:element>
+                                                                       </xs:sequence>
+                                                                       <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="noValueColour" use="optional" type="jalview:NoValueColour" default="Min" />
+                                                                       <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="key2" type="xs:string" use="optional">
+                                               <xs:annotation>
+                                                       <xs:documentation>key2 may be used for a sub-attribute of key</xs:documentation>
+                                               </xs:annotation>
+                                       </xs:attribute>
+                                       <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: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:attributeGroup name="SimilarityParams">
+               <xs:annotation>
+                       <xs:documentation>
+                               parameters that condition a similarity score calculation
+                       </xs:documentation>
+               </xs:annotation>
+               <xs:attribute name="includeGaps" type="xs:boolean" />
+               <xs:attribute name="matchGaps" type="xs:boolean" />
+               <xs:attribute name="includeGappedColumns" type="xs:boolean" />
+               <xs:attribute name="denominateByShortestLength" type="xs:boolean" />
+       </xs:attributeGroup>
+       <xs:attributeGroup name="position">
+               <xs:attribute name="xPos" type="xs:float" />
+               <xs:attribute name="yPos" type="xs:float" />
+               <xs:attribute name="zPos" type="xs:float" />
+       </xs:attributeGroup>
+       <xs:complexType name="PcaDataType">
+               <xs:annotation>
+                       <xs:documentation>
+                               The results of a PCA calculation
+                       </xs:documentation>
+               </xs:annotation>
+               <xs:sequence>
+                       <xs:element name="pairwiseMatrix" type="jv:DoubleMatrix" />
+                       <xs:element name="tridiagonalMatrix" type="jv:DoubleMatrix" />
+                       <xs:element name="eigenMatrix" type="jv:DoubleMatrix" />
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="DoubleVector">
+               <xs:sequence>
+                       <xs:element name="v" type="xs:double" minOccurs="0" maxOccurs="unbounded" />
+               </xs:sequence>
+       </xs:complexType>
+       <xs:complexType name="DoubleMatrix">
+               <xs:sequence>
+                       <xs:element name="row" type="jv:DoubleVector" minOccurs="0" maxOccurs="unbounded" />
+                       <xs:element name="D" minOccurs="0" type="jv:DoubleVector" />
+                       <xs:element name="E" minOccurs="0" type="jv:DoubleVector" />
+               </xs:sequence>
+               <xs:attribute name="rows"  type="xs:int" />
+               <xs:attribute name="columns" type="xs:int" />
+       </xs:complexType>
+</xs:schema>