Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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: 10 days ago
JSON representation

METS parse class

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