Serialization of Types for Transfer Over HTTP --------------------------------------------- Boolean ~~~~~~~ When the response is simply a boolean True or False, the response returned is in one of two forms: a) For cases where false is a valid response: a single character "1" if *True*, or "0" if *False* b) For cases where false coincides with a DataONE exception: an arbitrary body if *True* (ignored by caller), and an error-indicating HTTP status code and serialized error object if *False*. ObjectList ~~~~~~~~~~ JSON .... :: { 'start': , 'count': , 'total': , 'objectInfo': [ { 'identifier':, 'objectFormat':, 'checksum': { 'algorithm':, 'value': }, 'dateSysMetadataModified':, 'size': }, ... ] } CSV ... :: #,, identifier,objectFormat,algorithm,checksum,dateSysMetadataModified,size "","","","","", XML ... :: _identifier_ _object class_ _hash of object_ _date time last modified_ _byte size of object_ ... :DataONE-ObjectFormat: :DataONE-Checksum: , Identifier ~~~~~~~~~~ Returned as a simple string. SystemMetadata ~~~~~~~~~~~~~~ Currently returned only in the XML form. ObjectLocationList ~~~~~~~~~~~~~~~~~~ JSON .... :: { 'identifier':'1234', 'locations': [ ['mn1.dataone.org/mn', 'http://mn1.dataone.org/mn/object?id=1234'], ['mn2.dataone.org/some_base/mn', 'http://mn2.dataone.org/some_base/mn/object?id=1234'], ['cn.dataone.org/cn', 'http://cn.dataone.org/cn/object?id=1234'] ] } CSV ... :: #1234 node,url 'mn1.dataone.org/mn','http://mn1.dataone.org/mn/object?id=1234' 'mn2.dataone.org/some_base/mn','http://mn2.dataone.org/some_base/mn/object?id=1234' 'cn.dataone.org/cn','http://cn.dataone.org/cn/object?id=1234' XML ... :: HTML .... :: ...
    mn1.dataone.org/mn mn1.dataone.org/some_base/mn cn.dataone.org/cn
...