Prism - Namespace versions - exiftool v9 compared to v12.3

Started by lpe, February 13, 2025, 05:37:20 AM

Previous topic - Next topic

lpe

Hello,

Does anyone know why the Prism namespace version for the latest version of Exiftool is older than the namespace included in version 9 of Exiftool?

The following line is present in the XMP.pm file in the latest version of Exiftool:

prism     => 'http://prismstandard.org/namespaces/basic/2.0/'

Whereas, the same entry in version 9 shows:

prism     => 'http://prismstandard.org/namespaces/basic/2.1/'

The reason for asking is that I'm trying to write a Publication date attribute to an image metadata for an export. Previously in version 9, I would write the element using:

exiftool -m -overwrite_original -XMP-prism:publicationDate=2025-01-06T00:00:00Z /tmp/tmp180009167599789746.psd

This would result in the following being written to the image file:

<prism:publicationDate>2025-01-06T00:00:00Z</prism:publicationDate>
 
In order to write the Publication date under the latest version of Exiftool, I now need to perform the following to create a structure:

exiftool -XMP-prism:publicationdate="{date=2008-02-15T00:00:00Z}" /tmp/tmp/38093755.psd

Which results in:

<prism:publicationDate>
   <rdf:Bag>
    <rdf:li rdf:parseType='Resource'>
     <prism:date>2008-02-15T00:00:00Z</prism:date>
    </rdf:li>
   </rdf:Bag>

The Prism documentation for the latest namespace is a bit vague on whether a structure is needed for the publication date attribute, but the exiftool seems to require it in order to add the attribute.

https://www.w3.org/submissions/2020/SUBM-prism-20200910/prism-basic.html#_Toc46322864

Any insights would be appreciated.

Thanks,

Lindsay

Phil Harvey

#1
Hi Lindsay,

There is an error in the namespace URI, it should be 3.0 not 2.0.  I'll fix that.  Thanks.

Edit: Actually, it probably isn't a good idea to change this.  Namespace URI's shouldn't be used to store version numbers because it breaks backward compatibility.  I may have done this on purpose to avoid breaking things for people who were already using 2.0.  This isn't a justification, but note that a number of examples in the PRISM 3.0 documentation still use the 2.0 namespace URI.

Regarding PublicationDate, the 3.0 specification says this:

Quote4.2.59 prism:publicationDate
Profile #3 (XMP)
bag prismPublicationDate structure
  publicationDate.date Date
  publicationDate.a-platform Text, closed choice prismPlatform controlled
vocabulary

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