<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by MSD (EMBL OUTSTATION THE EBI WELLCOME TRUST GENOME CAMPUS) -->
<!-- edited with XMLSpy v2006 sp1 U (http://www.altova.com) by ioh[ (o[ih[oh) -->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vamsas="http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes"
- targetNamespace="http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes" elementFormDefault="qualified"
- attributeFormDefault="unqualified">
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vamsas="http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes" targetNamespace="http://www.vamsas.ac.uk/schemas/1.0/vamsasTypes" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation> Vorba ID - Vamsas Object Request Broker Address ID (name needs to be
worked on): Suggest it could be of the form documentRoot/datasetName/SequenceUID for a
<xs:documentation> Primary Key for vamsas object referencing </xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="modifiable" type="vamsas:locks" use="optional">
- </xs:attribute>
+ <xs:attribute name="modifiable" type="vamsas:locks" use="optional"/>
</xs:complexType>
</xs:element>
<xs:annotation>
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="modifiable" type="vamsas:locks" use="optional">
- </xs:attribute>
+ <xs:attribute name="modifiable" type="vamsas:locks" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:documentation> Primary Key for vamsas object referencing </xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="modifiable" type="vamsas:locks" use="optional">
- </xs:attribute>
+ <xs:attribute name="modifiable" type="vamsas:locks" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="property">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
- <xs:attribute name="name" type="xs:string" use="optional"
- default="score"/>
+ <xs:attribute name="name" type="xs:string" use="optional" default="score"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="modifiable" type="vamsas:locks" use="optional">
- </xs:attribute>
+ <xs:attribute name="modifiable" type="vamsas:locks" use="optional"/>
<xs:attribute name="group" type="xs:string" use="optional" default="">
<xs:annotation>
<xs:documentation> Annotation with the same non-empty group name are grouped
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element name="map"
- minOccurs="0" maxOccurs="unbounded">
- <xs:annotation><xs:documentation> From: Offset to first
+ <xs:element name="map" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation> From: Offset to first
position in dataset sequence record that
this database entry maps to To: Offset
to last position in dataset sequence
</xs:annotation>
<xs:complexType>
<xs:complexContent>
- <xs:extension base="vamsas:mapList">
-
- </xs:extension>
+ <xs:extension base="vamsas:mapList"/>
</xs:complexContent>
- </xs:complexType>
+ </xs:complexType>
</xs:element>
- <xs:element ref="vamsas:link" minOccurs="0"
- maxOccurs="unbounded"/>
- <xs:element ref="vamsas:property" minOccurs="0"
- maxOccurs="unbounded"/>
+ <xs:element ref="vamsas:link" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="vamsas:property" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
- <xs:attribute name="source" type="xs:string"
- use="required">
+ <xs:attribute name="source" type="xs:string" use="required">
<xs:annotation>
- <xs:documentation> TODO Database Naming
+ <xs:documentation> TODO Database Naming
Convention: either start using LSID (so
change type to URI) or leave this as an
uncontrolled/unspecified string ID
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="version" type="xs:string"
- use="required">
+ <xs:attribute name="version" type="xs:string" use="required">
<xs:annotation>
- <xs:documentation> Version must be specified -
+ <xs:documentation> Version must be specified -
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="accessionId" type="xs:string"
- use="required">
+ <xs:attribute name="accessionId" type="xs:string" use="required">
<xs:annotation>
- <xs:documentation> TODO: make some specification
+ <xs:documentation> TODO: make some specification
of the database field from which this
accessionId is taken from - should that be a
special property of the dbRef object ?
</xs:attribute>
<xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
- <xs:documentation> Primary Key for vamsas object
+ <xs:documentation> Primary Key for vamsas object
referencing </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexContent>
</xs:complexType>
</xs:element>
+ <xs:element name="sequenceMapping" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="range" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="seqAStart" type="xs:int"/>
+ <xs:attribute name="seqAEnd" type="xs:int"/>
+ <xs:attribute name="seqBStart" type="xs:int"/>
+ <xs:attribute name="seqBEnd" type="xs:int"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="vamsas:Provenance"/>
+ </xs:sequence>
+ <xs:attribute name="sequenceA" type="xs:IDREF" use="required"/>
+ <xs:attribute name="sequenceB" type="xs:IDREF" use="required"/>
+ <xs:attribute name="id" type="xs:ID" use="optional"/>
+ </xs:complexType>
+ </xs:element>
<xs:element name="DataSetAnnotations" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:annotation>
<xs:element name="Alignment" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
- <xs:element name="AlignmentAnnotation" minOccurs="0"
- maxOccurs="unbounded">
+ <xs:element name="AlignmentAnnotation" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation> This is annotation over the coordinate frame
defined by all the columns in the alignment.
<xs:sequence>
<xs:element ref="vamsas:Provenance"/>
</xs:sequence>
- <xs:attribute name="graph" type="xs:boolean"
- use="required">
+ <xs:attribute name="graph" type="xs:boolean" use="required">
<xs:annotation>
- <xs:documentation> TODO: decide if this flag is
+ <xs:documentation> TODO: decide if this flag is
redundant - when true it would suggest that
the annotationElement values together form a
graph </xs:documentation>
<xs:complexContent>
<xs:extension base="vamsas:SequenceType">
<xs:sequence>
- <xs:element name="AlignmentSequenceAnnotation"
- minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:annotation>
- <xs:documentation> Annotate over
+ <xs:element name="AlignmentSequenceAnnotation" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:annotation>
+ <xs:documentation> Annotate over
positions and regions of the
ungapped sequence in the context of
the alignment </xs:documentation>
- <xs:documentation/>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension
- base="vamsas:rangeAnnotation">
- <xs:sequence>
- <xs:element
- ref="vamsas:Provenance"/>
- </xs:sequence>
- <xs:attribute name="graph"
- type="xs:boolean" use="required">
- <xs:annotation>
- <xs:documentation> TODO:
+ <xs:documentation/>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="vamsas:rangeAnnotation">
+ <xs:sequence>
+ <xs:element ref="vamsas:Provenance"/>
+ </xs:sequence>
+ <xs:attribute name="graph" type="xs:boolean" use="required">
+ <xs:annotation>
+ <xs:documentation> TODO:
decide if this flag is
redundant - when true it
would suggest that the
annotationElement values
together form a graph
</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- <!--
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ <!--
This replaces the flat list of sequenceFeatures.
<xs:element name="AlignmentFeatures" minOccurs="0" maxOccurs="unbounded"><xs:complexType><xs:annotation>
<xs:documentation>Annotate over positions and regions of the alignment</xs:documentation>
</xs:attribute>
</xs:extension>
</xs:complexContent></xs:complexType></xs:element> -->
- </xs:complexType>
+ </xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
- <xs:documentation> Primary Key for vamsas object
+ <xs:documentation> Primary Key for vamsas object
referencing </xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="refid" type="xs:IDREF"
- use="required">
+ <xs:attribute name="refid" type="xs:IDREF" use="required">
<xs:annotation>
- <xs:documentation> Dataset Sequence from which
+ <xs:documentation> Dataset Sequence from which
this alignment sequence is taken from
</xs:documentation>
</xs:annotation>
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="modifiable" type="vamsas:locks" use="optional">
- </xs:attribute>
-
+ <xs:attribute name="modifiable" type="vamsas:locks" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
- <xs:attribute name="dict" type="xs:string" use="optional"
- default="utf8">
+ <xs:attribute name="dict" type="xs:string" use="optional" default="utf8">
<xs:annotation>
<xs:documentation> specifies the symbol dictionary for this
glyph - eg utf8 (the default), aasecstr_3 or
<xs:documentation> additional typed properties </xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="mapping" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="vamsas:mapList">
- <xs:attribute name="onto" type="xs:IDREF" use="required">
- <xs:annotation>
- <xs:documentation> object to which the mapping is being mapped
- </xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
</xs:sequence>
<xs:attribute name="start" type="xs:integer" use="required"/>
<xs:attribute name="end" type="xs:integer" use="required"/>
<xs:documentation> Data available to just a particular
user </xs:documentation>
</xs:annotation>
- <xs:attribute name="fullname" type="xs:string"
- use="required"/>
- <xs:attribute name="organization" type="xs:string"
- use="required"/>
+ <xs:attribute name="fullname" type="xs:string" use="required"/>
+ <xs:attribute name="organization" type="xs:string" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>