Difference between revisions of "EPData XML Representation"

From EPrints Documentation
Jump to: navigation, search
Line 1: Line 1:
 
Warning! This is just a place-holder while I investigate whether its practical to register a MIME-type.
 
Warning! This is just a place-holder while I investigate whether its practical to register a MIME-type.
 +
 +
=== Specification ===
 +
 +
EPData XML is a recursive structure where an object is represented by a root element named as the dataset-class e.g. '''eprint''' becomes '''<eprint>'''. Each object may contain zero or more elements representing a single metadata field each e.g. '''eprint.title''' becomes '''<title>'''. A metafield may be of type '''Subobject''' in which case it will contain embedded objects.
 +
 +
Multiple metadata values are represented by zero or more '''<item>''' elements directly below the metadata field element.
 +
 +
<DATASETID + 's'>
 +
  <DATASETID>
 +
  <METAFIELDID>
 +
    <item>{basic XML type or complex value}</item>
 +
  </METAFIELDID>
 +
  <METAFIELDID>
 +
    <DATASETID>...</DATASETID>
 +
  </METAFIELDID>
 +
  </DATASETID>
 +
</DATASETID + 's'>
 +
 +
Note: we may change the root element to be a generic term to allow a mixture of dataset-classes.
  
 
=== Example ===
 
=== Example ===

Revision as of 12:49, 27 May 2011

Warning! This is just a place-holder while I investigate whether its practical to register a MIME-type.

Specification

EPData XML is a recursive structure where an object is represented by a root element named as the dataset-class e.g. eprint becomes <eprint>. Each object may contain zero or more elements representing a single metadata field each e.g. eprint.title becomes <title>. A metafield may be of type Subobject in which case it will contain embedded objects.

Multiple metadata values are represented by zero or more <item> elements directly below the metadata field element.

<DATASETID + 's'>
 <DATASETID>
  <METAFIELDID>
   <item>{basic XML type or complex value}</item>
  </METAFIELDID>
  <METAFIELDID>
   <DATASETID>...</DATASETID>
  </METAFIELDID>
 </DATASETID>
</DATASETID + 's'>

Note: we may change the root element to be a generic term to allow a mixture of dataset-classes.

Example

 Content-Type: application/vnd.eprints.data+xml; charset="utf-8"

 <?xml version='1.0' encoding='utf-8'?>
 <eprints xmlns='http://eprints.org/ep2/data/2.0'>
  <eprint id='http://yomiko.ecs.soton.ac.uk:8080/id/eprint/10'>
    <eprintid>10</eprintid>
    <rev_number>18</rev_number>
    <eprint_status>archive</eprint_status>
    <dir>disk0/00/00/00/10</dir>
    <datestamp>2010-08-10 15:34:04</datestamp>
    <lastmod>2011-05-17 15:16:20</lastmod>
    <status_changed>2011-05-17 13:44:44</status_changed>
    <type>teaching_resource</type>
    <metadata_visibility>show</metadata_visibility>
    <item_issues_count>0</item_issues_count>
    <userid>1</userid>
    <creators>
      <item>
        <name>
          <family>Ποια</family>
          <given>Debitis</given>
        </name>
      </item>
      <item>
        <name>
          <family>Dolorem</family>
          <given>Blénken</given>
        </name>
      </item>
      <item>
        <name>
          <family>Колёса</family>
          <given>As</given>
        </name>
      </item>
      <item>
        <name>
          <family>Βάζοντας</family>
          <given>मुश्किल</given>
        </name>
      </item>
    </creators>
    <title>HIC HIC Koum et τοπικές hic</title>
    <ispublished>pub</ispublished>
    <subjects>
      <item>PZ</item>
      <item>AZ</item>
      <item>PM</item>
      <item>LB2361</item>
    </subjects>
    <full_text_status>public</full_text_status>
    <abstract>" '^M
^M
\ /^M
^M
Aut do och Чем modi. Φακέλους et Scholl itaque αρέσει rerum tenetur हुएआदि. Similque команда voluptas или quidem schaddreg voluptatum ίδιο. Nulla animi νέα συνηθίζουν d'Loft inventore quis.^M
^M
Expedita praesentium σημαίνει Нее rei sed et стратегические. Doloribus alias प्रा ea reiciendis Frot. Molestiae αντιλήφθηκαν μου enim. Tenetur πως отнимет во. Nihil voluptatum nobis dolorum laudantium cum Jo τι.</abstract>
    <date>1961</date>
    <publication>आंतरजाल ποια De impedit och आंतरजाल Чем नयेलिए nesciunt.</publicat>onn
    <refereed>TRUE</refereed>
  </eprint>
 </eprints>
 

IETF-Registration Draft

Media Type Name: application


Subtype name: vnd.eprints.data+xml


Required parameters: None


Optional parameters: charset

Same as charset parameter of application/xml as specified in RFC 3023.


Optional parameters: files

If "files=embed" the content includes file data embedded using Base64
encoding.


Encoding considerations:

Same as encoding considerations of application/xml as specified in RFC 3023.


Security considerations:

In addition to those of application/xml as specified in RFC 3023, section
10; the format may contain URL-references that are retrieved and embedded in
the resulting digital object. If the EPrints recipient is configured to
allow it these URLs may be retrieved from remote systems (via HTTP) or the
recipient's file system.


Interoperability considerations: None

 
Published specification: http://wiki.eprints.org/EPData_XML_Representation


Applications which use this media type: EPrints http://www.eprints.org/


Additional information: Same as additional information of application/xml as
specified in RFC 3023.


Intended usage:

XML serialisation of EPrints Data (or "EPData") for the import/export of the
complete record. This is principally for internal use in the system e.g. for
ingesting the results of XSL transforms from standardised XML formats. The
mime-type is necessary to support correct content-type negotiation when
using the EPrints REST interface.


Author/Change controller:

EPrints http://www.eprints.org/

Tim Brody <tdb2@ecs.soton.ac.uk>