Image::ExifTool::TagInfoXML - Read/write tag information XML database
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::*).
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.
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.
Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
This library is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
Image::ExifTool(3pm), Image::ExifTool::TagNames(3pm)