Skip to content

XMP PLUS LicensorTelephoneType1,2 values are printed not translated #3332

@sarunasb

Description

@sarunasb

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions