ImageGear for C and C++ on Windows v19.4 - Updated
XMP Metadata Structure
User Guide > File Formats and Compressions > File Formats > Metadata Structures > XMP Metadata Structure

ImageGear support XMP metadata in the following image file formats:

In TIFF and EXIF-TIFF formats, XMP metadata is located in the main IFD.

In JFIF-JPEG and EXIF-JPEG formats, XMP metadata is located in one of the App1 segments. Note that EXIF metadata is also located in an App1 segment.

In JP2 and JPX formats, XMP metadata is located in UUID.

In PSD format, XMP metadata is located in the Photoshop Resources tree. If XMP.Parse global control parameter is TRUE, it is represented as XMP subtree. If XMP.Parse is FALSE, unparsed XMP metadata is located under PhotoshopImageResources subtree that has ID = 1060.

Brief information on XMP metadata levels is provided in the set of tables below:

XMP Root Level

Name Id Type Level Type Value Type
<Schema namespace URI 1> IGMDTAG_ID_XMP_DESCRIPTION Tree XMP Schema N/A
<Schema namespace URI 2> IGMDTAG_ID_XMP_DESCRIPTION Tree XMP Schema N/A
...        

XMP Schema Level

Name Id Type Level Type Value Type
About IGMDTAG_ID_XMP_ABOUT Leaf N/A String
Namespace IGMDTAG_ID_XMP_NAMESPACE Tree XMP Namespace N/A
Properties IGMDTAG_ID_XMP_NAMESPACE Tree XMP Property Collection N/A

XMP Namespace Level

Name Id Type Level Type Value Type
Prefix IGMDTAG_ID_XMP_PREFIX Leaf N/A String
URI IGMDTAG_ID_XMP_URI Leaf N/A String

XMP Property Collection Level

Name Id Type Level Type Value Type
<Property 1 name> IGMDTAG_ID_XMP_PROPERTY Tree XMP Simple Property / XMP Array / XMP Structure N/A
<Property 2 name> IGMDTAG_ID_XMP_PROPERTY Tree XMP Simple Property, XMP Array/Structure property N/A
...        

XMP Simple Property Level

Name Id Type Level Type Value Type
Value IGMDTAG_ID_XMP_PROPERTY_VALUE Leaf N/A <Value type>
Qualifiers IGMDTAG_ID_XMP_PROPERTY_QUALIFIERS Tree XMP Qualifiers collection N/A

XMP Array Level

Name Id Type Level Type Value Type
Bag / Seq / Alt IGMDTAG_ID_XMP_PROPERTY_BAG / IGMDTAG_ID_XMP_PROPERTY_SEQ / IGMDTAG_ID_XMP_PROPERTY_ALT Tree XMP Array items level N/A

XMP Array Items Level

Name Id Type Level Type Value Type
Item IGMDTAG_ID_XMP_PROPERTY Tree XMP Simple Property / XMP Language Alternative Property / XMP Structure <N/A>
Item IGMDTAG_ID_XMP_PROPERTY Tree XMP Simple Property / XMP Language Alternative Property / XMP Structure <N/A>
...        

XMP Language Alternative Property Level

Name Id Type Level Type Value Type
Value IGMDTAG_ID_XMP_PROPERTY_VALUE Leaf N/A <Value type>
Lang IGMDTAG_ID_XMP_PROPERTY_LANG Leaf N/A String

XMP Structure Level

Name Id Type Level Type Value Type
Struct IGMDTAG_ID_XMP_PROPERTY_STRUCT Tree XMP Structure items level N/A

XMP Structure Items Level

Name Id Type Level Type Value Type
<Field 1 name> IGMDTAG_ID_XMP_PROPERTY Tree XMP Simple Property <N/A>
<Field 2 name> IGMDTAG_ID_XMP_PROPERTY Tree XMP Simple Property <N/A>
...