created new schema to define the document XML file. Added two well formed schema...
[vamsas.git] / schemas / vamsas.xsd
index 9487eca..19b2a4b 100644 (file)
@@ -2,17 +2,6 @@
 <!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by MSD (EMBL OUTSTATION THE EBI WELLCOME TRUST GENOME CAMPUS) -->
 <!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by lj (jl) -->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vamsas="http://www.vamsas.org" targetNamespace="http://www.vamsas.org" elementFormDefault="qualified" attributeFormDefault="unqualified">
-       <xs:element name="Version" type="xs:string"/>
-       <xs:annotation>
-               <xs:documentation>Vamsas Document Version Number</xs:documentation>
-       </xs:annotation>
-       <xs:element name="LockFile">
-               <xs:complexType>
-                       <xs:simpleContent>
-                               <xs:extension base="xs:string"/>
-                       </xs:simpleContent>
-               </xs:complexType>
-       </xs:element>
        <xs:element name="VAMSAS">
                <xs:complexType>
                        <xs:sequence>
                                        </xs:complexType>
                                </xs:element>
                                <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
-                               <xs:element ref="vamsas:Provenance"/>
+                               <xs:element ref="vamsas:Provenance" minOccurs="1" maxOccurs="unbounded"/>
                        </xs:sequence>
                        <xs:attribute name="id" type="xs:ID" use="optional"/>
                </xs:complexType>
        <xs:element name="annotationElement">
                <xs:complexType>
                        <xs:sequence>
-                               <xs:element name="displayCharacter" type="xs:string"/>
-                               <xs:element name="description" type="xs:string"/>
-                               <xs:element name="secondaryStructure">
+                               <xs:element name="displayCharacter" type="xs:string" maxOccurs="1" minOccurs="0"/>
+                               <xs:element name="description" type="xs:string" maxOccurs="1" minOccurs="0"/>
+                               <xs:element name="secondaryStructure" maxOccurs="1" minOccurs="0">
                                        <xs:simpleType>
                                                <xs:restriction base="xs:string">
                                                        <xs:length value="1"/>
                                                </xs:restriction>
                                        </xs:simpleType>
                                </xs:element>
-                               <xs:element name="value" type="xs:float"/>
+                               <xs:element name="value" type="xs:float" maxOccurs="1" minOccurs="0"/>
                        </xs:sequence>
                        <xs:attribute name="position" type="xs:int" use="required"/>
                        <xs:attribute name="id" type="xs:ID" use="optional"/>
        </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="sequence" type="xs:string" maxOccurs="1" minOccurs="1"/>
+                       <xs:element name="name" type="xs:string" maxOccurs="1" minOccurs="1"/>
                </xs:sequence>
                <xs:attribute name="start" type="xs:int" use="required"/>
                <xs:attribute name="end" type="xs:int" use="required"/>
        <xs:element name="ApplicationData">
                <xs:complexType>
                        <xs:sequence>
-                               <xs:element name="Application">
+                               <xs:element name="Application" minOccurs="0" maxOccurs="unbounded">
                                        <xs:complexType>
                                                <xs:sequence>
-                                                       <xs:element name="User">
+                                                       <xs:element name="User" minOccurs="1" maxOccurs="unbounded">
                                                                <xs:complexType>
                                                                        <xs:attribute name="fullname" type="xs:string"/>
                                                                        <xs:attribute name="organization" 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="urn" type="xs:string"/>
-                                               <xs:attribute name="data" type="xs:string"/>
+                                               <xs:attribute name="version" type="xs:string" use="required"/>
+                                               <xs:attribute name="name" type="xs:string" use="required"/>
+                                               <xs:attribute name="urn" type="xs:string" use="required"/>
+                                               <xs:attribute name="data" type="xs:string" use="required"/>
                                        </xs:complexType>
                                </xs:element>
                        </xs:sequence>