<?xml version="1.0" encoding="utf-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">&#13;
<head><link xmlns="http://www.w3.org/1999/xhtml" rel="stylesheet" type="text/css" href="http://www.ivoa.net/misc/ivoa_doc.css"/><link xmlns="http://www.w3.org/1999/xhtml" rel="stylesheet" type="text/css" href="http://www.ivoa.net/misc/ivoa_wd.css"/><style xmlns="http://www.w3.org/1999/xhtml" type="text/css">
                                div#versionstatement, div#dateline {
                                        color: #005A9C;
                                        font-size: 150%;
                                }

                                p.parsep {
                                        overflow: hidden;
                                        height: 0pt;
                                        margin-top:0.5ex;
                                        margin-bottom:0.5ex;
                                }

                                div.admonition {
                                        width: 30em;
                                        position: relative;
                                        float: right;
                                        background-color: #dddddd;
                                        font-size: 80%;
                                        margin: 1ex;
                                        padding: 3pt;
                                        overflow: auto;
                                }
                                
                                p.admonition-type {
                                        background-color: #444444;
                                        color: #ffffff;
                                        margin-top: 0px;
                                        padding-left: 5pt;
                                        padding-top: 5pt;
                                        padding-bottom: 5pt;
                                        font-weight: bold;
                                }

                                a.tth_citation, a.tth_citeref {
                                        color: #002A5C;
                                        text-decoration: none;
                                }

                                .xmlel {
                                        font-family: monospace;
                                        font-style: italic;
                                }

                                .vorent {
                                        font-variant: small-caps;
                                }

                                table {
                                        border-collapse: collapse;
                                        border-spacing: 0px;
                                }

                                table.tabular {
                                        margin-top: 2ex;
                                        margin-bottom: 1ex;
                                        margin-left: 0.5em;
                                }

                                table.tabular > * > tr > td, table.tabular > tr > td {
                                        border-top: 1pt solid gray;
                                        border-bottom: 1pt solid gray;
                                        padding: 2pt;
                                }

                                dt {
                                        margin-top: 0.5ex;
                                }

                                .redaction {
                                        background-color: #ffff33;
                                }

                                span.nolinkurl {
                                        font-family: monospace;
                                }

                                .basicstyle__footnotesize {
                                        font-size: 80%;
                                }
                        </style>&#13;
<meta name="GENERATOR" content="TtH 4.08"/>&#13;
 &#13;
 &#13;
 &#13;
 &#13;
&#13;
&#13;
<meta http-equiv="Content-type" content="text/html;charset=UTF-8"/>&#13;
</head>&#13;
<div>&#13;
&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
    &#13;
  &#13;
  &#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
