XMP support *********** XMP support is controlled with the --enable-xmp and --disable-xmp options of the configure script. Building Exiv2 with XMP support requires the Expat XMP parser library, which is widely available. The --with-expat configure option can be used if it is installed in a non-standard directory. Top-level Exiv2 classes to access XMP metadata are XmpData, Xmpdatum and XmpKey. They work similar to the corresponding Exif and IPTC classes. The property-repository is XmpProperties. In addition to the expected new members, class Image also has an interface to access the raw XMP packet. All XMP value types are supported: Simple types, structures, arrays, property qualifiers and language alternatives. XMP properties are accessed through keys of the form "Xmp..", where is the preferred (or rather, registered) prefix for a schema namespace and is the path of the XMP node. In its most basic form, to address simple properties, is the name of the property. In general, can be used to address any XMP node, including array items, structure fields qualifiers and deeply nested properties. Any properties in known namespaces are supported and additional namespaces can be registered. The specialized Exiv2 values XmpArrayValue and LangAltValue are provided to simplify the use of XMP properties. See xmpsample.cpp for examples of how to set various types of XMP properties. Note: Unlike Exif and IPTC tags, XMP properties do not have a tag number. Todo: Conversion between XMP and Exif/IPTC metadata.