Where does the XMP-exif:DateTimeDigitized tag come from in ExifTool?

Started by Jom, February 19, 2020, 10:04:13 PM

Previous topic - Next topic

Jom

Hello.
Please help me understand.

When I add the DateTimeDigitized tag, I expect to see XMP-xmp:CreateDate (CIPA DC-010-2017 Exif 2.31 metadata for XMP), but I see XMP-exif:DateTimeDigitized.
I didn't find the DateTimeDigitized tag in XMP SPECIFICATION PART 1, PART 2.
Where does the XMP-exif:DateTimeDigitized tag come from in ExifTool?

Screenshot from "CIPA DC-010-2017 Exif 2.31 metadata for XMP" attached

Phil Harvey

When you write a tag with ExifTool, a tag is created with the name that you used.  Writing TAGX doesn't create TAGY unless it is a special writable Composite tag or something like that.

See the XMP exif Tags documentation to learn about this namespace.

- 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

Quote from: Phil Harvey on February 20, 2020, 07:00:50 AM
When you write a tag with ExifTool, a tag is created with the name that you used.  Writing TAGX doesn't create TAGY unless it is a special writable Composite tag or something like that.

I understand that.
I expected ExifTool to write to two places, like exif (EXIF: DateTimeDigitized) and xmp (XMP-xmp:CreateDate), but it only wrote to xmp and with a different tag name (XMP-exif: DateTimeDigitized).

==========================================================

f:\>exiftool -time:all= 20130730_152454.CR2
    1 image files updated

f:\>exiftool -datetimedigitized="2020:02:20 15:43:59+03:00" 20130730_152454.CR2
    1 image files updated

f:\>exiftool -s -G0:1 -time:all 20130730_152454.CR2
[File:System]   FileModifyDate                  : 2020:02:20 15:46:05+03:00
[File:System]   FileAccessDate                  : 2020:02:20 15:46:05+03:00
[File:System]   FileCreateDate                  : 2020:02:20 15:43:59+03:00
[XMP:XMP-exif]  DateTimeDigitized               : 2020:02:20 15:43:59+03:00


I expected:
...
[EXIF:...]       DateTimeDigitized                : 2020:02:20 15:43:59+03:00
[XMP:XMP-xmp]  CreateDate                       : 2020:02:20 15:43:59+03:00


==========================================================

1. I can't understand in this case why in the EXIF specification for DateTimeDigitized exif tag maps to xmp:CreateDate tag?
2. I didn't find the DateTimeDigitized tag in XMP SPECIFICATION PART 1, PART 2. Where does the XMP-exif:DateTimeDigitized tag come from in ExifTool?
3. I've had meaning to ask the yet question for a long time. Splitting tags into groups is only an internal feature for ExifTool to organize subsets of tags for easy sorting, and it is not a standard grouping?

I just want to understand some discrepancies between the specification and the ExifTool documentation and behavior.
If the exif-specification for DateTimeDigitized had write exif: DateTimeDigitized, then I would understand everything, but there writing xmp:CreateDate.

Phil Harvey

Quote from: Andrei Korzhyts on February 20, 2020, 08:30:39 AM
Quote from: Phil Harvey on February 20, 2020, 07:00:50 AM
When you write a tag with ExifTool, a tag is created with the name that you used.  Writing TAGX doesn't create TAGY unless it is a special writable Composite tag or something like that.

I understand that.
I expected ExifTool to write to two places, like exif (EXIF: DateTimeDigitized) and xmp (XMP-xmp:CreateDate), but it only wrote to xmp and with a different tag name (XMP-exif: DateTimeDigitized).

You seem to be expecting CreateDate to be written when you are only setting DateTimeDigitized.  Either you don't really understand what I said, or I'm missing something.

You assigned DateTimeDigized, and that is the tag that was written.  (Same name, not different as you mentioned.)

- 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

Yes, there is a misunderstanding. You most likely perceive my questions in a completely different abstract dimension.