&#13;
&#13;
&#13;
&#13;
&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
&#13;
  <div><table xmlns="http://www.w3.org/1999/xhtml" cellspacing="0" cellpadding="0" width="450"><tr><td><a href="http://www.ivoa.net/"><img height="169" alt="IVOA" src="http://www.ivoa.net/icons/IVOA_wb_300.jpg" width="300" border="0"/></a></td><td><div style="padding: 3.6pt 7.2pt;"><p><b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);"><span> </span>I</span></i></b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);">nternational</span></i></p><p><b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);"><span>   </span>V</span></i></b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);">irtual</span></i></p><p><b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);"><span> </span><span>  </span>O</span></i></b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);">bservatory</span></i></p><p><b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);">A</span></i></b><i><span style="font-size: 14pt; color: rgb(0, 90, 156);">lliance</span></i><i/></p></div><i/></td></tr></table><br xmlns="http://www.w3.org/1999/xhtml"/></div><h1 xmlns="http://www.w3.org/1999/xhtml">Registry Interfaces </h1><div xmlns="http://www.w3.org/1999/xhtml" id="versionstatement">
                        Version 1.1</div><div xmlns="http://www.w3.org/1999/xhtml" id="dateline">IVOA Working Draft  <span xmlns="" id="docdate">2016-04-13</span></div><dl xmlns="http://www.w3.org/1999/xhtml" id="docmeta"><dt>Working Group</dt><dd xmlns="" id="ivoagroup">Registry WG</dd><dt>This Version</dt><dd><a class="currentlink" href="http://www.ivoa.net/documents/RegistryInterface/20160413">http://www.ivoa.net/documents/RegistryInterface/20160413</a></dd><dt>Latest Version</dt><dd><a class="latestlink" href="http://www.ivoa.net/documents/RegistryInterface">http://www.ivoa.net/documents/RegistryInterface</a></dd><dt>Previous Versions</dt><dd><ul class="previousversions"><li xmlns="" class="previousversion">&#13;
          <a href="http://www.ivoa.net/documents/RegistryInterface/20091104/">IVOA Registry Interfaces 1.0, IVOA Recommendation 2009-11-04</a></li></ul></dd><dt>Author(s)</dt><dd><ul class="authors"><li xmlns="" class="author">Theresa Dower</li><li xmlns="" class="author">Markus Demleitner</li><li xmlns="" class="author">Kevin Benson</li><li xmlns="" class="author">Ray Plante</li><li xmlns="" class="author">Elizabeth Auden</li><li xmlns="" class="author">Matthew Graham</li><li xmlns="" class="author">Gretchen Greene</li><li xmlns="" class="author">Martin Hill</li><li xmlns="" class="author">Tony Linde</li><li xmlns="" class="author">Dave Morris</li><li xmlns="" class="author">Wil O`Mullane</li><li xmlns="" class="author">Guy Rixon</li><li xmlns="" class="author">Aur\'elien St\'eb\'e</li><li xmlns="" class="author">Kona Andrews</li></ul></dd><dt>Editor(s)</dt><dd><ul class="editors"><li xmlns="" class="editor">Theresa Dower</li><li xmlns="" class="editor">Markus Demleitner</li></ul></dd><dt>Version Control</dt><dd>Revision 3393, last change
                                                2016-05-08 04:05:14 -0400 (Sun, 08 May 2016)<br/><a href="https://volute.g-vo.org/svn/trunk/projects/registry/RegistryInterface/RegistryInterface.tex">Source file in VCS</a></dd></dl> &#13;
    <div id="abstract"><h2>Abstract</h2>&#13;
  &#13;
  &#13;
The VO Registry provides a mechanism with which VO applications can discover&#13;
and select resources that are relevant for a particular scientific problem. This specification defines the operation of this system. It is based on a general,&#13;
distributed model composed of searchable and publishing registries, as introduced at the beginning of this document. The main body of the specification has two components: (a) an interface for harvesting publishing registries, which builds upon the Open Archives Initiative Protocol for Metadata Harvesting.  (b) A VOResource extension for registering registry services and description of a central list of said IVOA registry services.&#13;
Finally, this specification briefly discusses client interfaces to&#13;
the Registry as provided by searchable registries.&#13;
    </div> &#13;
      <h2>Status of this Document</h2>&#13;
      <p xmlns="http://www.w3.org/1999/xhtml" id="statusdecl"><em>
                  This is an IVOA Working Draft for review by IVOA members
                  and other interested parties.  It is a draft document and
                  may be updated, replaced, or obsoleted by other documents
                  at any time. It is inappropriate to use IVOA Working Drafts
                  as reference materials or to cite them as other than "work
                  in progress".
              </em></p>&#13;
    &#13;
<h1>Contents </h1><a href="#tth_sEc1">1  Introduction</a><br/>&#13;
    <a href="#tth_sEc1.1">1.1  Registry Architecture and Definitions</a><br/>&#13;
    <a href="#tth_sEc1.2">1.2  The Registry Interface within the VO Architecture</a><br/>&#13;
<a href="#tth_sEc2">2  The IVOA Harvesting Interface</a><br/>&#13;
    <a href="#tth_sEc2.1">2.1  The OAI Protocol for Metadata Harvesting</a><br/>&#13;
    <a href="#tth_sEc2.2">2.2  Metadata Formats for Resource Descriptions</a><br/>&#13;
    <a href="#tth_sEc2.3">2.3  Identifiers in OAI Messages</a><br/>&#13;
    <a href="#tth_sEc2.4">2.4  Required Records</a><br/>&#13;
    <a href="#tth_sEc2.5">2.5  The Identify Operation</a><br/>&#13;
    <a href="#tth_sEc2.6">2.6  IVOA Supported Sets</a><br/>&#13;
    <a href="#tth_sEc2.7">2.7  Time Granularity</a><br/>&#13;
<a href="#tth_sEc3">3  Registering Registries</a><br/>&#13;
    <a href="#tth_sEc3.1">3.1  The Authority Resource Extension and the Publishing Process</a><br/>&#13;
    <a href="#tth_sEc3.2">3.2  Describing Registries with the Registry Resource Extension</a><br/>&#13;
    <a href="#tth_sEc3.3">3.3  The Search Capability</a><br/>&#13;
    <a href="#tth_sEc3.4">3.4  The Harvesting Capability</a><br/>&#13;
<a href="#tth_sEc4">4  Discovering Registries</a><br/>&#13;
    <a href="#tth_sEc4.1">4.1  The Registry of Registries</a><br/>&#13;
    <a href="#tth_sEc4.2">4.2  Harvesting the Registry of Registries</a><br/>&#13;
<a href="#tth_sEc5">5  Searching the Registry</a><br/>&#13;
<a href="#tth_sEcA">A  The RegistryInterface Schema</a><br/>&#13;
<a href="#tth_sEcB">B  The VORegistry Schema</a><br/>&#13;
<a href="#tth_sEcC">C  Changes from Previous Versions</a><br/>&#13;
<a href="#tth_sEcD">D  Changes from Version 1.0</a><br/>&#13;
&#13;
  &#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
 <a id="tth_sEc1"/><h2>&#13;
1  Introduction</h2>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="introduction">&#13;
</a>In the Virtual Observatory (VO), registries provide a means for&#13;
discovering useful resources, i.e., data and services.  This discovery&#13;
takes place by searching within structured descriptions of resources,&#13;
the resource records, authored by the data providers.  In order to avoid&#13;
a single point of failure for the VO, the Registry is distributed.&#13;
This means that each data provider can run a service injecting&#13;
resource records into the Registry (a "publishing registry" as defined&#13;
below), and anyone can run services that allow global discovery (a&#13;
"searchable registry" as defined below).&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
To enable this, common mechanisms for registry communication and&#13;
interaction are required.&#13;
This document therefore describes the standard interfaces that enable&#13;
interoperable registries.  Through these interfaces, registry&#13;
builders have a common way of sharing resource descriptions with users,&#13;
applications, and other registries.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
This specification does not cover interfaces for global discovery, which&#13;
are the subject of other IVOA standards.  Also, service operators are&#13;
free to build interactive, end-user interfaces in&#13;
any way that best serves their target community.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
     <a id="tth_sEc1.1"/><h3>&#13;
1.1  Registry Architecture and Definitions</h3>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="arch">&#13;
</a>A <em>registry</em> is first a repository of structured descriptions of&#13;
resources. In the VO, a <em>resource</em> is defined by the IVOA&#13;
Recommendation "Resource Metadata for the Virtual Observatory"&#13;
&#13;
&#13;
        <a href="#std:RM" id="CITEstd:RM" class="tth_citation">&#13;
        (Hanisch et al., 2007)</a> as being&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
&#13;
<blockquote><div>a general term referring to a VO element that can be&#13;
described in terms of who curates or maintains it and which can be&#13;
given a name and a unique identifier. Just about anything can be a&#13;
resource: it can be an abstract idea, such as sky coverage or an&#13;
instrumental setup, or it can be fairly concrete, like an organization&#13;
or a data collection.&#13;
</div></blockquote>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
Organizations, data collections, and services can be considered &#13;
classes of resources. The most important type of resource to&#13;
applications is a service that actually does something. A registry&#13;
(lower case),&#13;
then, is "a service for which the response is a structured description&#13;
of resources" &#13;
&#13;
        <a href="#std:RM" class="tth_citeref">&#13;
        (Hanisch et al., 2007)</a>.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
This specification is based on the general IVOA model for registries&#13;
&#13;
&#13;
        <a href="#2004ASPC..314..585P" id="CITE2004ASPC..314..585P" class="tth_citation">&#13;
        (Plante et al., 2004)</a>, which builds on &#13;
        &#13;
        <a href="#std:RM" class="tth_citeref">&#13;
                Hanisch et al. (2007)</a>'s model&#13;
for resources.  In the registry model, the VO environment features&#13;
different types of registries that serve different functions. The&#13;
primary distinction is between publishing registries and searchable&#13;
ones. A secondary distinction is full versus partial.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
A <em>searchable registry</em> is one that allows users and client&#13;
applications to search for resource records using selection criteria&#13;
against the metadata contained in the records. The purpose of this type&#13;
of registry is to aggregate descriptions of many resources distributed&#13;
across the network. By providing a single place to locate data and&#13;
services, applications are spared from having to visit many different&#13;
sites to just to determine which ones are relevant to the scientific&#13;
problem at hand. A searchable registry gathers its descriptions from&#13;
across the network through a process called <em>harvesting</em>.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
A <em>publishing registry</em> is one that simply exposes its resource&#13;
descriptions to the VO environment in a way that allows those&#13;
descriptions to be harvested. The contents of these registries tend to&#13;
be limited to resources maintained by one or a few providers and thus&#13;
are local in nature; for example, a data center will run its own&#13;
publishing registry to allow other VO components to gather metadata on&#13;
the data center's published services.&#13;
Since the purpose is simply publishing and not to serve&#13;
users and applications directly, it is not necessary to support full&#13;
searching capabilities. This simplifies the requirements for a&#13;
publishing registry: &#13;
storage, management, and indexing of the records can be simpler, as&#13;
there is no need to support a&#13;
search interface facilitating complex discovery queries.&#13;
While a searchable registry in practice will necessitate the&#13;
use of a database system, a simple publishing registry may get by&#13;
storing its records as flat files on disk.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
Note that some registries can play both roles; that is, a searchable&#13;
registry may also publish its own resource descriptions.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
A secondary distinction is full versus local. A <em>full registry</em> is&#13;
one that attempts to contain records of all resources known to the VO.&#13;
Several such registries exist, run by various VO projects.  A&#13;
<em>local registry</em>, on the other hand, contains only a subset of&#13;
known resources. While for publishing registries this subset usually is&#13;
defined by what services are maintained by the registry's operator,&#13;
other selection criteria are conceivable.  For instance, the IVOA's&#13;
Education IG is considering running a registry only containing resources&#13;
manually selected for suitability for primary and secondary education.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
As mentioned above, harvesting is the mechanism by which a registry can&#13;
collect resource records from other registries. It is used by full&#13;
registries to aggregate resource records from publishing&#13;
registries. It can also be used to synchronize two registries to ensure&#13;
that they have the same contents. Harvesting, in this specification, is&#13;
modeled as a pull operation between two registries. The term&#13;
<em>harvester</em> refers to the registry that wishes to receive records&#13;
(usually a searchable registry); it sends its request to the&#13;
<em>harvestee</em> (usually a publishing registry), which responds with&#13;
the records.  Harvesting is a much simpler process than a fully-featured&#13;
search interface, as only very few constraints need to be supported and&#13;
only full records are being transmitted in responses.  &#13;
Consequently, different protocols are  employed for the&#13;
two types of registry operations.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
In this text, "registry" in lower case refers to concrete services,&#13;
while "Registry" (or "VO Registry") in upper case refers to the&#13;
combination of the set of all resource records and the interfaces to&#13;
query and manage them.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
     <a id="tth_sEc1.2"/><h3>&#13;
1.2  The Registry Interface within the VO Architecture</h3>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="sect:rolewithinivoa">&#13;
</a>&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="tth_fIg1">&#13;
</a> &#13;
<div style="text-align:center"><img src="archdiag.png" alt="archdiag.png"/>&#13;
&#13;
<div style="text-align:center">Figure 1: IVOA Architecture&#13;
diagram with the Registry Interface specification (RI) and&#13;
the related standards marked up.</div>&#13;
<a id="fig:arch">&#13;
</a>&#13;
</div>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
This specification directly relates to other VO standards in the&#13;
following ways:&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
    <div class="bigdescription">&#13;
    &#13;
<dl>&#13;
   <dt><b>VOResource &#13;
&#13;
        <a href="#std:VOR" id="CITEstd:VOR" class="tth_citation">&#13;
        (Plante et al., 2008)</a></b></dt>&#13;
        <dd>VOResource sets the foundation for a&#13;
formal definition of the data model for resource records via its schema&#13;
definition.</dd>&#13;
 <dt><b>IVOA Identifiers</b></dt>&#13;
        <dd>IVOA identifiers are something like the&#13;
primary keys to the VO registry.  Also, the notion of an authority as&#13;
laid down in IVOA Identifiers plays an important role as publishing&#13;
registries can be viewed as a realization of a set of authorities.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
</dd>&#13;
</dl></div>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
 <a id="tth_sEc2"/><h2>&#13;
2  The IVOA Harvesting Interface</h2>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="harvesting">&#13;
</a>The harvesting interface allows the retrieval of complete VOResource&#13;
records from registries supporting harvesting.  Publishing registries&#13;
MUST support the IVOA harvesting interface, searchable registries SHOULD&#13;
do so.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The IVOA harvesting interface is built on the standard Protocol for&#13;
Metadata Harvesting developed by the Open Archives Initiative, OAI-PMH&#13;
&#13;
&#13;
        <a href="#std:OAIPMH" id="CITEstd:OAIPMH" class="tth_citation">&#13;
        (Lagoze et al., 2002)</a>.  In this section, after giving a brief introduction&#13;
to OAI-PMH, we define additional constraints and requirements for&#13;
OAI-PMH services to be interoperable with the VO environment.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
Version 1.1 of this document drops support of the SOAP&#13;
variant of OAI-PMH defined in version 1.0.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
     <a id="tth_sEc2.1"/><h3>&#13;
2.1  The OAI Protocol for Metadata Harvesting</h3>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="oaipmh">&#13;
</a>While for details of OAI-PMH we refer to &#13;
        &#13;
        <a href="#std:OAIPMH" class="tth_citeref">&#13;
                Lagoze et al. (2002)</a>, &#13;
in the following we give a&#13;
brief overview of OAI-PMH that should be sufficient to understand the&#13;
protocol's role within the Registry interface architecture.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The OAI-PMH v2.0 specification defines:&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
&#13;
<ul>&#13;
<li> the meaning and behavior of the six harvesting operations, referred&#13;
to as verbs,&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
</li>&#13;
&#13;
<li> the meaning of the input arguments for each operation, and&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
</li>&#13;
&#13;
<li> the XML Schema used to encode response messages.&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
</li>&#13;
</ul>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The six standard operations laid down in OAI-PMH are:&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
    <div class="bigdescription">&#13;
    &#13;
<dl>&#13;
   <dt><b>Identify</b></dt>&#13;
        <dd> provides a description of the registry</dd>&#13;
 <dt><b>ListIdentifiers</b></dt>&#13;
        <dd>returns a list of identifiers for the resource&#13;
records held by the registry, possibly restricted to records changed&#13;
within a certain time span or to those belonging to a certain set.</dd>&#13;
 <dt><b>ListRecords</b></dt>&#13;
        <dd>returns complete resource records in the registry,&#13;
possibly restricted to records changed within a certain time span or to&#13;
those belonging to a certain set.</dd>&#13;
 <dt><b>GetRecord</b></dt>&#13;
        <dd>returns a single resource description matching a given&#13;
identifier.</dd>&#13;
 <dt><b>ListMetadataFormats</b></dt>&#13;
        <dd>returns a list of supported formats that the&#13;
registry can use to encode resource descriptions upon a harvester's&#13;
request.</dd>&#13;
 <dt><b>ListSets</b></dt>&#13;
        <dd>returns a list of set names supported by the registry&#13;
that harvesters can request in order to get back a subset of the&#13;
descriptions held by the registry.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
</dd>&#13;
</dl></div>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The ListRecords and GetRecord operations return the actual resource&#13;
description records held by the registry. These descriptions are encoded&#13;
in XML and wrapped in a general-purpose envelope defined by the OAI-PMH&#13;
XML Schema (with the namespace&#13;
<tt>http://www.openarchives.org/OAI/2.0</tt>).&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
Through the operations' arguments, OAI-PMH provides a number of useful&#13;
features:&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
&#13;
<ul>&#13;
<li> Support for multiple return formats. As suggested by the existence&#13;
of the&#13;
<i>ListMetadataFormats</i>  operation, a harvester can request the&#13;
formats available for encoding returned resource descriptions.&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
</li>&#13;
&#13;
<li> Harvesting by date. The <i>ListIdentifiers</i>  and&#13;
<i>ListRecords</i>  operations both support <tt>from</tt>  and&#13;
<tt>until</tt>  date arguments which restrict the response to records&#13;
changed withing the given, possibly half-open, interval.&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
</li>&#13;
&#13;
<li> Harvesting by category. The <i>ListIdentifiers</i>  and&#13;
<i>ListRecords</i> operations both support a set argument for&#13;
retrieving resources that are grouped in a particular category. Resource&#13;
records may belong to multiple sets.&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
</li>&#13;
&#13;
<li> Marking records as deleted. Registries may mark records as deleted&#13;
so that harvesters will be notified that a resource has become&#13;
unavailable even if only performing incremental harvests.&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
</li>&#13;
&#13;
<li> Support for resumption tokens. If a request results in returning a&#13;
very large number of records, the registry can choose to split the&#13;
results over several calls; this is done by passing a resumption token&#13;
back to the harvester. The harvester uses it to retrieve the next set of&#13;
matching results.&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
</li>&#13;
</ul>&#13;
It is important to note that the OAI-PMH interface is not intended&#13;
to be a general search interface. The filtering capabilities described&#13;
above are just enough to support intelligent harvesting between&#13;
registries. Most end-user applications will use a dedicated search&#13;
interface on a searchable registry (cf. sect. <a href="#sect:searching">5</a>).&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
In addition to basic OAI-PMH compliance, this specification defines&#13;
a set of OAI-PMH-compliant requirements and recommendations&#13;
special to OAI-PMH's use within the VO that are described in the&#13;
remaining subsections.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
     <a id="tth_sEc2.2"/><h3>&#13;
2.2  Metadata Formats for Resource Descriptions</h3>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="sect:metadataformats">&#13;
</a>All IVOA registries that support the Harvesting Interface must support&#13;
two standard metadata formats: the OAI Dublin Core format (mandated by&#13;
the base OAI-PMH standard) and the IVOA VOResource metadata format&#13;
&#13;
&#13;
        <a href="#std:VOR" class="tth_citeref">&#13;
        (Plante et al., 2008)</a>.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The VOResource metadata format has the metadata prefix name&#13;
<tt>ivo_vor</tt>, which can be used wherever &#13;
        &#13;
        <a href="#std:OAIPMH" class="tth_citeref">&#13;
                Lagoze et al. (2002)</a> allows a&#13;
metadata prefix name.  The format uses the VOResource core XML Schema&#13;
with the namespace <tt>http://www.ivoa.net/xml/VOResource/v1.0</tt>&#13;
(recommended namespace prefix   <span class="xmlel">vr:</span>) along with any legal&#13;
extension of this schema to encode the resource descriptions within the&#13;
OAI-PMH metadata tag from the OAI XML Schema (namespace&#13;
<tt>http://www.openarchives.org/OAI/2.0</tt>, recommended namespace&#13;
prefix   <span class="xmlel">oai:</span>). &#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
As VOResource and its extensions do not define global elements, the&#13;
child element within   <span class="xmlel">oai:metadata</span> needs to be separately&#13;
defined.  This specification does this by providing the&#13;
  <span class="xmlel">ri:Resource</span> element.  It is defined in a schema with the target&#13;
namespace&#13;
&#13;
        <span class="nolinkurl">http://www.ivoa.net/xml/RegistryInterface/v1.0</span>, which is given&#13;
in appendix <a href="#app:rischema">A</a>.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The&#13;
  <span class="xmlel">ri:Resource</span> element MUST include an   <span class="xmlel">xsi:type</span> attribute&#13;
that assigns the element's type to   <span class="xmlel">vr:Resource</span> or one of its&#13;
legal extensions.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
It is strongly recommended that all QName values of   <span class="xmlel">xsi:type</span>&#13;
attributes within the VOResource record use XML namespace prefixes as&#13;
recommended in VOResource or the VOResource extensions.  Minor version&#13;
changes are not in general reflected in the recommended prefixes -&#13;
e.g., both VODataService 1.0 and VODataService 1.1 use   <span class="xmlel">vs:</span>.&#13;
Registry operators&#13;
who must deliver OAI-PMH decuments containing resource records written&#13;
to different versions of a registry extension are advised to&#13;
override the prefix&#13;
bindings on the element level if at all possible.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The OAI Dublin Core format, with the metadata prefix of <tt>oai_dc</tt>,&#13;
is defined by the OAI-PMH base standard and must be supported by all&#13;
OAI-PMH compliant registries.  <span class="redaction">Ray has an XSL that makes oai\_dc&#13;
from ivo\_vor -- maybe include that in an appendix?</span>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
Harvestable registries may support other metadata formats. Responses to&#13;
the&#13;
<i>ListMetadataFormats</i> operation &#13;
must list all names for formats supported&#13;
by the registry; even though they are mandatory, this list must include&#13;
<tt>ivo_vor</tt> and <tt>oai_dc</tt>.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
     <a id="tth_sEc2.3"/><h3>&#13;
2.3  Identifiers in OAI Messages</h3>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="oaiidentifiers">&#13;
</a>In accordance with the OAI-PMH standard, an OAI-PMH XML envelope that&#13;
contains a resource description must include a globally unique URI that&#13;
identifies that resource record. This identifier must be the IVOA&#13;
identifier used to identify the resource being described as given in&#13;
its   <span class="xmlel">vr:identifier</span> child element.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
This specification does not follow the recommendation of the OAI-PMH&#13;
standard with regard to record identifiers. OAI-PMH makes a distinction&#13;
between the resource record containing resource metadata and the&#13;
resource itself; thus, it recommends that the identifier in the OAI&#13;
envelope be different from the resource identifier. In particular, the&#13;
former is the choice of the publishing registry. This allows one to&#13;
distinguish resource descriptions of the same resource from different&#13;
registries, which in principle could be different.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
In the VO, because it is intended that resource descriptions of the&#13;
same resource from different registries should not differ (apart from&#13;
possible additions of   <span class="xmlel">vr:validationLevel</span> elements), there&#13;
is not a strong need to distinguish between the resource and the&#13;
resource description. &#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
By making the resource and resource record&#13;
identifiers the same, it becomes much easier to retrieve the record for&#13;
a single resource via <i>GetRecord</i>, regardless of which&#13;
registry is being queried.  Otherwise - when the registry chooses&#13;
the record identifier - a client will not a priori know the record&#13;
identifier for a particular resource, and so it is left to call&#13;
<i>ListRecords</i>  and search through the metadata of all the&#13;
records itself to find the one of interest. In contrast, IVOA&#13;
identifiers are intended to be a cross-application way of referring to a&#13;
resource, and thus when a client wants only a single specific resource&#13;
record, it is very likely that it would know the resource identifier&#13;
when making a call to the <i>GetRecord</i> operation.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
     <a id="tth_sEc2.4"/><h3>&#13;
2.4  Required Records</h3>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="oairequired">&#13;
</a>This section describes the records that a harvestable VO registry&#13;
must include among those it emits via the OAI-PMH operations.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The harvestable registry MUST return one record that describes the&#13;
registry itself as a whole, and the <tt>ivo_vor</tt>  format MUST be&#13;
supported for this record. This record is also included in the&#13;
<i>Identify</i> operation response.  When encoded using the&#13;
<tt>ivo_vor</tt> format, the returned   <span class="xmlel">ri:Resource</span> element must&#13;
be of the type   <span class="xmlel">vg:Registry</span> from the VORegistry schema&#13;
(see sect. <a href="#sect:vgharvest">3.4</a>). The&#13;
record MUST include a   <span class="xmlel">vg:managedAuthority</span> for every authority&#13;
identifier that originates at that registry.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
Additions to the list of a registry's managed authorities must follow&#13;
the protocol outlined in sect. <a href="#sect:authres">3.1</a>.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The harvestable registry must be able to return exactly one record in&#13;
<tt>ivo_vor</tt>  for each authority identifier listed as a&#13;
  <span class="xmlel">vg:managedAuthority</span> in the   <span class="xmlel">vg:Registry</span> record&#13;
that describes that registry. When encoded in the <tt>ivo_vor</tt>&#13;
format, the type of these elements must be   <span class="xmlel">vg:Authority</span>.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
     <a id="tth_sEc2.5"/><h3>&#13;
2.5  The Identify Operation</h3>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="sect:oaiidentify">&#13;
</a>The <i>Identify</i>  operation describes the harvestable registry as a&#13;
whole.  The response from this operation must include all information&#13;
required by the OAI-PMH standard. In particular, it must include an&#13;
  <span class="xmlel">oai:baseURL</span> element that must refer to the base URL to the&#13;
harvesting interface endpoint.  The <i>Identify</i>  response must&#13;
include an   <span class="xmlel">oai:description</span> element containing a single&#13;
  <span class="xmlel">ri:Resource</span> element with an   <span class="xmlel">xsi:type</span> attribute that&#13;
sets the element's type to   <span class="xmlel">vg:Registry</span>. The content of&#13;
  <span class="xmlel">vg:Registry</span> type must be the registry description of the&#13;
harvestable registry itself.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
In its <i>Identify</i> response, an OAI-PMH-compliant registry must&#13;
declare its support for deleted records.  This can be one of&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
&#13;
<dl>&#13;
 <dt><b><tt>no</tt></b></dt>&#13;
        <dd> - the registry will never notify harvesters of&#13;
records that have become unvailable.  In an enviroment like the VO, &#13;
where searchable regiestries frequently harvest publishing registries,&#13;
this is severely discouraged, as without deleted records, harvesters&#13;
need to perform full harvests every time or risk delivering stale&#13;
records.</dd>&#13;
 <dt><b><tt>transient</tt></b></dt>&#13;
        <dd> - the registry will notify harvesters of&#13;
records that have become unavailable, but the deleted records will&#13;
entirely vanish after some time.  This specification adds to the OAI-PMH&#13;
requirements that registries declaring <tt>transient</tt> support MUST&#13;
keep their deleted records for at least six months (after which they may&#13;
discard them).</dd>&#13;
 <dt><b><tt>persistent</tt></b></dt>&#13;
        <dd> - the registry promises to indefinitely keep&#13;
deleted records.</dd>&#13;
</dl>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
     <a id="tth_sEc2.6"/><h3>&#13;
2.6  IVOA Supported Sets</h3>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="supportedsets">&#13;
</a>Sets, as defined in the OAI-PMH standard, are "an optional construct&#13;
for grouping items for the purpose of selective harvesting" (see &#13;
&#13;
        &#13;
        <a href="#std:OAIPMH" class="tth_citeref">&#13;
                Lagoze et al. (2002)</a>, section 2.6). Harvestable IVOA registries are free&#13;
to define any number of custom sets for categorizing records. The&#13;
OAI-PMH standard allows a record to be a member of multiple sets.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
This specification defines one reserved set name with a special&#13;
meaning; future versions of this specification may define additional set&#13;
names.  These reserved set names will all start with the characters&#13;
<tt>ivo_</tt>; implementors should not define their own set names&#13;
that begin with this string. While support for sets is optional &#13;
in the OAI-PMH standard, a VO registry MUST support&#13;
the set with the reserved name <tt>ivo_managed</tt> to be compliant&#13;
with this specification.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The <tt>ivo_managed</tt> set refers to all records that originate from the&#13;
queried registry. That is, those records that were harvested from other&#13;
registries are excluded. The Resource identifiers given in the&#13;
records MUST have an authority identifier that matches on one of the&#13;
  <span class="xmlel">vg:managedAuthority</span> values in the   <span class="xmlel">vg:Registry</span>&#13;
record for that registry.  Full searchable registries may use this set&#13;
to avoid getting duplicate records when harvesting from many&#13;
registries.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
     <a id="tth_sEc2.7"/><h3>&#13;
2.7  Time Granularity</h3>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="sect:timegranularity">&#13;
</a>Datestamps in the OAI-PMH 2.0 standard are encoded using ISO8601 and expressed in UTC, with the UTC designator "z" appended to seconds-based granularity where supplied, i.e. <tt>YYYY-MM-DDThh:mm:ssZ</tt>. In general OAI-PMH registries, granularity at seconds scale is optional. Harvestable IVOA registries MUST report datestamps at the granularity of seconds and accept "from" and üntil" arguments in the same format. This simplifies the incremental harvesting process in the multi-registry IVOA environment.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
 <a id="tth_sEc3"/><h2>&#13;
3  Registering Registries</h2>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="regreg">&#13;
</a>Harvesting registries must able to locate remote registry resources relevant to them,&#13;
and both harvesting registries and clients need access to metadata for the registry service itself. We address both of these issues by providing a schema for describing registries themselves, and a repository for indexing them.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The resource specification for registries defines a VOResource extension schema called&#13;
VORegistry, which describes provenance of the registry itself and its support for various interfaces described in this document or elsewhere. These VORegistry resources may themselves be stored as records in registries; each publishing registry MUST contain a self-descriptive VORegistry resource. VORegistry resources also include a list of naming authorities, where each represents a registry publisher's claim of ownership of an authority identifier. From each identifier, further IVOA identifiers for individual service or other records belonging under that publishing umbrella may be created. A publishing registry is said to exclusively manage a naming authority on behalf of the owning publisher; this means that within the IVOA registry network, only that specific registry may publish records having identifiers which begin with that authority identifier.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The XML namespace URI of this schema is &#13;
        <span class="nolinkurl">http://www.ivoa.net/xml/VORegistry/v1.0</span>.&#13;
It has been chosen to allow it to be resolved as a URL to the XML Schema document, which is also given in appendix <a href="#app:vgschema">B</a>. The recommended prefix for this namespace is   <span class="xmlel">vg:</span>.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The schema has not been changed from the one used in version 1.0,&#13;
although the standard contents have somewhat changed.  The rationale for&#13;
keeping the schema is that some schema features being no longer relevant has no &#13;
detrimental consequences for Registry operations, whereas breaking clients with &#13;
a change of the schema and XML namespace URI might have.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
     <a id="tth_sEc3.1"/><h3>&#13;
3.1  The Authority Resource Extension and the Publishing Process</h3>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="sect:authres">&#13;
</a>&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="tth_fIg2">&#13;
</a> <div xmlns="http://www.w3.org/1999/xhtml" class="language_XML"><pre xmlns="">&#13;
&lt;ri:Resource status="active" xsi:type="vg:Authority" &#13;
   updated="2006-07-01T09:00:00" created="2006-07-01T09:00:00"&gt;&#13;
  &lt;title&gt;IVOA Naming Authority&lt;/title&gt;&#13;
  &lt;shortName&gt;IVOA&lt;/shortName&gt;&#13;
  &lt;identifier&gt;ivo://ivoa.net&lt;/identifier&gt;&#13;
  &lt;curation&gt;&#13;
    &lt;publisher ivo-id="ivo://ivoa.net/IVOA"&gt;International Virtual &#13;
      Observatory Alliance&lt;/publisher&gt;&#13;
    &lt;creator&gt;&#13;
      &lt;name&gt;Raymond Plante&lt;/name&gt;&#13;
      &lt;logo&gt;http://www.ivoa.net/icons/ivoa_logo_small.jpg&lt;/logo&gt;&#13;
    &lt;/creator&gt;&#13;
    &lt;date&gt;2006-07-01&lt;/date&gt;&#13;
    &lt;contact&gt;&#13;
      &lt;name&gt;IVOA Resource Registry Working Group&lt;/name&gt;&#13;
      &lt;email&gt;registry@ivoa.net&lt;/email&gt;&#13;
     &lt;/contact&gt;&#13;
  &lt;/curation&gt;&#13;
  &lt;content&gt;&#13;
    &lt;subject&gt;virtual observatory&lt;/subject&gt;&#13;
    &lt;description&gt;This registers the IVOA as the owner of the ivoa.net&#13;
      authority identifier.&lt;/description&gt;&#13;
    &lt;referenceURL&gt;http://rofr.ivoa.net&lt;/referenceURL&gt;&#13;
  &lt;/content&gt;&#13;
  &lt;managingOrg&gt;International Virtual Observatory Alliance&lt;/managingOrg&gt;&#13;
&lt;/ri:Resource&gt;&#13;
</pre></div>&#13;
#1A sample   <span class="xmlel">vg:Authority</span>-typed resource record as it would&#13;
be delivered within   <span class="xmlel">oai:metadata</span>.  XML namespace declarations&#13;
are for the prefixes   <span class="xmlel">ri:</span>,   <span class="xmlel">xsi:</span>, and   <span class="xmlel">vg:</span> are&#13;
assumed on enclosing elements.&#13;
<a id="fig:authrecord">&#13;
</a>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The   <span class="xmlel">vg:Authority</span> type extends the core   <span class="xmlel">vr:Resource</span>&#13;
type to specifically describe the ownership of an authority identifier&#13;
by a publishing organization.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The IVOA identifier of a   <span class="xmlel">vg:Authority</span> record provided via the&#13;
  <span class="xmlel">vr:identifier</span> element must have an empty resource key component&#13;
as defined in &#13;
        &#13;
        <a href="#std:VOID" id="CITEstd:VOID" class="tth_citation">&#13;
                Plante et al. (2007)</a>.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The meaning of a   <span class="xmlel">vg:Authority</span> record is that the organization&#13;
referenced in the   <span class="xmlel">vg:managingOrg</span> element has the sole right to&#13;
create (in collaboration with a publishing registry) and register&#13;
resource descriptions using the authority identifier given by the&#13;
  <span class="xmlel">vr:identifier</span> element.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
Before a publisher can create resource descriptions using a new&#13;
authority identifier, it must first register its claim to the authority&#13;
identifier by creating a   <span class="xmlel">vg:Authority</span> record.  Before the&#13;
publishing registry commits the record for export, it must first search&#13;
a full registry to determine if a   <span class="xmlel">vg:Authority</span> with this&#13;
identifier already exists; if it does, the publishing of the new&#13;
  <span class="xmlel">vg:Authority</span> record must fail. &#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
When a registry creates a&#13;
  <span class="xmlel">vg:Authority</span> record, it is said that the registry manages the&#13;
associated authority identifier (on behalf of the owning publisher)&#13;
because only that registry may create records with identifiers using&#13;
that authority identifier.  It must also document that fact by adding&#13;
a corresponding   <span class="xmlel">vg:managedAuthority</span> element to the registry's&#13;
own resource record.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The mechanism outlined here is not race-free in the distributed&#13;
environment of the VO Registry.  The IVOA Registry Working group&#13;
periodically monitors the registry-authority graph to ensure each&#13;
authority in the Registry is claimed by exactly one registry.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
     <a id="tth_sEc3.2"/><h3>&#13;
3.2  Describing Registries with the Registry Resource Extension</h3>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="sect:resext">&#13;
</a>&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="tth_fIg2">&#13;
</a> <div xmlns="http://www.w3.org/1999/xhtml" class="language_XML"><pre xmlns="">&#13;
&lt;ri:Resource status="active" xsi:type="vg:Registry" &#13;
   updated="2015-02-05T20:28:40Z" created="2006-07-01T09:00:00Z"&gt;&#13;
&#13;
  &lt;title&gt;IVOA Registry of Registries&lt;/title&gt;&#13;
  &lt;shortName&gt;RofR&lt;/shortName&gt;&#13;
  &lt;identifier&gt;ivo://ivoa.net/rofr&lt;/identifier&gt;&#13;
&#13;
  &lt;curation&gt;(elided)&lt;/curation&gt;&#13;
&#13;
  &lt;content&gt;&#13;
    &lt;subject&gt;virtual observatory&lt;/subject&gt;&#13;
    &lt;description&gt;(elided)&lt;/description&gt;&#13;
    &lt;referenceURL&gt;http://rofr.ivoa.net&lt;/referenceURL&gt;&#13;
    &lt;type&gt;Registry&lt;/type&gt;&#13;
  &lt;/content&gt;&#13;
&#13;
  &lt;capability xsi:type="vg:Harvest" &#13;
      standardID="ivo://ivoa.net/std/Registry"&gt;&#13;
    &lt;interface xsi:type="vg:OAIHTTP" version="1.0" role="std"&gt;&#13;
      &lt;accessURL&gt;http://rofr.ivoa.net/oai&lt;/accessURL&gt;&#13;
    &lt;/interface&gt;&#13;
    &lt;maxRecords&gt;0&lt;/maxRecords&gt;&#13;
  &lt;/capability&gt;&#13;
&#13;
  &lt;full&gt;false&lt;/full&gt;&#13;
&#13;
  &lt;managedAuthority&gt;ivoa.net&lt;/managedAuthority&gt;&#13;
&lt;/ri:Resource&gt;&#13;
</pre></div>&#13;
#1A sample   <span class="xmlel">vg:Registry</span>-typed resource record as it would&#13;
be delivered within   <span class="xmlel">oai:metadata</span>, including a harvest capability.  &#13;
XML namespace declarations&#13;
are for the prefixes   <span class="xmlel">ri:</span>,   <span class="xmlel">xsi:</span>, and   <span class="xmlel">vg:</span> are&#13;
assumed on enclosing elements.&#13;
<a id="fig:regrecord">&#13;
</a>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The   <span class="xmlel">vg:Registry</span> type extends the core   <span class="xmlel">vr:Service</span> type to&#13;
specifically describe registries in order to support discovering them&#13;
and collecting their metadata; in addition, the extension type also&#13;
defines the VO-specific metadata in the response to an OAI-PMH&#13;
<i>Identify</i> request.  &#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
As a subclass of   <span class="xmlel">vr:Service</span>, the   <span class="xmlel">vg:Registry</span>&#13;
type uses   <span class="xmlel">vr:capability</span> elements to describe its support for&#13;
network interfaces to the services.  The specific types defined here&#13;
derive from an intermediate restriction on   <span class="xmlel">vr:Capability</span> called&#13;
  <span class="xmlel">vg:RegCapRestriction</span> to force the value of the&#13;
  <span class="xmlel">standardID</span> attribute to be &#13;
        <span class="nolinkurl">ivo://ivoa.net/std/Registry</span>.&#13;
When the schema will be revised, it is planned to change &#13;
this   <span class="xmlel">standardID</span> &#13;
to refer to a fragment within the standard's resource record.  In&#13;
particular, OAI-PMH endpoints as specified here will be identified by&#13;
&#13;
        <span class="nolinkurl">ivo://ivoa.net/std/Registry#OAI-2.0</span>.  Client writers are&#13;
advised to write their discovery routines accordingly.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
If the   <span class="xmlel">vg:full</span> element in an   <span class="xmlel">vg:Registry</span> instance&#13;
is set to <tt>true</tt>, it indicates the registry's intent to&#13;
accept all valid resource records it harvests from other&#13;
registries in accordance with the OAI-PMH specification.  This will&#13;
typically be searchable registries implementing some Registry search&#13;
interface, but there are use cases for full registries just implementing&#13;
OAI-PMH (and thus just providing an   <span class="xmlel">vg:Harvest</span> capability), too.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The   <span class="xmlel">vg:managedAuthority</span> is used by publishing registries  to&#13;
claim an authority identifier (see also sect. <a href="#oairequired">2.4</a>).  Note&#13;
that for each managed authority claimed, the registry MUST provide a&#13;
  <span class="xmlel">vg:Authority</span>-typed resource record for that authority identifier&#13;
within its <tt>ivo_managed</tt> set.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
As of version 1.1 of this specification, VO registries must provide&#13;
the three mandatory VOSI capabilities: availability, a listing of service capabilities, and a listing of tables if relevant. &#13;
&#13;
        <a href="#std:VOSI" id="CITEstd:VOSI" class="tth_citation">&#13;
        (Grid and Web Services Working Group, 2011)</a>.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
     <a id="tth_sEc3.3"/><h3>&#13;
3.3  The Search Capability</h3>&#13;
<a id="sect:vgsearch">&#13;
</a>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
Version 1 of this standard defined a search interface, and such&#13;
interfaces are described by capabilites of the type   <span class="xmlel">vg:Search</span>.&#13;
Since in this version, search interfaces are specified by external&#13;
standards, such external standards may define differing ways of&#13;
discovering them<a href="#tthFtNtAAB" id="tthFrefAAB"><sup>1</sup></a>.  The search capability nevertheless is not removed&#13;
from the schema in order to allow operators to register RI1 registries&#13;
without having to support different versions of the VORegistry schema.&#13;
Also, the type may be useful when other registry search interfaces want to&#13;
define capability types of their own.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
     <a id="tth_sEc3.4"/><h3>&#13;
3.4  The Harvesting Capability</h3>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="sect:vgharvest">&#13;
</a>A registry declares itself to be a harvestable registry by including a&#13;
  <span class="xmlel">vr:capability</span> element with an   <span class="xmlel">xsi:type</span> &#13;
attribute set to   <span class="xmlel">vg:Harvest</span>.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
A   <span class="xmlel">vr:capability</span> element of type   <span class="xmlel">vg:Harvest</span> MUST&#13;
include at least one   <span class="xmlel">vr:interface</span> element with an&#13;
  <span class="xmlel">xsi:type</span> attribute set to   <span class="xmlel">vg:OAIHTTP</span> and the&#13;
  <span class="xmlel">role</span> attribute set to <tt>std</tt>. If the&#13;
  <span class="xmlel">vr:capability</span> element is used to simultaneously describe&#13;
support for other versions of this Registry Interface standard, then the&#13;
  <span class="xmlel">vr:interface</span> element describing support for this version must&#13;
include the version attribute set to <tt>1.0</tt>. The&#13;
  <span class="xmlel">vr:accessURL</span> element must be set to the base URL for the&#13;
OAI-PMH interface.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The   <span class="xmlel">vg:OAISOAP</span> extension of   <span class="xmlel">vr:WebService</span>&#13;
was used by version 1 of this specification and is no longer part of VO&#13;
Registry interfaces.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
 <a id="tth_sEc4"/><h2>&#13;
4  Discovering Registries</h2>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
     <a id="tth_sEc4.1"/><h3>&#13;
4.1  The Registry of Registries</h3>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="sect:rofr">&#13;
</a>To facilitate discovery and automated harvesting of registries containing VOResource records, a registry serving as a master list of IVOA registries exists as part of the IVOA web infrastructure, hosted at &#13;
        <span class="nolinkurl">http://rofr.ivoa.net</span>. It is referred to as the Registry of Registries, or RofR (pronounced "rover"). As the RofR is itself a registry, an OAI-PMH interface is provided which conforms to this document. The OAI-PMH interface is always available at &#13;
        <span class="nolinkurl">http://rofr.ivoa.net/oai</span>.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The Registry of Registries includes the VOResource records directly representing each currently active registry of IVOA resources, be they fully searchable or publishing registries providing only an OAI-PMH harvesting interface. These resources are of type   <span class="xmlel">vg:Registry</span> as defined in section <a href="#sect:resext">3.2</a>. &#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
Once a registry provider has deployed a new publishing registry, they can register it with the RofR by visiting the web page at &#13;
        <span class="nolinkurl">http://rofr.ivoa.net/regvalidate</span>. This page presents a simple form into which the provider can enter the URL endpoint for the registry's OAI harvesting interface. The validation check it runs includes schema validation for the OAI interface itself and all resources it lists through the GetRecord method, along with various checks including authority/identifier compliance. Once a publishing registry is validated, the provider has the option to automatically have the registry's self-descriptive VOResource record included in the RofR using the results of the registry's OAI Identify operation. Note that registry validation can be checked without including a publishing registry in the RofR or updating an existing registry listing in the RofR; validation may be run for testing purposes only. Local updates within a publishing registry post-inclusion in the RofR are not necessarily automatically validated by the RofR software. &#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The Registry of Registries also contains the canonical VOResource descriptions of the most recent versions of VOResource standards and extensions themselves, which are of type   <span class="xmlel">vstd:Standard</span>.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
     <a id="tth_sEc4.2"/><h3>&#13;
4.2  Harvesting the Registry of Registries</h3>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="sect:harvestrofr">&#13;
</a>Given the Registry of Registries contains records for all other currently active and validated IVOA registries, a client wishing to harvest the contents of all registries should begin at the RofR. Fully searchable registries wishing to include records from the other IVOA registries count among these potential clients. To harvest the entire contents of IVOA registries, it is recommended to first harvest the Registry of Registries via its OAI-PMH interface.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
This first step is done by making a call to the RofR's OAI-PMH interface with the<b>ListRecords</b> operation, with the <b>set</b> argument set to <b>ivo_publishers</b>. This will return the registry records (i.e. resources with xsi:type='vg:Registry') for the registries that successfully registered themselves as described in <a href="#sect:rofr">4.1</a>. &#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The next step in harvesting the entire distributed IVOA registry contents is to iterate over the   <span class="xmlel">accessURL</span> of each   <span class="xmlel">vg:Registry</span> record's   <span class="xmlel">vr:capability</span> of type   <span class="xmlel">vg:Harvest</span>, and use the url for each of those OAI-PMH interfaces to harvest the individual registries. This filtering of RofR contents can be done by adding the <tt>set</tt> parameter to an OAI query to the RofR: registries in the RofR comprise the supported set <tt>ivo_publishers</tt>. Then when harvesting each registry in turn, to avoid harvesting duplicate records from the fully searchable registries, it is recommended to add the <tt>set</tt> parameter to that OAI query: records specifically published by a registry which also has a search interface comprise that registry's supported set <tt>ivo_managed</tt>.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The very first time the harvester executes the <b>ListRecords</b> operation on the RofR or any listed registry, the <b>from</b> argument should be not used so that all known publishing registries are returned, as well as all known resources within each discovered registry. If the harvesting client wishes to use the OAI interface for incremental updates, it can cache at least a mapping of the registry identifiers to their respective harvesting endpoints along with a timestamp for when this operation was last successfully carried out on each. Then, at the start of subsequent harvesting updates, the harvester can provide the cached date using the <b>from</b> argument to receive only new and updated records, and update the cached timestamp upon success. It is suggested that harvesting clients perform full updates without the <b>from</b> parameter on an occasional basis.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
For example, to get a listing of registries in the IVOA ecosystem, one would first query &#13;
        <span class="nolinkurl">http://rofr.ivoa.net/oai?verb=ListRecords&amp;metadataPrefix=ivo_vor&amp;set=ivo_publishers</span>. Then, for each returned resource, the   <span class="xmlel">accessURL</span> under a   <span class="xmlel">Capability</span> with   <span class="xmlel">xsi:type=vg:Harvest</span>, that URL could be called as such: &#13;
        <span class="nolinkurl">http://accessURLValue?verb=ListRecords&amp;metadataPrefix=ivo_vor</span> or &#13;
        <span class="nolinkurl">http://accessURLValue?verb=ListRecords&amp;metadataPrefix=ivo_vor&amp;from=YYYY-MM-DD</span> for return visits, with YYYY-MM-DD representing the last successful query to that accessURL.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
 <a id="tth_sEc5"/><h2>&#13;
5  Searching the Registry</h2>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="sect:searching">&#13;
</a>Experience with version 1 of this specification suggests that it is&#13;
preferable to not couple the relatively stable standards for harvesting and&#13;
general registry maintenance with client interfaces to the registry,&#13;
which were found to be in much more need of experimentation.  For a&#13;
discussion of the history of client interfaces in the VO, see&#13;
&#13;
        &#13;
        <a href="#paper:regclient" id="CITEpaper:regclient" class="tth_citation">&#13;
                Demleitner et al. (2015)</a>.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
One second-generation standard search interface to the VO Registry that&#13;
has progressed to become an IVOA recommendation is RegTAP&#13;
&#13;
&#13;
        <a href="#std:RegTAP" id="CITEstd:RegTAP" class="tth_citation">&#13;
        (Demleitner et al., 2013)</a>, an interface based on a relational representation of&#13;
major parts of VOResource and the VO's TAP protocol &#13;
&#13;
        <a href="#std:TAP" id="CITEstd:TAP" class="tth_citation">&#13;
        (Dowler et al., 2010)</a>.&#13;
RegTAP services have been made available from several registry providers listed in the Registry of Registries.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
 <a id="tth_sEcA"/><h2>&#13;
A  The RegistryInterface Schema</h2>&#13;
<a id="app:rischema">&#13;
</a>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The following schema defines a global element, allowing the inclusion of&#13;
VOResource records into   <span class="xmlel">oai:metadata</span> elements in OAI-PMH&#13;
responses for the <tt>ivo_vor</tt> metadata prefix.  See &#13;
sect. <a href="#sect:metadataformats">2.2</a> for details.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The schema is unchanged from version 1.0 of this specification and&#13;
therefore does not change its version.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
  <div xmlns="http://www.w3.org/1999/xhtml" class="language_XML">&#13;
  &#13;
<pre xmlns="">&lt;?xml version="1.0" encoding="UTF-8"?&gt;&#13;
&lt;xs:schema targetNamespace="http://www.ivoa.net/xml/RegistryInterface/v1.0" &#13;
           xmlns:ri="http://www.ivoa.net/xml/RegistryInterface/v1.0"&#13;
           xmlns="http://www.w3.org/2001/XMLSchema" &#13;
           xmlns:xs="http://www.w3.org/2001/XMLSchema" &#13;
           xmlns:vr="http://www.ivoa.net/xml/VOResource/v1.0" &#13;
           elementFormDefault="qualified"&#13;
           version="1.0"&gt;&#13;
           &#13;
   &lt;xs:import namespace="http://www.ivoa.net/xml/VOResource/v1.0"&#13;
              schemaLocation="http://www.ivoa.net/xml/VOResource/v1.0"/&gt;     &#13;
     &#13;
   &lt;xs:element name="VOResources"&gt;&#13;
      &lt;xs:annotation&gt;&#13;
         &lt;xs:documentation&gt;&#13;
           a container for one or more resource descriptions or&#13;
           identifier references to resources.&#13;
         &lt;/xs:documentation&gt;&#13;
         &lt;xs:documentation&gt;&#13;
           This is used to transmit multiple resource descriptions&#13;
           resulting from a query.&#13;
         &lt;/xs:documentation&gt;&#13;
      &lt;/xs:annotation&gt;&#13;
&#13;
      &lt;xs:complexType&gt;&#13;
         &lt;xs:sequence&gt;&#13;
            &lt;xs:choice&gt;&#13;
               &lt;xs:element ref="ri:Resource"&#13;
                           minOccurs="0" maxOccurs="unbounded"/&gt;&#13;
               &lt;xs:element name="identifier" type="vr:IdentifierURI" &#13;
                           minOccurs="0" maxOccurs="unbounded"/&gt;&#13;
             &lt;/xs:choice&gt;&#13;
         &lt;/xs:sequence&gt;&#13;
         &lt;xs:attribute name="from" type="xs:positiveInteger" use="required" /&gt;&#13;
         &lt;xs:attribute name="numberReturned" type="xs:positiveInteger" &#13;
                       use="required" /&gt;&#13;
         &lt;xs:attribute name="more" type="xs:boolean"  use="required" /&gt;&#13;
      &lt;/xs:complexType&gt;&#13;
   &lt;/xs:element&gt;&#13;
   &#13;
   &lt;xs:element name="Resource" type="vr:Resource"&gt;&#13;
      &lt;xs:annotation&gt;&#13;
         &lt;xs:documentation&gt;&#13;
           a description of a single resource&#13;
         &lt;/xs:documentation&gt;&#13;
      &lt;/xs:annotation&gt;&#13;
   &lt;/xs:element&gt;&#13;
   &#13;
&lt;/xs:schema&gt;&#13;
</pre>&#13;
  </div>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
 <a id="tth_sEcB"/><h2>&#13;
B  The VORegistry Schema</h2>&#13;
<a id="app:vgschema">&#13;
</a>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
The following schema defines VOResource types for describing registries&#13;
in the Registry.  It is unchanged from version 1.0 of this specification&#13;
and therefore does not change its version.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
Note that standards defining search interfaces may specify alternative&#13;
or complementary methods of registering the services defined by them.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
  <div xmlns="http://www.w3.org/1999/xhtml" class="language_XML">&#13;
  &#13;
<pre xmlns="">&lt;?xml version="1.0" encoding="UTF-8"?&gt;&#13;
&lt;xs:schema targetNamespace="http://www.ivoa.net/xml/VORegistry/v1.0" &#13;
           xmlns:xs="http://www.w3.org/2001/XMLSchema" &#13;
           xmlns:vr="http://www.ivoa.net/xml/VOResource/v1.0" &#13;
           xmlns:vg="http://www.ivoa.net/xml/VORegistry/v1.0" &#13;
           xmlns:vm="http://www.ivoa.net/xml/VOMetadata/v0.1"&#13;
           elementFormDefault="unqualified" attributeFormDefault="unqualified"&#13;
           version="1.0wd"&gt;&#13;
&#13;
   &lt;xs:annotation&gt;&#13;
      &lt;xs:appinfo&gt;&#13;
        &lt;vm:schemaName&gt;VORegistry&lt;/vm:schemaName&gt;&#13;
        &lt;vm:schemaPrefix&gt;xs&lt;/vm:schemaPrefix&gt;&#13;
        &lt;vm:targetPrefix&gt;vg&lt;/vm:targetPrefix&gt;&#13;
      &lt;/xs:appinfo&gt;&#13;
      &lt;xs:documentation&gt;&#13;
        An extension to the core resource metadata (VOResource) for &#13;
        describing registries and authority IDs.&#13;
      &lt;/xs:documentation&gt;&#13;
   &lt;/xs:annotation&gt;&#13;
&#13;
   &lt;xs:import namespace="http://www.ivoa.net/xml/VOResource/v1.0"&#13;
              schemaLocation="http://www.ivoa.net/xml/VOResource/v1.0"/&gt;&#13;
&#13;
   &lt;xs:complexType name="Registry"&gt;&#13;
      &lt;xs:annotation&gt;&#13;
         &lt;xs:documentation&gt;&#13;
           a service that provides access to descriptions of resources.&#13;
         &lt;/xs:documentation&gt;&#13;
         &lt;xs:documentation&gt;&#13;
           A registry is considered a publishing registry if it&#13;
           contains a capability element with xsi:type="vg:Harvest".  &#13;
           It is considered a searchable registry if it contains a&#13;
           capability element with xsi:type="vg:Search".&#13;
         &lt;/xs:documentation&gt;&#13;
      &lt;/xs:annotation&gt;&#13;
&#13;
      &lt;xs:complexContent&gt;&#13;
         &lt;xs:extension base="vr:Service"&gt;&#13;
            &lt;xs:sequence&gt;&#13;
               &lt;xs:element name="full" type="xs:boolean"&gt;&#13;
                  &lt;xs:annotation&gt;&#13;
                     &lt;xs:documentation&gt;&#13;
                       If true, this registry attempts to collect all resource&#13;
                       records known to the IVOA.  &#13;
                     &lt;/xs:documentation&gt;&#13;
                     &lt;xs:documentation&gt;&#13;
                       A registry typically collects everything by harvesting &#13;
                       from all registries listed in the IVOA Registry of &#13;
                       Registries.  &#13;
                     &lt;/xs:documentation&gt;&#13;
                  &lt;/xs:annotation&gt;&#13;
               &lt;/xs:element&gt;&#13;
&#13;
               &lt;xs:element name="managedAuthority" type="vr:AuthorityID"&#13;
                           minOccurs="0" maxOccurs="unbounded"&gt;&#13;
                  &lt;xs:annotation&gt;&#13;
                     &lt;xs:documentation&gt;&#13;
                       an authority identifier managed by the registry.&#13;
                     &lt;/xs:documentation&gt;&#13;
                     &lt;xs:documentation&gt;&#13;
                       Typically, this means the AuthorityIDs that originated &#13;
                       (i.e. were first published by) this registry.  Currently,&#13;
                       only one registry can lay claim to an AuthorityID via&#13;
                       this element at a time.   &#13;
                     &lt;/xs:documentation&gt;&#13;
                  &lt;/xs:annotation&gt;&#13;
               &lt;/xs:element&gt;&#13;
            &lt;/xs:sequence&gt;&#13;
         &lt;/xs:extension&gt;&#13;
      &lt;/xs:complexContent&gt;&#13;
   &lt;/xs:complexType&gt;&#13;
&#13;
   &lt;xs:complexType name="RegCapRestriction" abstract="true"&gt;&#13;
      &lt;xs:annotation&gt;&#13;
         &lt;xs:documentation&gt;&#13;
            an abstract capability that fixes the standardID to the&#13;
            IVOA ID for the Registry standard.&#13;
         &lt;/xs:documentation&gt;&#13;
         &lt;xs:documentation&gt;&#13;
            See vr:Capability for documentation on inherited children.&#13;
         &lt;/xs:documentation&gt;&#13;
      &lt;/xs:annotation&gt;&#13;
      &lt;xs:complexContent&gt;&#13;
         &lt;xs:restriction base="vr:Capability"&gt;&#13;
            &lt;xs:sequence&gt;&#13;
               &lt;xs:element name="validationLevel" type="vr:Validation"&#13;
                           minOccurs="0" maxOccurs="unbounded"/&gt;&#13;
               &lt;xs:element name="description" type="xs:token" &#13;
                           minOccurs="0"/&gt;&#13;
               &lt;xs:element name="interface" type="vr:Interface" &#13;
                           minOccurs="0" maxOccurs="unbounded"/&gt;&#13;
            &lt;/xs:sequence&gt;&#13;
            &lt;xs:attribute name="standardID" type="vr:IdentifierURI"&#13;
                          use="required" fixed="ivo://ivoa.net/std/Registry"/&gt;&#13;
         &lt;/xs:restriction&gt;&#13;
      &lt;/xs:complexContent&gt;&#13;
   &lt;/xs:complexType&gt;&#13;
&#13;
   &lt;xs:complexType name="Harvest"&gt;   &#13;
      &lt;xs:annotation&gt;&#13;
         &lt;xs:documentation&gt;&#13;
            The capabilities of the Registry Harvest implementation.  &#13;
         &lt;/xs:documentation&gt;&#13;
      &lt;/xs:annotation&gt;&#13;
&#13;
      &lt;xs:complexContent&gt;&#13;
         &lt;xs:extension base="vg:RegCapRestriction"&gt;&#13;
            &lt;xs:sequence&gt;&#13;
&#13;
               &lt;xs:element name="maxRecords" type="xs:int"&gt;&#13;
                  &lt;xs:annotation&gt;&#13;
                     &lt;xs:documentation&gt;&#13;
                        The largest number of records that the registry search&#13;
                        method will return.  A value greater than one implies &#13;
                        that an OAI continuation token will be provided when &#13;
                        the limit is reached.  A value of zero or less &#13;
                        indicates that there is no explicit limit and&#13;
                        thus, continuation tokens are not supported.&#13;
                     &lt;/xs:documentation&gt;&#13;
                  &lt;/xs:annotation&gt;&#13;
               &lt;/xs:element&gt;&#13;
&#13;
            &lt;/xs:sequence&gt;&#13;
         &lt;/xs:extension&gt;&#13;
      &lt;/xs:complexContent&gt;&#13;
   &lt;/xs:complexType&gt;&#13;
&#13;
   &lt;xs:complexType name="Search"&gt;   &#13;
      &lt;xs:annotation&gt;&#13;
         &lt;xs:documentation&gt;&#13;
            The capabilities of the Registry Search implementation.  &#13;
         &lt;/xs:documentation&gt;&#13;
      &lt;/xs:annotation&gt;&#13;
&#13;
      &lt;xs:complexContent&gt;&#13;
         &lt;xs:extension base="vg:RegCapRestriction"&gt;&#13;
            &lt;xs:sequence&gt;&#13;
&#13;
               &lt;xs:element name="maxRecords" type="xs:int"&gt;&#13;
                  &lt;xs:annotation&gt;&#13;
                     &lt;xs:documentation&gt;&#13;
                        The largest number of records that the registry search&#13;
                        method will return.  A value of zero or less indicates&#13;
                        that there is no explicit limit.  &#13;
                     &lt;/xs:documentation&gt;&#13;
                  &lt;/xs:annotation&gt;&#13;
               &lt;/xs:element&gt;&#13;
&#13;
               &lt;xs:element name="extensionSearchSupport" &#13;
                           type="vg:ExtensionSearchSupport"&gt;&#13;
                  &lt;xs:annotation&gt;&#13;
                     &lt;xs:documentation&gt;&#13;
                       the level of support provided for searching against&#13;
                       metadata defined in a legal VOResource extension schema.&#13;
                     &lt;/xs:documentation&gt;&#13;
                     &lt;xs:documentation&gt;&#13;
                       A legal VOResource extension schema is one that imports&#13;
                       and extends the VOResource core schema in compliance&#13;
                       with the VOResource standard.  &#13;
                     &lt;/xs:documentation&gt;&#13;
                  &lt;/xs:annotation&gt;&#13;
               &lt;/xs:element&gt;&#13;
&#13;
               &lt;xs:element name="optionalProtocol" type="vg:OptionalProtocol"&#13;
                           minOccurs="0" maxOccurs="unbounded"&gt;&#13;
                  &lt;xs:annotation&gt;&#13;
                     &lt;xs:documentation&gt;&#13;
                        the name of an optional advanced search protocol &#13;
                        supported.&#13;
                     &lt;/xs:documentation&gt;&#13;
                     &lt;xs:documentation&gt;&#13;
                        Only one optional protocol is currently allowed &#13;
                        (XQuery).  It is assumed that the required protocols &#13;
                        (simple keyword search and ADQL) are supported.&#13;
                     &lt;/xs:documentation&gt;&#13;
                  &lt;/xs:annotation&gt;&#13;
               &lt;/xs:element&gt;&#13;
&#13;
            &lt;/xs:sequence&gt;&#13;
         &lt;/xs:extension&gt;&#13;
      &lt;/xs:complexContent&gt;&#13;
   &lt;/xs:complexType&gt;&#13;
&#13;
   &lt;xs:simpleType name="ExtensionSearchSupport"&gt;&#13;
      &lt;xs:restriction base="xs:NMTOKEN"&gt;&#13;
         &lt;xs:enumeration value="core"&gt;&#13;
            &lt;xs:annotation&gt;&#13;
              &lt;xs:documentation&gt;&#13;
                 Only searches against the core VOResource metadata are &#13;
                 supported.&#13;
              &lt;/xs:documentation&gt;&#13;
            &lt;/xs:annotation&gt;&#13;
         &lt;/xs:enumeration&gt;&#13;
         &lt;xs:enumeration value="partial"&gt;&#13;
            &lt;xs:annotation&gt;&#13;
              &lt;xs:documentation&gt;&#13;
                 Searches against some VOResource extension metadata are &#13;
                 supported but not necessarily all that exist in the registry.&#13;
              &lt;/xs:documentation&gt;&#13;
            &lt;/xs:annotation&gt;&#13;
         &lt;/xs:enumeration&gt;&#13;
         &lt;xs:enumeration value="full"&gt;&#13;
            &lt;xs:annotation&gt;&#13;
              &lt;xs:documentation&gt;&#13;
                 Searches against all VOResource extension metadata contained &#13;
                 in the registry are supported.&#13;
              &lt;/xs:documentation&gt;&#13;
            &lt;/xs:annotation&gt;&#13;
         &lt;/xs:enumeration&gt;&#13;
      &lt;/xs:restriction&gt;&#13;
   &lt;/xs:simpleType&gt;&#13;
&#13;
   &lt;xs:simpleType name="OptionalProtocol"&gt;&#13;
      &lt;xs:restriction base="xs:NMTOKEN"&gt;&#13;
         &lt;xs:enumeration value="XQuery"&gt;&#13;
            &lt;xs:annotation&gt;&#13;
              &lt;xs:documentation&gt;&#13;
                 the XQuery (http://www.w3.org/TR/xquery/) protocol as defined&#13;
                 in the VO Registry Interface standard.  &#13;
              &lt;/xs:documentation&gt;&#13;
            &lt;/xs:annotation&gt;&#13;
         &lt;/xs:enumeration&gt;&#13;
      &lt;/xs:restriction&gt;&#13;
   &lt;/xs:simpleType&gt;&#13;
&#13;
   &lt;xs:complexType name="OAIHTTP"&gt;&#13;
      &lt;xs:annotation&gt;&#13;
         &lt;xs:documentation&gt;&#13;
           a description of the standard OAI PMH interface using HTTP&#13;
           (GET or POST) queries.&#13;
         &lt;/xs:documentation&gt;&#13;
         &lt;xs:documentation&gt;&#13;
           the accessURL child element is the base URL for the OAI&#13;
           service as defined in section 3.1.1 of the OAI PMH&#13;
           standard.  &#13;
         &lt;/xs:documentation&gt;&#13;
      &lt;/xs:annotation&gt;&#13;
&#13;
      &lt;xs:complexContent&gt;&#13;
         &lt;xs:extension base="vr:Interface"&gt;&#13;
            &lt;xs:sequence/&gt;&#13;
         &lt;/xs:extension&gt;&#13;
      &lt;/xs:complexContent&gt;&#13;
&#13;
   &lt;/xs:complexType&gt;&#13;
&#13;
   &lt;xs:complexType name="OAISOAP"&gt;&#13;
      &lt;xs:annotation&gt;&#13;
         &lt;xs:documentation&gt;&#13;
           a description of the standard OAI PMH interface using a SOAP &#13;
           Web Service interface.&#13;
         &lt;/xs:documentation&gt;&#13;
         &lt;xs:documentation&gt;&#13;
           the accessURL child element is the service port location URL for &#13;
           the OAI SOAP Web Service.  &#13;
         &lt;/xs:documentation&gt;&#13;
      &lt;/xs:annotation&gt;&#13;
&#13;
      &lt;xs:complexContent&gt;&#13;
         &lt;xs:extension base="vr:WebService"&gt;&#13;
            &lt;xs:sequence/&gt;&#13;
         &lt;/xs:extension&gt;&#13;
      &lt;/xs:complexContent&gt;&#13;
&#13;
   &lt;/xs:complexType&gt;&#13;
&#13;
   &lt;xs:complexType name="Authority"&gt;&#13;
      &lt;xs:annotation&gt;&#13;
         &lt;xs:documentation&gt;&#13;
           a naming authority; an assertion of control over a&#13;
           namespace represented by an authority identifier. &#13;
         &lt;/xs:documentation&gt;&#13;
      &lt;/xs:annotation&gt;&#13;
      &lt;xs:complexContent&gt;&#13;
         &lt;xs:extension base="vr:Resource"&gt;&#13;
            &lt;xs:sequence&gt;&#13;
&#13;
               &lt;xs:element name="managingOrg" type="vr:ResourceName"&gt;&#13;
                  &lt;xs:annotation&gt;&#13;
                     &lt;xs:documentation&gt;&#13;
                       the organization that manages or owns this authority.&#13;
                     &lt;/xs:documentation&gt;&#13;
                     &lt;xs:documentation&gt;&#13;
                       In most cases, this will be the same as the Publisher.&#13;
                     &lt;/xs:documentation&gt;&#13;
                  &lt;/xs:annotation&gt;&#13;
               &lt;/xs:element&gt;&#13;
&#13;
            &lt;/xs:sequence&gt;&#13;
         &lt;/xs:extension&gt;&#13;
      &lt;/xs:complexContent&gt;&#13;
   &lt;/xs:complexType&gt;&#13;
&#13;
&lt;/xs:schema&gt;&#13;
</pre>&#13;
  </div>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
 <a id="tth_sEcC"/><h2>&#13;
C  Changes from Previous Versions</h2>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="sect:changes">&#13;
</a>For pre-REC-1.0 changes, see &#13;
        &#13;
        <a href="#std:RI1" id="CITEstd:RI1" class="tth_citation">&#13;
                Benson et al. (2009)</a>.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
 <a id="tth_sEcD"/><h2>&#13;
D  Changes from Version 1.0</h2>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="changes-1.0">&#13;
</a>&#13;
<ul>&#13;
<li> Added requirement for OAI-PMH interface to support seconds granularity, optional in the OAI-PMH 2.0 standard itself. &#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
</li>&#13;
&#13;
<li> Removed requirement for VOResource version number changes to force an update of this document. &#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
</li>&#13;
&#13;
<li> Removed the entire section 2, specifically the SOAP-based services&#13;
based on "ADQL 1.0" and XQuery.&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
</li>&#13;
&#13;
<li> Dropped the requirement on registries to not deliver any records that are OAI-PMH deleted when no temporal constraint is given.&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
</li>&#13;
&#13;
<li> Announcing a migration to&#13;
&#13;
        <span class="nolinkurl">ivo://ivoa.net/std/Registry#OAI-2.0</span> as the harvesting&#13;
capability's standard id.&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
</li>&#13;
&#13;
<li> Added a requirement to provide VOSI endpoints.&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
</li>&#13;
&#13;
<li> Clarified that the requirement to keep deleted records for six&#13;
months only applies to the transient case; also discouraging registries&#13;
with no support of deleted records.&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
</li>&#13;
&#13;
<li> Added recommended process for discovery of registries and their resources using the Registry of Registries, based on the Registry of Registries IVOA note&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
</li>&#13;
&#13;
<li> Many editorial changes across the text, mostly as a consequence of&#13;
externalizing the search interface.&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
</li>&#13;
</ul>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
&#13;
<h2>References</h2>&#13;
&#13;
<dl>&#13;
  <a name="std:RI1"/>&#13;
   <dt><b>Benson et al. (2009)</b></dt>&#13;
        <dd>&#13;
Benson, K., Plante, R., Auden, E., Graham, M., Greene, G., Hill, M., Linde, T.,&#13;
  Morris, D., O'Mullane, W., Rixon, G., Stébé, A. &amp; Andrews, K.&#13;
  (2009), `IVOA registry interfaces version&#13;
  1.0', IVOA Recommendation.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a href="http://www.ivoa.net/documents/RegistryInterface/"><tt>http://www.ivoa.net/documents/RegistryInterface/</tt></a>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
  <a name="std:RegTAP"/>&#13;
  </dd>&#13;
 <dt><b>Demleitner et al. (2013)</b></dt>&#13;
        <dd>&#13;
