latest schema.
[vamsas.git] / schemas / vamsas15_9.xsd
index 1a5ba63..dd12108 100644 (file)
                        <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element ref="vamsas:SequenceSet" minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
-               <xs:attribute name="id" type="xs:ID"/>
+               <xs:attribute name="id" type="xs:ID"  minOccurs="0" maxOccurs="1"/>
     </xs:complexType>
     <xs:element name="Tree">
                <xs:complexType>
                <xs:sequence>
-                       <xs:element name="newickFormat" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
+                       <xs:element name="title" type="xs:string" minOccurs="0" maxOccurs="1"/>
+                       <xs:element name="newick" minOccurs="1" maxOccurs="unbounded">
+                         <xs:complexType>
+                         <xs:simpleContent>
+                         <xs:extension base="xs:string">
+                         <xs:attribute name="title" type="xs:string" minOccurs="0" maxOccurs="1"/>
+                         <xs:attribute name="id" type="xs:ID" minOccurs="0" maxOccurs="1"/>
+                         </xs:extension>
+                         </xs:simpleContent>
+                         </xs:complexType>
+                       </xs:element>
                        <xs:element ref="vamsas:Provenance" minOccurs="1" maxOccurs="1"/>
                    </xs:sequence>
-               <xs:attribute name="id" type="xs:ID"/>
+               <xs:attribute name="id" type="xs:ID" minOccurs="0" maxOccurs="1"/>
        </xs:complexType>
        </xs:element>
        <xs:element name="Provenance">
                <xs:complexType>
-                       <xs:sequence maxOccurs="unbounded">
-                               <xs:element name="entry">
+                       <xs:sequence>
+                               <xs:element name="entry" minOccurs="0" maxOccurs="unbounded">
                                        <xs:complexType>
                                                <xs:sequence>
                                                        <xs:element name="User" type="xs:string"/>
                                                        <xs:element name="Action" type="xs:string"/>
                                                        <xs:element name="Date" type="xs:date"/>
                                                </xs:sequence>
-                                       <xs:attribute name="id" type="xs:ID"/>
+                                               <xs:attribute name="id" type="xs:ID"  minOccurs="0" maxOccurs="1"/>
                                        </xs:complexType>
                                </xs:element>
                        </xs:sequence>
                </xs:complexType>
        </xs:element>
+
        <xs:element name="SequenceSet">
                <xs:complexType>
                        <xs:sequence>
                                        <xs:complexType>
                                                <xs:complexContent>
                                                        <xs:extension base="vamsas:SequenceType">
+                                                               <xs:sequence>
+                                                                   <xs:element name="dbRef" minOccurs="0" maxOccurs="unbounded">
+                                                                       <xs:complexType>
+                                                                               <xs:attribute name="source"/>
+                                                                               <xs:attribute name="version"/>
+                                                                               <xs:attribute name="accessionId"/>
+                                                                               <xs:attribute name="id" type="xs:ID" minOccurs="0" maxOccurs="1"/>
+                                                                       </xs:complexType>
+                                                                       </xs:element>
+                                                               </xs:sequence>
+                                                               <xs:attribute name="id" type="xs:ID" minOccurs="1" maxOccurs="1"/>
                                                                <xs:attribute name="dictionary" type="xs:string"/>
                                                        </xs:extension>
                                                </xs:complexContent>
                                                        <xs:element name="description" type="xs:string" minOccurs="0"/>
                                                        <xs:element name="status" type="xs:string" minOccurs="0"/>
                                                        <xs:element ref="vamsas:annotationElement" minOccurs="0" maxOccurs="unbounded"/>
-                                                       <xs:element ref="vamsas:Provenance"/>
+                                                       <xs:element ref="vamsas:Provenance" minOccurs="0" maxOccurs="unbounded"/>
                                                </xs:sequence>
                                                <xs:attribute name="type" type="xs:string" use="required"/>
                                                <xs:attribute name="end" type="xs:string" use="required"/>
                                                <xs:attribute name="begin" type="xs:string" use="required"/>
                                                <xs:attribute name="seqRef" type="xs:IDREF" use="required"/>
