EXIF tag evaluation broken in XMP edit
Posted: Wed Aug 13, 2025 6:34 am
The evaluation of EXIF tags, when inserting them into XMP Keywords, is broken if more than one evaluated EXIF value is present.
Multiple values cannot be added.
To reproduce, start with a jpeg with no XMP metadata.
Do Metadata->Edit XMP. Go to Keywords tab.
Insert the following value:
{EXIF:F-Number}
and click the Write button.
The correct evaluated tag value (example: 5.6) is written as an XMP keyword.
Now Edit XMP again on that same file.
Insert the following value:
{EXIF:ISO Value}
and click the write button.
Examine the XMP data, and what XnViewMP wrote for the second value is "{EXIF:ISO Value}"
The field inside the { } was not evaluated, the entire string was inserted into the XMP as is.
So the file has two keywords:
5.6
{EXIF:ISO Value}
The evaluation also malfunctions if you try to add multiple evaluated fields at the same time, but in that case all of them are treated as literals and none are correctly evaluated. I provided the example the way I did so there could be no misunderstanding about what was happening.
This doesn't seem like the sort of thing that should only work one time per file.
Is this a bug?
Multiple values cannot be added.
To reproduce, start with a jpeg with no XMP metadata.
Do Metadata->Edit XMP. Go to Keywords tab.
Insert the following value:
{EXIF:F-Number}
and click the Write button.
The correct evaluated tag value (example: 5.6) is written as an XMP keyword.
Now Edit XMP again on that same file.
Insert the following value:
{EXIF:ISO Value}
and click the write button.
Examine the XMP data, and what XnViewMP wrote for the second value is "{EXIF:ISO Value}"
The field inside the { } was not evaluated, the entire string was inserted into the XMP as is.
So the file has two keywords:
5.6
{EXIF:ISO Value}
The evaluation also malfunctions if you try to add multiple evaluated fields at the same time, but in that case all of them are treated as literals and none are correctly evaluated. I provided the example the way I did so there could be no misunderstanding about what was happening.
This doesn't seem like the sort of thing that should only work one time per file.
Is this a bug?