OK, help then understand what the xmp:CreateDate entry for DateTimeDigitized means in the screenshot?
Why doesn't it say, for example, exif: DateTimeDigitized?

Phil Harvey

Note that the screenshot shows and EXIF tag called "DateTimeDigitized".  This is called CreateDate by ExifTool (see the ExifTool EXIF Tags documentation).  The screenshot indicates that this EXIF tag has a corresponding tag in XMP called CreateDate.

- 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

Quote from: Phil Harvey on February 20, 2020, 09:33:29 AM
Note that the screenshot shows and EXIF tag called "DateTimeDigitized".  This is called CreateDate by ExifTool...
I don't understand here. Why does ExifTool call it "CreateDate" instead of "DateTimeDigitized"?

Quote from: Phil Harvey on February 20, 2020, 09:33:29 AM
The screenshot indicates that this EXIF tag has a corresponding tag in XMP called CreateDate.
Here I understand the same thing.
But why then ExifTool Is writing "[XMP:XMP-exif] DateTimeDigitized " instead of "[XMP:XMP-xmp] CreateDate"?
Or did I incorrectly compose a command to add the exif-tag "DateTimeDigitized" to get native "EXIF: DateTimeDigitized" instead of "XMP-exif: DateTimeDigitized"?
exiftool -datetimedigitized="2020:02:20 15:43:59+03:00" 20130730_152454.CR2

Phil Harvey

Quote from: Andrei Korzhyts on February 20, 2020, 10:20:28 AM
I don't understand here. Why does ExifTool call it "CreateDate" instead of "DateTimeDigitized"?

From the tag name documentation:

Note: If you are familiar with common meta-information tag names, you may find that some ExifTool tag names are different than expected. The usual reason for this is to make the tag names more consistent across different types of meta information. To determine a tag name, either consult this documentation or run exiftool -s on a file containing the information in question.

QuoteBut why then ExifTool Is writing "[XMP:XMP-exif] DateTimeDigitized " instead of "[XMP:XMP-xmp] CreateDate"?

Because you wrote DateTimeDigitized in your command:

Quoteexiftool -datetimedigitized="2020:02:20 15:43:59+03:00" 20130730_152454.CR2

- 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

Sorry for the a lot of "stupid" questions, but it's hard for me to get into the details without seeing the full picture of the metadata world and ExifTool's place in It. I'm only just beginning to understand something in General. I have read almost all the ExifTool documentation, all the IPTC, EXIF, XMP, PLUS specifications.... The paradox is that when I read this firstly, I didn't know anything in General and so I understood everything very differently. Now, gradually, I read all this a second time with a new understanding. But I would never have thought that there are answers in what I have already read (with a different understanding at the beginning).
Metadata world — this is a big world of chaos, crutches, and problems created by the manufacturers themselves for personal purposes.

I can't understand why the specification wrote xmp:CreateDate for the XMP-version of Date Time Digitized data, but it is not used in ExifTool?

Phil Harvey

Quote from: Andrei Korzhyts on February 20, 2020, 12:18:12 PM
I can't understand why the specification wrote xmp:CreateDate for the XMP-version of Date Time Digitized data, but it is not used in ExifTool?

ExifTool has the ability to write any available tag.  It uses whatever you tell it.  You just need to specify XMP:CreateDate if you want to write this tag.

- 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

I thought ExifTool would automatically use xmp:CreateDate for the xmp-version when I assign a value for the Date Time Digitized data.
Turns out I have to control this myself to fully comply with the specification?

Phil Harvey

Quote from: Andrei Korzhyts on February 20, 2020, 01:17:31 PM
Turns out I have to control this myself to fully comply with the specification?

Yes.  Or you can take advantage of the Composite MWG tags to help with this.

- 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

Thanks, I a bit understand.
But have yet one question.
I didn't find the DateTimeDigitized tag in XMP SPECIFICATION PART 1, PART 2.
Where does the XMP-exif:DateTimeDigitized tag come from in ExifTool?
This is official tag or not?

Phil Harvey

...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 ($).