The XMP implementation is now in the trunk in SVN and I believe it is
reasonably complete and ready for further testing.
Please try it out and let me know your comments or concerns. I'm also
still in need of test data, you can use exiv2 -eX <file> to extract
the XMP packet into a *.xmp file and send it to me directly.
There are two levels of XMP support in Exiv2:
1) Image now has an interface to get and set the raw XMP packet.
2) Classes XmpData, XmpKey, Xmpdatum and XmpProperties allow
manipulation of XMP metadata in a way similar to the existing support
for Exif and IPTC and Image has an interface to get and set an XmpData
container.
The XMP Toolkit does quite a good job and makes it possible that Exiv2
supports all XMP property types (except for aliases), even though I
have implemented specific Exiv2 values only for simple XMP text
properties, arrays and language alternatives so far.
Not yet complete are:
- No conversions between Exif/IPTC and XMP yet
- No autoconf magic to build the XMP Toolkit yet
- Only limited XMP support in the utility (in particular, there are
issues with the modify action for XMP arrays)
- Documentation and property lists
See the README-XMP file for some more details and then the
xmpsample.cpp example which shows how to set various types of XMP
properties to get started.
Regards,
Andreas