Publishing Based on Data Provider

Similar documents
SMS Proxy User s Guide

Staff User s Guide Task Manager. Version 22

MetaLib+ Configuration Guide. Version 1.0

System Librarian s Guide Task Manager. Version 23

Voyager ILL 6.5 Release Notes

Dawson Shelf Ready Best Practices

Rosetta 5.4 Service Pack Installation Guide

How to Install Oracle Database 10g

How to Convert Aleph GUI Help Files from WinHelp to HTMLHelp

Metadata Harvesting Framework

Staff User s Guide Serials. Version 22

bx-sfx Configuration Guide bx Version 1.0

IMu OAI-PMH Web Service

Version 2 of the OAI-PMH & some other stuff

Global Data Change. Version 8.2

Requirements for Rosetta Installation. Version 5.x

Staff User s Guide Integrated ILL. Version 22

What You Need to Know About Addressing GDPR Data Subject Rights in Pivot

OAI-PMH repositories: Quality issues regarding metadata and protocol compliance

Problem: Solution: No Library contains all the documents in the world. Networking the Libraries

OAI-PMH. DRTC Indian Statistical Institute Bangalore

Requirements for Aleph Installation. Version 23

Normalization Rules 1

Using metadata for interoperability. CS 431 February 28, 2007 Carl Lagoze Cornell University

Introduction to the OAI Protocol for Metadata Harvesting Version 2.0. Hussein Suleman Virginia Tech DLRL 17 June 2002

Voyager Automated Retrieval System (ARS)

CodeSharing: a simple API for disseminating our TEI encoding. Martin Holmes

IVOA Registry Interfaces Version 0.1

Patron Directory Services Guide. Versions 1.3 & 2.x


OAI-PMH implementation and tools guidelines

The Open Archives Initiative Protocol for Metadata Harvesting: An Introduction

Aleph 20 Release Notes

Exposing and Harvesting Metadata Using the OAI Metadata Harvesting Protocol: A Tutorial

ALEPH VERSION Staff User s Guide - Task Manager

System Librarian s Guide - Indexing. Version 23

The Aleph Service Pack Mechanism- Post Release SP Version 20

Harvesting Statistical Metadata from an Online Repository for Data Analysis and Visualization

NEEO TECHNICAL GUIDELINES FOR THE

The Open Archives Initiative Protocol for Metadata Harvesting

Building Interoperable and Accessible ETD Collections: A Practical Guide to Creating Open Archives

Harvester Service Technical and User Guide 5 June 2008

Open Archives Initiative protocol development and implementation at arxiv

System Librarian s Guide Web OPAC. Version 21

Advanced PDS Topics. Andrew Walsh Team Lead, NA Primo Support Teams

Tutorial. Open Archive Initiative

Indonesian Citation Based Harvester System

Building Interoperable Digital Libraries: A Practical Guide to creating Open Archives

System Administration: Cause and Effect: Cataloging. Donna Smith Training & Implementation Consultant

Resource Management Guide. Version 4.x

System Librarian s Guide - Cataloging. Version 23

Staff User s Guide Authorities. Version 20

How to Create Links Between BIB Records. Version 21

Network Information System. NESCent Dryad Subcontract (Year 1) Metacat OAI-PMH Project Plan 25 February Mark Servilla

Chuck Cartledge, PhD. 25 February 2018

Creating a National Federation of Archives using OAI-PMH

Integrating Access to Digital Content

Staff User s Guide General. Version 21

METALIB VERSION 4 How to Remove MetaLib Version 3

Appendix REPOX User Manual

HYCU SCOM Management Pack for F5 BIG-IP

Outline of the course

System Librarian s Guide - Circulation. Version 22

Opening Your Content to Metasearch Services: The Bepress and Ex Libris Experience. Karen Groves MetaLib Product Manager

OAI Static Repositories (work area F)

Ex Libris Security Incident Response Policy

Terms of Use. Changes. General Use.

Cisco Unified Workforce Optimization

An introduction to OAI-PMH

Publications Repository Based on OAI-PMH 2.0 Using Google App Engine

User Manual Arabic Name Romanizer Name Geolocation System

Staff User s Guide Web OPAC. Version 22

USER DOCUMENTATION. How to Export HOL Records Using p_export_02

Mile Terms of Use. Effective Date: February, Version 1.1 Feb 2018 [ Mile ] Mileico.com

NEXT GENERATION FIREWALL. Tested Products. Environment. SonicWall Security Value Map (SVM) JULY 11, 2017 Author Thomas Skybakmoen

Voyager Server Administration. Jesse Jensen Voyager Technical Team Lead

Primo Best Practices. Andrew Walsh Team Lead, NA Primo Support Teams

Developing an Institutional Repository Service in Chinese Academy of Sciences

Harvesting Metadata Using OAI-PMH

Compatibility Matrix. Good Control and Good Proxy. June 4, 2018

OAI (Open Archives Initiative) Suite Version 3.0. Introductory Guide for New Users

