<!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>Serialization of Types for Transfer Over HTTP — 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="Event Logging and Reporting" href="logging.html" /> <link rel="prev" title="Use Case 22 - Link/Citation Report for Owner" href="UseCases/22_uc.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="logging.html" title="Event Logging and Reporting" accesskey="N">next</a> |</li> <li class="right" > <a href="UseCases/22_uc.html" title="Use Case 22 - Link/Citation Report for Owner" accesskey="P">previous</a> |</li> <li class="nav-item nav-item-0"><a href="../index.html"></a> »</li> <li class="nav-item nav-item-1"><a href="index.html" accesskey="U"><no title></a> »</li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body"> <div class="section" id="serialization-of-types-for-transfer-over-http"> <h1>Serialization of Types for Transfer Over HTTP<a class="headerlink" href="#serialization-of-types-for-transfer-over-http" title="Permalink to this headline">¶</a></h1> <div class="section" id="boolean"> <h2>Boolean<a class="headerlink" href="#boolean" title="Permalink to this headline">¶</a></h2> <p>When the response is simply a boolean True or False, the response returned is in one of two forms:</p> <ol class="loweralpha simple"> <li>For cases where false is a valid response: a single character “1” if <em>True</em>, or “0” if <em>False</em></li> <li>For cases where false coincides with a DataONE exception: an arbitrary body if <em>True</em> (ignored by caller), and an error-indicating HTTP status code and serialized error object if <em>False</em>.</li> </ol> </div> <div class="section" id="objectlist"> <h2>ObjectList<a class="headerlink" href="#objectlist" title="Permalink to this headline">¶</a></h2> <div class="section" id="json"> <h3>JSON<a class="headerlink" href="#json" title="Permalink to this headline">¶</a></h3> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="p">{</span> <span class="s1">'start'</span><span class="p">:</span> <span class="o"><</span><span class="n">integer</span><span class="o">></span><span class="p">,</span> <span class="s1">'count'</span><span class="p">:</span> <span class="o"><</span><span class="n">integer</span><span class="o">></span><span class="p">,</span> <span class="s1">'total'</span><span class="p">:</span> <span class="o"><</span><span class="n">integer</span><span class="o">></span><span class="p">,</span> <span class="s1">'objectInfo'</span><span class="p">:</span> <span class="p">[</span> <span class="p">{</span> <span class="s1">'identifier'</span><span class="p">:</span><span class="o"><</span><span class="n">IdentifierType</span><span class="o">></span><span class="p">,</span> <span class="s1">'objectFormat'</span><span class="p">:</span><span class="o"><</span><span class="n">ObjectFormatType</span><span class="o">></span><span class="p">,</span> <span class="s1">'checksum'</span><span class="p">:</span> <span class="p">{</span> <span class="s1">'algorithm'</span><span class="p">:</span><span class="o"><</span><span class="n">checkSum</span> <span class="n">Algorithm</span> <span class="n">Type</span><span class="o">></span><span class="p">,</span> <span class="s1">'value'</span><span class="p">:</span><span class="o"><</span><span class="n">SHA1</span> <span class="nb">hash</span> <span class="n">of</span> <span class="nb">object</span><span class="o">></span> <span class="p">},</span> <span class="s1">'dateSysMetadataModified'</span><span class="p">:</span><span class="o"><</span><span class="n">DateTime</span><span class="o">></span><span class="p">,</span> <span class="s1">'size'</span><span class="p">:</span><span class="o"><</span><span class="n">integer</span><span class="o">></span> <span class="p">},</span> <span class="o">...</span> <span class="p">]</span> <span class="p">}</span> </pre></div> </div> </div> <div class="section" id="csv"> <h3>CSV<a class="headerlink" href="#csv" title="Permalink to this headline">¶</a></h3> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1">#<start>,<count>,<total></span> <span class="n">identifier</span><span class="p">,</span><span class="n">objectFormat</span><span class="p">,</span><span class="n">algorithm</span><span class="p">,</span><span class="n">checksum</span><span class="p">,</span><span class="n">dateSysMetadataModified</span><span class="p">,</span><span class="n">size</span> <span class="s2">"<identifier>"</span><span class="p">,</span><span class="s2">"<object class>"</span><span class="p">,</span><span class="s2">"<SHA-1 | SHA-224 | MD5 | ...>"</span><span class="p">,</span><span class="s2">"<SHA1 hash of object>"</span><span class="p">,</span><span class="s2">"<date time last modified>"</span><span class="p">,</span><span class="o"><</span><span class="n">byte</span> <span class="n">size</span> <span class="n">of</span> <span class="nb">object</span><span class="o">></span> </pre></div> </div> </div> <div class="section" id="xml"> <h3>XML<a class="headerlink" href="#xml" title="Permalink to this headline">¶</a></h3> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="o"><</span><span class="n">d1</span><span class="p">:</span><span class="n">listObjects</span> <span class="n">xmlns</span><span class="p">:</span><span class="n">d1</span><span class="o">=</span><span class="s2">"http://dataone.org/service/types/ListObjects/0.1"</span> <span class="n">xmlns</span><span class="p">:</span><span class="n">common</span><span class="o">=</span><span class="s2">"http://dataone.org/service/types/common/0.1"</span> <span class="n">xmlns</span><span class="p">:</span><span class="n">xsi</span><span class="o">=</span><span class="s2">"http://www.w3.org/2001/XMLSchema-instance"</span> <span class="n">count</span><span class="o">=</span><span class="s2">"_integer_"</span> <span class="n">start</span><span class="o">=</span><span class="s2">"_integer_"</span> <span class="n">total</span><span class="o">=</span><span class="s2">"_integer_"</span><span class="o">></span> <span class="o"><</span><span class="n">objectInfo</span><span class="o">></span> <span class="o"><</span><span class="n">identifier</span><span class="o">></span><span class="n">_identifier_</span><span class="o"></</span><span class="n">identifier</span><span class="o">></span> <span class="o"><</span><span class="n">objectFormat</span><span class="o">></span><span class="n">_object</span> <span class="n">class_</span><span class="o"></</span><span class="n">objectFormat</span><span class="o">></span> <span class="o"><</span><span class="n">checksum</span> <span class="n">algorithm</span><span class="o">=</span><span class="s1">'SHA-1 | SHA-224 | MD5 | ...'</span><span class="o">></span><span class="n">_hash</span> <span class="n">of</span> <span class="n">object_</span><span class="o"></</span><span class="n">checksum</span><span class="o">></span> <span class="o"><</span><span class="n">dateSysMetadataModified</span><span class="o">></span><span class="n">_date</span> <span class="n">time</span> <span class="n">last</span> <span class="n">modified_</span><span class="o"></</span><span class="n">dateSysMetadataModified</span><span class="o">></span> <span class="o"><</span><span class="n">size</span><span class="o">></span><span class="n">_byte</span> <span class="n">size</span> <span class="n">of</span> <span class="n">object_</span><span class="o"></</span><span class="n">size</span><span class="o">></span> <span class="o"></</span><span class="n">objectInfo</span><span class="o">></span> <span class="o">...</span> <span class="o"></</span><span class="n">d1</span><span class="p">:</span><span class="n">listObjects</span> </pre></div> </div> </div> <div class="section" id="html"> <h3>HTML<a class="headerlink" href="#html" title="Permalink to this headline">¶</a></h3> <div class="admonition-todo admonition" id="index-0"> <p class="first admonition-title">Todo</p> <p class="last">Define ObjectList rendering in HTML</p> </div> </div> </div> <div class="section" id="describeresponse"> <h2>DescribeResponse<a class="headerlink" href="#describeresponse" title="Permalink to this headline">¶</a></h2> <p>Returned in response to <code class="xref py py-func docutils literal"><span class="pre">MN_crud.describe()</span></code> which is called using the HTTP HEAD verb. As such, the response is entirely in the HTTP headers (no body).</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> <col class="field-body" /> <tbody valign="top"> <tr class="field-odd field"><th class="field-name">Content-Length:</th><td class="field-body"><code class="xref py py-attr docutils literal"><span class="pre">SystemMetadata.size</span></code></td> </tr> <tr class="field-even field"><th class="field-name">Last-Modified:</th><td class="field-body"><dateSysMetadataModified></td> </tr> <tr class="field-odd field"><th class="field-name" colspan="2">DataONE-ObjectFormat:</th></tr> <tr class="field-odd field"><td> </td><td class="field-body"><objectFormat></td> </tr> <tr class="field-even field"><th class="field-name" colspan="2">DataONE-Checksum:</th></tr> <tr class="field-even field"><td> </td><td class="field-body"><checksumAlgorithm>,<checksum></td> </tr> </tbody> </table> </div> <div class="section" id="identifier"> <h2>Identifier<a class="headerlink" href="#identifier" title="Permalink to this headline">¶</a></h2> <p>Returned as a simple string.</p> </div> <div class="section" id="systemmetadata"> <h2>SystemMetadata<a class="headerlink" href="#systemmetadata" title="Permalink to this headline">¶</a></h2> <p>Currently returned only in the XML form.</p> </div> <div class="section" id="objectlocationlist"> <h2>ObjectLocationList<a class="headerlink" href="#objectlocationlist" title="Permalink to this headline">¶</a></h2> <div class="section" id="id1"> <h3>JSON<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h3> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="p">{</span> <span class="s1">'identifier'</span><span class="p">:</span><span class="s1">'1234'</span><span class="p">,</span> <span class="s1">'locations'</span><span class="p">:</span> <span class="p">[</span> <span class="p">[</span><span class="s1">'mn1.dataone.org/mn'</span><span class="p">,</span> <span class="s1">'http://mn1.dataone.org/mn/object?id=1234'</span><span class="p">],</span> <span class="p">[</span><span class="s1">'mn2.dataone.org/some_base/mn'</span><span class="p">,</span> <span class="s1">'http://mn2.dataone.org/some_base/mn/object?id=1234'</span><span class="p">],</span> <span class="p">[</span><span class="s1">'cn.dataone.org/cn'</span><span class="p">,</span> <span class="s1">'http://cn.dataone.org/cn/object?id=1234'</span><span class="p">]</span> <span class="p">]</span> <span class="p">}</span> </pre></div> </div> </div> <div class="section" id="id2"> <h3>CSV<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h3> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1">#1234</span> <span class="n">node</span><span class="p">,</span><span class="n">url</span> <span class="s1">'mn1.dataone.org/mn'</span><span class="p">,</span><span class="s1">'http://mn1.dataone.org/mn/object?id=1234'</span> <span class="s1">'mn2.dataone.org/some_base/mn'</span><span class="p">,</span><span class="s1">'http://mn2.dataone.org/some_base/mn/object?id=1234'</span> <span class="s1">'cn.dataone.org/cn'</span><span class="p">,</span><span class="s1">'http://cn.dataone.org/cn/object?id=1234'</span> </pre></div> </div> </div> <div class="section" id="id3"> <h3>XML<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="o"><</span><span class="n">locations</span> <span class="n">identifier</span><span class="o">=</span><span class="s1">'1234'</span><span class="o">></span> <span class="o"><</span><span class="n">location</span> <span class="n">node</span><span class="o">=</span><span class="s1">'mn1.dataone.org/mn'</span> <span class="n">href</span><span class="o">=</span><span class="s1">'http://mn1.dataone.org/mn/object?id=1234'</span> <span class="o">/></span> <span class="o"><</span><span class="n">location</span> <span class="n">node</span><span class="o">=</span><span class="s1">'mn2.dataone.org/some_base/mn'</span> <span class="n">href</span><span class="o">=</span><span class="s1">'http://mn1.dataone.org/some_base/mn/object?id=1234'</span> <span class="o">/></span> <span class="o"><</span><span class="n">location</span> <span class="n">node</span><span class="o">=</span><span class="s1">'cn.dataone.org/cn'</span> <span class="n">href</span><span class="o">=</span><span class="s1">'http://cn.dataone.org/cn/object?id=1234'</span> <span class="o">/></span> <span class="o"></</span><span class="n">locations</span><span class="o">></span> </pre></div> </div> </div> <div class="section" id="id4"> <h3>HTML<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h3> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">...</span> <span class="o"><</span><span class="n">ol</span> <span class="n">identifier</span><span class="o">=</span><span class="s1">'1234'</span><span class="o">></span> <span class="o"><</span><span class="n">a</span> <span class="n">href</span><span class="o">=</span><span class="s1">'http://mn1.dataone.org/mn/object?id=1234'</span><span class="o">></span><span class="n">mn1</span><span class="o">.</span><span class="n">dataone</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">mn</span><span class="o"></</span><span class="n">a</span><span class="o">></span> <span class="o"><</span><span class="n">a</span> <span class="n">href</span><span class="o">=</span><span class="s1">'http://mn2.dataone.org/some_base/mn/object?id=1234'</span><span class="o">></span><span class="n">mn1</span><span class="o">.</span><span class="n">dataone</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">some_base</span><span class="o">/</span><span class="n">mn</span><span class="o"></</span><span class="n">a</span><span class="o">></span> <span class="o"><</span><span class="n">a</span> <span class="n">href</span><span class="o">=</span><span class="s1">'http://cn.dataone.org/cn/object?id=1234'</span><span class="o">></span><span class="n">cn</span><span class="o">.</span><span class="n">dataone</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">cn</span><span class="o"></</span><span class="n">a</span><span class="o">></span> <span class="o"></</span><span class="n">ol</span><span class="o">></span> <span class="o">...</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="#">Serialization of Types for Transfer Over HTTP</a><ul> <li><a class="reference internal" href="#boolean">Boolean</a></li> <li><a class="reference internal" href="#objectlist">ObjectList</a><ul> <li><a class="reference internal" href="#json">JSON</a></li> <li><a class="reference internal" href="#csv">CSV</a></li> <li><a class="reference internal" href="#xml">XML</a></li> <li><a class="reference internal" href="#html">HTML</a></li> </ul> </li> <li><a class="reference internal" href="#describeresponse">DescribeResponse</a></li> <li><a class="reference internal" href="#identifier">Identifier</a></li> <li><a class="reference internal" href="#systemmetadata">SystemMetadata</a></li> <li><a class="reference internal" href="#objectlocationlist">ObjectLocationList</a><ul> <li><a class="reference internal" href="#id1">JSON</a></li> <li><a class="reference internal" href="#id2">CSV</a></li> <li><a class="reference internal" href="#id3">XML</a></li> <li><a class="reference internal" href="#id4">HTML</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"><no title></a><ul> <li>Previous: <a href="UseCases/22_uc.html" title="previous chapter">Use Case 22 - Link/Citation Report for Owner</a></li> <li>Next: <a href="logging.html" title="next chapter">Event Logging and Reporting</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"> © Copyright <a href="http://www.dataone.org">2009-2017, DataONE</a>. [ <a href="../_sources/design/Serialization.txt" rel="nofollow">Page Source</a> | <a href='https://redmine.dataone.org/projects/d1/repository/changes/documents/Projects/cicore/architecture/api-documentation/source/design/Serialization.txt' rel="nofollow">Revision History</a> ] </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>