-package Net::Z3950::GRS1;
-
-## $Id: GRS1.pm,v 1.6 2004-05-28 20:14:28 sondberg Exp $
-##
-## Copyright (c) 2000-2004, Index Data.
-##
-## Permission to use, copy, modify, distribute, and sell this software and
-## its documentation, in whole or in part, for any purpose, is hereby granted,
-## provided that:
+## This file is part of simpleserver
+## Copyright (C) 2000-2015 Index Data.
+## All rights reserved.
+## Redistribution and use in source and binary forms, with or without
+## modification, are permitted provided that the following conditions are met:
##
-## 1. This copyright and permission notice appear in all copies of the
-## software and its documentation. Notices of copyright or attribution
-## which appear at the beginning of any file must remain unchanged.
-##
-## 2. The name of Index Data or the individual authors may not be used to
-## endorse or promote products derived from this software without specific
-## prior written permission.
-##
-## THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND,
-## EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
-## WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-## IN NO EVENT SHALL INDEX DATA BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
-## INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES
-## WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR
-## NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
-## LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
-## OF THIS SOFTWARE.
+## * Redistributions of source code must retain the above copyright
+## notice, this list of conditions and the following disclaimer.
+## * Redistributions in binary form must reproduce the above copyright
+## notice, this list of conditions and the following disclaimer in the
+## documentation and/or other materials provided with the distribution.
+## * Neither the name of Index Data nor the names of its contributors
+## may be used to endorse or promote products derived from this
+## software without specific prior written permission.
##
+## THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
+## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+## WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+## DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
+## DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+## (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+## LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+## THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+package Net::Z3950::GRS1;
use strict;
use IO::Handle;
use Carp;
-
-
sub new {
my ($class, $href, $map) = @_;
my $self = {};
if (defined($href) && ref($href) eq 'HASH') {
if (!defined($map)) {
croak 'Usage: new Net::Z3950::GRS1($href, $map);';
- }
+ }
$self->Hash2grs($href, $map);
}
return $ElementData;
}
-
+
sub AddElement {
my ($self, $type, $value, $which, $content) = @_;
my $self = shift;
my %args = (
FORMAT => &Net::Z3950::GRS1::Render::Plain,
- FILE => '/dev/null',
+ FILE => '/dev/null',
LEVEL => 0,
HANDLE => undef,
POOL => undef,
}
if ($level == 1) {
$self->_RecordLine($level, $ref, "(0,0)\n");
- }
-}
+ }
+}
+
-
package Net::Z3950::GRS1::ElementData;
## Define some constants according to the GRS-1 specification