exploring making PAE storage in projects more efficient
[jalview.git] / schemas / vamsas.xsd
index 333a4e4..c4a5d3e 100755 (executable)
                                                <xs:attribute name="colour" type="xs:int" />
                                        </xs:complexType>
                                </xs:element>
-                               <xs:element name="property" minOccurs="0" maxOccurs="unbounded">
-                                       <xs:complexType>
-                                               <xs:attribute name="name" type="xs:string" />
-                                               <xs:attribute name="value" type="xs:string" />
-                                       </xs:complexType>
+                               <xs:element name="contactmatrix" type="vamsas:MatrixType"
+                                       maxOccurs="unbounded" minOccurs="0">
                                </xs:element>
+                               <xs:element name="property" type="vamsas:property" minOccurs="0" maxOccurs="unbounded"/>
                        </xs:sequence>
                        <xs:attribute name="graph" type="xs:boolean" use="required" />
                        <xs:attribute name="graphType" type="xs:int" use="optional" />
                                        </xs:complexType>
                                </xs:element>
                                <xs:element ref="vamsas:AlcodonFrame" minOccurs="0" maxOccurs="unbounded"/>
+                               <xs:element name="Matrices" type="vamsas:MatrixType" minOccurs="0" maxOccurs="unbounded"/>
                        </xs:sequence>
                        <xs:attribute name="gapChar" type="xs:string" use="required"/>
                        <xs:attribute name="datasetId" type="xs:string" use="optional">
                <xs:attribute name="id" type="xs:string"/>
                <xs:attribute name="description" type="xs:string"/>
        </xs:complexType>
+       <xs:complexType name="MatrixType">
+               <xs:sequence>
+                       <xs:element name="elements" type="xs:string" minOccurs="1"
+                               maxOccurs="1">
+                               <xs:annotation>
+                                       <xs:documentation>serialised representation of matrix as one or
+                                               more sets of comma separated values</xs:documentation>
+                               </xs:annotation>
+                       </xs:element>
+                       <xs:element name="groups" type="xs:string" minOccurs="0"
+                               maxOccurs="unbounded">
+                               <xs:annotation>
+                                       <xs:documentation>Comma separated series of longs formed from
+                                               bitsets defining partitions on the rows/columns of the matrix
+                                       </xs:documentation>
+                               </xs:annotation>
+                       </xs:element>
+                       <xs:element name="newick" type="xs:string" minOccurs="0"
+                               maxOccurs="unbounded">
+                               <xs:annotation>
+                                       <xs:documentation>tree computed for this</xs:documentation>
+                               </xs:annotation>
+                       </xs:element>
+                       <xs:element name="property" type="vamsas:property"
+                               minOccurs="0" maxOccurs="unbounded" />
+                       <xs:element name="mapping" type="vamsas:mapListType"
+                               minOccurs="0" maxOccurs="1">
+                       <xs:annotation>
+                               <xs:documentation>mapping from the matrix row and column positions to
+                                       associated reference frame</xs:documentation>
+                               </xs:annotation>
+                       </xs:element>
+               </xs:sequence>
+
+               <xs:attribute name="type" type="xs:string" use="required" />
+               <xs:attribute name="rows" type="xs:integer"
+                       use="required" />
+               <xs:attribute name="cols" type="xs:integer"
+                       use="required" />
+               <xs:attribute name="treeMethod" type="xs:string"
+                       use="optional" />
+               <xs:attribute name="cutHeight" type="xs:double"
+                       use="optional" />
+               <xs:attribute name="id" type="xs:string" use="required" />
+
+       </xs:complexType>
+       <xs:complexType name="MapOnAMatrixType">
+               <xs:sequence>
+                       <xs:element name="property" type="vamsas:property"
+                               minOccurs="0" maxOccurs="unbounded" />
+                       <xs:element name="mapping" type="vamsas:mapListType"
+                               minOccurs="0" maxOccurs="1">
+                               <xs:annotation>
+                                       <xs:documentation>mapping from the matrix row and column positions
+                                               to
+                                               associated reference frame
+                                       </xs:documentation>
+                               </xs:annotation>
+                       </xs:element>
+               </xs:sequence>
+       
+               <xs:attribute name="matrix" type="xs:string"
+                       use="required">
+       
+                       <xs:annotation>
+                               <xs:documentation>reference to the matrix type this Map refers to
+                               </xs:documentation>
+                       </xs:annotation>
+               </xs:attribute>
+               <xs:attribute name="id" type="xs:string" use="optional" />
+       </xs:complexType>
+       <xs:complexType name="property">
+               <xs:attribute name="name" type="xs:string" />
+               <xs:attribute name="value" type="xs:string" />
+       </xs:complexType>
+                               
+       
 </xs:schema>