XMP::Reader - Liefert Daten aus XMP-Dateien
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.
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'}};
new()
Erzeugt ein neues Objekt.
read_file($xmp_filename)
Liest die Daten einer XMP-Datei.
Der 1. Parameter ist ein String mit dem Dateinamen
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.
Elmar Baumann <eb@elmar-baumann.de> 2007/05/17