USER DOCUMENTATION. ALEPH Z39.50 Client Conformance to Bath Profile 2.0

MyCreditChain Terms of Use

Taking D2D Services to the Users with OpenURL, RSS, and OAI-PMH. Chuck Koscher Technology Director, CrossRef

Open Archives Initiative Object Reuse & Exchange. Resource Map Discovery

Enabler Release Definition for Standard Transcoding Interface

Enriched Primo Browse from Aleph at CUNY

Cisco Unified Workforce Optimization

The Open Archives Initiative and the Sheet Music Consortium

Open Archives Initiative Object Reuse & Exchange. Resource Map Discovery

MySonicWall Secure Upgrade Plus

The Observation of Bahasa Indonesia Official Computer Terms Implementation in Scientific Publication

Use the J2EE SOAP Adapter

RVOT: A Tool For Making Collections OAI-PMH Compliant

Orbis Cascade Alliance Content Creation & Dissemination Program Digital Collections Service. Enabling OAI & Mapping Fields in Digital Commons

Metadata. hussein suleman uct cs honours 2009

ALEPH VERSION Staff User s Guide - Serials

Applying SOAP to OAI-PMH

Corso di Biblioteche Digitali

Design of The PORTA EUROPA Portal (PEP) Pilot Project

Transcription:

Publishing Based on Data Provider Version 16 and later Please note: Implementation of the following OAI tools requires an additional license agreement with Ex Libris. To learn more about licensing this functionality, please contact your regional sales representative for details and pricing.

CONFIDENTIAL INFORMATION The information herein is the property of Ex Libris Ltd. or its affiliates and any misuse or abuse will result in economic loss. DO NOT COPY UNLESS YOU HAVE BEEN GIVEN SPECIFIC WRITTEN AUTHORIZATION FROM EX LIBRIS LTD. This document is provided for limited and restricted purposes in accordance with a binding contract with Ex Libris Ltd. or an affiliate. The information herein includes trade secrets and is confidential. DISCLAIMER The information in this document will be subject to periodic change and updating. Please confirm that you have the most current documentation. There are no warranties of any kind, express or implied, provided in this documentation, other than those expressly agreed upon in the applicable Ex Libris contract. This information is provided AS IS. Unless otherwise agreed, Ex Libris shall not be liable for any damages for use of this document, including, without limitation, consequential, punitive, indirect or direct damages. Any references in this document to third-party material (including third-party Web sites) are provided for convenience only and do not in any manner serve as an endorsement of that third-party material or those Web sites. The third-party materials are not part of the materials for this Ex Libris product and Ex Libris has no liability for such materials. TRADEMARKS "Ex Libris," the Ex Libris bridge, Primo, Aleph, Alephino, Voyager, SFX, MetaLib, Verde, DigiTool, Preservation, URM, Voyager, ENCompass, Endeavor ezconnect, WebVoyage, Citation Server, LinkFinder and LinkFinder Plus, and other marks are trademarks or registered trademarks of Ex Libris Ltd. or its affiliates. The absence of a name or logo in this list does not constitute a waiver of any and all intellectual property rights that Ex Libris Ltd. or its affiliates have established in any of its products, features, or service names or logos. Trademarks of various third-party products, which may include the following, are referenced in this documentation. Ex Libris does not claim any rights in these trademarks. Use of these marks does not imply endorsement by Ex Libris of these third-party products, or endorsement by these third parties of Ex Libris products. Oracle is a registered trademark of Oracle Corporation. UNIX is a registered trademark in the United States and other countries, licensed exclusively through X/Open Company Ltd. Microsoft, the Microsoft logo, MS, MS-DOS, Microsoft PowerPoint, Visual Basic, Visual C++, Win32, Microsoft Windows, the Windows logo, Microsoft Notepad, Microsoft Windows Explorer, Microsoft Internet Explorer, and Windows NT are registered trademarks and ActiveX is a trademark of the Microsoft Corporation in the United States and/or other countries. Unicode and the Unicode logo are registered trademarks of Unicode, Inc. Google is a registered trademark of Google, Inc. Copyright Ex Libris Limited, 2014. All rights reserved. Document released: June 2, 2014 Web address: http://www.exlibrisgroup.com 2

Table of Contents OVERVIEW... 4 ARCHITECTURE... 4 PUBLISHING PLATFORM CONFIGURATION... 6 Converting to the Required Format... 6 OAI DATA PROVIDER CONFIGURATION... 8 HOW TO RUN THE OAI DATA PROVIDER... 11 PROTOCOL REQUESTS AND RESPONSES... 11 GetRecord... 11 Identify... 15 ListIdentifiers... 16 ListMetadataFormats... 18 ListRecords... 19 ListSets... 20 3

