Listsets

select by: setSpec
ordered by: setSpec
requred fields: setSpec, setxml

returns setxml:
<set>
    <setSpec>
        (the set spec, with hierachy indicated via colons)
        Ingest: DB_Insert:namingAuthority
        Database: AGGREGATION_INFO_TBL: NAMING_AUTHORITY
    </setSpec>
    <setName>
        (the set pretty name -- human readable short desc)
        Ingest: DB_Insert:OAIsetPrettyName
        Database: AGGREGATION_INFO_TBL: OAI_SET_NAME
    </setName>
    <setDescription>
        <oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
                          xmlns:dc="http://purl.org/dc/elements/1.1/"
                          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                          xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
            <dc:title>
                (Title of primary collection record)
                Ingest: dc:title
                Database: ELEMENT_TBL: Title Element
            </dc:title>
            <dc:identifier>
                (full OAI identifier of primary collection record)
                Ingest: DB_Insert:namingAuthority + ":" + DB_Insert:reharvestID
                Database: MREC_TBL: NSDL_UNIQUE_ID
            </dc:identifier>
        </oai_dc:dc>
    </setDescription>
</set>

ListMetadataFormats

select by: NA
order by: mdfPrefix
requred fields: mdfPrefix, mdfxml

returns mdfxml:
<metadataFormat>
    <metadataPrefix>
        (oai md prefix string)
       
Database: XML_SCHEMA_TBL: SCHEMA_NS_PREFIX
    </metadataPrefix>
    <schema>
        (schema location URL)
        Database: XML_SCHEMA_TBL: SCHEMA_LOCATION
    </schema>
    <metadataNamespace>
        (URI for namespace)
        Database: XML_SCHEMA_TBL: SCHEMA_NS_URI
    </metadataNamespace>
</metadataFormat>


ListItemMetadataFormats

select by: NSDL uniqueID
order by: NA
requred fields: NSDLUniqueID, mdfxml

returns mdfxml:
see mdfxml above


ListIdentifiers

select by: NSDL UniqueID and metadataPrefix and (setspec and/or (from, until))
order by: NSDL UniqueID
requred fields: NSDLUniqueID, mdfPrefix, setspec, datestamp, headerxml

returns headerxml:
<header>
    <identifier>
         (our oai identifier, e.g. "oai:nsdl.org:nsdl.nsdl:00117")
        Ingest: DB_Insert:namingAuthority + ":" + DB_Insert:reharvestID
        Database: MREC_TBL: NSDL_UNIQUE_ID
    </identifier>
    <datestamp>
        (lastUpdated date)
        Database: MREC_TBL: LAST_UPDATE_DATE
    </datestamp>
    <setSpec>
         (setSpec of the primary collection)
        Ingest: DB_Insert:parentNamingAuthority
        Database: OAI_SET_TBL: OAI_SET_SPEC (preferred)
        Database: AGGREGATION_INFO_TBL: NAMING_AUTHORITY
        the following query will retrieve the parent naming authority of any metadata record:
        SELECT AGGREGATION_INFO_TBL.NAMING_AUTHORITY
        FROM (NSDL_LINK_TBL INNER JOIN (MREC_TBL INNER JOIN AGGREGATION_INFO_TBL ON MREC_TBL.MREC_ID = AGGREGATION_INFO_TBL.MREC_ID) ON NSDL_LINK_TBL.PARENT_ID = MREC_TBL.MREC_ID) INNER JOIN MREC_TBL AS MREC_TBL_1 ON NSDL_LINK_TBL.CHILD_ID = MREC_TBL_1.MREC_ID
        WHERE (((NSDL_LINK_TBL.LINK_SEQ)=1) AND ((MREC_TBL_1.MREC_ID)=5033))
    </setSpec>
</header>

for DELETED records:
<header status="deleted">
     see headerxml above for XML
</header>


GetRecord

select by: NSDL UniqueID and mdfprefix
order by: NA
requred fields: NSDLUniqueID, mdfPrefix, recordxml