Demleitner, M., Harrison, P., Molinaro, M., Greene, G., Dower, T. &amp;   Perdikeas, M.  (2013), `IVOA registry&#13;
  relational schema', IVOA Working Draft.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a href="http://www.ivoa.net/documents/RegTAP/"><tt>http://www.ivoa.net/documents/RegTAP/</tt></a>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
  <a name="paper:regclient"/>&#13;
  </dd>&#13;
 <dt><b>Demleitner et al. (2015)</b></dt>&#13;
        <dd>&#13;
Demleitner, M., Harrison, P., Taylor, M. &amp; Normand, J.&#13;
  (2015), `Client interfaces to the Virtual&#13;
  Observatory Registry', <em>Astronomy and Computing</em> <b>10</b>, 88-98,&#13;
  arXiv:1502.01186.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
  <a name="std:TAP"/>&#13;
  </dd>&#13;
 <dt><b>Dowler et al. (2010)</b></dt>&#13;
        <dd>&#13;
Dowler, P., Rixon, G. &amp; Tody, D.  (&#13;
2010), `Table access protocol version 1.0', IVOA&#13;
  Recommendation.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a href="http://www.ivoa.net/documents/TAP"><tt>http://www.ivoa.net/documents/TAP</tt></a>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
  <a name="std:VOSI"/>&#13;
  </dd>&#13;
 <dt><b>Grid and Web Services Working Group (2011)</b></dt>&#13;
        <dd>&#13;
  &#13;
Grid and Web Services Working Group  (2011),&#13;
  `IVOA support interfaces version 1.0'.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a href="http://www.ivoa.net/documents/VOSI/index.html"><tt>http://www.ivoa.net/documents/VOSI/index.html</tt></a>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
  <a name="std:RM"/>&#13;
  </dd>&#13;
 <dt><b>Hanisch et al. (2007)</b></dt>&#13;
        <dd>&#13;
