SRU::Request::SearchRetrieve - A class for representing SRU searchRetrieve requests


SRU documentation Contained in the SRU distribution.

Index


Code Index:

NAME

Top

SRU::Request::SearchRetrieve - A class for representing SRU searchRetrieve requests

SYNOPSIS

Top

    ## creating a new request
    my $request = SRU::Request::SearchRetrieve->new(
        version => '1.1',
        query   => 'kirk and spock' );

DESCRIPTION

Top

METHODS

Top

new()

The constructor which you can pass the following parameters: version, query, startRecord, maximumRecords, recordPacking, recordSchema, recordXPath, resultSetTTL, sortKeys, stylesheet, extraRequestData. The version and query parameters are mandatory.

version()

query()

startRecord()

maximumRecords()

recordPacking()

recordSchema()

recordXPath()

resultSetTTL()

sortKeys()

stylesheet()

extraRequestData()

validParams()

cql()

Fetch the root node of the CQL parse tree for the query.


SRU documentation Contained in the SRU distribution.
package SRU::Request::SearchRetrieve;

use strict;
use warnings;
use base qw( Class::Accessor SRU::Request );
use SRU::Utils qw( error );
use CQL::Parser;

sub new {
    my ($class,%args) = @_;
    return SRU::Request::SearchRetrieve->SUPER::new( \%args );
}

my @validParams = qw(
    version
    query
    startRecord
    maximumRecords
    recordPacking
    recordSchema
    recordXPath
    resultSetTTL
    sortKeys
    stylesheet
    extraRequestData
);

sub validParams { return @validParams };

SRU::Request::SearchRetrieve->mk_accessors( @validParams );

sub cql {
    my $self = shift;
    my $query = $self->query();
    return '' unless $query;
    my $node;
    my $parser = CQL::Parser->new();
    eval { $node = $parser->parse( $query ) };
    return $node;
}

1;