NAME
SeeAlso::Identifier::PND - SeeAlso handling of PND Numbers (Personennormdatei)
SYNOPSIS
my $pnd = new SeeAlso::Identifier::PND "";
print "invalid/empty" unless $pnd; # $pnd is defined but false !
$pnd->value( '101115658X' );
$pnd->value; # '' or PND identifier again (101115658X)
$pnd; # PND identifier as URI (http://d-nb.info/gnd/101115658X)
$pnd->canonical; # http://d-nb.info/gnd/101115658X
DESCRIPTION
This module handles identification numbers of the Personennormdatei of the German National Library (DNB).
The constructor of SeeAlso::Identifier::PND always returns an defined identifier with all methods provided by SeeAlso::Identifier. As canonical form the URN representation of PND with prefix <http://d-nb.info/gnd
> is used (these HTTP URIs actually resolve). As hashed and "pretty" form of an PND number, the number itself is used (including check digit).
The authority files PND, GKD and SWD will be combined to the GND (Gemeinsame Norm-Datei) in early 2012, the identifiers of "legacy" records however will remain valid. They already are distinct and as such the parent module <SeeAlso::Identifier::GND> handles them simultaneously. As of v0.57 SeeAlso::Identifier::GND is lacking support for 10-digit identifiers and does not implement all possible constraints (e.g. there are conflicting checksum algorithms but by looking at the identifier you can not always determine the authority file it belongs to and therefore there is no certainity about the correct checksum).
For compatibility reasons with SeeAlso::Identifier::GND the objects of this module are implemented as blessed hashes instead of blessed scalars.
METHODS
parse ( $value )
Get and/or set the value of the PND identifier. Returns an empty string or the valid PND number. You can also use this method as function.
Older numbers begin with "10" to "16" and have 8 digits plus check digit (which might be "X"), Newer assigned since April 2011 have 9 digits plus check digit(0-X) and currently begin with "10".
Although there is no official form known which notates PND numbers with dash(es), their input is permitted, also prefixes "PND", "PND " and the likes.
value
get/set using parse, not parent's method
valid
Performs checksum calculation for already parsed PND numbers.
The mod-11-checksum is constructed the same way as for the "PICA PPN" (Pica Production Number of the German National Library (PND identifiers acutally are PICA PPNs).
hash
This is only since SeeAlso::Identifier::GND as of v0.57 is not compliant to the interfaces specified by SeeAlso::Identifier with respect to "indexed" being an alias for "hash".
canonical
This is only since SeeAlso::Identifier::GND as of v0.57 is not compliant to the interfaces specified by SeeAlso::Identifier with respect to "normalized" being an alias for "canonical".
cmp
establish "numerical" order by left-padding with zeroes
pretty
Try to give the most official form of the identifier.
AUTHOR
Thomas Berger <THB@gymel.com
>
ACKNOWLEDGEMENTS
Jakob Voss <jakob.voss@gbv.de
> crafted SeeAlso::Identifier::GND.
COPYRIGHT
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.
SEE ALSO
perl(1), SeeAlso::Identifer::GND.