compactor work
[jalview.git] / forester / resources / phyloxml_schema / 1.10 / phyloxml.xsd
index 4ae026b..9388f03 100644 (file)
 <!--          or Ruby's License.                                 -->\r
 <!--          see: http://www.ruby-lang.org/en/about/license.txt -->\r
 <!--                                                             -->\r
-<!-- Copyright (c) 2008-2011 Christian M Zmasek                  -->\r
+<!-- Copyright (c) 2008-2013 Christian Zmasek                    -->\r
 <!--                                                             -->\r
 <!-- www.phyloxml.org                                            -->\r
-<!-- Version: 1.11                                               -->\r
-<!-- Last modified: 2011.11.15 by Christian M Zmasek             -->\r
+<!-- Version: 1.16                                               -->\r
+<!-- Last modified: 2013.09.30 by Christian  Zmasek              -->\r
 <!--                                                             -->\r
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:phy="http://www.phyloxml.org"\r
    targetNamespace="http://www.phyloxml.org" elementFormDefault="qualified" attributeFormDefault="unqualified">\r
@@ -85,7 +85,6 @@
          <xs:element name="confidence" type="phy:Confidence" minOccurs="0" maxOccurs="unbounded"/>\r
          <xs:element name="width" type="xs:double" minOccurs="0"/>\r
          <xs:element name="color" type="phy:BranchColor" minOccurs="0"/>\r
-         <xs:element name="node_id" type="phy:Id" minOccurs="0"/>\r
          <xs:element name="taxonomy" type="phy:Taxonomy" minOccurs="0" maxOccurs="unbounded"/>\r
          <xs:element name="sequence" type="phy:Sequence" minOccurs="0" maxOccurs="unbounded"/>\r
          <xs:element name="events" type="phy:Events" minOccurs="0"/>\r
@@ -99,6 +98,7 @@
       </xs:sequence>\r
       <xs:attribute name="branch_length" type="xs:double"/>\r
       <xs:attribute name="id_source" type="phy:id_source"/>\r
+      <xs:attribute name="collapse" type="xs:boolean"/>\r
    </xs:complexType>\r
    <!-- Taxonomy:-->\r
    <xs:complexType name="Taxonomy">\r
    </xs:complexType>\r
    <xs:simpleType name="TaxonomyCode">\r
       <xs:restriction base="xs:token">\r
-         <xs:pattern value="[a-zA-Z0-9_]{2,10}"/>\r
+         <xs:pattern value="([A-Z9][A-Z]{2}[A-Z0-9]{2})|RAT|PIG|PEA"/>\r
       </xs:restriction>\r
    </xs:simpleType>\r
    <xs:simpleType name="Rank">\r
          <xs:enumeration value="species"/>\r
          <xs:enumeration value="subspecies"/>\r
          <xs:enumeration value="variety"/>\r
+         <xs:enumeration value="varietas"/>\r
          <xs:enumeration value="subvariety"/>\r
          <xs:enumeration value="form"/>\r
          <xs:enumeration value="subform"/>\r
          <xs:enumeration value="cultivar"/>\r
          <xs:enumeration value="strain"/>\r
+         <xs:enumeration value="section"/>\r
+         <xs:enumeration value="subsection"/>\r
          <xs:enumeration value="unknown"/>\r
          <xs:enumeration value="other"/>\r
       </xs:restriction>\r
    <xs:complexType name="Sequence">\r
       <xs:annotation>\r
          <xs:documentation> Element Sequence is used to represent a molecular sequence (Protein, DNA, RNA) associated\r
-            with a node. 'symbol' is a short (maximal ten characters) symbol of the sequence (e.g. 'ACTM') whereas\r
-            'name' is used for the full name (e.g. 'muscle Actin'). 'location' is used for the location of a sequence on\r
-            a genome/chromosome. The actual sequence can be stored with the 'mol_seq' element. Attribute 'type' is used\r
-            to indicate the type of sequence ('dna', 'rna', or 'protein'). One intended use for 'id_ref' is to link a\r
-            sequence to a taxonomy (via the taxonomy's 'id_source') in case of multiple sequences and taxonomies per\r
-            node. </xs:documentation>\r
+            with a node. 'symbol' is a short (maximal 20 characters) symbol of the sequence (e.g. 'ACTM') whereas\r
+            'name' is used for the full name (e.g. 'muscle Actin'). 'gene_name' can be used when protein and gene names differ.\r
+            'location' is used for the location of a sequence on a genome/chromosome. The actual sequence can be stored with the \r
+            'mol_seq' element. Attribute 'type' is used to indicate the type of sequence ('dna', 'rna', or 'protein'). \r
+            One intended use for 'id_ref' is to link a sequence to a taxonomy (via the taxonomy's 'id_source') in case \r
+            of multiple sequences and taxonomies per node. </xs:documentation>\r
       </xs:annotation>\r
       <xs:sequence>\r
          <xs:element name="symbol" type="phy:SequenceSymbol" minOccurs="0"/>\r
          <xs:element name="accession" type="phy:Accession" minOccurs="0"/>\r
          <xs:element name="name" type="xs:token" minOccurs="0"/>\r
+         <xs:element name="gene_name" type="xs:token" minOccurs="0"/>\r
          <xs:element name="location" type="xs:token" minOccurs="0"/>\r
          <xs:element name="mol_seq" type="phy:MolSeq" minOccurs="0"/>\r
          <xs:element name="uri" type="phy:Uri" minOccurs="0" maxOccurs="unbounded"/>\r
          <xs:element name="annotation" type="phy:Annotation" minOccurs="0" maxOccurs="unbounded"/>\r
+         <xs:element name="cross_references" type="phy:CrossReferences" minOccurs="0"/>\r
          <xs:element name="domain_architecture" type="phy:DomainArchitecture" minOccurs="0"/>\r
          <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/>\r
       </xs:sequence>\r
       <xs:simpleContent>\r
          <xs:extension base="xs:token">\r
             <xs:attribute name="source" type="xs:token" use="required"/>\r
+            <xs:attribute name="comment" type="xs:token"/>\r
          </xs:extension>\r
       </xs:simpleContent>\r
    </xs:complexType>\r
+   <!-- CrossReferences: -->\r
+   <xs:complexType name="CrossReferences">\r
+      <xs:annotation>\r
+         <xs:documentation> Used to store accessions to additional resources. </xs:documentation>\r
+      </xs:annotation> \r
+      <xs:sequence>\r
+         <xs:element name="accession" type="phy:Accession" minOccurs="1" maxOccurs="unbounded"/>\r
+      </xs:sequence>\r
+   </xs:complexType> \r
    <!-- DomainArchitecture: -->\r
    <xs:complexType name="DomainArchitecture">\r
       <xs:annotation>\r
    </xs:complexType>\r
    <xs:simpleType name="ref">\r
       <xs:restriction base="xs:token">\r
-         <xs:pattern value="[a-zA-Z0-9_]+:[a-zA-Z0-9_\.\-\s]+"/>\r
+         <xs:pattern value="[a-zA-Z0-9_]+:\S+"/>\r
       </xs:restriction>\r
    </xs:simpleType>\r
    <xs:simpleType name="AppliesTo">\r
       <xs:simpleContent>\r
          <xs:extension base="xs:double">\r
             <xs:attribute name="type" type="xs:token" use="required"/>\r
+            <xs:attribute name="stddev" type="xs:double"/>\r
          </xs:extension>\r
       </xs:simpleContent>\r
    </xs:complexType>\r