NAME
Image::ExifTool::TagInfoXML - Read/write tag information XML database
DESCRIPTION
This module is used to generate an XML database from all ExifTool tag information. The XML database may then be edited and used to re-generate the language modules (Image::ExifTool::Lang::*).
METHODS
Write
Print complete tag information database in XML format.
# save list of all tags
$success = Image::ExifTool::TagInfoXML::Write('dst.xml');
# list all IPTC tags to console, including Flags
Image::ExifTool::TagInfoXML::Write(undef, 'IPTC', Flags => 1);
# write all EXIF Camera tags to file
Image::ExifTool::TagInfoXML::Write($outfile, 'exif:camera');
- Inputs:
-
0) [optional] Output file name, or undef for console output. Output file will be overwritten if it already exists.
1) [optional] String of group names separated by colons to specify the group to print. A specific IFD may not be given as a group, since EXIF tags may be written to any IFD. Saves all groups if not specified.
2) [optional] Hash of options values:
Flags - Set to output 'flags' attribute NoDesc - Set to suppress output of descriptions Lang - Select a single language for output
- Return Value:
-
True on success.
- Sample XML Output:
<?xml version='1.0' encoding='UTF-8'?>
<taginfo>
<table name='XMP::dc' g0='XMP' g1='XMP-dc' g2='Other'>
<desc lang='en'>XMP Dublin Core</desc>
<tag id='title' name='Title' type='lang-alt' writable='true' g2='Image'>
<desc lang='en'>Title</desc>
<desc lang='de'>Titel</desc>
<desc lang='fr'>Titre</desc>
</tag>
...
</table>
</taginfo>
Flags (if selected and available) are formatted as a comma-separated list of the following possible values: Avoid, Binary, List, Mandatory, Permanent, Protected, Unknown and Unsafe. See the tag name documentation and lib/Image/ExifTool/README for a description of these flags. For XMP List tags, the list type (Alt, Bag or Seq) is also output as a flag if applicable.
BuildLangModules
Build all Image::ExifTool::Lang modules from an XML database file.
Image::ExifTool::TagInfoXML::BuildLangModules('src.xml');
- Inputs:
-
0) XML file name
1) Update flags:
0x01 = preserve version numbers 0x02 = update all modules, even if they didn't change 0x04 = update from scratch, ignoring existing definitions 0x08 = override existing different descriptions and values
- Return Value:
-
Number of modules updated, or negative on error.
AUTHOR
Copyright 2003-2016, Phil Harvey (phil at owl.phy.queensu.ca)
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.