Overview The OAI (Open Archive Initiative) Data Provider implements the OAI Protocol Version 2.0. It supports 6 OAI-PMH requests specified by the OAI protocol. For more information about the protocol, refer to the OAI Web site: http://www.openarchives.org/. This document describes the configuration and usage of the OAI Data Provider in ALEPH systems that implement Publishing. Refer to the ALEPH Publishing documentation for more information about Publishing. Refer to OAI Data Provider for more information on the non Publishing-based OAI Data Provider. Architecture Publishing-based ALEPH OAI Data Provider exposes data prepared by the ALEPH Publishing process. The ALEPH OAI Data Provider itself is a part of the ALEPH www_server. It works in request/response mode. The request is a URL request built according to OAI protocol. The response is in XML form built according to OAI protocol. ALEPH OAI Data Provider has flat sets organization. It supports two formats marc21 (http://www.loc.gov/standards/marcxml/schema/marc21slim.xsd) oai_dc (http://www.openarchives.org/oai/2.0/oai_dc.xsd) Information about deleted records is reported in transient mode. ALEPH OAI Data Provider supports YYYY-MM-DDT:hh:mm:ssZ timestamps granularity. Consequent to the OAI protocol requirements the timestamps are in UTC form. Publishing-based OAI Data Provider sets are based on published sets. The following diagram may be used to demonstrate the relationship between the OAI Data Provider sets and the published sets: 4

To expose ALEPH data via the Publishing-based OAI Data Provider the following actions must be performed: 1. ALEPH Publishing process must be performed. As a rule, each set that is to be exposed by the Publishing-based OAI Data Provider must be published in each of the required formats. For example, if a set EXAM is to be provided in oai_dc format and in marc21 format, two sets must be published, one in OAI_DC_XML format and one in OAI_MARC21_XML. Both sets publish the same data but in different formats. The following is therefore true: At least one set in OAI_DC_XML format must be published. This set includes data from all of the sets that are to be exposed in oai_dc format. The set is the OAI Data Provider s default set for oai_dc format requests. A set in OAI_MARC21_XML format must be created if there is a need to expose data in marc21 format. This set includes data from all of the sets that are to be exposed in marc21 format. This set is the default set for marc21 format requests. If there is a need to divide data by some logical units, more sets may be created. Each set must be published in all required formats. 5

Note: Published Records with OAI_DC_XML format are exposed by OAI Data Provider as oai_dc records. Records with OAI_MARC21_XML format are exposed by OAI Data Provider as marc21 records. Set names created by the publishing process must not contain colons (:). 2. ALEPH OAI Data Provider must be configured. Each set exposed by the OAI Data Provider should be defined with the following: An external set name This is the name by which external applications that harvest the OAI Data Provider s information identify the set. Internal set names These names are the published sets (see above) from which the OAI set information is derived. Each external set is related to as many internal sets as there are formats in which it may be exposed. o If the set records are to be exposed in oai_dc format then the external set should be related to a Publishing set with OAI_DC_XML format. o If set records are to be exposed also in marc21 format then the external set should be related to a Publishing set with OAI_MARC21_XML format. Refer to the OAI Data Provider Configuration chapter for detailed information on configuring the OAI Data Provider. 3. ALEPH www_server must be started. Publishing Platform Configuration As described in the Architecture chapter, the first step for configuring a publishing based OAI Data Provider is to run a Publishing process. In order to make the oai_dc format available, a set must be published in OAI_DC_XML format. Likewise, in order to make the marc21 format available, a set must be published in OAI_MARC21_XML format. This chapter describes the required configuration for a successful publishing process to result in an OAI_DC_XML or OAI_MARC21_XML formatted set. Converting to the Required Format If the catalog is not in the same format as the format that is required for publishing, a conversion is required. The conversion is done by setting 4 tables: tab_publish This table contains the specifications for extracting ALEPH records for publishing purposes. Column 4 of the tab_publish row in which the set is defined must be set with a fix routine that is defined in tab_fix for the required conversion. If you need to use expand-routines for the published records, you can also add a section to tab_expand with the section name from column 4 of tab_publish. 6

tab_fix This table contains a list of fix_doc programs. The table must have a fix routine that makes the required conversion. The fix routine uses the fix_doc_convit program (column 2 of tab_fix) with the parameter (column 3 of tab_fix) set to the table in which the conversion is defined. tab_fix_xxx2yyy A table that defines the required conversion from a format to a format. For example, tab_fix_mab2usm defines conversions from MAB to MARC, and tab_fix_usm2dc defines conversions from MARC to DC. The conversion tables have the following structure: COL 1. 5; ALPHA_NUM, UPPER; #; Source Tag & indicator; COL 2. 1; ALPHA_NUM, LOWER; ; Source Subfield; COL 3. 5; ALPHA_NUM, UPPER; #; Target Tag & indicator; COL 4. 1; ALPHA_NUM, LOWER; ; Target Subfield; COL 5. 100; ALPHA_NUM, LOWER; _; Program name with arguments; If the required format is OAI_DC_XML then the output of the conversion in step 3 is further converted by the tab_dc table. For example: If a set is required for publishing in OAI_DC_XML format, column 4 of the tab_publish row must be defined with a fix routine that converts the MARC catalog to OAI_DC_XML format. The code that must be configured in this column must be the code of a tab_fix routine that translates MARC to DC. In tab_publish:! 1 2 3 4 5!!!!!!!!!!!!!!!!!!!!-!!!!!!!!!!!!!!!!!!!!-!-!!!!!!!!!-!!!!!!!!!!!!!!! OAI-USM-DC N USMDC OAI_DC_XML In tab_fix: 1 2 3!!!!!!!!!-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!> USMDC fix_doc_convit FILE=tab_fix_usm2dc The fix_doc_convit routine fixes the document using the table that is defined in the parameters column (column 3). In this example, the tab_fix_usm2dc table defines conversions from MARC fields to DC fields. When converting to DC, an additional step is performed, converting the output of the tab_fix conversion to DC using the tab_dc table. In other words, when creating a OAI_MARC21_XML set, the translate mechanism may be described as follows: 7

v MAB UNIMARC USMARC tab_fix routine using tab_fix_mab2usm tab_fix routine using tab_fix_uni2usm OAI_MARC21_XML set When creating a OAI_DC_XML set, the translate mechanism may be described as follows: MAB UNIMARC USMARC tab_fix routine using tab_fix_mab2dc tab_fix routine using tab_fix_uni2dc tab_fix routine using tab_fix_usm2dc tab_dc translation OAI_DC_XML set OAI Data Provider Configuration Publishing-based ALEPH OAI Data Provider has a single configuration file in XML form:./alephe/tab/oai/oaipubconf.xml oaipubconf.xml The oaipubconf.xml file contains the following elements: <oairoot> The root element 8

<set> A repetitive element which contains the following sub-elements: o <setspec> Contains set specs which occurs in OAI requests/responses. This element is mandatory. o <setname> Contains the set name. This element is mandatory o <internalset> Contains the name of the Publishing set from which the records are taken, followed by a colon, followed by format oai_dc or marc21. For each set at most 2 <internalset> elements can be defined one for oai_dc records and one for marc21 records. As OAI Data Provider must support oai_dc format, for each set a <internalset> element for oai_dc records must be defined. For example, if the OAI Data Provider set EXAM is exposed in oai_dc format and in marc21 format then: There are two published sets EXAM_DC and EXAM_21. Both have the same records, with the only difference being that EXAM_DC is in OAI_DC_XML format and EXAM_21 in OAI_MARC21_XML format. The <set> tag is configured as follows: <set> <setspec>exam</setspec> <setname>example Set</setName> <internalset>exam_dc:oai_dc</internalset> <internalset>exam_21:marc21</internalset> </set> Note: The first <set> element listed in the file must contain the default set (a set containing all the records exposed by OAI Data Provider). <repositoryname> Name of the repository. This element is mandatory. <baseurl> URL used in OAI requests. It must have the following form: o http://<aleph web server host>:<aleph apache port>/oai. This element is mandatory. <adminemail> Email of the repository administrator. This element is mandatory. <description> Information about the repository. This element is mandatory. It must contain an <oai-identifier> element with a description of the item identifiers naming policy. It may also contain sub-elements with additional information about the repository. The <oai-identifier> element must have the following format: 9

<oai-identifier xmlns="http://www.openarchives.org/oai/2.0/oai-identifier" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://www.openarchives.org/oai/2.0/oai-identifier http://www.openarchives.org/oai/2.0/oai-identifier.xsd"> <scheme>oai</scheme> <repositoryidentifier>il-aleph05</repositoryidentifier> <delimiter>:</delimiter> <sampleidentifier>oai:il-aleph05:usm01-000000001</sampleidentifier> </oai-identifier> </description> The <repositoryidentifier> element must contain the repository ID used as part of OAI identifiers. It must start with a Latin letter. The <sampleidenfitier> element must contain a sample identifier. The syntax must be: oai:<repository id>:<physical library>-<doc number> Below is a sample oaipubconf.xml file: <?xml version="1.0" encoding="utf-8"?> <oairoot> <set> <setspec>oai-set</setspec> <setname>oai SET</setName> <internalset>oaisetd:oai_dc</internalset> <internalset>oaisetm:marc21</internalset> </set> <set> <setspec>history</setspec> <setname>history</setname> <internalset>historyd:oai_dc</internalset> <internalset>historym:marc21</internalset> </set> <set> <setspec>science</setspec> <setname>science</setname> <internalset>scienced:oai_dc</internalset> <internalset>sciencem:marc21</internalset> </set> <repositoryname>exlibris Repository</repositoryName> <baseurl>http://il-aleph05:8995/oai</baseurl> <adminemail>irina.dijour@exlibris.co.il</adminemail> <description> <oai-identifier xmlns="http://www.openarchives.org/oai/2.0/oai-identifier" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://www.openarchives.org/oai/2.0/oaiidentifier http://www.openarchives.org/oai/2.0/oai-identifier.xsd"> <scheme>oai</scheme> <repositoryidentifier>il-aleph05</repositoryidentifier> <delimiter>:</delimiter> <sampleidentifier> oai:il-aleph05:usm01-000000001</sampleidentifier> 10