Hanisch, R., IVOA Resource Registry Working Group &amp; NVO Metadata&#13;
  Working Group  (2007), `Resource metadata&#13;
  for the virtual observatory', IVOA Recommendation.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a href="http://www.ivoa.net/documents/latest/RM.html"><tt>http://www.ivoa.net/documents/latest/RM.html</tt></a>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
  <a name="std:OAIPMH"/>&#13;
  </dd>&#13;
 <dt><b>Lagoze et al. (2002)</b></dt>&#13;
        <dd>&#13;
Lagoze, C., de Sompel, H. V., Nelson, M. &amp; Warner, S.&#13;
  (2002), `The open archives initiative&#13;
  protocol for metadata harvesting, version 2.0'.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a href="http://www.openarchives.org/OAI/openarchivesprotocol.html"><tt>http://www.openarchives.org/OAI/openarchivesprotocol.html</tt></a>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
  <a name="std:VOR"/>&#13;
  </dd>&#13;
 <dt><b>Plante et al. (2008)</b></dt>&#13;
        <dd>&#13;
Plante, R., Benson, K., Graham, M., Greene, G., Harrison, P., Lemson, G.,&#13;
  Linde, T., Rixon, G. &amp; Stébé, A.  (&#13;
2008), `VOResource: an XML encoding schema for resource&#13;
  metadata version 1.03', IVOA Recommendation.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a href="http://www.ivoa.net/documents/REC/ReR/VOResource-20080222.html"><tt>http://www.ivoa.net/documents/REC/ReR/VOResource-20080222.html</tt></a>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
  <a name="2004ASPC..314..585P"/>&#13;
  </dd>&#13;
 <dt><b>Plante et al. (2004)</b></dt>&#13;
        <dd>&#13;
Plante, R., Greene, G., Hanisch, R., McGlynn, T., O'Mullane, W.&#13;
  &amp; Williamson, R.  (2004),&#13;
  Resource Registries for the Virtual Observatory, <em>in</em> F. Ochsenbein,&#13;
  M. G. Allen &amp; D. Egret, eds, `Astronomical Data Analysis&#13;
  Software and Systems (ADASS) XIII', Vol. 314 of <em>Astronomical Society of&#13;
  the Pacific Conference Series</em>, p. 585.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
  <a name="std:VOID"/>&#13;
  </dd>&#13;
 <dt><b>Plante et al. (2007)</b></dt>&#13;
        <dd>&#13;
