<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Referencing Content External to DataONE &#8212; v2.1.0-beta</title>
    
    <link rel="stylesheet" href="../_static/dataone.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '2.1.0-beta',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true,
        SOURCELINK_SUFFIX: '.txt'
      };
    </script>
    <script type="text/javascript" src="../_static/mathjax_pre.js"></script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <script type="text/javascript" src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML"></script>
    <script type="text/javascript" src="../_static/sidebar.js"></script>
    <link rel="author" title="About these documents" href="../about.html" />
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="DataONE Preservation Strategy" href="PreservationStrategy.html" />
    <link rel="prev" title="Search Metadata Elements Extracted from Dryad" href="SearchMetadata_dryad.html" />
   
  
  <link media="only screen and (max-device-width: 480px)" href="../_static/small_dataone.css" type= "text/css" rel="stylesheet" />

  </head>
  <body role="document">
  
    <div class="version_notice">
      <p>
      <span class='bold'>Warning:</span> These documents are under active 
      development and subject to change (version 2.1.0-beta).<br />
      The latest release documents are at:
      <a href="https://purl.dataone.org/architecture">https://purl.dataone.org/architecture</a>
      </p>
    </div>

    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="PreservationStrategy.html" title="DataONE Preservation Strategy"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="SearchMetadata_dryad.html" title="Search Metadata Elements Extracted from Dryad"
             accesskey="P">previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="../index.html"></a> &#187;</li>
          <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">&lt;no title&gt;</a> &#187;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="referencing-content-external-to-dataone">