returns recordxml:
(note: sample NSDL_ALL record follows)
<record>
    <header>(see headerxml above)</header>
    <metadata>
        <nsdl_all:nsdl_all xsi:schemaLocation="http://www.nsdl.org/ns/NSDL_all http://www.nsdl.org/ns/NSDL_all.xsd"
                                      xmlns:nsdl_all="http://www.nsdl.org/ns/NSDL_all">
            <nsdl_dc:dc xsi:schemaLocation="http://www.nsdl.org/ns/NSDL_DC http://www.nsdl.org/ns/NSDL_DC.xsd"
                                  xmlns:nsdl_dc="http://www.nsdl.org/ns/NSDL_DC"
                                  xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/">
                (nsdl_dc record elements -- from elements table -- inserted here)
            </nsdl_dc:dc>

            <nsdl_all:public>
                <marc:record xmlns:marc="http://www.loc.gov/MARC21/slim"
                                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                        xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd">
                    (Native marc record inserted here)
                </marc:record>
            </nsdl_all:public>
        </nsdl_all:nsdl_all>
    </metadata>

    <about>
        <nsdl xsi:schemaLocation="http://www.nsdl.org/ns/OAIAbout_nsdl http://www.nsdl.org/ns/OAIAbout_nsdl.xsd"
                  xmlns="http://www.nsdl.org/ns/OAIAbout_nsdl">
        <brand>
            <iconURL>
                (public URL of brand icon)
                Ingest: DB_Insert:brandIconURL
                Database: AGGREGATION_INFO_TBL: BRAND_URL
             </iconURL>
            <title>
                (alternative text for brand icon)
                Ingest: DB_Insert:brandTitle
                Database: AGGREGATION_INFO_TBL: BRAND_TITLE
             </title>
            <width>
                (width of brand icon in pixels)
                Ingest: DB_Insert:brandWidth
                Database: AGGREGATION_INFO_TBL: BRAND_WIDTH
             </width>
            <height>
                (height of brand icon in pixels)
                Ingest: DB_Insert:brandHeight
                Database: AGGREGATION_INFO_TBL: BRAND_HEIGHT
             </height>
        </brand>
        <category>
             (NSDL service category of this record, i.e. item)
            Ingest: DB_Insert:category
            Database: AGGREGATION_INFO_TBL: AGGREGATION_CATEGORY_ID joined to RECORD_CATEGORY_TBL: CATEGORY_NAME
        </category>
        <firstCreated scheme="W3CDTF">
             (date/time when this record is first placed into MR db)
            Database: MREC_TBL: NSDL_CREATE_DATE
        </firstCreated>

        <link linktype=Database: NSDL_LINK_TBL: LINK_TYPE_ID joined to LINK_TYPE_TBL: LINK_TYPE_NAME" >
             (links to other records within the MR, each identified by NSDL_UNIQUE_ID, i.e. nsdl.nsdl:12345. There may be many link elements)

             (NSDL unique ID of record linked to)
             Ingest: DB_Insert:namingAuthority + ":" + DB_Insert:reharvestID
             Database: MREC_TBL: NSDL_UNIQUE_ID
         </link>
        <primaryIdentifier scheme="URI">
             (URL that will be associated with this record)
            Ingest: DB_Insert:primaryIdentifier
            Database: MREC_TBL: PRIMARY_ID
        </primaryIdentifier>

    </about>
    <about>
        <provenance xsi:schemaLocation="http://www.nsdl.org/ns/OAIAbout_provenance http://www.nsdl.org/ns/OAIAbout_provenance.xsd"
                               xmlns="http://www.nsdl.org/ns/OAIAbout_provenance">
            <originDescription
                     harvestDate=(date this record was harvested)
                                            Ingest: DB_Insert:harvestDate
                                            Database: MREC_TBL: LAST_INGEST_DATE
                     altered="true" (always true)>
                <harvestType>
                     (how this record was harvested)
                    Ingest: DB_Insert:harvestType
                    Database: MREC_TBL: HARVEST_TYPE
                </harvestType>
                <dataSource
                    public=(if data source is publicly accessible -- yes, else no)>
                                Ingest: DB_Insert:harvestDataSource attribute: public
                                Database: MREC_TBL: HARVEST_DATA_SOURCE_PUBLIC
                    (URI of datasource file or URL of OAI repository)
                    Ingest: DB_Insert:harvestDataSource
                    Database: MREC_TBL: HARVEST_DATA_SOURCE
                </dataSource>
                <identifier>
                    (original ID of source metadata record)
                    Ingest: DB_Insert:secondaryID
                    Database: MREC_TBL: SECONDARY_ID
                </identifier>
                <datestamp>
                    (date/time of source metadata record)
                    Ingest: DB_Insert:origRecordUpdated
                    Database: MREC_TBL: ORIGINAL_MOD_DATE
                </datestamp>
                <metadataNamespace>
                    (metadata namespace of source metadata record)
                    Ingest: DB_Insert:sourceMetadataNamespace
                    Database: MREC_TBL: SOURCE_METADATA_NAMESPACE
                </metadataNamespace>
            </originDescription>
        </provenance>
    </about>
</record>

for DELETED records:
<record>
     <header status="deleted">
         see headerxml above for XML
     </header>
</record>

ListRecords

select by: NSDL UniqueID and metadataPrefix and (setspec and/or (from, until))
order by: NSDL UniqueID
requred fields: NSDLUniqueID, mdfPrefix, setspec, datestamp, recordxml

returns recordxml:
see recordxml above

for DELETED records:
see recordxml above