schema changes: provenance-entry-date is now an xmlSchema:dateTime bound directly...
[vamsas.git] / schemas / vamsas.xsd
index 3b8d42b..cdbc003 100644 (file)
                                                </xs:simpleContent>
                                        </xs:complexType>
                                </xs:element>
+                               <xs:element name="treenode" minOccurs="0" maxOccurs="unbounded">
+                                       <xs:annotation>
+                                               <xs:documentation>
+                                                       node identity and mapping data between tree representations and vamsas document objects
+                                               </xs:documentation>
+                                       </xs:annotation>
+                                       <xs:complexType>
+                                               <xs:complexContent>
+                                                       <xs:extension base="vamsas:nodeType">
+                                                               <xs:attribute name="treeId" type="xs:IDREFS">
+                                                                       <xs:annotation>
+                                                                               <xs:documentation>
+                                                                                       reference to one or more trees containing the node being described.
+                                                                               </xs:documentation>
+                                                                       </xs:annotation>
+                                                               </xs:attribute>
+                                                               <xs:attribute name="nodespec" type="xs:string">
+                                                                       <xs:annotation>
+                                                                               <xs:documentation>
+                                                                                       String uniquely identifying a particular node in the referenced tree according to the format of the tree representation that is referenced.
+                                                                               </xs:documentation>
+                                                                       </xs:annotation>
+                                                               </xs:attribute>
+                                                               
+                                                       </xs:extension>
+                                               </xs:complexContent>
+                                       </xs:complexType>
+                               </xs:element>
                                <xs:element ref="vamsas:property" minOccurs="0" maxOccurs="unbounded"/>
                                <xs:element ref="vamsas:Provenance"/>
                        </xs:sequence>
                        <xs:attribute name="modifiable" type="vamsas:locks" use="optional"/>
                </xs:complexType>
        </xs:element>
+       <xs:complexType name="referenceType">
+               <xs:annotation>
+                       <xs:documentation>
+                               base type for citing arbitrary links between vamsas objects
+                       </xs:documentation>
+               </xs:annotation>
+               <xs:simpleContent>
+                       <xs:extension base="xs:string">
+                               <xs:annotation>
+                                       <xs:documentation>
+                                               Optional human readable description of the relationship
+                                       </xs:documentation>
+                               </xs:annotation>
+                               <xs:attribute name="id" type="xs:ID" use="optional">
+                                       <xs:annotation>
+                                               <xs:documentation> Primary Key for vamsas object referencing </xs:documentation>
+                                       </xs:annotation>
+                               </xs:attribute>
+                               <xs:attribute name="refs" type="xs:IDREFS">
+                                       <xs:annotation>
+                                               <xs:documentation>List of one or more vamsas object references</xs:documentation>
+                                       </xs:annotation>
+                               </xs:attribute>
+                       </xs:extension>
+               </xs:simpleContent>
+       </xs:complexType>
+       <xs:complexType name="nodeType">
+               <xs:sequence>
+                       <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1">
+                               <xs:annotation>
+                                       <xs:documentation>Short name for this node</xs:documentation>
+                               </xs:annotation>
+                       </xs:element>
+                       <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1">
+                               <xs:annotation>
+                                       <xs:documentation>Descriptive text for this node</xs:documentation>
+                               </xs:annotation>
+                       </xs:element>
+                       <xs:element name="vref" type="vamsas:referenceType" minOccurs="0" maxOccurs="unbounded">
+                               <xs:annotation>
+                                       <xs:documentation>Direct associations between this node and any vamsas objects</xs:documentation>
+                               </xs:annotation>
+                       </xs:element>
+                       <xs:element ref="vamsas:property" minOccurs="0" maxOccurs="unbounded"/>
+               </xs:sequence>
+               <xs:attribute name="id" type="xs:ID" use="optional">
+                       <xs:annotation>
+                               <xs:documentation> Primary Key for vamsas object referencing </xs:documentation>
+                       </xs:annotation>
+               </xs:attribute>
+               <xs:attribute name="modifiable" type="vamsas:locks" use="optional"/>
+       </xs:complexType>
        <xs:element name="property">
                <xs:complexType>
                        <xs:simpleContent>
                        <xs:complexContent>
                                <xs:extension base="vamsas:rangeType">
                                        <xs:attribute name="name" type="xs:string" use="required"/>
-                                       <xs:attribute name="objRef" type="xs:IDREF" use="optional">
+                                       <xs:attribute name="objRef" type="xs:IDREFS" use="optional">
                                                <xs:annotation>
                                                        <xs:documentation> Reference Frame for rangeType specfication
                                                        </xs:documentation>
                                                                        <xs:documentation> Did what </xs:documentation>
                                                                </xs:annotation>
                                                        </xs:element>
-                                                       <xs:element name="Date" type="xs:date">
+                                                       <xs:element name="Date" type="xs:dateTime"> 
                                                                <xs:annotation>
-                                                                       <xs:documentation> When </xs:documentation>
+                                                                       <xs:documentation> When</xs:documentation>
                                                                </xs:annotation>
                                                        </xs:element>
                                                        <xs:element ref="vamsas:property" minOccurs="0" maxOccurs="unbounded">
                                                                                        </xs:attribute>
                                                                                </xs:complexType>
                                                                        </xs:element>
+                                                                       <xs:element name="vxref" type="vamsas:referenceType" minOccurs="0" maxOccurs="unbounded">
+                                                                               <xs:annotation>
+                                                                                       <xs:documentation>
+                                                                                               explicitly named cross reference to other objects in the document.
+                                                                                       </xs:documentation>
+                                                                               </xs:annotation>
+                                                                       </xs:element>
                                                                </xs:sequence>
                                                                <xs:attribute name="id" type="xs:ID" use="optional">
                                                                        <xs:annotation>
                                                                <xs:sequence>
                                                                        <xs:element ref="vamsas:Provenance"/>
                                                                </xs:sequence>
-                                                               <xs:attribute name="seqRef" type="xs:IDREF" use="required">
+                                                               <xs:attribute name="seqRef" type="xs:IDREFS" use="required">
                                                                        <xs:annotation>
                                                                                <xs:documentation> annotation is associated with a
                                                                                        particular dataset sequence </xs:documentation>
                                                                                                graph </xs:documentation>
                                                                                                </xs:annotation>
                                                                                        </xs:attribute>
+                                                                                       <xs:attribute name="seqrefs" type="xs:IDREFS" use="optional">
+                                                                                               <xs:annotation>
+                                                                                                       <xs:documentation> annotation is associated with a
+                                                                                                               range on a particular group of alignment sequences</xs:documentation>
+                                                                                               </xs:annotation>
+                                                                                       </xs:attribute>
+                                                                                       
                                                                                </xs:extension>
                                                                        </xs:complexContent>
                                                                </xs:complexType>