Schema Definitions (XSD)

Registry

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:include schemaLocation="service.xsd"/>
    <xs:element name="registry">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" minOccurs="1" ref="service"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

Service

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:include schemaLocation="registryService.xsd"/>
    <xs:include schemaLocation="dataService.xsd"/>
    <xs:include schemaLocation="workspaceService.xsd"/>
    <xs:include schemaLocation="processingService.xsd"/>
    <xs:element name="id" type="xs:string"/>
    <xs:element name="title" type="xs:string"/>
    <xs:element name="publisher" type="xs:string"/>
    <xs:element name="creator" type="xs:string"/>
    <xs:element name="description" type="xs:string"/>
    <xs:element name="contributor" type="xs:string"/>
    <xs:element name="date" type="xs:date"/>
    <xs:element name="version" type="xs:string"/>
    <!-- next element is a pointer to information about service -->
    <xs:element name="serviceURL" type="xs:anyURI"/>
    <xs:element name="serviceType">
        <xs:complexType>
            <xs:choice>
                <xs:element maxOccurs="1" minOccurs="1" ref="registrySvc"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="dataSvc"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="workspaceSvc"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="processingSvc"/>
            </xs:choice>
        </xs:complexType>
    </xs:element>
    <xs:element name="subjectList">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" minOccurs="0" name="subject" type="xs:string"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="contact">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="1" minOccurs="1" name="name" type="xs:string"/>
                <xs:element maxOccurs="1" minOccurs="1" name="email" type="xs:string"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="service">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="1" minOccurs="1" ref="id"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="serviceType"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="title"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="publisher"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="creator"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="subjectList"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="description"/>
                <xs:element maxOccurs="1" minOccurs="0" ref="contributor"/>
                <xs:element maxOccurs="1" minOccurs="0" ref="date"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="version"/>
                <xs:element maxOccurs="1" minOccurs="0" ref="serviceURL"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="contact"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

workspaceService

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:include schemaLocation="serviceLocation.xsd"/>
    <xs:element name="quota" type="xs:integer"/>
    <xs:element name="workspaceSvc">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="location"/>
                <xs:element ref="community"/>
                <xs:element ref="quota"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

dataService

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:include schemaLocation="serviceLocation.xsd"/>
    <xs:element name="wavelengthshort" type="xs:decimal"/>
    <xs:element name="wavelengthlong" type="xs:decimal"/>
    <xs:element name="ramin" type="xs:decimal"/>
    <xs:element name="ramax" type="xs:decimal"/>
    <xs:element name="decmin" type="xs:decimal"/>
    <xs:element name="decmax" type="xs:decimal"/>
    <xs:element name="sensitvity" type="xs:decimal"/>
    <xs:element name="startdate" type="xs:string"/>
    <xs:element name="enddate" type="xs:string"/>
    <xs:element name="facility" type="xs:string"/>
    <xs:element name="instrument" type="xs:string"/>
    <xs:element name="format" type="xs:string"/>
    <xs:element name="spatialresolution" type="xs:decimal"/>
    <xs:element name="briefsummary" type="xs:string"/>
    <xs:element name="type">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="archive"/>
                <xs:enumeration value="survey"/>
                <xs:enumeration value="catalogue"/>
                <xs:enumeration value="bibliography"/>
                <xs:enumeration value="journal"/>
                <xs:enumeration value="library"/>
                <xs:enumeration value="outreach"/>
                <xs:enumeration value="education"/>
                <xs:enumeration value="eporesource"/>
                <xs:enumeration value="integrated"/>
                <xs:enumeration value="nameresolver"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="wavelengthrange">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:enumeration value="gammaray"/>
                <xs:enumeration value="xray"/>
                <xs:enumeration value="xuv"/>
                <xs:enumeration value="uv"/>
                <xs:enumeration value="optical"/>
                <xs:enumeration value="ir"/>
                <xs:enumeration value="mmwave"/>
                <xs:enumeration value="radio"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="wavelength">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" minOccurs="1" ref="wavelengthrange"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="wavelengthshort"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="wavelengthlong"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="coverage">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" minOccurs="1" ref="wavelength"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="startdate"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="enddate"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="decmin"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="decmax"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="sensitvity"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="dataSvc">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="1" minOccurs="1" ref="type"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="format"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="coverage"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="spatialresolution"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="facility"/>
                <xs:element maxOccurs="1" minOccurs="0" ref="instrument"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="location"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="community"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="briefsummary"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

processingService

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:include schemaLocation="serviceLocation.xsd"/>
    <xs:element name="method" type="xs:string"/>
    <xs:element name="methods">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" minOccurs="1" ref="method"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="processingSvc">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="1" minOccurs="1" ref="location"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="community"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="methods"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

registryService

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:include schemaLocation="serviceLocation.xsd"/>
    <xs:element name="regcommunity" type="xs:string"/>
    <xs:element name="registrySvc">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="location"/>
                <xs:element ref="community"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

serviceLocation

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="servicelocation" type="xs:anyURI"/>
    <xs:element name="master" type="xs:anyURI"/>
    <xs:element name="mirror" type="xs:anyURI"/>
    <xs:element name="variant" type="xs:anyURI"/>
    <xs:element name="community" type="xs:string"/>
    <xs:element name="location">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="1" minOccurs="1" ref="servicelocation"/>
                <xs:element maxOccurs="1" minOccurs="1" ref="master"/>
                <xs:element maxOccurs="unbounded" minOccurs="0" ref="mirror"/>
                <xs:element maxOccurs="unbounded" minOccurs="0" ref="variant"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

-- KeithNoddle - 25 Feb 2003

Topic revision: r7 - 2003-07-08 - 11:08:56 - ElizabethAuden
 
AstroGrid Service Click here for the
AstroGrid Service Web
This is the AstroGrid
Development Wiki

This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback