Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

catalyst::controller::sru(3pm) [debian man page]

Catalyst::Controller::SRU(3pm)				User Contributed Perl Documentation			    Catalyst::Controller::SRU(3pm)

NAME
Catalyst::Controller::SRU - Dispatch SRU methods with Catalyst SYNOPSIS
package MyApp::Controller::SRU; # use it as a base controller use base qw( Catalyst::Controller::SRU ); # explain, scan and searchretrieve methods sub explain { my ( $self, $c, $sru_request, # ISA SRU::Request::Explain $sru_response, # ISA SRU::Response::Explain ) = @_; } sub scan { my ( $self, $c, $sru_request, # ISA SRU::Request::Scan $sru_response, # ISA SRU::Response::Scan $cql, # ISA CQL::Parser root node ) = @_; } sub searchRetrieve { my ( $self, $c, $sru_request, # ISA SRU::Request::SearchRetrieve $sru_response, # ISA SRU::Response::SearchRetrieve $cql, # ISA CQL::Parser root node ) = @_; } DESCRIPTION
This module allows your controller class to dispatch SRU actions ("explain", "scan", and "searchRetrieve") from its own class. METHODS
index : Private This method will create an SRU request, response and possibly a CQL object based on the type of SRU request it finds. It will then pass the data over to your customized method. SEE ALSO
o Catalyst AUTHOR
Brian Cassidy <bricas@cpan.org> COPYRIGHT AND LICENSE
Copyright 2005-2009 by Brian Cassidy This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.12.4 2009-12-02 Catalyst::Controller::SRU(3pm)

Check Out this Related Man Page

SRU(3pm)						User Contributed Perl Documentation						  SRU(3pm)

NAME
SRU - Search and Retrieval by URL SYNOPSIS
## a simple CGI example use SRU::Request; use SRU::Response; ## create CGI object my $cgi = CGI->new(); ## create a SRU request object from the CGI object my $request = SRU::Request->newFromCGI( $cgi ); ## create a SRU response based from the request my $response = SRU::Response->newFromRequest( $request ); if ( $response->type() eq 'explain' ) { ... } elsif ( $response->type() eq 'scan' ) { ... } elsif ( $response->type() eq 'searchRetrieve' ) { ... } ## print out the response print $cgi->header( -type => 'text/xml' ); print $response->asXML(); DESCRIPTION
The SRU package provides a framework for working with the Search and Retrieval by URL (SRU) protocol developed by the Library of Congress. SRU defines a web service for searching databases containing metadata and objects. SRU often goes under the name SRW which is a SOAP version of the protocol. You can think of SRU as a RESTful version of SRW, since all the requests are simple URLs instead of XML documents being sent via some sort of transport layer. You might be interested in SRU if you want to provide a generic API for searching a data repository and a mechanism for returning metadata records. SRU defines three verbs: explain, scan and searchRetrieve which define the requests and responses in a SRU interaction. This set of modules attempts to provide a framework for building an SRU service. The distribution is made up of two sets of Perl modules: modules in the SRU::Request::* namespace which represent the three types of requests; and modules in the SRU::Response::* namespace which represent the various responses. Typical usage is that a request object is created using a factory method in the SRU::Request module. The factory is given either a URI or a CGI object for the HTTP request. SRU::Request will look at the URI and build the appropriate request object: SRU::Request::Explain, SRU::Request::Scan or SRU::Request::SearchRetrieve. Once you've got a request object you can build a response object by using the factory method newFromRequest() in SRU::Request. This method will examine the request and build the corresponding result object which you can then populate with result data appropriately. When you are finished populating the response object with results you can call asXML() on it to get the full XML for your response. To understand the meaning of the various requests and their responses you'll want to read the docs at the Library of Congress. A good place to start is this simple introductory page: http://www.loc.gov/standards/sru/simple.html For more information about working with the various request and response objects in this distribution see the POD in the individual packages: o SRU::Request o SRU::Request::Explain o SRU::Request::Scan o SRU::Request::SearchRetrieve o SRU::Response o SRU::Response::Explain o SRU::Response::Scan o SRU::Response::SearchRetrieve o SRU::Server Questions and comments are more than welcome. This software was developed as part of a National Science Foundation grant for building distributed library systems in the Ockham Project. More about Ockham can be found at http://www.ockham.org. TODO
o create a client (SRU::Client) o allow searchRetrieve responses to be retrieved as RSS o make sure SRU::Server can function like real-world SRU interfaces o handle CQL parsing errors o better argument checking in response constructors AUTHORS
Ed Summers <ehs@pobox.com> COPYRIGHT AND LICENSE
Copyright 2004-2009 by Ed Summers This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.12.4 2009-12-02 SRU(3pm)
Man Page