JAL-4020 class reformatting
[jalview.git] / schemas / uniprot.xsd
index 1744d37..ce30fe5 100644 (file)
@@ -1,23 +1,26 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--  
+       Retrieved for Jalview 04-Apr-2019 from https://www.uniprot.org/docs/uniprot.xsd 
+       Uniprot Release 2018_11: https://www.uniprot.org/news/2018/12/05/release
+       Generate Java binding classes by running this command in the schemas parent directory: 
+          xjc schemas/uniprot.xsd -d src -p jalview.xml.binding.uniprot 
+-->
 <!-- *****************************************************************************
        UniProt Knowledgebase
-       Version:        $Revision: 1.3 $
-       Date:           $Date: 2015/04/07 15:00:57 $
+       Version:        $Revision$
+       Date:           $Date$
 
        Copyright (c) 2011 UniProt consortium
        All rights reserved.
 *******************************************************************************-->
 <xs:schema targetNamespace="http://uniprot.org/uniprot" xmlns:xs="http://www.w3.org/2001/XMLSchema"
            xmlns="http://uniprot.org/uniprot" elementFormDefault="qualified">
-<!--  
-       Retrieved for Jalview 13-Sep-2018 from https://www.uniprot.org/docs/uniprot.xsd 
-       Java binding classes are generated by 
-          xjc schemas/uniprot.xsd -d src -p jalview.xml.binding.uniprot 
--->
     <!-- XML Schema definition for the UniProtKB XML format
          Tested with:
          -XSV (XML Schema Validator), http://www.w3.org/2001/03/webdata/xsv
          -->
+
+
     <!-- Root element definition begins -->
     <xs:element name="uniprot">
         <xs:annotation>
 
                 <xs:sequence>
                     <xs:annotation>
+                        <xs:documentation>Used in 'catalytic activity' annotations.</xs:documentation>
+                    </xs:annotation>
+                    <xs:element name="reaction" type="reactionType"/>
+                    <xs:element name="physiologicalReaction" type="physiologicalReactionType" minOccurs="0" maxOccurs="2"/>
+                </xs:sequence>
+
+                <xs:sequence>
+                    <xs:annotation>
                         <xs:documentation>Used in 'cofactor' annotations.</xs:documentation>
                     </xs:annotation>
                     <xs:element name="cofactor" type="cofactorType" maxOccurs="unbounded"/>
         </xs:sequence>
     </xs:group>
 
+    <xs:complexType name="reactionType">
+        <xs:annotation>
+            <xs:documentation>Describes a chemical reaction.</xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:element name="text" type="xs:string"/>
+            <xs:element name="dbReference" type="dbReferenceType" minOccurs="1" maxOccurs="unbounded"/>
+        </xs:sequence>
+        <xs:attribute name="evidence" type="intListType" use="optional"/>
+    </xs:complexType>
+
+    <xs:complexType name="physiologicalReactionType">
+        <xs:annotation>
+            <xs:documentation>Describes a physiological reaction.</xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:element name="dbReference" type="dbReferenceType"/>
+        </xs:sequence>
+        <xs:attribute name="direction" use="required">
+            <xs:simpleType>
+                <xs:restriction base="xs:string">
+                    <xs:enumeration value="left-to-right"/>
+                    <xs:enumeration value="right-to-left"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+        <xs:attribute name="evidence" type="intListType" use="optional"/>
+    </xs:complexType>
+    
     <xs:complexType name="cofactorType">
         <xs:annotation>
             <xs:documentation>Describes a cofactor.</xs:documentation>
     <xs:simpleType name="intListType">
        <xs:list itemType="xs:int"/>
    </xs:simpleType>
-</xs:schema>
+</xs:schema>
\ No newline at end of file