1 |
<?xml version="1.0" encoding="UTF-8"?> |
<?xml version="1.0" encoding="UTF-8"?> |
2 |
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" |
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" |
3 |
xmlns="http://www.ivoa.net/xml/SNAP/v0.1/SimDB" |
xmlns="http://www.ivoa.net/xml/SNAP/v0.1/simdb" |
4 |
|
xmlns:base="http://www.ivoa.net/xml/dm/base/v0.1" |
5 |
xmlns:p1="http://www.ivoa.net/xml/SNAP/v0.1/IVOAValueTypes" |
xmlns:p1="http://www.ivoa.net/xml/SNAP/v0.1/IVOAValueTypes" |
6 |
xmlns:p5="http://www.ivoa.net/xml/SNAP/v0.1/simdb" |
targetNamespace="http://www.ivoa.net/xml/SNAP/v0.1/simdb"> |
|
xmlns:p4="http://www.ivoa.net/xml/SNAP/v0.1/simdb/experiment" |
|
|
xmlns:p2="http://www.ivoa.net/xml/SNAP/v0.1/simdb/protocol" |
|
|
xmlns:p3="http://www.ivoa.net/xml/SNAP/v0.1/simdb/project" |
|
|
xmlns:p6="http://www.ivoa.net/xml/SNAP/v0.1/simdb/object" |
|
|
targetNamespace="http://www.ivoa.net/xml/SNAP/v0.1/SimDB"> |
|
7 |
<xsd:annotation> |
<xsd:annotation> |
8 |
<xsd:documentation>Root elements for the model. Generated from UML->XMI->intermediate->XSD. |
<xsd:documentation>Generated from UML->XMI->intermediate->XSD.</xsd:documentation> |
|
As root elements we choose the concrete types in inheritance hierarchies with no contained types. |
|
|
@@TODO We assume those concrete types should be final. This should be tested. @@ |
|
|
</xsd:documentation> |
|
9 |
</xsd:annotation> |
</xsd:annotation> |
10 |
<xsd:import namespace="http://www.ivoa.net/xml/SNAP/v0.1/IVOAValueTypes" |
<xsd:import namespace="http://www.ivoa.net/xml/SNAP/v0.1/IVOAValueTypes" |
11 |
schemaLocation="http://volute.googlecode.com/svn/trunk/projects/theory/snapdm/xsd/IVOAValueTypes.xsd"/> |
schemaLocation="http://volute.googlecode.com/svn/trunk/projects/theory/snapdm/xsd/IVOAValueTypes.xsd"/> |
|
<xsd:import namespace="http://www.ivoa.net/xml/SNAP/v0.1/simdb" |
|
|
schemaLocation="http://volute.googlecode.com/svn/trunk/projects/theory/snapdm/xsd/simdb.xsd"/> |
|
|
<xsd:import namespace="http://www.ivoa.net/xml/SNAP/v0.1/simdb/experiment" |
|
|
schemaLocation="http://volute.googlecode.com/svn/trunk/projects/theory/snapdm/xsd/simdb/experiment.xsd"/> |
|
|
<xsd:import namespace="http://www.ivoa.net/xml/SNAP/v0.1/simdb/protocol" |
|
|
schemaLocation="http://volute.googlecode.com/svn/trunk/projects/theory/snapdm/xsd/simdb/protocol.xsd"/> |
|
|
<xsd:import namespace="http://www.ivoa.net/xml/SNAP/v0.1/simdb/project" |
|
|
schemaLocation="http://volute.googlecode.com/svn/trunk/projects/theory/snapdm/xsd/simdb/project.xsd"/> |
|
|
<xsd:import namespace="http://www.ivoa.net/xml/SNAP/v0.1/simdb/object" |
|
|
schemaLocation="http://volute.googlecode.com/svn/trunk/projects/theory/snapdm/xsd/simdb/object.xsd"/> |
|
12 |
<xsd:import namespace="http://www.ivoa.net/xml/dm/base/v0.1" |
<xsd:import namespace="http://www.ivoa.net/xml/dm/base/v0.1" |
13 |
schemaLocation="http://volute.googlecode.com/svn/trunk/projects/theory/snapdm/xsd/base.xsd"/> |
schemaLocation="http://volute.googlecode.com/svn/trunk/projects/theory/snapdm/xsd/base.xsd"/> |
14 |
<xsd:element name="aSimulation" type="p4:Simulation"/> |
<xsd:complexType name="Resource" abstract="true"> |
15 |
<xsd:element name="aClusterDetection" type="p4:ClusterDetection"/> |
<xsd:annotation> |
16 |
<xsd:element name="aVisualisation" type="p4:Visualisation"/> |
<xsd:documentation>This is a thin copy of the Registry Resource model's Resource that borrowes some of its elements. |
17 |
<xsd:element name="aSubvolumeExtraction" type="p4:SubvolumeExtraction"/> |
It *is not* a Registry Resource though. |
18 |
<xsd:element name="aCompositeExperiment" type="p4:CompositeExperiment"/> |
In particular we want to refine the content model here. |
19 |
<xsd:element name="aCompositeProtocol" type="p4:CompositeProtocol"/> |
Using a restriction of the res:Resource leads to problems, as we'd like to extend the Resource at the same time. |
20 |
<xsd:element name="aSimulator" type="p2:Simulator"/> |
Hence we create a new type.</xsd:documentation> |
21 |
<xsd:element name="aClusterFinder" type="p2:ClusterFinder"/> |
<xsd:appinfo>xmiid=_12_1_1_8e0028f_1178789094562_459260_296</xsd:appinfo> |
22 |
<xsd:element name="aVisualiser" type="p2:Visualiser"/> |
</xsd:annotation> |
23 |
<xsd:element name="aSubvolumeExtractor" type="p2:SubvolumeExtractor"/> |
<xsd:sequence> |
24 |
<xsd:element name="aProject" type="p3:Project"/> |
<xsd:element name="name" type="xsd:string" minOccurs="0"/> |
25 |
<xsd:element name="aContact" type="p5:Contact"/> |
<xsd:element name="description" type="xsd:string" minOccurs="0"/> |
26 |
|
<xsd:element name="referenceURL" type="xsd:string" minOccurs="0"/> |
27 |
|
<xsd:element name="created" type="xsd:dateTime" minOccurs="0"/> |
28 |
|
<xsd:element name="updated" type="xsd:dateTime" minOccurs="0"/> |
29 |
|
<xsd:element name="status" type="xsd:string" minOccurs="0"/> |
30 |
|
<xsd:element name="curation" type="Curation" minOccurs="0"/> |
31 |
|
</xsd:sequence> |
32 |
|
</xsd:complexType> |
33 |
|
|
34 |
|
<xsd:complexType name="Curation"> |
35 |
|
<xsd:annotation> |
36 |
|
<xsd:documentation>Information regarding the general curation of the resource |
37 |
|
|
38 |
|
Registry-like curation object representing persons or organisations that can play a role such as responsibility, ownership, creator for/of data products, simulations etc</xsd:documentation> |
39 |
|
<xsd:appinfo>xmiid=_12_1_bd102fc_1206596758777_350876_163</xsd:appinfo> |
40 |
|
</xsd:annotation> |
41 |
|
<xsd:sequence> |
42 |
|
<xsd:element name="publisher" type="xsd:string"/> |
43 |
|
<xsd:element name="creator" type="xsd:string" minOccurs="0"/> |
44 |
|
<xsd:element name="contributor" type="xsd:string" minOccurs="0"/> |
45 |
|
<xsd:element name="date" type="xsd:dateTime" minOccurs="0"/> |
46 |
|
<xsd:element name="version" type="xsd:string" minOccurs="0"/> |
47 |
|
<xsd:element name="contact" type="base:Reference" minOccurs="0"> |
48 |
|
<xsd:annotation> |
49 |
|
<xsd:appinfo>xmiidref=_12_1_bd102fc_1206601369187_165113_153</xsd:appinfo> |
50 |
|
</xsd:annotation> |
51 |
|
</xsd:element> |
52 |
|
</xsd:sequence> |
53 |
|
</xsd:complexType> |
54 |
|
|
55 |
|
<xsd:complexType name="Contact"> |
56 |
|
<xsd:annotation> |
57 |
|
<xsd:documentation>Information that can be used for contacting someone |
58 |
|
</xsd:documentation> |
59 |
|
<xsd:appinfo>xmiid=_12_1_bd102fc_1206601369187_165113_153</xsd:appinfo> |
60 |
|
</xsd:annotation> |
61 |
|
<xsd:sequence> |
62 |
|
<xsd:element name="name" type="xsd:string"/> |
63 |
|
<xsd:element name="address" type="xsd:string" minOccurs="0"/> |
64 |
|
<xsd:element name="email" type="xsd:string" minOccurs="0"/> |
65 |
|
<xsd:element name="telephone" type="xsd:string" minOccurs="0"/> |
66 |
|
</xsd:sequence> |
67 |
|
</xsd:complexType> |
68 |
|
|
69 |
|
<xsd:complexType name="Quantity"> |
70 |
|
<xsd:annotation> |
71 |
|
<xsd:documentation>A structured data type, indicating a numerical value and corresponding unit. The latter will require some standard dictionary for a uniform usage. This is here not modelled</xsd:documentation> |
72 |
|
<xsd:appinfo>xmiid=_12_1_8e0028f_1173262283140_574350_1278</xsd:appinfo> |
73 |
|
</xsd:annotation> |
74 |
|
<xsd:complexContent> |
75 |
|
<xsd:extension base="Value"> |
76 |
|
<xsd:sequence> |
77 |
|
<xsd:element name="value" type="xsd:float"/> |
78 |
|
<xsd:element name="unit" type="xsd:string" minOccurs="0"/> |
79 |
|
</xsd:sequence> |
80 |
|
</xsd:extension> |
81 |
|
</xsd:complexContent> |
82 |
|
</xsd:complexType> |
83 |
|
|
84 |
|
<xsd:complexType name="Value" abstract="true"> |
85 |
|
<xsd:annotation> |
86 |
|
<xsd:documentation>A structured data type, indicating a numerical value and corresponding unit. The latter will require some standard dictionary for a uniform usage. This is here not modelled</xsd:documentation> |
87 |
|
<xsd:appinfo>xmiid=_12_1_2_8e0028f_1187611765484_254613_132</xsd:appinfo> |
88 |
|
</xsd:annotation> |
89 |
|
</xsd:complexType> |
90 |
|
|
91 |
|
<xsd:complexType name="Pos3D"> |
92 |
|
<xsd:annotation> |
93 |
|
<xsd:documentation/> |
94 |
|
<xsd:appinfo>xmiid=_12_1_8e0028f_1208350068937_666331_227</xsd:appinfo> |
95 |
|
</xsd:annotation> |
96 |
|
<xsd:sequence> |
97 |
|
<xsd:element name="x" type="Quantity"/> |
98 |
|
<xsd:element name="y" type="Quantity"/> |
99 |
|
<xsd:element name="z" type="Quantity"/> |
100 |
|
</xsd:sequence> |
101 |
|
</xsd:complexType> |
102 |
|
|
103 |
|
<xsd:simpleType name="DataType"> |
104 |
|
<xsd:annotation> |
105 |
|
<xsd:documentation>The values of this type are to be used in the definition of metadata fields such as Property and InputParameter. These data types correspond to actual types used in computation and data representation and are slightly different from the more abstract types in the domain model in [2]. |
106 |
|
They are clearly related to similar concepts as in the DataType defined in the XML schema for VOTable. |
107 |
|
The values are: |
108 |
|
• boolean |
109 |
|
• complex |
110 |
|
• datetime |
111 |
|
• double |
112 |
|
• float |
113 |
|
• long |
114 |
|
• rational |
115 |
|
• short |
116 |
|
• string |
117 |
|
• … |
118 |
|
</xsd:documentation> |
119 |
|
<xsd:appinfo>xmiid=_12_1_8e0028f_1173260658937_376469_768</xsd:appinfo> |
120 |
|
</xsd:annotation> |
121 |
|
<xsd:restriction base="xsd:string"> |
122 |
|
<xsd:enumeration value="boolean"> |
123 |
|
<xsd:annotation> |
124 |
|
<xsd:documentation/> |
125 |
|
</xsd:annotation> |
126 |
|
</xsd:enumeration> |
127 |
|
<xsd:enumeration value="complex"> |
128 |
|
<xsd:annotation> |
129 |
|
<xsd:documentation/> |
130 |
|
</xsd:annotation> |
131 |
|
</xsd:enumeration> |
132 |
|
<xsd:enumeration value="datetime"> |
133 |
|
<xsd:annotation> |
134 |
|
<xsd:documentation/> |
135 |
|
</xsd:annotation> |
136 |
|
</xsd:enumeration> |
137 |
|
<xsd:enumeration value="double"> |
138 |
|
<xsd:annotation> |
139 |
|
<xsd:documentation/> |
140 |
|
</xsd:annotation> |
141 |
|
</xsd:enumeration> |
142 |
|
<xsd:enumeration value="float"> |
143 |
|
<xsd:annotation> |
144 |
|
<xsd:documentation/> |
145 |
|
</xsd:annotation> |
146 |
|
</xsd:enumeration> |
147 |
|
<xsd:enumeration value="int"> |
148 |
|
<xsd:annotation> |
149 |
|
<xsd:documentation/> |
150 |
|
</xsd:annotation> |
151 |
|
</xsd:enumeration> |
152 |
|
<xsd:enumeration value="long"> |
153 |
|
<xsd:annotation> |
154 |
|
<xsd:documentation/> |
155 |
|
</xsd:annotation> |
156 |
|
</xsd:enumeration> |
157 |
|
<xsd:enumeration value="rational"> |
158 |
|
<xsd:annotation> |
159 |
|
<xsd:documentation/> |
160 |
|
</xsd:annotation> |
161 |
|
</xsd:enumeration> |
162 |
|
<xsd:enumeration value="short"> |
163 |
|
<xsd:annotation> |
164 |
|
<xsd:documentation/> |
165 |
|
</xsd:annotation> |
166 |
|
</xsd:enumeration> |
167 |
|
<xsd:enumeration value="string"> |
168 |
|
<xsd:annotation> |
169 |
|
<xsd:documentation/> |
170 |
|
</xsd:annotation> |
171 |
|
</xsd:enumeration> |
172 |
|
</xsd:restriction> |
173 |
|
</xsd:simpleType> |
174 |
|
|
175 |
|
<xsd:simpleType name="Cardinality"> |
176 |
|
<xsd:annotation> |
177 |
|
<xsd:documentation>Possible values for cardinality attributee of a Property or a Parameter</xsd:documentation> |
178 |
|
<xsd:appinfo>xmiid=_12_1_2_8e0028f_1189430872609_809189_324</xsd:appinfo> |
179 |
|
</xsd:annotation> |
180 |
|
<xsd:restriction base="xsd:string"> |
181 |
|
<xsd:enumeration value="0..1"> |
182 |
|
<xsd:annotation> |
183 |
|
<xsd:documentation>Corresponds to 'Optional element'</xsd:documentation> |
184 |
|
</xsd:annotation> |
185 |
|
</xsd:enumeration> |
186 |
|
<xsd:enumeration value="1"> |
187 |
|
<xsd:annotation> |
188 |
|
<xsd:documentation>Corresponds to 'Mandatory element'</xsd:documentation> |
189 |
|
</xsd:annotation> |
190 |
|
</xsd:enumeration> |
191 |
|
<xsd:enumeration value="0..*"> |
192 |
|
<xsd:annotation> |
193 |
|
<xsd:documentation>Corresponds to 'Multiple but maybe Optional element'</xsd:documentation> |
194 |
|
</xsd:annotation> |
195 |
|
</xsd:enumeration> |
196 |
|
<xsd:enumeration value="1..*"> |
197 |
|
<xsd:annotation> |
198 |
|
<xsd:documentation>Corresponds to 'Multiple with at least one element'</xsd:documentation> |
199 |
|
</xsd:annotation> |
200 |
|
</xsd:enumeration> |
201 |
|
</xsd:restriction> |
202 |
|
</xsd:simpleType> |
203 |
|
|
204 |
</xsd:schema> |
</xsd:schema> |