-
Notifications
You must be signed in to change notification settings - Fork 297
Open
Labels
Description
Describe the bug
LicensorTelephoneType1,2 values are defined in controlled vocabulary, but are printed as underlying URL, not interpreted.
To Reproduce
Using reference images from https://iptc.org/std/photometadata/examples/.
$ /usr/bin/exiv2 -px -gplus IPTC-PhotometadataRef-Std2023.2.jpg
… … …
Xmp.plus.Licensor[1]/plus:LicensorTelephoneType1 XmpText 36 http://ns.useplus.org/ldf/vocab/work
Xmp.plus.Licensor[1]/plus:LicensorTelephoneType2 XmpText 36 http://ns.useplus.org/ldf/vocab/cell
… … …
Xmp.plus.Licensor[2]/plus:LicensorTelephoneType1 XmpText 36 http://ns.useplus.org/ldf/vocab/work
Xmp.plus.Licensor[2]/plus:LicensorTelephoneType2 XmpText 36 http://ns.useplus.org/ldf/vocab/cell
… … …
Expected behavior
Printed should be values interpreted according to TagVocabulary defined in src/properties.cpp
:
//! XMP plus:LicensorTelephoneType
constexpr TagVocabulary plusLicensorTelephoneType[] = {
{"cell", N_("Cell")}, {"fax", N_("FAX")}, {"home", N_("Home")}, {"pager", N_("Pager")}, {"work", N_("Work")},
};
…that is, something like this:
Xmp.plus.Licensor[1]/plus:LicensorTelephoneType1 XmpText 36 Work
Xmp.plus.Licensor[1]/plus:LicensorTelephoneType2 XmpText 36 Cell
Desktop (please complete the following information):
- Linux Debian Unstable
- exiv2 0.28.5 from Debian repository
Additional context
LicensorTelephoneType1,2 fields are the only XML PLUS fields, which:
- are subfields of parent structure (Xmp.plus.Licensor) and
- are of URL type and
- use controlled vocabulary for possible tag values.
The rest of XMP PLUS URL-type controlled dict. fields have their values printed translated correctly.