<?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 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">
+<!-- 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.org" targetNamespace="http://www.vamsas.org" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation>
Vorba ID - Vamsas Object Request Broker Address ID (name
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element ref="vamsas:Tree" minOccurs="0"
- maxOccurs="unbounded" />
- <xs:element ref="vamsas:DataSet" minOccurs="0"
- maxOccurs="unbounded" />
+ <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="vamsas:DataSet" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="modifiable" type="xs:boolean"
- default="true" use="optional">
+ <xs:attribute name="modifiable" type="xs:boolean" use="optional" default="true">
<xs:annotation>
<xs:documentation>
objects with modifiable=false will not be
</xs:documentation>
</xs:annotation>
<xs:sequence>
- <xs:element name="title" type="xs:string" minOccurs="0" />
+ <xs:element name="title" type="xs:string" minOccurs="0"/>
<xs:element name="newick" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
- <xs:attribute name="title"
- type="xs:string" use="optional" />
- <xs:attribute name="id" type="xs:ID"
- use="optional">
+ <xs:attribute name="title" type="xs:string" use="optional"/>
+ <xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
<xs:documentation>
Primary Key for vamsas
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="modifiable"
- type="xs:boolean" default="true" use="optional">
+ <xs:attribute name="modifiable" type="xs:boolean" use="optional" default="true">
<xs:annotation>
<xs:documentation>
objects with
</xs:simpleContent>
</xs:complexType>
</xs:element>
- <xs:element ref="vamsas:property" maxOccurs="unbounded"
- minOccurs="0" />
- <xs:element ref="vamsas:Provenance" />
+ <xs:element ref="vamsas:property" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="vamsas:Provenance"/>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="modifiable" type="xs:boolean"
- default="true" use="optional">
+ <xs:attribute name="modifiable" type="xs:boolean" use="optional" default="true">
<xs:annotation>
<xs:documentation>
objects with modifiable=false will not be
</xs:documentation>
</xs:annotation>
<xs:extension base="xs:string">
- <xs:attribute name="name" type="xs:string"
- use="required" />
- <xs:attribute name="type" type="xs:string"
- use="required">
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="type" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
The type specifies how the property will
</xs:complexType>
</xs:element>
<xs:element name="link">
- <xs:complexType>
- <xs:annotation>
- <xs:documentation>
+ <xs:complexType>
+ <xs:annotation>
+ <xs:documentation>
Primitive labelled URI object
</xs:documentation>
- </xs:annotation>
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="href" type="xs:anyURI">
- <xs:annotation>
- <xs:documentation>The URI</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
+ </xs:annotation>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="href" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>The URI</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
</xs:element>
<xs:complexType name="rangeType" abstract="true">
<xs:annotation>
jaxb-2.0 capable bindings
</xs:documentation>
</xs:annotation>
- <!-- Do we really need this - a position could be just a seg with start=end and inclusive=true -->
<xs:choice>
- <xs:element name="pos" maxOccurs="unbounded"
- minOccurs="1">
+ <xs:element name="pos" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
a position within the associated object's
</xs:documentation>
</xs:annotation>
<xs:complexType>
- <xs:attribute name="i" type="xs:int" use="required" />
+ <xs:attribute name="i" type="xs:int" use="required"/>
</xs:complexType>
</xs:element>
- <xs:element name="seg" maxOccurs="unbounded"
- minOccurs="1">
+ <xs:element name="seg" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
a region from start to end, with flag for
</xs:documentation>
</xs:annotation>
<xs:complexType>
- <xs:attribute name="start" type="xs:int"
- use="required" />
- <xs:attribute name="end" type="xs:int"
- use="required" />
- <xs:attribute name="inclusive" type="xs:boolean"
- use="required">
+ <xs:attribute name="start" type="xs:int" use="required"/>
+ <xs:attribute name="end" type="xs:int" use="required"/>
+ <xs:attribute name="inclusive" type="xs:boolean" use="required">
<xs:annotation>
<xs:documentation>
when false, a consecutive range like
</xs:complexType>
</xs:element>
</xs:choice>
+ <!-- Do we really need this - a position could be just a seg with start=end and inclusive=true -->
</xs:complexType>
<xs:complexType name="rangeAnnotation">
<xs:annotation>
<xs:complexContent>
<xs:extension base="vamsas:rangeType">
<xs:sequence>
- <xs:element name="label" type="xs:string"
- minOccurs="0" >
+ <xs:element name="label" type="xs:string" minOccurs="0">
<xs:annotation>
- <xs:documentation>
+ <xs:documentation>
Short, meaningful name for the annotation - if this is absent, then the type string should be used in its place.
</xs:documentation>
</xs:annotation>
- </xs:element>
- <xs:element name="description" type="xs:string"
- minOccurs="0" >
+ </xs:element>
+ <xs:element name="description" type="xs:string" minOccurs="0">
<xs:annotation>
- <xs:documentation>
+ <xs:documentation>
Human readable description of the annotation
</xs:documentation>
</xs:annotation>
- </xs:element>
- <xs:element name="status" type="xs:string"
- minOccurs="0" >
- <xs:annotation><xs:documentation>
+ </xs:element>
+ <xs:element name="status" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>
TODO: specify this - we have considered taking the GO evidence codes as a model for assessing a measure of quality to an annotation.
- </xs:documentation></xs:annotation>
- </xs:element>
- <xs:element ref="vamsas:annotationElement"
- minOccurs="0" maxOccurs="unbounded">
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="vamsas:annotationElement" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Annotation Element position maps to
</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="score" minOccurs="0"
- maxOccurs="unbounded">
+ <xs:element name="score" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Ordered set of optionally named float
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:float">
- <xs:attribute name="name"
- type="xs:string" use="optional" default="score">
- </xs:attribute>
+ <xs:attribute name="name" type="xs:string" use="optional" default="score"/>
</xs:extension>
</xs:simpleContent>
</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:annotation>
<xs:documentation>
Note:These are mutable so an application
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="modifiable" type="xs:boolean"
- default="true" use="optional">
+ <xs:attribute name="modifiable" type="xs:boolean" use="optional" default="true">
<xs:annotation>
<xs:documentation>
objects with modifiable=false will not be
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="group" type="xs:string"
- use="optional" default="">
+ <xs:attribute name="group" type="xs:string" use="optional" default="">
<xs:annotation>
<xs:documentation>
Annotation with the same non-empty group
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="type" type="xs:string"
- use="required">
+ <xs:attribute name="type" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
A Das Feature has both a type and a Type ID.
</xs:documentation>
</xs:annotation>
<xs:extension base="xs:string">
- <xs:attribute name="name" type="xs:string"
- use="required" />
- <xs:attribute name="type" type="xs:string"
- use="required">
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="type" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
The type specifies how the property will
</xs:documentation>
</xs:annotation>
<xs:complexContent>
-
<xs:extension base="vamsas:rangeType">
- <xs:attribute name="name" type="xs:string"
- use="required">
- </xs:attribute>
- <xs:attribute name="objRef" type="xs:IDREF"
- use="optional">
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="objRef" type="xs:IDREF" use="optional">
<xs:annotation>
<xs:documentation>
Reference Frame for rangeType
</xs:complexContent>
</xs:complexType>
</xs:element>
-
<xs:element name="Provenance">
<xs:complexType>
<xs:annotation>
</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="Action"
- type="xs:string">
+ <xs:element name="Action" type="xs:string">
<xs:annotation>
<xs:documentation>
Did what
</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element ref="vamsas:property"
- minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="vamsas:property" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
additional information
</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element ref="vamsas:param" minOccurs="0"
- maxOccurs="unbounded">
+ <xs:element ref="vamsas:param" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
parameter for the action
</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element ref="vamsas:input" minOccurs="0"
- maxOccurs="unbounded">
+ <xs:element ref="vamsas:input" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
bioinformatic objects input to
</xs:annotation>
</xs:element>
</xs:sequence>
- <xs:attribute name="id" type="xs:ID"
- use="optional">
+ <xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
<xs:documentation>
Primary Key for vamsas object
<xs:complexContent>
<xs:extension base="vamsas:SequenceType">
<xs:sequence>
- <xs:element name="dbRef"
- minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="dbRef" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Store a list of database
database sequence to the
given sequence record
</xs:documentation>
- <xs:documentation></xs:documentation>
- <xs:documentation></xs:documentation>
+ <xs:documentation/>
+ <xs:documentation/>
</xs:annotation>
<xs:complexType>
<xs:sequence>
- <xs:element name="map"
- minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="map" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
- <xs:attribute
- name="from" type="xs:integer" default="0"
- use="optional">
+ <xs:attribute name="from" type="xs:integer" use="optional" default="0">
<xs:annotation>
<xs:documentation>
Offset
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute
- name="to" type="xs:integer" default="0" use="optional">
+ <xs:attribute name="to" type="xs:integer" use="optional" default="0">
<xs:annotation>
<xs:documentation>
Offset
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute
- name="start" type="xs:integer" use="required">
- <xs:annotation>
- <xs:documentation>
+ <xs:attribute name="start" type="xs:integer" use="required">
+ <xs:annotation>
+ <xs:documentation>
Offset
to first
last
sequence
maps to
</xs:documentation>
- </xs:annotation>
+ </xs:annotation>
</xs:attribute>
- <xs:attribute
- name="end" type="xs:integer" use="required">
- <xs:annotation>
- <xs:documentation>
+ <xs:attribute name="end" type="xs:integer" use="required">
+ <xs:annotation>
+ <xs:documentation>
Offset
to last
position
sequence
maps to
</xs:documentation>
- </xs:annotation>
+ </xs:annotation>
</xs:attribute>
</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: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
</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
</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
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="id"
- type="xs:ID" use="optional">
+ <xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
<xs:documentation>
Primary Key for
</xs:complexType>
</xs:element>
</xs:sequence>
- <xs:attribute name="id" type="xs:ID"
- use="optional">
+ <xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
<xs:documentation>
Primary Key for vamsas
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="dictionary"
- type="xs:string" use="required">
+ <xs:attribute name="dictionary" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
symbol class for sequence
</xs:complexContent>
</xs:complexType>
</xs:element>
- <xs:element name="DataSetAnnotations" minOccurs="0"
- maxOccurs="unbounded">
+ <xs:element name="DataSetAnnotations" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:annotation>
<xs:documentation>
</xs:documentation>
</xs:annotation>
<xs:complexContent>
- <xs:extension
- base="vamsas:rangeAnnotation">
+ <xs:extension base="vamsas:rangeAnnotation">
<xs:sequence>
- <xs:element ref="vamsas:Provenance"
- maxOccurs="1" minOccurs="1" />
+ <xs:element ref="vamsas:Provenance"/>
</xs:sequence>
- <xs:attribute name="seqRef"
- type="xs:IDREF" use="required">
+ <xs:attribute name="seqRef" type="xs:IDREF" use="required">
<xs:annotation>
<xs:documentation>
annotation is associated
</xs:complexContent>
</xs:complexType>
</xs:element>
- <xs:element name="Alignment" minOccurs="0"
- maxOccurs="unbounded">
+ <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
</xs:annotation>
<xs:complexType>
<xs:complexContent>
- <xs:extension
- base="vamsas:rangeAnnotation">
+ <xs:extension base="vamsas:rangeAnnotation">
<xs:sequence>
- <xs:element
- ref="vamsas:Provenance" minOccurs="1" maxOccurs="1" />
+ <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
</xs:complexContent>
</xs:complexType>
</xs:element>
- <xs:element ref="vamsas:Tree" minOccurs="0"
- maxOccurs="unbounded" />
- <xs:element name="alignmentSequence"
- maxOccurs="unbounded">
+ <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="alignmentSequence" maxOccurs="unbounded">
<xs:complexType>
<xs:complexContent>
- <xs:extension
- base="vamsas:SequenceType">
+ <xs:extension base="vamsas:SequenceType">
<xs:sequence>
- <xs:element
- name="AlignmentSequenceAnnotation" minOccurs="0"
- maxOccurs="unbounded">
+ <xs:element name="AlignmentSequenceAnnotation" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:annotation>
<xs:documentation>
of the
alignment
</xs:documentation>
- <xs:documentation></xs:documentation>
+ <xs:documentation/>
</xs:annotation>
<xs:complexContent>
- <xs:extension
- base="vamsas:rangeAnnotation">
+ <xs:extension base="vamsas:rangeAnnotation">
<xs:sequence>
- <xs:element
- ref="vamsas:Provenance" minOccurs="1" maxOccurs="1" />
+ <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:
</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:complexType>
</xs:element>
</xs:sequence>
- <xs:attribute name="id"
- type="xs:ID" use="optional">
+ <xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
<xs:documentation>
Primary Key for
</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
</xs:complexContent>
</xs:complexType>
</xs:element>
- <xs:element ref="vamsas:property"
- minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="vamsas:property" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
typical properties may be
</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element ref="vamsas:Provenance" />
+ <xs:element ref="vamsas:Provenance"/>
</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"
- use="optional">
+ <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" use="optional">
<xs:annotation>
<xs:documentation>
Primary Key for vamsas object
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="modifiable"
- type="xs:boolean" default="true" use="optional">
+ <xs:attribute name="modifiable" type="xs:boolean" use="optional" default="true">
<xs:annotation>
<xs:documentation>
objects with modifiable=false will
</xs:attribute>
</xs:complexType>
</xs:element>
- <xs:element ref="vamsas:Tree" minOccurs="0"
- maxOccurs="unbounded" />
- <xs:element ref="vamsas:Provenance" />
+ <xs:element ref="vamsas:Tree" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="vamsas:Provenance"/>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
</xs:documentation>
</xs:annotation>
<xs:sequence>
-
- <xs:element name="description" type="xs:string"
- minOccurs="0">
+ <xs:element name="description" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
Free text at this position
</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="glyph" minOccurs="0"
- maxOccurs="unbounded">
+ <xs:element name="glyph" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Discrete symbol - possibly graphically
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
- <xs:attribute name="dict"
- type="xs:string" default="utf8" use="optional">
+ <xs:attribute name="dict" type="xs:string" use="optional" default="utf8">
<xs:annotation>
<xs:documentation>
specifies the symbol
</xs:simpleContent>
</xs:complexType>
</xs:element>
- <xs:element name="value" type="xs:float" minOccurs="0"
- maxOccurs="unbounded">
+ <xs:element name="value" type="xs:float" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Ordered set of float values - an application
</xs:annotation>
</xs:element>
</xs:sequence>
- <xs:attribute name="position" type="xs:integer"
- use="required">
+ <xs:attribute name="position" type="xs:integer" use="required">
<xs:annotation>
<xs:documentation>
position with respect to the coordinate frame
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="after" type="xs:boolean" use="optional"
- default="false">
+ <xs:attribute name="after" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>
true means the annotation element appears
</xs:element>
<xs:complexType name="SequenceType">
<xs:sequence>
- <xs:element name="sequence" type="xs:string" minOccurs="1"
- maxOccurs="1" />
- <xs:element name="name" type="xs:string" minOccurs="1"
- maxOccurs="1" />
- <xs:element name="description" type="xs:string"
- minOccurs="0" maxOccurs="1" />
- <xs:element ref="vamsas:property" minOccurs="0"
- maxOccurs="unbounded">
+ <xs:element name="sequence" type="xs:string"/>
+ <xs:element name="name" type="xs:string"/>
+ <xs:element name="description" type="xs:string" minOccurs="0"/>
+ <xs:element ref="vamsas:property" minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
additional typed properties
</xs:documentation>
</xs:annotation>
</xs:element>
+ <xs:element ref="vamsas:mapping" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
- <xs:attribute name="start" type="xs:integer" use="required" />
- <xs:attribute name="end" type="xs:integer" use="required" />
+ <xs:attribute name="start" type="xs:integer" use="required"/>
+ <xs:attribute name="end" type="xs:integer" use="required"/>
</xs:complexType>
<xs:element name="ApplicationData">
<xs:complexType>
<xs:complexContent>
<xs:extension base="vamsas:appData">
<xs:sequence>
- <xs:element name="User" maxOccurs="unbounded"
- minOccurs="0">
+ <xs:element name="User" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:complexContent>
- <xs:extension
- base="vamsas:appData">
+ <xs:extension base="vamsas:appData">
<xs:annotation>
<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>
</xs:element>
- <xs:element name="Common" maxOccurs="1"
- minOccurs="0">
+ <xs:element name="Common" minOccurs="0">
<xs:complexType>
<xs:complexContent>
- <xs:extension
- base="vamsas:appData">
- </xs:extension>
+ <xs:extension base="vamsas:appData"/>
</xs:complexContent>
</xs:complexType>
</xs:element>
- <xs:element name="Instance"
- maxOccurs="unbounded" minOccurs="0">
+ <xs:element name="Instance" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:complexContent>
- <xs:extension
- base="vamsas:appData">
+ <xs:extension base="vamsas:appData">
<xs:annotation>
<xs:documentation>
Data available to just a
that instance
</xs:documentation>
</xs:annotation>
- <xs:attribute name="urn"
- type="xs:string" use="required" />
+ <xs:attribute name="urn" type="xs:string" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:sequence>
- <xs:attribute name="version" type="xs:string"
- use="required" ><xs:annotation><xs:documentation>
- Version string describing the application specific data storage version used</xs:documentation></xs:annotation></xs:attribute>
- <xs:attribute name="name" type="xs:string"
- use="required" >
- <xs:annotation><xs:documentation>
+ <xs:attribute name="version" type="xs:string" use="required">
+ <xs:annotation>
+ <xs:documentation>
+ Version string describing the application specific data storage version used</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="name" type="xs:string" use="required">
+ <xs:annotation>
+ <xs:documentation>
Canonical name of application
</xs:documentation>
</xs:annotation>
- </xs:attribute>
+ </xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
data object to any vamsas object
</xs:documentation>
</xs:annotation>
- <xs:attribute name="compressed" type="xs:boolean"
- use="optional" default="false">
+ <xs:attribute name="compressed" type="xs:boolean" use="optional" default="false">
<xs:annotation>
<xs:documentation>
true implies data will be decompresses
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="type" type="xs:string"
- use="required">
+ <xs:attribute name="type" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>
Type of arbitrary data - TODO: decide
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="objectref" type="xs:IDREF"
- use="required">
+ <xs:attribute name="objectref" type="xs:IDREF" use="required">
<xs:annotation>
<xs:documentation>
Object the arbitrary data is associated
</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="id" type="xs:ID"
- use="optional">
+ <xs:attribute name="id" type="xs:ID" use="optional">
<xs:annotation>
<xs:documentation>
Primary Key for vamsas object
</xs:element>
<xs:complexType name="appData">
<xs:choice>
- <xs:element name="data" type="xs:base64Binary" />
- <xs:element name="dataReference" type="xs:string" />
+ <xs:element name="data" type="xs:base64Binary"/>
+ <xs:element name="dataReference" type="xs:string"/>
</xs:choice>
</xs:complexType>
+ <xs:element name="mapping">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objectA">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="vamsas:rangeType">
+ <xs:attribute name="objRefA" type="xs:IDREF" use="required"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="objectB">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="vamsas:rangeType">
+ <xs:attribute name="objRefB" type="xs:IDREF" use="required"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
</xs:schema>