</oai-identifier> </description> </oairoot> This example defines three sets: OAI-SET, SCIENCE, and HISTORY. All the sets expose data in oai_dc and marc21 format. The set OAI-SET is the default set. It contains all the records contained in sets SCIENCE and HISTORY. It can also contain additional records. When the user asks for the OAI-SET set (or does not specify a set), and the request is for the oai_dc format - records from the Publishing set OAISETD are exposed. When the user asks for the OAI-SET set (or does not specify set), and the request is for the marc21 format - records from the Publishing set OAISETM are exposed. When the user asks for the HISTORY set, and the request is for the oai_dc format - records from Publishing set HISTORYD are exposed. When the user asks for HISTORY set, and the request is for the marc21 format - records from Publishing set HISTORYM are exposed. How to Run the OAI Data Provider The OAI data provider is part of the Web server. To access OAI data, type the value of <baseurl> from oaipubconf.xml followed by? followed by OAI verb and OAI verb parameters in the address bar of your Web browser For example: http://il-aleph05:8995/oai?verb=listsets Note: if the OAI configuration in./alephe/tab/oai is changed, the Web server must be restarted. Protocol Requests and Responses GetRecord Summary Retrieves a specified record in a specified format from the repository. Arguments identifier (required) has the form oai:<repository id>:<library>- <doc number> (for example, oai:il-aleph05:usm01-000000002) metadataprefix (required) supported values oai_dc, marc21 Request Example http://il-altph05:8995/oai?verb=getrecord&identifier=oai:il-aleph05:usm01-000000002&metadataprefix=marc21 11

Flow The OAI Data Provider uses the first <set> element listed in oaipubconf.xml as default set (e.g. OAI-SET). It takes the required Publishing set name from the <internal_set> sub-element that is marked with the requested format. It then retrieves a record from Z00P that matches to the following values: Z00P-SET is equal to the publishing set defined by oaipubconf.xml (e.g. OAISETM) Z00P-LIBRARY is equal to the library from the requested identifier (e.g. USM01) Z00P-DOC-NUMBER is equal to doc number from the requested identifier (e.g. 000000002) If the record is deleted (Z00P-STATUS is equal to DELETED) then the status attribute of the header is set to DELETED. Otherwise the XML record from Z00P is added to response. Response A sample response is found below. Below is an explanation of the elements in the response: <GetRecord> Contains <record> element <record> Contains <header> element. If the record is not deleted it contains also <metadata> element <header> Contains <identifier>, <datestamp> and <setspec> elements. If the record is deleted then the status attribute of the <header> element is set to deleted. <identifier> Contains the full record identifier from the request <datestamp> Contains the date and time of last record update in UTC format, obtained from Z00P-TIMESTAMP value of the retrieved record <setspec> Contains set spec value that is equal to <setspec> value of the current set in oaipubconf.xml <metadata> Contains the XML record from the retrieved Z00P Response Example: <?xml version="1.0" encoding="utf-8"?> - <OAI-PMH xmlns="http://www.openarchives.org/oai/2.0/" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://www.openarchives.org/oai/2.0/ http://www.openarchives.org/oai/2.0/oai-pmh.xsd"> <responsedate>2007-12-25t14:07:39z</responsedate> <request verb="getrecord" identifier="oai:il-aleph05:usm01-000000508" metadataprefix="marc21">http://il-aleph05:8995/oai</request> - <GetRecord> - <record> - <header> <identifier>oai:il-aleph05:usm01-000000508</identifier> <datestamp>2007-12-17t08:37:25z</datestamp> <setspec>oai-set</setspec> </header> - <metadata> - <marc:record xmlns:marc="http://www.loc.gov/marc21/slim" 12

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"> <marc:leader>02151cas 2200589 4500</marc:leader> <marc:controlfield tag="001">000000508-8</marc:controlfield> <marc:controlfield tag="005">20031108093029.0</marc:controlfield> <marc:controlfield tag="008">750907c19349999pauqr1p 0uu1a0engdd</marc:controlfield> - <marc:datafield tag="010" ind1="" ind2=""> <marc:subfield code="a">43045299 //r542</marc:subfield> - <marc:datafield tag="022" ind1="" ind2=""> <marc:subfield code="a">0027-4380</marc:subfield> - <marc:datafield tag="035" ind1="0" ind2=""> <marc:subfield code="a">(ocolc)09536003</marc:subfield> - <marc:datafield tag="035" ind1="0" ind2=""> <marc:subfield code="a">(ocolc)01605994</marc:subfield> <marc:subfield code="z">(ocolc)02449172</marc:subfield> - <marc:datafield tag="035" ind1="0" ind2=""> <marc:subfield code="a">(ocolc)01605994</marc:subfield> - <marc:datafield tag="040" ind1="" ind2=""> <marc:subfield code="a">mul</marc:subfield> <marc:subfield code="c">mul</marc:subfield> <marc:subfield code="d">nsd</marc:subfield> <marc:subfield code="d">dlc</marc:subfield> <marc:subfield code="d">nsd</marc:subfield> <marc:subfield code="d">dlc</marc:subfield> <marc:subfield code="d">m.c.</marc:subfield> <marc:subfield code="d">ocl</marc:subfield> <marc:subfield code="d">nsd</marc:subfield> <marc:subfield code="d">aip</marc:subfield> - <marc:datafield tag="042" ind1="" ind2=""> <marc:subfield code="a">nsdp</marc:subfield> <marc:subfield code="a">lc</marc:subfield> - <marc:datafield tag="050" ind1="0" ind2=""> <marc:subfield code="a">ml27.u5</marc:subfield> <marc:subfield code="b">m695</marc:subfield> - <marc:datafield tag="082" ind1="" ind2=""> <marc:subfield code="a">026.78</marc:subfield> - <marc:datafield tag="110" ind1="2" ind2=""> <marc:subfield code="a">music Library Association.</marc:subfield> - <marc:datafield tag="210" ind1="0" ind2=""> <marc:subfield code="a">notes</marc:subfield> - <marc:datafield tag="222" ind1="0" ind2="0"> <marc:subfield code="a">notes</marc:subfield> - <marc:datafield tag="245" ind1="1" ind2="0"> <marc:subfield code="a">notes.</marc:subfield> - <marc:datafield tag="260" ind1="0" ind2="0"> <marc:subfield code="a">[philadelphia, PA, etc.]</marc:subfield> 13