-                                               <xs:attribute name="id" type="xs:ID"/>
+                                               <xs:attribute name="id" type="xs:ID" minOccurs="0" maxOccurs="1"/>
                                        </xs:complexType>
                                </xs:element>
                                <xs:element name="Alignment" minOccurs="0" maxOccurs="unbounded">
                                                                                <xs:element ref="vamsas:Provenance"/>
                                                                        </xs:sequence>
                                                                        <xs:attribute name="graph" type="xs:boolean" use="required"/>
-                                                                       <xs:attribute name="id" type="xs:ID"/>
+                                                                       <xs:attribute name="id" type="xs:ID" minOccurs="0" maxOccurs="1"/>
                                                                </xs:complexType>
                                                        </xs:element>
                                                        <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
                                                                <xs:complexType>
                                                                        <xs:complexContent>
                                                                                <xs:extension base="vamsas:SequenceType">
+                                                                                       <xs:attribute name="id" type="xs:ID" minOccurs="0" maxOccurs="1"/>
                                                                                        <xs:attribute name="refid" type="xs:IDREF" use="required"/>
                                                                                </xs:extension>
                                                                        </xs:complexContent>
                                                        </xs:element>
                                                        <xs:element ref="vamsas:Provenance"/>
                                                </xs:sequence>
+                                               <xs:attribute name="id" type="xs:ID" minOccurs="0" maxOccurs="1"/>
                                        </xs:complexType>
                                </xs:element>
                                <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
                        </xs:sequence>
                        <xs:attribute name="gapChar" type="xs:string" use="required"/>
                        <xs:attribute name="aligned" type="xs:boolean" use="optional"/>
-                       <xs:attribute name="id" type="xs:ID"/>
+                       <xs:attribute name="id" type="xs:ID"  minOccurs="0" maxOccurs="1"/>
                </xs:complexType>
        </xs:element>
        <xs:element name="annotationElement">
                                <xs:element name="value" type="xs:float"/>
                        </xs:sequence>
                        <xs:attribute name="position" type="xs:int" use="required"/>
-                       <xs:attribute name="id" type="xs:ID"/>
+                       <xs:attribute name="id" type="xs:ID"  minOccurs="0" maxOccurs="1"/>
                </xs:complexType>
        </xs:element>
     <xs:complexType name="SequenceType">
                <xs:sequence>
                        <xs:element name="sequence" type="xs:string"/>
                        <xs:element name="name" type="xs:string"/>
-                       <xs:element name="dbRef" minOccurs="0" maxOccurs="unbounded">
-                               <xs:complexType>
-                                       <xs:attribute name="source"/>
-                                       <xs:attribute name="version"/>
-                                       <xs:attribute name="accessionId"/>
-                                       <xs:attribute name="id" type="xs:ID"/>
-                               </xs:complexType>
-                       </xs:element>
                </xs:sequence>
                <xs:attribute name="start" type="xs:int" use="required"/>
                <xs:attribute name="end" type="xs:int" use="required"/>
-               <xs:attribute name="id" type="xs:ID"/>
        </xs:complexType>
        
     <xs:complexType name="ApplicationData">
                <xs:sequence>
                        <xs:element name="Application">
                                <xs:complexType>
+                                       <xs:sequence>
+                                         <xs:element name="User">
+                                         <xs:complexType>
+                                               <xs:attribute name="fullname" type="xs:string"/>
+                                               <xs:attribute name="organization" type="xs:string"/>
+                                               <xs:attribute name="data" type="xs:string"/>
+                                         </xs:complexType>
+                                         </xs:element>
+                                       </xs:sequence>
                                        <xs:attribute name="version" type="xs:string"/>
                                        <xs:attribute name="name" type="xs:string"/>
-                                       <xs:attribute name="session" type="xs:string"/>
+                                       <xs:attribute name="urn" type="xs:string"/>
                                        <xs:attribute name="data" type="xs:string"/>
                                </xs:complexType>
                        </xs:element>