<h1><a class="toc-backref" href="#id5">Referencing Content External to DataONE</a><a class="headerlink" href="#referencing-content-external-to-dataone" title="Permalink to this headline">¶</a></h1>
<div class="contents topic" id="contents">
<p class="topic-title first">Contents</p>
<ul class="simple">
<li><a class="reference internal" href="#referencing-content-external-to-dataone" id="id5">Referencing Content External to DataONE</a><ul>
<li><a class="reference internal" href="#index-fields" id="id6">Index Fields</a></li>
<li><a class="reference internal" href="#use-of-index-fields-in-search-ui" id="id7">Use of Index Fields in Search UI</a></li>
<li><a class="reference internal" href="#appearance-of-external-content-in-the-search-ui" id="id8">Appearance of External Content in the Search UI</a></li>
<li><a class="reference internal" href="#mapping-iso-tc211-to-index-fields-for-services" id="id9">Mapping ISO-TC211 to Index Fields for Services</a><ul>
<li><a class="reference internal" href="#isservice" id="id10">isService</a></li>
<li><a class="reference internal" href="#servicecoupling" id="id11">serviceCoupling</a></li>
<li><a class="reference internal" href="#servicetitle" id="id12">serviceTitle</a></li>
<li><a class="reference internal" href="#servicedescription" id="id13">serviceDescription</a></li>
<li><a class="reference internal" href="#servicetype" id="id14">serviceType</a></li>
<li><a class="reference internal" href="#serviceendpoint" id="id15">serviceEndpoint</a></li>
<li><a class="reference internal" href="#serviceinput" id="id16">serviceInput</a></li>
<li><a class="reference internal" href="#serviceoutput" id="id17">serviceOutput</a></li>
</ul>
</li>
<li><a class="reference internal" href="#mapping-of-eml-to-index-fields-for-services" id="id18">Mapping of EML to Index Fields for Services</a><ul>
<li><a class="reference internal" href="#id1" id="id19">isService</a></li>
<li><a class="reference internal" href="#id2" id="id20">ServiceTitle</a></li>
<li><a class="reference internal" href="#id3" id="id21">ServiceDescription</a></li>
<li><a class="reference internal" href="#id4" id="id22">ServiceEndpoint</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<p>Here &#8220;content external to DataONE&#8221; refers to data, metadata, or other
information not accessible directly through the DataONE Member Node or
Coordinating Node APIs.</p>
<p>For example, a researcher may create a data package that contains the usual
data and metadata objects, but would also like to provide a reference to
additional data (the &#8220;external data&#8221;) that can not be retrieved using the
DataONE MNRead.get method.</p>
<p>The external data is not synchronized by DataONE.</p>
<p>There are two mechanisms for showing references to external content in the the
DataONE Search UI, both rely on information stored in Science Metadata:</p>
<ol class="arabic">
<li><p class="first">During rendering of metadata by stylesheet transformation.</p>
<p>Some metadata formats have a mechanisms to reference arbitrary links to
information outsie of the data package.</p>
</li>
<li><p class="first">By reference to a Service through the <code class="docutils literal"><span class="pre">service*</span></code> index fields</p>
<p>DataONE provides a mechanism where services related to a data package may be
described within a metadata document contained in the data package. A
reference to external content can be considered a simple type of service
(e.g. a HTTP GET).</p>
</li>
</ol>
<p>The mechanisms for post processing allow for more control over the expression
and reliability of such references through the service oriented metadata as
opposed to a direct reference to an arbitrary location with poorly defined
characteristics.</p>
<p>Content creators are thus encouraged to leverage the servie description
mechanism when there is a need to reference content external to DataONE from a
data package.</p>
<div class="section" id="index-fields">
<h2><a class="toc-backref" href="#id6">Index Fields</a><a class="headerlink" href="#index-fields" title="Permalink to this headline">¶</a></h2>
<p>The solr index in DataONE acts as a common representation of metadata for
synchronized content. Content of the various formats of Science Metadata is
mapped to index fields using various parsing and processing rules.</p>
<p>The index fields relevant to external content are:</p>
<table border="1" class="docutils">
<colgroup>
<col width="24%" />
<col width="76%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Field</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>isService</td>
<td>Set to true if document is a member node service
description document. Use to filter search results for to
exclude or include member node services.</td>
</tr>
<tr class="row-odd"><td>serviceTitle</td>
<td>A brief, human readable descriptive title for the member
node service.</td>
</tr>
<tr class="row-even"><td>serviceDescription</td>
<td>A human readable description of the member node service to
assist discovery and to evaluate applicability.</td>
</tr>
<tr class="row-odd"><td>serviceType</td>
<td>The type of service being provided by the member node.</td>
</tr>
<tr class="row-even"><td>serviceCoupling</td>
<td>One of &#8216;tight&#8217;, &#8216;mixed&#8217;, or &#8216;loose&#8217;.  Tight coupled service
work only on the data described by this metadata document.
Loose coupling means service works on any data.  Mixed
coupling means service works on data described by this
metadata document but may work on other data.</td>
</tr>
<tr class="row-odd"><td>serviceEndpoint</td>
<td>A URL that indicates how to access the member node service.</td>
</tr>
<tr class="row-even"><td>serviceInput</td>
<td>Aspect of the service that accepts a digital entity.  Either
a list of DataONE formatId URLs or PID RESOLVE URLs that the
member node service operates on.  A pid RESOLVE URL
indicates a &#8216;tight&#8217; coupled service - while a list of
formatIds indicates a loose coupled service.</td>
</tr>
<tr class="row-odd"><td>serviceOutput</td>
<td>Aspect of the service that provides a digital entity
resulting from operation of the service.  A listing of
DataONE formatId which this member node service produces.</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="use-of-index-fields-in-search-ui">
<h2><a class="toc-backref" href="#id7">Use of Index Fields in Search UI</a><a class="headerlink" href="#use-of-index-fields-in-search-ui" title="Permalink to this headline">¶</a></h2>
<p>The DataONE <a href="#id23"><span class="problematic" id="id24">`Search UI`_</span></a> uses the search index to populate user interface
elements such as the data package view, which is shown when viewing a specific
data package. For example:</p>
<blockquote>
<div><a class="reference external" href="https://search.dataone.org/#view">https://search.dataone.org/#view</a>/{1BDC13BA-A8C2-4787-8B77-4EB04AE6B416}</div></blockquote>
<p>Shows a table for &#8220;Alternate Data Access&#8221; which contains columns:</p>
<table border="1" class="docutils">
<colgroup>
<col width="36%" />
<col width="64%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Column</th>
<th class="head">Index Field</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>Name</td>
<td>serviceTitle</td>
</tr>
<tr class="row-odd"><td>Description</td>
<td>serviceDescription</td>
</tr>
<tr class="row-even"><td>Access Type</td>
<td>serviceType</td>
</tr>
<tr class="row-odd"><td>URL</td>
<td>serviceEndpoint</td>
</tr>
</tbody>
</table>
<p>The Alternate Data Access table is shown if the index field <code class="docutils literal"><span class="pre">isService</span></code> is
true.</p>
</div>
<div class="section" id="appearance-of-external-content-in-the-search-ui">
<h2><a class="toc-backref" href="#id8">Appearance of External Content in the Search UI</a><a class="headerlink" href="#appearance-of-external-content-in-the-search-ui" title="Permalink to this headline">¶</a></h2>
</div>
<div class="section" id="mapping-iso-tc211-to-index-fields-for-services">
<h2><a class="toc-backref" href="#id9">Mapping ISO-TC211 to Index Fields for Services</a><a class="headerlink" href="#mapping-iso-tc211-to-index-fields-for-services" title="Permalink to this headline">¶</a></h2>
<p>The mapping from ISO-TC211 to the index fields is described at the generated
<a href="#id25"><span class="problematic" id="id26">`index documentation`_</span></a>. An excerpt is repeated here with additional comments.</p>
<p>(See application-context-isotc211-base.xml in the d1_index_task_processor
project)</p>
<p>In ISO 19119, services may be tightly or loosely-coupled to data they operate
on and sit under the srv:SV_ServiceIdentification element. Or they may be
limited to tightly-coupled distribution info and sit under the
gmd:distributionInfo element.</p>
<p>The solr fields may be populated either with one expression checking and/or
concatenating both the srv:srv:SV_ServiceIdentification and
gmd:distributionInfo locations (for example: isotc.isService or
isotc.serviceCoupling)</p>
<p>Or there may be 2 separate expressions for the different scenarios that affect
the same field. (for example: sotc.serviceEndpoint and
isotc.distribServiceEndpoint).</p>
<p>Two expressions are only used for multivalue SolrFields; this way both results
are added - both srv:SV_ServiceIdentification and gmd:distributionInfo
subelements are indexed).</p>
<div class="section" id="isservice">
<h3><a class="toc-backref" href="#id10">isService</a><a class="headerlink" href="#isservice" title="Permalink to this headline">¶</a></h3>
<p>Checks for existence of either srv service description OR distribution
&#8220;service&#8221; info.</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">boolean</span><span class="p">(</span><span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span> <span class="ow">or</span>
        <span class="o">//</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributionInfo</span><span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distribution</span><span class="p">)</span>