Plante, R., Linde, T., Williams, R. &amp; Noddle, K.  (&#13;
2007), `IVOA identifiers, version 1.03', IVOA&#13;
  Recommendation.&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a href="http://www.ivoa.net/documents/REC/Identifiers/Identifiers-20070302.html"><tt>http://www.ivoa.net/documents/REC/Identifiers/Identifiers-20070302.html</tt></a></dd>&#13;
</dl>&#13;
&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<hr/><h3>Footnotes:</h3>&#13;
&#13;
<p xmlns="http://www.w3.org/1999/xhtml" class="parsep"><span/></p>&#13;
<a id="tthFtNtAAB"/><a href="#tthFrefAAB"><sup>1</sup></a>For instance, RegTAP &#13;
&#13;
        <a href="#std:RegTAP" class="tth_citeref">&#13;
        (Demleitner et al., 2013)</a> uses&#13;
the   <span class="xmlel">tre:dataModel</span> element from TAPRegExt as its primary&#13;
discovery mechanism&#13;
<br/><br/><hr/><small>File translated from&#13;
T<sub><span class="small">E</span></sub>X&#13;
by <a href="http://hutchinson.belmont.ma.us/tth/">&#13;
T<sub><span class="small">T</span></sub>H</a>,&#13;
version 4.08.<br/>On 09 May 2016, 05:49.</small>&#13;
</div></html>