<!-- or Ruby's License. -->\r
<!-- see: http://www.ruby-lang.org/en/about/license.txt -->\r
<!-- -->\r
-<!-- Copyright (c) 2008-2012 Christian M Zmasek -->\r
+<!-- Copyright (c) 2008-2013 Christian Zmasek -->\r
<!-- -->\r
<!-- www.phyloxml.org -->\r
-<!-- Version: 1.14 -->\r
-<!-- Last modified: 2012.04.09 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
<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
</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: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