<marc:subfield code="b">music Library Association.</marc:subfield> - <marc:datafield tag="300" ind1="" ind2=""> <marc:subfield code="a">v.</marc:subfield> <marc:subfield code="b">ill., ports., facsims.</marc:subfield> <marc:subfield code="c">24-29 cm.</marc:subfield> - <marc:datafield tag="310" ind1="" ind2=""> <marc:subfield code="a">quarterly,</marc:subfield> <marc:subfield code="b">1943-</marc:subfield> - <marc:datafield tag="321" ind1="" ind2=""> <marc:subfield code="a">irregular,</marc:subfield> <marc:subfield code="b">1934-42</marc:subfield> - <marc:datafield tag="362" ind1="0" ind2=""> <marc:subfield code="a">no. 1-15, July 1934-Dec. 1942; ser. 2, v. 1- Dec. 1943- </marc:subfield> - <marc:datafield tag="500" ind1="" ind2=""> <marc:subfield code="a">title varies slightly.</marc:subfield> - <marc:datafield tag="515" ind1="" ind2=""> <marc:subfield code="a">suspended during 1939.</marc:subfield> - <marc:datafield tag="550" ind1="" ind2=""> <marc:subfield code="a">"the quarterly journal of the Music Library Association."</marc:subfield> - <marc:datafield tag="555" ind1="" ind2=""> <marc:subfield code="a">no. 1-15, 1934-42 (Suppl. to ser. 2, v. 1, no. 2) with no. 13-15. Indexes for ser. 2 issued for each two volumes and beginning with v. 2 are bound with alternate volumes.</marc:subfield> - <marc:datafield tag="530" ind1="" ind2=""> <marc:subfield code="a">also available in an electronic version.</marc:subfield> - <marc:datafield tag="650" ind1="" ind2="0"> <marc:subfield code="a">music</marc:subfield> <marc:subfield code="x">periodicals.</marc:subfield> - <marc:datafield tag="650" ind1="" ind2="0"> <marc:subfield code="a">music libraries</marc:subfield> <marc:subfield code="x">periodicals.</marc:subfield> - <marc:datafield tag="650" ind1="" ind2="0"> <marc:subfield code="a">buddhism</marc:subfield> <marc:subfield code="x">periodicals.</marc:subfield> - <marc:datafield tag="655" ind1="" ind2="7"> <marc:subfield code="a">computer network resources.</marc:subfield> <marc:subfield code="2">local</marc:subfield> - <marc:datafield tag="655" ind1="" ind2="7"> <marc:subfield code="a">electronic journals.</marc:subfield> <marc:subfield code="2">lcsh</marc:subfield> - <marc:datafield tag="700" ind1="1" ind2=""> <marc:subfield code="a">o'meara, Eva Judd,</marc:subfield> <marc:subfield code="e">ed.</marc:subfield> 14

