TNS Internal:NDR/API/2.0/specification/listMetadataRecords

From NSDLWiki

Jump to: navigation, search


 NDR Project Documentation   Conceptual Framework   v1.0 NDR-API Index   v2.0 NDR-API Index   Model 

Under Construction
Proposed method for inclusion in NDR/API 2.x.

Please provide feedback and comments in the NSDL Data Repository (NDR) API 2.0 Forum of the NSDL Community Forums.


NDR API Documentation - listMetadataRecords

List metadata records controlled by an application optionally limiting to a specified Collection.



Request URL

http://ndr.nsdlib.org/api/listMetadataRecords/[handle]?XMLFormat=[XMLFormat]&pageSize=[pageSize]
where [handle][XMLFormat], and [pageSize] are defined in the Arguments section.
May be an HTTP GET or POST request.


Arguments

Parameters on Request URL:

  • [handle] (optional) - the externally resolvable identifier of the collection holding the metadata records to be listed (returned by addCollection)
  • [XMLFormat] (optional) - id of the format in which the metadata will be returned transforming if necessary (defaults to native format passed in during addMetadataRecord) NOTE: requires registration of transform in advance
  • [pageSize] (optional) - number of records to return at a time. If smaller than that total number of matching records, a resumption token will be provided.



Request URL Example

Below is an example of a request URL for listing metadata records.

http://ndr.nsdlib.org/api/listMetadataRecords/2200/20061212543?XMLFormat=nsdl_dc




Response

Structure of response:

  • additional primary elements
    • resumptionToken - used to get the next page of records NOTE: empty if this is the last page
    • currentPage - page count of the current set of returned records
    • recordsInCurrentPage - count of the number of records returned in this page
    • totalNumberOfPages - number of pages holding all records matching the request
    • totalNumberOfRecords - total number of records matching the request
  • each metadata record
    • header
      • handle - the externally resolvable identifier for the Metadata.
      • handleURL - the permanent URL to an XML representation of the metadata record in the NDR.
      • externalIdentifier - application specific identifier that can be stored to facilitate retrieval by applications
      • XMLFormat - id of the format of the returned metadata
      • resourceHandle - the externally resolvable identifier for the Resource this metadata describes.
      • resourceURL - URL to the web resource.
      • collectionName - name of the collection that holds this metadata record
      • collectionHandle - the externally resolvable identifier for the Collection
      • agentName - name of the agent application responsible for the Collection that holds this metadata record
      • agentHandle - the externally resolvable identifier for the Agent
    • metadataXML - the metadata record in the requested format
    • annotatedBy - annotations for the metadata record


Response Example

Below is an example response for this request.

<?xml version="1.0" encoding="UTF-8"?>
<NSDLDataRepository schemaVersion="1.00.000" 
    xmlns="http://ns.nsdlib.org/ndr/response_v2.00/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://ns.nsdlib.org/ndr/response_v2.00/ http://ns.nsdlib.org/schemas/ndr/response_v2.00.xsd">
  <responseTime>2006-04-10T18:07:53Z</responseTime>
  <requestURL>http://ndr.nsdlib.org/api/listMetadataRecords/[handle]?XMLFormat=[XMLFormat]&pageSize=[pageSize]</requestURL>
  <resumptionToken>http://ndr.nsdlib.org/api/listMetadataRecords/2200/20061212543?XMLFormat=nsdl_dc&pageSize=2&page=4</resumptionToken>   
  <currentPage>3</currentPage>
  <recordsInCurrentPage>2</recordsInCurrentPage>
  <totalNumberOfPages>29</totalNumberOfPages>
  <totalNumberOfRecords>57</totalNumberOfRecords>
  <resultData>
    <record>
      <header>
        <handle>2200/20061212656</handle>
        <handleURL>http://ndr.nsdlib.org/api/getMetadataRecord/2200/20061212656</handleURL>
        <externalIdentifier source="NCS">CLC-000-000-000-061</externalIdentifier>
        <XMLFormat>nsdl_dc</XMLFormat>
        <resourceHandle>2200/2006334290</resourceHandle>
        <resourceURL>http://www.frankenstein.org/autobiography</resourceURL>
        <collectionName>Concepts Library Collaborative</collectionName>
        <collectionHandle>2200/20061258473</collectionHandle>
        <agentName>NCS</agentName>
        <agentHandle>2200/20061857483</agentHandle>
      </header>
      <metadataXML>
        <nsdl_dc:nsdl_dc 
            xmlns:nsdl_dc="http://ns.nsdl.org/nsdl_dc_v1.02/" 
            schemaVersion="1.02.000" 
            xmlns:dc="http://purl.org/dc/elements/1.1/" 
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
            xsi:schemaLocation="http://ns.nsdl.org/nsdl_dc_v1.02/ http://ns.nsdl.org/schemas/nsdl_dc/nsdl_dc_v1.02.xsd"> 
          <dc:title>My life: a Monster's Story.</nowiki></dc:title> 
          <dc:description>The story of Frankenstein, blah blah blah.</dc:description> 
          <dc:identifier>http://www.frankenstein.org/autobiography</dc:identifier> 
          <dc:creator>Baron Von Frankenstein</dc:creator> 
          <dc:author>Mary Shelly</dc:author> 
        </nsdl_dc:nsdl_dc>   
      </metadataXML>
      <annotatedBy>
        ... schema TBA ...
      </annotatedBy>
    </record>
    <record>
      <header>
        <handle>2200/20061212656</handle>
        <handleURL>http://ndr.nsdlib.org/api/getMetadataRecord/2200/20061293824</handleURL>
        <externalIdentifier source="NCS">CLC-000-000-000-062</externalIdentifier>
        <XMLFormat>nsdl_dc</XMLFormat>
        <resourceHandle>2200/2006389336</resourceHandle>
        <resourceURL>http://www.caspertheghost.org/autobiography</resourceURL>
        <collectionName>Concepts Library Collaborative</collectionName>
        <collectionHandle>2200/20061258473</collectionHandle>
        <agentName>NCS</agentName>
        <agentHandle>2200/20061857483</agentHandle>
      </header>
      <metadataXML>
        <nsdl_dc:nsdl_dc 
            xmlns:nsdl_dc="http://ns.nsdl.org/nsdl_dc_v1.02/" 
            schemaVersion="1.02.000" 
            xmlns:dc="http://purl.org/dc/elements/1.1/" 
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
            xsi:schemaLocation="http://ns.nsdl.org/nsdl_dc_v1.02/ http://ns.nsdl.org/schemas/nsdl_dc/nsdl_dc_v1.02.xsd"> 
          <dc:title>My life: a Ghost's Story.</nowiki></dc:title> 
          <dc:description>The story of Casper, blah blah blah.</dc:description> 
          <dc:identifier>http://www.caspertheghost.org/autobiography</dc:identifier> 
          <dc:creator>Baron Von Casper</dc:creator> 
          <dc:author>Casper McFadden</dc:author> 
        </nsdl_dc:nsdl_dc>   
      </metadataXML>
      <annotatedBy />
    </record>
  <resultData>
</NSDLDataRespository>



API Links:


Additional Links Related to This Call:

Personal tools