</pre></div>
</div>
</div>
<div class="section" id="servicecoupling">
<h3><a class="toc-backref" href="#id11">serviceCoupling</a><a class="headerlink" href="#servicecoupling" title="Permalink to this headline">¶</a></h3>
<p>The srv location can explicitly set this and if set will override
distributionInfo.</p>
<p>The serviceCoupling will set:</p>
<ul class="simple">
<li>&#8216;loose&#8217; coupling if srv:SV_CouplingType is loose</li>
<li>&#8216;tight&#8217; coupling if srv:SV_CouplingType is tight</li>
<li>&#8216;tight&#8217; coupling if distribution service info exists and srv:SV_CouplingType
doesn&#8217;t / is unspecified, empty if neither exists</li>
</ul>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">concat</span><span class="p">(</span>
  <span class="n">substring</span> <span class="p">(</span>
    <span class="s1">&#39;loose&#39;</span><span class="p">,</span>
    <span class="mi">1</span> <span class="n">div</span> <span class="n">boolean</span><span class="p">(</span> <span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span>
                    <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">couplingType</span>
                    <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_CouplingType</span>
                    <span class="o">/</span><span class="nd">@codeListValue</span> <span class="o">=</span> <span class="s1">&#39;loose&#39;</span> <span class="p">)</span>
  <span class="p">),</span>
  <span class="n">substring</span> <span class="p">(</span>
    <span class="s1">&#39;tight&#39;</span><span class="p">,</span>
    <span class="mi">1</span> <span class="n">div</span> <span class="n">boolean</span><span class="p">(</span> <span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span>
                    <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">couplingType</span>
                    <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_CouplingType</span>
                    <span class="o">/</span><span class="nd">@codeListValue</span> <span class="o">=</span> <span class="s1">&#39;tight&#39;</span> <span class="p">)</span>
  <span class="p">),</span>
  <span class="n">substring</span><span class="p">(</span>
    <span class="s1">&#39;tight&#39;</span><span class="p">,</span>
    <span class="mi">1</span> <span class="n">div</span> <span class="n">boolean</span><span class="p">(</span> <span class="o">//</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributionInfo</span>
                    <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distribution</span>
      <span class="ow">and</span> <span class="ow">not</span><span class="p">(</span> <span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span>
                <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">couplingType</span>
                <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_CouplingType</span>
                <span class="o">/</span><span class="nd">@codeListValue</span> <span class="p">)</span>
    <span class="p">)</span>
  <span class="p">),</span>
  <span class="n">substring</span><span class="p">(</span>
    <span class="s1">&#39;&#39;</span><span class="p">,</span>
    <span class="mi">1</span> <span class="n">div</span> <span class="n">boolean</span><span class="p">(</span>
      <span class="ow">not</span><span class="p">(</span> <span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span>
            <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">couplingType</span>
            <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_CouplingType</span>
            <span class="o">/</span><span class="nd">@codeListValue</span> <span class="p">)</span>
      <span class="ow">and</span> <span class="ow">not</span><span class="p">(</span> <span class="o">//</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributionInfo</span>
                <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distribution</span> <span class="p">)</span>
    <span class="p">)</span>
  <span class="p">)</span>
<span class="p">)</span>
</pre></div>
</div>
</div>
<div class="section" id="servicetitle">
<h3><a class="toc-backref" href="#id12">serviceTitle</a><a class="headerlink" href="#servicetitle" title="Permalink to this headline">¶</a></h3>
<p>This combines the srv service title with the distribution &#8220;service&#8221; info&#8217;s
titles.</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="p">(</span> <span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span>
   <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">citation</span>
   <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">CI_Citation</span>
   <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">title</span>
   <span class="o">/</span><span class="n">gco</span><span class="p">:</span><span class="n">CharacterString</span>
  <span class="o">|</span>
  <span class="o">//</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributionInfo</span>
   <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distribution</span>
   <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributor</span>
   <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distributor</span>
   <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributorTransferOptions</span>
   <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_DigitalTransferOptions</span>
   <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">onLine</span>
   <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">CI_OnlineResource</span>
   <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">name</span>
   <span class="o">/</span><span class="n">gco</span><span class="p">:</span><span class="n">CharacterString</span>
<span class="p">)</span><span class="o">/</span><span class="n">text</span><span class="p">()</span>
</pre></div>
</div>
</div>
<div class="section" id="servicedescription">
<h3><a class="toc-backref" href="#id13">serviceDescription</a><a class="headerlink" href="#servicedescription" title="Permalink to this headline">¶</a></h3>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="p">(</span> <span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span>
   <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">abstract</span>
   <span class="o">/</span><span class="n">gco</span><span class="p">:</span><span class="n">CharacterString</span>
  <span class="o">|</span>
  <span class="o">//</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributionInfo</span>
   <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distribution</span>
   <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributor</span>
   <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distributor</span>
   <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributorTransferOptions</span>
   <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_DigitalTransferOptions</span>
   <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">onLine</span>
   <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">CI_OnlineResource</span>
   <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">description</span>
   <span class="o">/</span><span class="n">gco</span><span class="p">:</span><span class="n">CharacterString</span>
<span class="p">)</span><span class="o">/</span><span class="n">text</span><span class="p">()</span>
</pre></div>
</div>
</div>
<div class="section" id="servicetype">
<h3><a class="toc-backref" href="#id14">serviceType</a><a class="headerlink" href="#servicetype" title="Permalink to this headline">¶</a></h3>
<p>Both are evaluated / indexed, checking the srv and distributionInfo locations
for a service type.</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span>
 <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">serviceType</span>
 <span class="o">/</span><span class="n">gco</span><span class="p">:</span><span class="n">LocalName</span>
 <span class="o">/</span><span class="n">text</span><span class="p">()</span>

<span class="o">//</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributionInfo</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distribution</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributor</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distributor</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributorTransferOptions</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_DigitalTransferOptions</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">onLine</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">CI_OnlineResource</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">protocol</span>
 <span class="o">/</span><span class="n">gco</span><span class="p">:</span><span class="n">CharacterString</span>
 <span class="o">/</span><span class="n">text</span><span class="p">()</span>
</pre></div>
</div>
</div>
<div class="section" id="serviceendpoint">
<h3><a class="toc-backref" href="#id15">serviceEndpoint</a><a class="headerlink" href="#serviceendpoint" title="Permalink to this headline">¶</a></h3>
<p>Both are evaluated / indexed, checking the srv and distributionInfo locations
for service endpoints.</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span>
 <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">containsOperations</span>
 <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_OperationMetadata</span>
 <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">connectPoint</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">CI_OnlineResource</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">linkage</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">URL</span>
 <span class="o">/</span><span class="n">text</span><span class="p">()</span>

<span class="o">//</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributionInfo</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distribution</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributor</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distributor</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributorTransferOptions</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_DigitalTransferOptions</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">onLine</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">CI_OnlineResource</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">linkage</span><span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">URL</span><span class="o">/</span><span class="n">text</span><span class="p">()</span>
<span class="o">|</span>
<span class="o">//</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributionInfo</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distribution</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">transferOptions</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_DigitalTransferOptions</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">onLine</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">CI_OnlineResource</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">linkage</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">URL</span>
 <span class="o">/</span><span class="n">text</span><span class="p">()</span>
</pre></div>
</div>
</div>
<div class="section" id="serviceinput">
<h3><a class="toc-backref" href="#id16">serviceInput</a><a class="headerlink" href="#serviceinput" title="Permalink to this headline">¶</a></h3>
<p>Both are evaluated / indexed, checking the srv and distributionInfo locations
for service input.</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span>
 <span class="o">/</span><span class="n">srv</span><span class="p">:</span><span class="n">operatesOn</span>
 <span class="o">/</span><span class="nd">@xlink</span><span class="p">:</span><span class="n">href</span>

<span class="o">//</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributionInfo</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distribution</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributor</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distributor</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributorTransferOptions</span>
 <span class="o">/</span><span class="nd">@xlink</span><span class="p">:</span><span class="n">href</span>
</pre></div>
</div>
</div>
<div class="section" id="serviceoutput">
<h3><a class="toc-backref" href="#id17">serviceOutput</a><a class="headerlink" href="#serviceoutput" title="Permalink to this headline">¶</a></h3>
<p>Both are evaluated / indexed, checking the srv and distributionInfo locations
for service output.</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">//</span><span class="n">srv</span><span class="p">:</span><span class="n">SV_ServiceIdentification</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">resourceFormat</span>
 <span class="o">/</span><span class="nd">@xlink</span><span class="p">:</span><span class="n">href</span>

<span class="o">//</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributionInfo</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distribution</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributor</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Distributor</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">distributorFormat</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">MD_Format</span>
 <span class="o">/</span><span class="n">gmd</span><span class="p">:</span><span class="n">version</span>
 <span class="o">/</span><span class="n">gco</span><span class="p">:</span><span class="n">CharacterString</span>
 <span class="o">/</span><span class="n">text</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
<div class="section" id="mapping-of-eml-to-index-fields-for-services">
<h2><a class="toc-backref" href="#id18">Mapping of EML to Index Fields for Services</a><a class="headerlink" href="#mapping-of-eml-to-index-fields-for-services" title="Permalink to this headline">¶</a></h2>
<p>(See application-context-eml-base.xml)</p>
<p>The EML spec is limited in what info it can hold about services.</p>
<p>EML holds no elements that correspond to these fields:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">ServiceType</span>
<span class="n">SerivceInput</span>
<span class="n">ServiceOutput</span>
<span class="n">ServiceCoupling</span>
</pre></div>
</div>
<p>So info about these can&#8217;t be indexed.</p>
<p>Supported fields are below:</p>
<div class="section" id="id1">
<h3><a class="toc-backref" href="#id19">isService</a><a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3>
<p>Checks for the presence of a distribution url.</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">boolean</span><span class="p">(</span><span class="o">//</span><span class="n">software</span><span class="o">/</span><span class="n">implementation</span><span class="o">/</span><span class="n">distribution</span><span class="o">/</span><span class="n">online</span><span class="o">/</span><span class="n">url</span><span class="p">)</span>
</pre></div>
</div>
</div>
<div class="section" id="id2">
<h3><a class="toc-backref" href="#id20">ServiceTitle</a><a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h3>
<p>Fetches the software title.</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">//</span><span class="n">software</span><span class="o">/</span><span class="n">title</span><span class="o">//</span><span class="n">text</span><span class="p">()[</span><span class="n">normalize</span><span class="o">-</span><span class="n">space</span><span class="p">()]</span>
</pre></div>
</div>
</div>
<div class="section" id="id3">
<h3><a class="toc-backref" href="#id21">ServiceDescription</a><a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3>
<p>Fetches the software abstract.</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">//</span><span class="n">software</span><span class="o">/</span><span class="n">abstract</span><span class="o">//</span><span class="n">text</span><span class="p">()[</span><span class="n">normalize</span><span class="o">-</span><span class="n">space</span><span class="p">()]</span>
</pre></div>
</div>
</div>
<div class="section" id="id4">
<h3><a class="toc-backref" href="#id22">ServiceEndpoint</a><a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h3>
<p>Fetches the distribution url.</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">//</span><span class="n">software</span><span class="o">/</span><span class="n">implementation</span><span class="o">/</span><span class="n">distribution</span><span class="o">/</span><span class="n">online</span><span class="o">/</span><span class="n">url</span><span class="o">/</span><span class="n">text</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
    <p class="logo"><a href="http://dataone.org">
      <img class="logo" src="../_static/dataone_logo.png" alt="Logo"/>
    </a></p>
  <h3><a href="../index.html">Table Of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">Referencing Content External to DataONE</a><ul>
<li><a class="reference internal" href="#index-fields">Index Fields</a></li>
<li><a class="reference internal" href="#use-of-index-fields-in-search-ui">Use of Index Fields in Search UI</a></li>
<li><a class="reference internal" href="#appearance-of-external-content-in-the-search-ui">Appearance of External Content in the Search UI</a></li>
<li><a class="reference internal" href="#mapping-iso-tc211-to-index-fields-for-services">Mapping ISO-TC211 to Index Fields for Services</a><ul>
<li><a class="reference internal" href="#isservice">isService</a></li>
<li><a class="reference internal" href="#servicecoupling">serviceCoupling</a></li>
<li><a class="reference internal" href="#servicetitle">serviceTitle</a></li>
<li><a class="reference internal" href="#servicedescription">serviceDescription</a></li>
<li><a class="reference internal" href="#servicetype">serviceType</a></li>
<li><a class="reference internal" href="#serviceendpoint">serviceEndpoint</a></li>
<li><a class="reference internal" href="#serviceinput">serviceInput</a></li>
<li><a class="reference internal" href="#serviceoutput">serviceOutput</a></li>
</ul>
</li>
<li><a class="reference internal" href="#mapping-of-eml-to-index-fields-for-services">Mapping of EML to Index Fields for Services</a><ul>
<li><a class="reference internal" href="#id1">isService</a></li>
<li><a class="reference internal" href="#id2">ServiceTitle</a></li>
<li><a class="reference internal" href="#id3">ServiceDescription</a></li>
<li><a class="reference internal" href="#id4">ServiceEndpoint</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>Related Topics</h3>
<ul>
  <li><a href="../index.html">Documentation Overview</a><ul>
  <li><a href="index.html">&lt;no title&gt;</a><ul>
      <li>Previous: <a href="SearchMetadata_dryad.html" title="previous chapter">Search Metadata Elements Extracted from Dryad</a></li>
      <li>Next: <a href="PreservationStrategy.html" title="next chapter">DataONE Preservation Strategy</a></li>
  </ul></li>
  </ul></li>
</ul>
<div id="searchbox" style="display: none" role="search">
  <h3>Quick search</h3>
    <form class="search" action="../search.html" method="get">
      <div><input type="text" name="q" /></div>
      <div><input type="submit" value="Go" /></div>
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>

    <div class="footer">
      <div id="copyright">
      &copy; Copyright <a href="http://www.dataone.org">2009-2017, DataONE</a>.
        [ <a href="../_sources/design/ExternalContent.txt"
               rel="nofollow">Page Source</a> |
          <a href='https://redmine.dataone.org/projects/d1/repository/changes/documents/Projects/cicore/architecture/api-documentation/source/design/ExternalContent.txt'
            rel="nofollow">Revision History</a> ]&nbsp;&nbsp;
      </div>
      <div id="acknowledgement">
        <p>This material is based upon work supported by the National Science Foundation
          under Grant Numbers <a href="http://www.nsf.gov/awardsearch/showAward?AWD_ID=0830944">083094</a> and <a href="http://www.nsf.gov/awardsearch/showAward?AWD_ID=1430508">1430508</a>.</p>
        <p>Any opinions, findings, and conclusions or recommendations expressed in this
           material are those of the author(s) and do not necessarily reflect the views
           of the National Science Foundation.</p>
      </div>
    </div>
    <!--
    <hr />
     <div id="HCB_comment_box"><a href="http://www.htmlcommentbox.com">HTML Comment Box</a> is loading comments...</div>
     <link rel="stylesheet" type="text/css" href="_static/skin.css" />
     <script type="text/javascript" language="javascript" id="hcb">
     /*<! -*/
     (function()
     {s=document.createElement("script");
     s.setAttribute("type","text/javascript");
     s.setAttribute("src", "http://www.htmlcommentbox.com/jread?page="+escape((typeof hcb_user !== "undefined" && hcb_user.PAGE)||(""+window.location)).replace("+","%2B")+"&mod=%241%24wq1rdBcg%24Gg8J5iYSHJWwAJtlYu/yU."+"&opts=21407&num=10");
     if (typeof s!="undefined") document.getElementsByTagName("head")[0].appendChild(s);})();
      /* ->*/
     </script>
   -->
  </body>
</html>