- <marc:datafield tag="700" ind1="1" ind2=""> <marc:subfield code="a">fox, Charles Warren,</marc:subfield> <marc:subfield code="d">1904-</marc:subfield> <marc:subfield code="e">ed.</marc:subfield> - <marc:datafield tag="700" ind1="1" ind2=""> <marc:subfield code="a">hill, Richard S.</marc:subfield> <marc:subfield code="q">(richard Synyer),</marc:subfield> <marc:subfield code="d">1901-1961,</marc:subfield> <marc:subfield code="e">ed.</marc:subfield> - <marc:datafield tag="740" ind1="0" ind2=""> <marc:subfield code="5">wid</marc:subfield> <marc:subfield code="a">notes (Online)</marc:subfield> </marc:record> </metadata> </record> </GetRecord> </OAI-PMH> Identify Summary Retrieves information about the repository Arguments None Request Example http://il-aleph05:8995/oai?verb=identify Flow The OAI Data Provider retrieves information for the Identify response from the oaipubconf.xml configuration file. The earliest timestamp of the repository is retrieved from Z00P. Response A sample response is found below. Below is an explanation of the elements in the response: <repositoryname> Name of repository, retrieved from the repositoryname tag of oaipubconf.xml <baseurl> Base URL for OAI requests, retrieved from the baseurl tag of oaiconf.xml <protocolversion> Equal to 2.0 <adminemail> Email of the repository administrator, retrieved from the adminemail tag of oaipubconf.xml <earliestdatestamp> Minimal Z00P-TIMESTAMP from Z00P <deletedrecord> Equal to transient <granularity> Equal to YYYY-MM-DDThh:mm:ssZ 15

<description> Additional information about the repository, including item identifiers naming policy. This element is retrieved from the description tag of oaipubconf.xml Response Example: <Identify> <repositoryname>exlibris Repository</repositoryName> <baseurl>http://il-aleph05:8995/oai</baseurl> <protocolversion>2.0</protocolversion> <adminemail>irina.dijour@exlibris.co.il</adminemail> <earliestdatestamp>2006-10-24t12:00:00z</earliestdatestamp> <deletedrecord>transient</deletedrecord> <granularity>yyyy-mm-ddthh:mm:ssz</granularity> <description> <oai-identifier xmlns="http://www.openarchives.org/oai/2.0/oai-identifier" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://www.openarchives.org/oai/2.0/oaiidentifier http://www.openarchives.org/oai/2.0/oai-identifier.xsd"> <scheme>oai</scheme> <repositoryidentifier>il-aleph05</repositoryidentifier> <delimiter>:</delimiter> <sampleidentifier>oai:il-aleph05:usm01-000000001</sampleidentifier> </oai-identifier> </description> </Identify> ListIdentifiers Summary Retrieves identifiers of records in the repository. Arguments until (optional) record modification date in format YYYY-MM-DD or YYYY-MM-DDThh:mm:ssZ, in UTC form from (optional) record modification date in format YYYY-MM-DD or YYYY-MM-DDThh:mm:ssZ, in UTC form metadataprefix (required): supported values oai_dc, marc21; only identifiers for records which can be retrieved in the specified format are shown. set (optional) should be one of the sets defined in oaipubconf.xml (<setspec> element) resumptiontoken (exclusive) Request Examples http://il-aleph05:8995/oai?verb=listidentifiers&from=2007-01- 10T15:24:34Z&until=2007-02-10T15:24:34Z&set=OAI- SET&metadataPrefix=marc21 http://il-aleph05:8996/oai?verb=listidentifiers&resumptiontoken= 200612181042382999999999999999OAI-SET:OAISETM 16

Flow: If a set is not specified, the OAI Data Provider uses the first <set> element listed in oaipubconf.xml as default set (e.g. OAI-SET). It retrieves the Publishing set name from the <internalset> sub-element marked with the requested format (e.g. <internalset>oaisetm:marc21</internalset>). If a set is specified, the OAI Data Provider uses the <set> element from oaipubconf.xml with a <setspec> element that equals the requested set. It retrieves the Publishing set name from the <internalset> sub-element that is marked with the requested format (e.g. <internalset>oaisetm:marc21</internalset>). After the Publishing set value is determined, the OAI Data Provider retrieves record identifiers from Z00P records for which the Z00P-SET equals the requested set value. If from/until are also specified then only records which fall in the specified interval are retrieved. The OAI Data Provider adds 30 record identifiers to the ListIdentifier response. All the records with the same Z00P-TIMESTAMP are also added to the same response. If there are additional records in Z00P which satisfy the request criteria then the OAI Data Provider adds a resumption token to the response. The resumption token contains set, from and until values for the next retrieve action. If the user wants to retrieve additional records, the ListIdentifiers request must be sent with the resumption token. The OAI Data Provider will obtain set, from and until values from the resumptiontoken, and retrieve additional record identifiers from Z00P according to these criteria. Response: A sample response is found below. <ListIdentifiers> element contains a number of <header> element, optionally followed by <resumptiontoken> element. Each <header> element corresponds to a Z00P record. If the record is deleted then the status attribute of the <header> element is set to deleted. The <identifier> element contains an identifier in the form oai:<repository identifier from oaipubconf.xml>:<z00p-library>-<z00p- DOC-NUMBER>. The <timestamp> element contains a timestamp in UTC form, obtained from Z00P-TIMESTAMP. The <setspec> element contains <setspec> value from oaipubconf.xml. Response Example: <ListIdentifiers> <header> <identifier>oai:il-aleph05:usm01-000000001</identifier> <datestamp>2006-12-18t10:42:36z</datestamp> <setspec>oai-set</setspec> </header> <header> 17

