I am writing an open-source library to extract image metadata and store as XMP serialized in an XML sidecar (ideally identically to how Adobe's apps serialize their metadata).
My problem is it appears that BitmapMetadata has all of the values that I need, but the keys are mangled. Many of them are just integers, rather than their corresponding XMP namespaced XML-style names. Microsoft claims they are using XMP to store reads/writes many different formats of metadata within media, but I do not see any way to reconstruct some of the standard XMP names from these.
For example, Name="/{ushort=272}"
, Format="ifd"
is what I have but I need is <tiff:Model>
where xmlns:tiff="http://ns.adobe.com/tiff/1.0/"
. For this, I can use the ExifTags from my ExifUtils library to map some of the keys because I know what it is. I'm not sure about many of the others though.
My question:
Anyone familiar enough with BitmapMetadata to know if I'm headed down a dead-end?
Is there a standardized mapping that Microsoft is encoding to? I haven't found one yet in Adobe's official XMP specs.
Update: the open source code for this library is now available at Google Code as XmpUtils library. It supports reading/writing XMP metadata as the standard RDF-based XML.