NAME
METS::Parse::Simple - Simple class for METS parsing.
SYNOPSIS
use METS::Parse::Simple;
my $obj = METS::Parse::Simple->new;
my $mets_hr = $obj->parse($mets_data);
METHODS
"new()"
Constructor.
"parse($mets_data)"
Parse METS XML data via XML::Simple::XMLin().
Returns hash reference to structure.
ERRORS
new():
From Class::Utils::set_params():
Unknown parameter '%s'.
EXAMPLE1
use strict;
use warnings;
use Data::Printer;
use METS::Parse::Simple;
use Perl6::Slurp qw(slurp);
if (@ARGV < 1) {
print STDERR "Usage: $0 mets_file\n";
exit 1;
}
my $mets_file = $ARGV[0];
# Get mets data.
my $mets_data = slurp($mets_file);
# Object.
my $obj = METS::Parse::Simple->new;
# Parse data.
my $mets_hr = $obj->parse($mets_data);
# Dump to output.
p $mets_hr;
# Output without argument like:
# Usage: __SCRIPT__ mets_file
EXAMPLE2
use strict;
use warnings;
use Data::Printer;
use METS::Parse::Simple;
# Example METS data.
my $mets_data = <<'END';
END
# Object.
my $obj = METS::Parse::Simple->new;
# Parse.
my $mets_hr = $obj->parse($mets_data);
# Dump to output.
p $mets_hr;
# Output like:
\ {
fileSec {
fileGrp [
[0] {
file [
[0] {
ADMID "IMGPARAM00001",
CREATED "2006-06-20T12:00:00",
FLocat {
LOCTYPE "URL",
xlink:href "file://./003855/003855r.tif"
},
GROUPID 1,
ID "IMG00001",
MIMETYPE "image/tiff",
SEQ 1,
SIZE 5184000
},
[1] {
ADMID "IMGPARAM00002",
CREATED "2006-06-20T12:00:00",
FLocat {
LOCTYPE "URL",
xlink:href "file://./003855/003855v.tif"
},
GROUPID 2,
ID "IMG00002",
MIMETYPE "image/tiff",
SEQ 2,
SIZE 5200228
}
],
ID "IMGGRP",
USE "Images"
},
[1] {
file [
[0] {
ADMID "IMGPARAM00001",
CREATED "2006-06-20T12:00:00",
FLocat {
LOCTYPE "URL",
xlink:href "file://./003855/003855r.pdf"
},
GROUPID 1,
ID "PDF00001",
MIMETYPE "text/pdf",
SEQ 1,
SIZE 251967
},
[1] {
ADMID "IMGPARAM00002",
CREATED "2006-06-20T12:00:00",
FLocat {
LOCTYPE "URL",
xlink:href "file://./003855/003855v.pdf"
},
GROUPID 2,
ID "PDF00002",
MIMETYPE "text/pdf",
SEQ 2,
SIZE 172847
}
],
ID "PDFGRP",
USE "PDF"
}
]
},
xmlns:xlink "http://www.w3.org/TR/xlink"
}
DEPENDENCIES
Class::Utils, XML::Simple.
REPOSITORY
AUTHOR
Michal Josef Špaček
LICENSE AND COPYRIGHT
© Michal Josef Špaček 2015-2020
BSD 2-Clause License
VERSION
0.01