Jumps: IvoaResReg :: registry mail archive :: ResourceMetadata :: RWP03RefBack :: RWP03Disc
Registry Working Group WP3 (Metadata Specifications)
VOResource v0.10 and its Standard Extensions
Contents
News
3 Nov 2004: VOResource-v0.10.xsd was updated with a bug fix to allow multiple occurances of the Type element. As a bug fix (that happens to be backward compatible), the version number is not changed.
The Schemas
VOResource, in general, refers to a family of schemas that includes the core schema (VOResource-v0.10) and a set of standard extensions.
These schemas are have been released from the official
IVOA schema distribution area. To validate documents compliant with this release you need each of the following schemas:
The following two extensions are extensions that define specific, standard
tabular sky services.
You can download all the schemas (with the examples) in a single bundle. Two versions are available. When these packages are unpacked, all of the files are put in the current directory.
- VOResource-v0.10 (tar.gz, zip)
- the official schemas from the table above.
- VOResource-v0.10-local (tar.gz, zip)
- the official schemas with "schemaLocation" set to look for imports on local disk. This version enables a verifier to look for schemas in the current directory instead from the IVOA site. Use this version when developing off-line or with tools that have trouble finding imported schemas.
Example documents
- organisation.xml
- o a simple description of an organisation
o uses only the core VOResource schema
- collection.xml
- o a description of a data collection
o uses VOResource and VODataService
o includes a simple coverage description
- webform.xml
- o a description of an archive search page used interactively with a browser
o described as a resource of type SkyService
o illustrates the use of the "service-for" relationship
o uses VOResource and VODataService
- conesearch.xml
- o a description of a Cone Search service
o interface description includes the supported input parameters
o includes a description of the returned output table
o uses VOResource, VODataService, and ConeSearch
- sia.xml
- o a description of a Simple Image Access service
o interface description includes the supported input parameters
o includes a description of the returned output table
o uses VOResource, VODataService, and SIA
- registry.xml
- o a description of a registry (as a service).
o uses VOResource, VODataService, and VORegistry
- authority.xml
- o a description of a naming authority
o used to register authority names in a registry.
o uses uses VOResource and VORegistry
What's New in this Release
The primary change is the way extensions are handled: we have dropped the use of substitution groups and replaced them with the use of xsi:type. What looked like this in release v0.9...
<!-- the old way -->
<VOResource xmlns="..." >
<vs:SkyService>
...
</vr:SkyService>
...now looks like this...
<!-- the new way -->
<resource xsi:type="vs:SkyService" xmlns="..." >
...
That is, you now see both specific type (SkyService) and the base concept it extends (resource) in the same element.
Here's an abridged list of changes made. (A more complete description can be found
here.)
- only global types are defined (anonymous types are avoided).
- no global elements are defined; an application that uses VOResource can define its own global element(s) to use as a root element as necessary.
- references to other resources has been simplified
- the logical ID element has been dropped
- the generic Capabilities element has been dropped; specific standard services (e.g. ConeSearch, SimpleImageAccess) define these in their extensions.
About the root element
As mentioned above, VOResource defines no global elements. The proper root element is expected to be defined by the application, as necessary, via its own
application schema. For example, a particular application might define the following schema:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://astroservices.org/ResourceApplication"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:vr="http://www.ivoa.net/xml/VOResource/v0.10"
xmlns:ra="http://astroservices.org/ResourceApplication"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="0.10">
<xs:annotation>
<xs:documenation> application schema using VOResource </xs:documenation>
</xs:annotation>
<xs:import namespace="http://www.ivoa.net/xml/VOResource/v0.10" />
<xs:element name="ResourceDescription" type="vr:Resource"/>
<xs:element name="Resources">
<xs:complexType>
<xs:sequence>
<xs:element ref="ra:ResourceDescription" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
In this example, two global elements have been defined, either which can be used as a root element. The application would use this simple schema to verify its documents.
Note that in the
example instance documents listed above, an application schema is not needed. That's because the root element in each case specifies its type using an
xsi:type
attribute. According to the XML Schema standard, this is sufficient to verify the document.
It is expected that
registry applications will use "resource" as the root element, just like in the
examples listed above.
Useful Tools
Conversion Stylesheets
- XSL Stylesheets for converting between v0.9 and v0.10
Background Materials
What's Ahead in Future Versions
- If no fundemental problems are found with this release, it is expected that:
- the next release of VOResource will be v1.0
- each of the extensions will begin to evolve separately.
- VORegistry will likely be updated as the standard Registry Interface is refined.