<?xml version="1.0" encoding="UTF-8"?>
<vos.schema.1.0:messages
    xmlns:vos.schema.1.0="urn:schema.dm.2006.07.13.vospace.ivoa.net"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="urn:schema.dm.2006.07.13.vospace.ivoa.net vospace-schema-dm.2006.07.13.xsd">

    <!-- ========  Service metadata messages ======== -->
    
    <!-- List the service properties -->
    <message xsi:type="vos.schema.1.0:GetPropertiesRequestType"/>
    
    <!-- Properties response (example only) -->
    <message xsi:type="vos.schema.1.0:GetPropertiesResponseType">
        <property key="vos.data.size" readonly="true">
            <ucd/>
            <unit>bytes</unit>
            <description>
                The data size, in bytes.
                This is only available for data that is stored as binary objects.
                This does not apply to data from server generated views.
            </description>
        </property>
        <property key="vos.data.modified.date" readonly="true">
            <ucd/>
            <unit>datetime</unit>
            <description>
                The date and time when the underlying data was last modified.
            </description>
        </property>
        <property key="vos.node.modified.date" readonly="true">
            <ucd/>
            <unit>datetime</unit>
            <description>
                The date and time when the node was created.
            </description>
        </property>
        <property key="vos.node.created.date" readonly="true">
            <ucd/>
            <unit>datetime</unit>
            <description>
                The date and time when the node was created.
            </description>
        </property>
        <property key="vos.node.owner.dn" readonly="true">
            <ucd/>
            <unit/>
            <description>
                The dn of the node owner.
                This is generated from the dn of the x509 certificate used to create the node. 
            </description>
        </property>
    </message>
    
    <!-- List the available protocols -->
    <message xsi:type="vos.schema.1.0:GetProtocolsRequestType"/>
    
    <!-- Protocols response (example only) -->
    <message xsi:type="vos.schema.1.0:GetProtocolsResponseType">
        <protocol uri="ivo://org.astrogrid.vospace/protocols/http-get-1.1">
            <description>
                Standard HTTP get.
            </description>
        </protocol>
        <protocol uri="ivo://org.astrogrid.vospace/protocols/http-put-1.1-basic">
            <description>
                HTTP put, without support for chunked data. 
            </description>
        </protocol>
        <protocol uri="ivo://org.astrogrid.vospace/protocols/http-put-1.1-chunked">
            <description>
                HTTP put protocol, with support for chunked data. 
            </description>
        </protocol>
        <protocol uri="ivo://org.astrogrid.vospace/protocols/dime-get-inline">
            <description>
                DIME get, with the data included as part of the response message.
                No endpoint is required because the data is part of the message.
            </description>
        </protocol>
        <protocol uri="ivo://org.astrogrid.vospace/protocols/dime-put-inline">
            <description>
                DIME put, with the data included as part of the request message.
                No endpoint is required because the data is part of the message.
            </description>
        </protocol>
        <protocol uri="ivo://org.astrogrid.vospace/protocols/dime-get-vostore-1.0">
            <description>
                DIME get, using the vostore service API.
                Requires endpoint and file identifier.
            </description>
        </protocol>
        <protocol uri="ivo://org.astrogrid.vospace/protocols/dime-put-vostore-1.0">
            <description>
                DIME put, using the vostore service API.
                Requires endpoint and file identifier.
            </description>
        </protocol>
    </message>
    
    <!-- List the available views -->
    <message xsi:type="vos.schema.1.0:GetViewsRequestType"/>

    <!-- Views response for a simple file store (example only) -->
    <message xsi:type="vos.schema.1.0:GetViewsResponseType">
        <accepts>
            <!-- A simple file store will accept any data format -->
            <view uri="ivo://org.astrogrid.vospace/views/any"/>
        </accepts>
        <provides>
            <!-- A simple file store will return the original data format -->
            <view uri="ivo://org.astrogrid.vospace/views/any" original="true"/>
        </provides>
    </message>
    
    <!-- Views response for a database system (example only) -->
    <message xsi:type="vos.schema.1.0:GetViewsResponseType">
        <accepts>
            <!-- A database system may only accept specific types-->
            <view uri="ivo://org.astrogrid.vospace/views/tabular/votable-1.1"/>
        </accepts>
        <provides>
            <!-- A database system may only provide server generated views -->
            <view uri="ivo://org.astrogrid.vospace/views/tabular/votable-1.1" original="false"/>
            <view uri="ivo://org.astrogrid.vospace/views/tabular/fits-tabular"  original="false"/>
            <view uri="ivo://org.astrogrid.vospace/views/tabular/ascii-delimited" original="false">
                <param key="delimiter"/>
            </view>
        </provides>
    </message>
    
    <!-- Views response from an image processing system (example only) -->
    <message xsi:type="vos.schema.1.0:GetViewsResponseType">
        <accepts>
            <!-- An image processing system may accept any data format -->
            <view uri="ivo://org.astrogrid.vospace/views/any"/>
            <!-- An image processing system may also understand specific data types -->
            <view uri="ivo://org.astrogrid.vospace/views/image/png"/>
            <view uri="ivo://org.astrogrid.vospace/views/image/jpeg"/>
            <view uri="ivo://org.astrogrid.vospace/views/image/fits-image"/>
        </accepts>
        <provides>
            <!-- An image processing system may return the original data format for data that it does not understand -->
            <view uri="ivo://org.astrogrid.vospace/views/any" original="true"/>
            <!-- An image processing system may also provide additional server generated views for data formats that it does understand -->
            <view uri="ivo://org.astrogrid.vospace/views/image/png" original="false"/>
            <view uri="ivo://org.astrogrid.vospace/views/image/jpeg" original="false"/>
            <view uri="ivo://org.astrogrid.vospace/views/image/fits-image" original="false"/>
        </provides>
    </message>
    
</vos.schema.1.0:messages>
