/[volute]/trunk/projects/registry/TAPRegExt/TAPRegExt-v1.0.xsd
ViewVC logotype

Contents of /trunk/projects/registry/TAPRegExt/TAPRegExt-v1.0.xsd

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3066 - (show annotations)
Wed Sep 23 11:20:20 2015 UTC (5 years, 10 months ago) by msdemlei
File size: 16135 byte(s)
TAPRegExt: Editorial changes, IVOID terminology fixed.


1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema
3 xmlns:xs="http://www.w3.org/2001/XMLSchema"
4 xmlns:vr="http://www.ivoa.net/xml/VOResource/v1.0"
5 xmlns:vm="http://www.ivoa.net/xml/VOMetadata/v0.1"
6 xmlns:tr="http://www.ivoa.net/xml/TAPRegExt/v1.0"
7 version="1.0"
8 targetNamespace="http://www.ivoa.net/xml/TAPRegExt/v1.0"
9 elementFormDefault="unqualified"
10 attributeFormDefault="unqualified"
11 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
12 <xs:annotation>
13 <xs:appinfo>
14 <vm:schemaName>TAPRegExt</vm:schemaName>
15 <vm:schemaPrefix>xs</vm:schemaPrefix>
16 <vm:targetPrefix>tr</vm:targetPrefix>
17 </xs:appinfo>
18 <xs:documentation>
19 A description of the capabilities metadata for TAP services.
20 </xs:documentation>
21 </xs:annotation>
22 <xs:import namespace="http://www.ivoa.net/xml/VOResource/v1.0" schemaLocation="http://www.ivoa.net/xml/VOResource/VOResource-v1.0.xsd"/>
23 <xs:complexType name="TableAccess">
24 <xs:annotation>
25 <xs:documentation>
26 The capabilities of a TAP server.
27 </xs:documentation>
28 <xs:documentation>
29 The capabilities attempt to define most issues that the
30 TAP standard leaves to the implementors ("may", "should").
31 </xs:documentation>
32 </xs:annotation>
33 <xs:complexContent>
34 <xs:extension base="vr:Capability">
35 <xs:sequence>
36
37 <xs:element name="dataModel" type="tr:DataModelType"
38 minOccurs="0" maxOccurs="unbounded">
39 <xs:annotation>
40 <xs:documentation>
41 Identifier of IVOA-approved data model supported by the
42 service.
43 </xs:documentation>
44 </xs:annotation>
45 </xs:element>
46
47 <xs:element name="language" type="tr:Language"
48 minOccurs="1" maxOccurs="unbounded">
49 <xs:annotation>
50 <xs:documentation>
51 Language supported by the service.
52 </xs:documentation>
53 </xs:annotation>
54 </xs:element>
55
56 <xs:element name="outputFormat" type="tr:OutputFormat"
57 minOccurs="1" maxOccurs="unbounded">
58 <xs:annotation>
59 <xs:documentation>
60 Output format supported by the service.
61 </xs:documentation>
62 </xs:annotation>
63 </xs:element>
64
65 <xs:element name="uploadMethod" type="tr:UploadMethod"
66 minOccurs="0" maxOccurs="unbounded">
67 <xs:annotation>
68 <xs:documentation>
69 Upload method supported by the service.
70 </xs:documentation>
71 <xs:documentation>
72 The absence of upload methods indicates
73 that the service does not support uploads
74 at all.
75 </xs:documentation>
76 </xs:annotation>
77 </xs:element>
78
79 <xs:element name="retentionPeriod" type="tr:TimeLimits"
80 minOccurs="0" maxOccurs="1">
81 <xs:annotation>
82 <xs:documentation>
83 Limits on the time between job creation and
84 destruction time.
85 </xs:documentation>
86 </xs:annotation>
87 </xs:element>
88
89 <xs:element name="executionDuration" type="tr:TimeLimits"
90 minOccurs="0" maxOccurs="1">
91 <xs:annotation>
92 <xs:documentation>
93 Limits on executionDuration.
94 </xs:documentation>
95 </xs:annotation>
96 </xs:element>
97
98 <xs:element name="outputLimit" type="tr:DataLimits"
99 minOccurs="0" maxOccurs="1">
100 <xs:annotation>
101 <xs:documentation>
102 Limits on the size of data returned.
103 </xs:documentation>
104 </xs:annotation>
105 </xs:element>
106
107 <xs:element name="uploadLimit" type="tr:DataLimits"
108 minOccurs="0" maxOccurs="1">
109 <xs:annotation>
110 <xs:documentation>
111 Limits on the size of uploaded data.
112 </xs:documentation>
113 </xs:annotation>
114 </xs:element>
115
116
117 </xs:sequence>
118 </xs:extension>
119 </xs:complexContent>
120 </xs:complexType>
121
122 <xs:complexType name="DataModelType">
123 <xs:annotation>
124 <xs:documentation>
125 An IVOA defined data model, identified by an IVOID
126 intended for machine consumption and a short label
127 intended for human comsumption.
128 </xs:documentation>
129 </xs:annotation>
130
131 <xs:simpleContent>
132 <xs:extension base="xs:token">
133 <xs:attribute name="ivo-id" type="xs:anyURI" use="required">
134 <xs:annotation>
135 <xs:documentation>
136 The IVOID of the data model.
137 </xs:documentation>
138 </xs:annotation>
139 </xs:attribute>
140 </xs:extension>
141 </xs:simpleContent>
142 </xs:complexType>
143
144 <xs:complexType name="Language">
145 <xs:annotation>
146 <xs:documentation>
147 A query language supported by the service.
148 </xs:documentation>
149 <xs:documentation>
150 Each language element can describe one or more versions
151 of a language. Either name alone or name-version can be
152 used as values for the server's LANG parameter.
153 </xs:documentation>
154 </xs:annotation>
155
156 <xs:sequence>
157 <xs:element name="name" type="xs:NCName">
158 <xs:annotation>
159 <xs:documentation>
160 The name of the language without a version suffix.
161 </xs:documentation>
162 </xs:annotation>
163 </xs:element>
164
165 <xs:element name="version" type="tr:Version"
166 minOccurs="1" maxOccurs="unbounded">
167 <xs:annotation>
168 <xs:documentation>
169 A version of the language supported by the server.
170 </xs:documentation>
171 </xs:annotation>
172 </xs:element>
173
174 <xs:element name="description" type="xs:token"
175 minOccurs="0">
176 <xs:annotation>
177 <xs:documentation>
178 A short, human-readable description of the
179 query language.
180 </xs:documentation>
181 </xs:annotation>
182 </xs:element>
183
184 <xs:element name="languageFeatures" type="tr:LanguageFeatureList"
185 minOccurs="0" maxOccurs="unbounded">
186 <xs:annotation>
187 <xs:documentation>
188 Optional features of the query language, grouped by
189 feature type.
190 </xs:documentation>
191 <xs:documentation>
192 This includes listing user defined functions, geometry support,
193 or similar concepts.
194 </xs:documentation>
195 </xs:annotation>
196 </xs:element>
197 </xs:sequence>
198 </xs:complexType>
199
200 <xs:complexType name="Version">
201 <xs:annotation>
202 <xs:documentation>
203 One version of the language supported by the service.
204 </xs:documentation>
205 <xs:documentation>
206 If the service supports more than one version of the
207 language, include multiple version elements.
208 It is recommended that you use a version numbering
209 scheme like MAJOR.MINOR in such a way that sorting
210 by ascending character codes will leave the most
211 recent version at the bottom of the list.
212 </xs:documentation>
213 </xs:annotation>
214
215 <xs:simpleContent>
216 <xs:extension base="xs:token">
217 <xs:attribute name="ivo-id" type="xs:anyURI">
218 <xs:annotation>
219 <xs:documentation>
220 An optional IVOID of the language.
221 </xs:documentation>
222 <xs:documentation>
223 To more formally define a language supported by a service,
224 a resource record for the language can be created, either
225 centrally on the Registry of Registries or by other registry operators.
226 When such a record exists, the language element's ivo-id
227 should point to it.
228 </xs:documentation>
229 </xs:annotation>
230 </xs:attribute>
231 </xs:extension>
232 </xs:simpleContent>
233 </xs:complexType>
234
235 <xs:complexType name="LanguageFeatureList">
236 <xs:annotation>
237 <xs:documentation>
238 An enumeration of non-standard or non-mandatory features of
239 a specific type implemented by the language.
240 </xs:documentation>
241 <xs:documentation>
242 A feature type is a language-dependent concept like
243 ``user defined function'', ``geometry support'', or possibly
244 ``units supported''. A featureList gives all features of
245 a given type applicable for the service. Multiple featureLists
246 are possible.
247
248 All feature in a given list are of the same type. This type
249 is declared using the mandatory type attribute,
250 the value of which will typically be an IVOID.
251 To see values defined in TAPRegExt,
252 retrieve the ivo://ivoa.net/std/TAPRegExt
253 resource record and look for keys starting with "features-".
254 </xs:documentation>
255 </xs:annotation>
256 <xs:sequence>
257 <xs:element name="feature" type="tr:LanguageFeature"
258 minOccurs="0" maxOccurs="unbounded">
259 <xs:annotation>
260 <xs:documentation>
261 A language feature of the type given by this
262 element's type attribute.
263 </xs:documentation>
264 </xs:annotation>
265 </xs:element>
266 </xs:sequence>
267 <xs:attribute name="type" type="xs:anyURI"
268 use="required">
269 <xs:annotation>
270 <xs:documentation>
271 The type of the features given here.
272 </xs:documentation>
273 <xs:documentation>
274 This is in general an IVOID. TAPRegExt itself gives
275 IVOIDs for defining user defined functions and geometry
276 support.
277 </xs:documentation>
278 </xs:annotation>
279 </xs:attribute>
280 </xs:complexType>
281
282 <xs:complexType name="LanguageFeature">
283 <xs:annotation>
284 <xs:documentation>
285 A non-standard or non-mandatory feature implemented
286 by the language..
287 </xs:documentation>
288 </xs:annotation>
289 <xs:sequence>
290 <xs:element name="form" type="xs:token">
291 <xs:annotation>
292 <xs:documentation>
293 Formal notation for the language feature.
294 </xs:documentation>
295 <xs:documentation>
296 The syntax for the content of this element is defined by the
297 type attribute of its parent language list.
298 </xs:documentation>
299 </xs:annotation>
300 </xs:element>
301 <xs:element name="description" type="xs:string" minOccurs="0">
302 <xs:annotation>
303 <xs:documentation>
304 Human-readable freeform documentation for the language feature.
305 </xs:documentation>
306 </xs:annotation>
307 </xs:element>
308 </xs:sequence>
309 </xs:complexType>
310
311 <xs:complexType name="OutputFormat">
312 <xs:annotation>
313 <xs:documentation>
314 An output format supported by the service.
315 </xs:documentation>
316 <xs:documentation>
317 All TAP services must support VOTable output, preserving
318 the MIME type of the input. Other output formats are
319 optional.
320
321 The primary identifier for an output format is the MIME
322 type. If you want to register an output format, you must
323 use a MIME type (or make one up using the x- syntax), although
324 the concrete MIME syntax is not enforced by the schema.
325
326 For more detailed specification, an IVOID may be used.
327 </xs:documentation>
328 </xs:annotation>
329
330 <xs:sequence>
331 <xs:element name="mime" type="xs:token">
332 <xs:annotation>
333 <xs:documentation>
334 The MIME type of this format.
335 </xs:documentation>
336 <xs:documentation>
337 The format of this string is specified by RFC 2045.
338 The service has to accept this string as a
339 value of the FORMAT parameter.
340 </xs:documentation>
341 </xs:annotation>
342 </xs:element>
343
344 <xs:element name="alias" type="xs:token"
345 minOccurs="0" maxOccurs="unbounded">
346 <xs:annotation>
347 <xs:documentation>
348 Other values of FORMAT ("shorthands") that make the service return
349 documents with the MIME type.
350 </xs:documentation>
351 </xs:annotation>
352 </xs:element>
353
354 </xs:sequence>
355
356 <xs:attribute name="ivo-id" type="xs:anyURI">
357 <xs:annotation>
358 <xs:documentation>
359 An optional IVOID of the output format.
360 </xs:documentation>
361 <xs:documentation>
362 When the MIME type does not uniquely define the
363 format (or a generic MIME like application/octet-stream or
364 text/plain is given), the IVOID can point to a key
365 or StandardsRegExt document defining the format more
366 precisely. To see values defined in TAPRegExt,
367 retrieve the ivo://ivoa.net/std/TAPRegExt
368 resource record and look for keys starting with "output-".
369 </xs:documentation>
370 </xs:annotation>
371 </xs:attribute>
372
373 </xs:complexType>
374
375 <xs:complexType name="UploadMethod">
376 <xs:annotation>
377 <xs:documentation>
378 An upload method as defined by IVOA.
379 </xs:documentation>
380 <xs:documentation>
381 Upload methods are always identified by an IVOID.
382 Descriptions can be obtained by dereferencing this
383 IVOID. To see values defined in TAPRegExt,
384 retrieve the ivo://ivoa.net/std/TAPRegExt
385 resource record and look for keys starting with "upload-".
386
387
388 You can register custom upload methods, but you must use the
389 standard IVOIDs for the upload methods defined in the TAP
390 specification.
391 </xs:documentation>
392 </xs:annotation>
393
394 <xs:complexContent>
395 <xs:restriction base="xs:anyType">
396 <xs:attribute name="ivo-id" type="xs:anyURI">
397 <xs:annotation>
398 <xs:documentation>
399 The IVOID of the upload method.
400 </xs:documentation>
401 </xs:annotation>
402 </xs:attribute>
403 </xs:restriction>
404 </xs:complexContent>
405 </xs:complexType>
406
407
408 <xs:complexType name="TimeLimits">
409 <xs:annotation>
410 <xs:documentation>
411 Time-valued limits, all values given in seconds.
412 </xs:documentation>
413 </xs:annotation>
414
415 <xs:sequence>
416 <xs:element name="default" type="xs:integer"
417 minOccurs="0" maxOccurs="1">
418 <xs:annotation>
419 <xs:documentation>
420 The value of this limit for newly-created jobs, given in seconds.
421 </xs:documentation>
422 </xs:annotation>
423 </xs:element>
424 <xs:element name="hard" type="xs:integer"
425 minOccurs="0" maxOccurs="1">
426 <xs:annotation>
427 <xs:documentation>
428 The value this limit cannot be raised above, given in seconds.
429 </xs:documentation>
430 </xs:annotation>
431 </xs:element>
432 </xs:sequence>
433 </xs:complexType>
434
435 <xs:complexType name="DataLimits">
436 <xs:annotation>
437 <xs:documentation>
438 Limits on data sizes, given in rows or bytes.
439 </xs:documentation>
440 </xs:annotation>
441
442 <xs:sequence>
443 <xs:element name="default" type="tr:DataLimit"
444 minOccurs="0" maxOccurs="1">
445 <xs:annotation>
446 <xs:documentation>
447 The value of this limit for newly-created jobs.
448 </xs:documentation>
449 </xs:annotation>
450 </xs:element>
451 <xs:element name="hard" type="tr:DataLimit"
452 minOccurs="0" maxOccurs="1">
453 <xs:annotation>
454 <xs:documentation>
455 The value this limit cannot be raised above.
456 </xs:documentation>
457 </xs:annotation>
458 </xs:element>
459 </xs:sequence>
460 </xs:complexType>
461
462 <xs:complexType name="DataLimit">
463 <xs:annotation>
464 <xs:documentation>
465 A limit on some data size, either in rows or in bytes.
466 </xs:documentation>
467 </xs:annotation>
468
469 <xs:simpleContent>
470 <xs:extension base="xs:integer">
471 <xs:attribute name="unit" use="required">
472 <xs:annotation>
473 <xs:documentation>
474 The unit of the limit specified.
475 </xs:documentation>
476 </xs:annotation>
477 <xs:simpleType>
478 <xs:restriction base="xs:token">
479 <xs:enumeration value="byte"/>
480 <xs:enumeration value="row"/>
481 </xs:restriction>
482 </xs:simpleType>
483 </xs:attribute>
484 </xs:extension>
485 </xs:simpleContent>
486 </xs:complexType>
487
488 </xs:schema>

msdemlei@ari.uni-heidelberg.de
ViewVC Help
Powered by ViewVC 1.1.26