Feature Request: Support XMP Expression Media namespace / tags

Started by jottlieb, July 05, 2012, 06:54:06 AM

Previous topic - Next topic

jottlieb

Hi,

I'm using Microsoft Expression Media 2 on Mac and tried to remove catalog set metadata from files using ExifTool 8.94.
But that's not possible, because ExifTool does not support Expression Media tags yet.

So I'd like to request support for this tags/namespace. The good thing is, that no further research is neccessary because the tags are the same as in the already supported mediapro namespace, as you can see in the code below (XMP sidecar file generated by Expression Media 2).

      <rdf:Description rdf:about=""
            xmlns:expressionmedia="http://ns.microsoft.com/expressionmedia/1.0/">
         <expressionmedia:CatalogSets>
            <rdf:Bag>
               <rdf:li>01_Katalogset</rdf:li>
               <rdf:li>01_Katalogset|Unterset</rdf:li>
               <rdf:li>Copyset</rdf:li>
            </rdf:Bag>
         </expressionmedia:CatalogSets>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:mediapro="http://ns.iview-multimedia.com/mediapro/1.0/">
         <mediapro:CatalogSets>
            <rdf:Bag>
               <rdf:li>01_Katalogset</rdf:li>
               <rdf:li>01_Katalogset|Unterset</rdf:li>
               <rdf:li>Copyset</rdf:li>
            </rdf:Bag>
         </mediapro:CatalogSets>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
                                     

Thank you in advance.

Phil Harvey

Actually, it is more work if these tags already exist.  Now I have to resolve conflicts between the identical tag names. :(

Is it only the CatalogSets tag that ExpressionMedia uses?  Or does it use the other MediaPro tags as well?

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

jottlieb

Quote from: Phil Harvey on July 05, 2012, 07:13:38 AM
Actually, it is more work if these tags already exist
:'(

Quote from: Phil Harvey on July 05, 2012, 07:13:38 AM
Now I have to resolve conflicts between the identical tag names. :(
That illustrates why my attempt to extend ExifTool on my own failed  ;)

Quote from: Phil Harvey on July 05, 2012, 07:13:38 AM
Is it only the CatalogSets tag that ExpressionMedia uses?  Or does it use the other MediaPro tags as well?
Just seem to be the Catalog Sets. Other fields (like keywords) use other, existing namespaces.
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Public XMP Toolkit Core 4.0">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/">
         <photoshop:City>Town</photoshop:City>
         <photoshop:Country>Metaldn</photoshop:Country>
         <photoshop:TransmissionReference>image.bmp</photoshop:TransmissionReference>
         <photoshop:Headline>Headline Lorem</photoshop:Headline>
         <photoshop:Credit>provider Blah</photoshop:Credit>
         <photoshop:Source>Source Who cares</photoshop:Source>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:dc="http://purl.org/dc/elements/1.1/">
         <dc:creator>
            <rdf:Seq>
               <rdf:li>Creator Blah</rdf:li>
            </rdf:Seq>
         </dc:creator>
         <dc:subject>
            <rdf:Bag>
               <rdf:li>HierarchicalKeyword</rdf:li>
               <rdf:li>SubHierarchicalKeyword</rdf:li>
               <rdf:li>AnotherHKeyword</rdf:li>
            </rdf:Bag>
         </dc:subject>
         <dc:description>
            <rdf:Alt>
               <rdf:li xml:lang="x-default">A long time ago...&#xD;</rdf:li>
            </rdf:Alt>
         </dc:description>
         <dc:title>
            <rdf:Alt>
               <rdf:li xml:lang="x-default">Title Ipsum</rdf:li>
            </rdf:Alt>
         </dc:title>
         <dc:rights>
            <rdf:Alt>
               <rdf:li xml:lang="x-default">Don't copy that floppy&#xD;</rdf:li>
            </rdf:Alt>
         </dc:rights>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:xapRights="http://ns.adobe.com/xap/1.0/rights/">
         <xapRights:UsageTerms>
            <rdf:Alt>
               <rdf:li xml:lang="x-default">No rights for nothing</rdf:li>
            </rdf:Alt>
         </xapRights:UsageTerms>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:expressionmedia="http://ns.microsoft.com/expressionmedia/1.0/">
         <expressionmedia:CatalogSets>
            <rdf:Bag>
               <rdf:li>CustomCatalogSet</rdf:li>
               <rdf:li>CustomCatalogSet|SubCustomCatSet</rdf:li>
               <rdf:li>AnotherCatSet</rdf:li>
            </rdf:Bag>
         </expressionmedia:CatalogSets>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:mediapro="http://ns.iview-multimedia.com/mediapro/1.0/">
         <mediapro:CatalogSets>
            <rdf:Bag>
               <rdf:li>CustomCatalogSet</rdf:li>
               <rdf:li>CustomCatalogSet|SubCustomCatSet</rdf:li>
               <rdf:li>AnotherCatSet</rdf:li>
            </rdf:Bag>
         </mediapro:CatalogSets>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                                                                                                   
                           
<?xpacket end="w"?>


Thank you for your quick response.

Phil Harvey

Thanks.

ExifTool 8.97 will support the expressionmedia CatalogSets tag.  This tag will be avoided, so you must specify XMP-expressionmedia:CatalogSets to write it.  (Specifying XMP:CatalogSets will write XMP-mediapro:CatalogSets, and specifying just CatalogSets will write IPTC:CatalogSets.)

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

jottlieb

Quote from: Phil Harvey on July 05, 2012, 09:26:31 AM
Thanks.

ExifTool 8.97 will support the expressionmedia CatalogSets tag.  This tag will be avoided, so you must specify XMP-expressionmedia:CatalogSets to write it.  (Specifying XMP:CatalogSets will write XMP-mediapro:CatalogSets, and specifying just CatalogSets will write IPTC:CatalogSets.)

- Phil
Thank you very very very much!

Looking forward to 8.97 :)

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

jottlieb

After intensive testing (thanks again for your support) I'll just want to make a little note that is might helpful to other users.
I've experienced that in some cases Expresson Media 2 will also embed catalog set metadata in the APP13 segment in JPEGs:
JPEG APP13 (60 bytes):
    6fa6: 50 68 6f 74 6f 73 68 6f 70 20 33 2e 30 00 38 42 [Photoshop 3.0.8B]
    6fb6: 49 4d 04 04 00 00 00 00 00 22 1c 01 00 00 02 00 [IM......."......]
    6fc6: 04 1c 01 5a 00 03 1b 25 47 1c 02 00 00 02 00 04 [...Z...%G.......]
    6fd6: 1c 02 ff 00 07 54 65 73 74 73 65 74             [.....Testset]

That means that even after removing the catalog set metadata in XMP, Expression Media 2 is still able to interpret the remaining information.
I'm actually solving this problem by treating JPEG files with the Perl module Image:MetaData::JPEG afterwards.

Phil Harvey

You don't need to use Image::Metadata::JPEG to edit the APP13 information.  Just specify IPTC:CatalogSets with ExifTool.

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

jottlieb

Quote from: Phil Harvey on August 23, 2012, 07:21:17 AM
You don't need to use Image::Metadata::JPEG to edit the APP13 information.  Just specify IPTC:CatalogSets with ExifTool.
Well....where's the facepalm emoticon? Seems I was a little bit blind.

So thank you very much again.

(bowing in gratitude)