Question re. Xmp:Rating

Started by BogdanH, July 21, 2011, 04:00:31 PM

Previous topic - Next topic

BogdanH

Hi Phil,

Assume I have no Xmp metadata in image file, and now I add:
-exiftool -xmp:rating=5 my.jpg
..resulting xmp file from my.jpg will be something like:
...
<rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:Rating>5</xmp:Rating>
</rdf:Description>
...

Now, if before assigning Rating, there allready is some Xmp metadata in file, i.e. (as written by Adobe DNG converter):
...
<rdf:Description rdf:about=''
  xmlns:xap='http://ns.adobe.com/xap/1.0/'>
  <xap:CreateDate>2011-07-04T13:58:54.02+02:00</xap:CreateDate>
  <xap:ModifyDate>2011-07-04T13:58:54.02+02:00</xap:ModifyDate>
</rdf:Description>
...

and now if I set above Rating value, I get:
...
<rdf:Description rdf:about=''
  xmlns:xap='http://ns.adobe.com/xap/1.0/'>
  <xap:CreateDate>2011-07-04T13:58:54.02+02:00</xap:CreateDate>
  <xap:ModifyDate>2011-07-04T13:58:54.02+02:00</xap:ModifyDate>
  <xap:Rating>5</xap:Rating>
</rdf:Description>
...


In your XMP documentation, you say, that old "xap", etc., prefixes are translated to "xmp"... so, I would expect if tag is added (which didn't exist before), it would have "xmp" prefix (as recommended in MWG Guide 2.0).
Am I missing something?

Bogdan

Phil Harvey

#1
Hi Bogdan,

The prefixes are only converted to "xmp" for use in the family 1 group names when reading information.  ExifTool will use the existing namespace prefix in the XMP when writing.

Since the "http://ns.adobe.com/xap/1.0/" namespace already exists with prefix "xap", ExifTool could do one of 2 things:

1) Use the existing "xap" prefix.  <-- this is what exiftool does

2) Change existing "xap" entries to "xmp" then use "xmp".

I didn't want to change existing prefixes, so I opted for option number 1.

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