NAME

XMP::Reader - Liefert Daten aus XMP-Dateien


DESCRIPTION

Ein XMP::Reader-Objekt parst XMP-Dateien und bietet Zugriff auf ganz bestimmte Elemente darin. Es wird unterstellt, dass Adobe Lightroom die XMP-Dateien erzeugt hat. Der XMP::Reader liefert Direktzugriff auf alle ausgewählten (gefilterten) Elemente; im Gegensatz zu XML::Simple muss kein Pfad traversiert werden.

Für Elemente, die sich wiederholen können (main::is_xmp_value_repeatable), wird stets eine Array-Referenz geliefert, ansonsten ein String bzw. undef, falls das Element nicht in der XMP-Datei ist.

Es werden lediglich Daten ausgelesen, die Lightroom schreibt und die auch in die IPTC-Header von Bilddateien geschrieben werden können.


SYNOPSIS

 use XMP::Reader;
 
 my $xmp_reader = XMP::Reader->new();
 
 # XMP-Datei einlesen
 $xmp_reader->read_file('images/img_2555.xmp');
 $xmp_data = $xmp_reader->get_xmp_data();
 
 # Copyright holen
 $copyright = $xmp_data->{'dc:rights'}
 
 # Schlüsselwörter holen
 @keywords = @{$xmp_data->{'dc:subject'}};


METHODS

$xmp_reader = XMP::Reader->new()

Erzeugt ein neues Objekt.

$xmp_reader->read_file($xmp_filename)

Liest die Daten einer XMP-Datei.

Der 1. Parameter ist ein String mit dem Dateinamen

$xmp_data = $xmp_reader->get_xmp_data()

Liefert eine Hash-Referenz mit den gelesenen XMP-Daten oder undef, wenn keine Daten gefunden wurden. Die Schlüssel im Hash referenzieren Strings, Referenzen auf ein Array oder sind nicht definiert, falls nicht in der Datei vorhanden.

Alle möglichen Schlüssel sind aufgelistet im Dokument http://www.elmar-baumann.de/fotografie/tipps/computer/lightroom/mapping-xmp-iptc.html, Spalte XMP.


AUTHOR

Elmar Baumann <eb@elmar-baumann.de> 2007/05/17