ImageGear support XMP metadata in the following image file formats:
- TIFF: Read, Write
- EXIF-TIFF: Read, Write
- JFIF-JPEG: Read, Write
- EXIF-JPEG: Read, Write
- JPEG 2000 (JP2): Read, Write
- JPX: Read, Write
- PSD: Read
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> |
... |
|
|
|
|