ListMetadataFormats Summary Retrieves available metadata formats from the repository. Arguments identifier (optional) retrieve metadata formats available for specified record Request Examples http://il-aleph05:8995/oai?verb=listmetadataformats <identifier>oai:il-aleph05:usm01-000000002</identifier> <datestamp>2006-12-18t10:42:36z</datestamp> <setspec>oai-set</setspec> </header> - <header> <identifier>oai:il-aleph05:usm01-000000031</identifier> <datestamp>2006-12-18t10:42:38z</datestamp> <setspec>oai-set</setspec> </header> <resumptiontoken>200612181042382999999999999999oai- SET:OAISETM</resumptionToken> </ListIdentifiers> http://il-aleph05:8995/oai?verb=listmetadataformats&identifier=oai:ilaleph05:usm01-000000002 Flow If an identifier is not specified then all the formats from oaipubconf.xml are added to the response (formats are defined by the <internalset> elements). If an identifier is specified then all the formats which can be retrieved for this identifier are added to the response. Response A sample response is found below. <ListMetadataFormats> element contains number of <metadataformat> element. <metadataformat> element contains <medataprefix>, <schema> and <metadatanamespace> elements. The value of <metadataprefix> is oai_dc or marc21. The <schema> element contains a link to the schema. The <namespace> element contains the namespace. Response Example: <ListMetadataFormats> <metadataformat> <metadataprefix>marc21</metadataprefix> 18

<schema>http://www.loc.gov/standards/marcxml/schema/marc21slim.xsd</schema> <metadatanamespace>http://www.loc.gov/marc21/slim</metadatanames pace> </metadataformat> <metadataformat> <metadataprefix>oai_dc</metadataprefix> <schema>http://www.openarchives.org/oai/2.0/oai_dc/oai_dc.xsd</sc hema> <metadatanamespace>http://www.openarchives.org/oai/2.0/oai_dc</m etadatanamespace> </metadataformat> </ListMetadataFormats> ListRecords Summary Retrieves records from the repository. Arguments until (optional) Record modification date in format YYYY-MM-DD or YYYY-MM-DDThh:mm:ssZ in UTC form from (optional) Record modification date in format YYYY-MM-DD or YYYY-MM-DDThh:mm:ssZ in UTC form metadataprefix (required) Supported values oai_dc, marc21; only identifiers for records which can be retrieved in the specified format are shown. set (optional) Should be one of sets defines in oaipubconf.xml (<setspec> element) resumptiontoken (exclusive) Request Examples http://il-aleph05:8995/oai?verb=listrecords&from==2007-01- 10T15:24:34Z&until==2007-02-10T15:24:34Z&set=OAI- SET&metadataPrefix=marc21 http://il-aleph05:8995/oai?verb=listrecords&resumptiontoken= 200612181042382999999999999999OAI-SET:OAISETM Flow: The flow is exactly the same as for ListIdentifiers request. The difference it that for ListIdentifers only record identifiers are added to response. In case of a ListRecords request the records themselves are added. Response: A sample response is found below. 19

The <ListRecords> element contains a number of <record> elements, optionally followed by a <resumptiontoken> element. Each <record> element corresponds to a Z00P record. The <record> element contains <header> element. If the record is not deleted then the <record> element contains also <metadata> element. The content of <header> element is exactly the same as for ListIdentifiers response. The <metadata> element contains XML record from Z00P. Response Example: <ListRecords> <record> <header> <identifier>oai:il-aleph05:usm01-000000001</identifier> <datestamp>2006-12-18t10:42:36z</datestamp> <setspec>oai-set</setspec> </header> <metadata> XML record from Z00P </metadata> </record>. <resumptiontoken>200612181042382999999999999999oai- SET:OAISETM </resumptiontoken> </ListRecords> ListSets Summary Retrieves the list of sets from the repository. Request Examples: http://il-aleph05:8995/oai?verb=listsets Flow The OAI Data Provider adds all the sets from oaipubconf.xml to the response. Response A sample response is found below. Each <set> element corresponds to <set> element for oaipubconf.xml. The <set> elements contains a <setspec> element and a <setname> element, both coming from oaipubconf.xml Response example <ListSets> <set> <setspec>oai-set</setspec> <setname>oai SET</setName> </set> <set> 20

<setspec>history</setspec> <setname>history</setname> </set> <set> <setspec>science</setspec> <setname>science</setname> </set> </ListSets> 21