Mapping standard tags to ExifTool tags

Started by Jom, January 30, 2022, 11:50:32 AM

Previous topic - Next topic

Phil Harvey

From your examples it seems that you may only be interested in XMP tags.  This narrows it down quite a bit.

I have prepared a version of the XMP tag name documentation which may give you what you want.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Jom

#16
Yes, this new table has the right direction, but it's only half a step out of 10 steps.

I'll try to explain the problem a little differently.
My example should not be understood literally, it should be understood in a generalized way.
Not only for XMP
xmpDM:comment -> XMP-xmpDM:DMComment
but for all tags
fullyQualifiedStandardName -> fullyQualifiedExifToolAnalog

I used a specific example only to show the main reason why I cannot just use the names of standard tags for Exiftool - sometimes these names do not match.
There is a second reason - the namespaces also do not match.
All these reasons force me to check manually each tag separately according to the method described earlier.

The essence of my task, which Exiftool cannot solve at the moment, is to automate the creation of a list of matching the full exact names of standard tags with the full exact names of Exiftool analogues.

I create myself a fully controlled process (workflow) for maintain the basic metadata for my photos and use not only the XMP standard, but others:

CIPA DC-010-2020 (Exif 2.32 metadata for XMP)
IPTC Photo Metadata Standard 2021.1 (IPTC Core schema 1.3)
IPTC Photo Metadata Standard 2021.1 (IPTC Extension schema 1.6)
PLUS Version 1.2.3
XMP (XMP SPECIFICATION PART 1. DATA MODEL, SERIALIZATION, AND CORE PROPERTIES. April 2012)
XMP (XMP SPECIFICATION PART 2. ADDITIONAL PROPERTIES. August 2016)


As a result, I have to create commands for Exiftool in order to implement this workflow. And that's exactly why I need to know the full and exact names of Exiftool tags in order to manage the values of standard tags inside photos.

I already made myself a matching list, but it took me a lot of time and effort. Here is the list:


This is fragment of my list
...
XMP      | exif:DateTimeOriginal      | XMP-exif:DateTimeOriginal
XMP      | xmp:CreateDate             | XMP-xmp:CreateDate     
Exif     | DateTimeOriginal           | exif:DateTimeOriginal   
XMP      | photoshop:DateCreated      | XMP-photoshop:DateCreated   
Exif     | OffsetTimeOriginal         | exif:OffsetTimeOriginal     
Exif     | Model                      | exif:Model           
XMP      | tiff:Model                 | XMP-tiff:Model           
XMP      | xmp:CreatorTool            | XMP-xmp:CreatorTool       
XMP      | xmpDM:cameraModel          | XMP-xmpDM:CameraModel     
Exif     | BodySerialNumber         =>| exif:SerialNumber         
XMP      | exifEX:BodySerialNumber  =>| XMP-exifEX:SerialNumber   
XMP      | crs:RawFileName            | XMP-crs:RawFileName       
Exif     | UserComment                | exif:UserComment         
XMP      | exif:UserComment           | XMP-exif:UserComment     
XMP      | xmpDM:comment            =>| XMP-xmpDM:DMComment       
XMP      | Iptc4xmpExt:DigImageGUID =>| XMP-iptcExt:DigitalImageGUID
XMP      | xmpMM:OriginalDocumentID   | XMP-xmpMM:OriginalDocumentID
...

=> — it points to tag names that are different (it's just for myself convenience so I can see it right away).


Why am I writing all this ... Exiftool perfectly extracts and writes metadata, but it can't help at all if I need to create my own commands, starting with the selection of tags from standards.

The way I see the ideal solution to this problem!

1. I manually create a list of required tags in text file, which I simply copy from the standards specifications.

standardTags.txt

exif:DateTimeOriginal
xmp:CreateDate
DateTimeOriginal
photoshop:DateCreated
OffsetTimeOriginal
Model
tiff:Model
xmp:CreatorTool
xmpDM:cameraModel
BodySerialNumber
exifEX:BodySerialNumber
crs:RawFileName
UserComment
exif:UserComment
xmpDM:comment
Iptc4xmpExt:DigImageGUID
xmpMM:OriginalDocumentID


2. Then I enter the command to ExifTool:

exiftool mapping standardTags.txt

3. and get a file with ready-made mapping

standardTags-mapping.txt

exif:DateTimeOriginal      | XMP-exif:DateTimeOriginal   
xmp:CreateDate             | XMP-xmp:CreateDate         
DateTimeOriginal           | exif:DateTimeOriginal       
photoshop:DateCreated      | XMP-photoshop:DateCreated   
OffsetTimeOriginal         | exif:OffsetTimeOriginal     
Model                      | exif:Model                 
tiff:Model                 | XMP-tiff:Model             
xmp:CreatorTool            | XMP-xmp:CreatorTool         
xmpDM:cameraModel          | XMP-xmpDM:CameraModel       
BodySerialNumber         =>| exif:SerialNumber           
exifEX:BodySerialNumber  =>| XMP-exifEX:SerialNumber     
crs:RawFileName            | XMP-crs:RawFileName         
UserComment                | exif:UserComment           
exif:UserComment           | XMP-exif:UserComment       
xmpDM:comment            =>| XMP-xmpDM:DMComment         
Iptc4xmpExt:DigImageGUID =>| XMP-iptcExt:DigitalImageGUID
xmpMM:OriginalDocumentID   | XMP-xmpMM:OriginalDocumentID

Phil Harvey

Unfortunately, ExifTool does not know the "fullyQualifiedStandardName".

StarGeek's sample file gives you what you want for tags which support arbitrary string values.  I think that's about as good as you'll get.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).