X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=lib%2FZOOM%2FIRSpy%2FRecord.pm;h=4fe751b5a419dd6a1e6dc9fe18bc2801a92a9802;hb=1c872700aed472f8411c8b4fb6fb72fdb5986097;hp=bded029f83abf8f50c06949d7500d2833ffa1657;hpb=f4ad227f469be5cf0d848e1e7e99f7620abcf4a9;p=irspy-moved-to-github.git diff --git a/lib/ZOOM/IRSpy/Record.pm b/lib/ZOOM/IRSpy/Record.pm index bded029..4fe751b 100644 --- a/lib/ZOOM/IRSpy/Record.pm +++ b/lib/ZOOM/IRSpy/Record.pm @@ -1,4 +1,4 @@ -# $Id: Record.pm,v 1.2 2006-06-20 12:36:14 mike Exp $ +# $Id: Record.pm,v 1.4 2006-07-18 11:09:51 mike Exp $ package ZOOM::IRSpy::Record; @@ -6,6 +6,9 @@ use 5.008; use strict; use warnings; +use XML::LibXML; + + =head1 NAME ZOOM::IRSpy::Record - record describing a target for IRSpy @@ -24,14 +27,36 @@ sub new { my $class = shift(); my($target, $zeerex) = @_; - ### Should compile the ZeeRex record into something useful. + if (!defined $zeerex) { + $zeerex = _empty_zeerex_record($target); + } + + my $parser = new XML::LibXML(); return bless { target => $target, - zeerex => $zeerex, + zeerex => $parser->parse_string($zeerex), }, $class; } +sub _empty_zeerex_record { + my($target) = @_; + + ### Doesn't recognise SRU/SRW URLs + my($host, $port, $db) = ZOOM::IRSpy::_parse_target_string($target); + + return <<__EOT__; + + + $host + $port + $db + + +__EOT__ +} + + =head1 SEE ALSO ZOOM::IRSpy