https://github.com/michal-josef-spacek/mets-parse-simple
METS parse class
https://github.com/michal-josef-spacek/mets-parse-simple
mets perl
Last synced: 3 months ago
JSON representation
METS parse class
- Host: GitHub
- URL: https://github.com/michal-josef-spacek/mets-parse-simple
- Owner: michal-josef-spacek
- License: bsd-2-clause
- Created: 2020-02-13T20:00:15.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-02-13T20:23:48.000Z (over 6 years ago)
- Last Synced: 2025-01-01T04:47:04.313Z (over 1 year ago)
- Topics: mets, perl
- Language: Perl
- Size: 43.9 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README
- Changelog: Changes
- License: LICENSE
Awesome Lists containing this project
README
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.02