Adobe's Extensible Metadata Platform (XMP) is a labeling technology that allows you to embed data about a file, known as metadata, into the file itself. More information on how partners and standards are using XMP is available at the XMP website.

 

XMP Specification

The following specifications are included in the XMP Toolkit zip package. They are available here for convenient reference.The specification is provided under the XMP Specification Public Patent License (PDF, 28 K).
Part 1, Data model, Serialization, and Core Properties (PDF, 499K) [April, 2012]covers the basic metadata representation model that is the foundation of the XMP standard format. The Data Model prescribes how XMP metadata can be organized; it is independent of file format or specific usage. The Serialization Model prescribes how the Data Model is represented in XML, specifically RDF.
Part 1 is also a covered as part of ISO 16684-1:2012, Graphic technology – Extensible metadata platform (XMP) specification – Part 1: Data model, serialization and core properties. You can read more about it here and access the standard from the ISO Store.
Part 2, Additional Properties (PDF, 374K) [Aug, 2016]provides detailed property lists and descriptions for standard XMP metadata schemas; these include general-purpose schemas such as Dublin Core, and special-purpose schemas for Adobe applications such as Photoshop. It also provides information on extending existing schemas and creating new schemas.
Part 3, Storage in Files (PDF, 804K) provides information about how serialized XMP metadata is packaged into XMP Packets and embedded in different file formats. It includes information about how XMP relates to and incorporates other metadata formats, and how to reconcile values that are represented in multiple metadata formats. 
Description of XMP schemas using RELAX NG [Dec, 2014] is a ISO 16684-2:2014 standard which specifies the use of RELAX NG to describe serialized XMP metadata. This applies to how conforming schemas can use the features of RELAX NG. This standard is published as ISO 16684-2:2014 Graphic technology – Extensible metadata platform (XMP) – Part 2: Description of XMP schemas using RELAX NG.
 
 

XMP Documentation

The Partners Guide to XMP for Dynamic Media provides guidance to developers writing applications that read, write, and modify dynamic media documents, so that those applications can maintain the integrity of the composition and editing history and temporal metadata in composed documents.
 
 

XMP Toolkit SDK

The XMP Toolkit allows you to integrate XMP functionality into your product or solution. It supports Macintosh, Windows, as well as UNIX and comes with samples, documentation, source code and scripts to generate project files. The XMP Toolkit is available under the BSD license. The specification is provided under the XMP Specification Public Patent License (PDF, 24 K).

The XMP Toolkit SDK contains two libraries, XMPCore and XMPFiles. XMPCore and XMPFiles are provided as C++ implementations. 

It also includes a plug-in SDK that allows you to create an XMPFiles Plug-in that handles metadata for additional file formats, or replaces built-in format handlers with custom ones.

Current SDK (August, 2016):
 
 

XMP Media Production SDK

As part of enabling custom metadata for digital video production and distribution workflows via XMP, the XMP Media Production SDK is an extension layer over XMP Toolkit SDK. This extended layer allows convenient editing and storing of static, temporal and other custom metadata. The XMP Media Production SDK provides an extension mechanism for storing vendor specific metadata and other custom metadata. This process of adding metadata can be carried along with the composition throughout the video production and editing workflows.
The XMP Media Production SDK is available under the Apache License, Version 2.0. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
 
 

XMP Metadata UI SDK

Adobe Creative Cloud applications can be modified to display custom metadata UI to either adapt the existing UI to own workflow or to be able to interact with custom metadata. The XMP Metadata UI SDK provides documentation and samples on how to create such custom metadata UI. Starting with 2014 release, the extensibility mechanism has changed. 
By clicking on any link in this section, you acknowledge that you have read and agree to the SDK License Agreement 
Current SDK:
This version of the SDK can be used with Creative Cloud 2014 applications or later. For the 2014 release, Photoshop CC, Illustrator CC and InDesign CC support this SDK. It offers a simple and easy to use mechanism to extend the metadata UI (also known as FileInfo dialog) without the need to write or compile code.

 

Customers who need more flexibility and functionality for custom metadata UI should use the Adobe Extension SDK that allows to write HTML5 based panels for Creative Cloud applications. The following link is an example of an extension panel that can interact with XMP and is meant as a starting point for developers.

 

 

Previous SDKs:
These versions of the SDK can be used with Creative Suite and Creative Cloud applications older than the 2014 version. For CC applications (before 2014) all custom FileInfo panels should always be installed into the user-specific location (as mentioned in the documentation). The shared location isn't used anymore.

XMP Toolkit for Java

The XMP Toolkit for Java is based on the C++ XMPCore library and the API is similar.
 
 

XMP Library for ActionScript

The XMP Library for ActionScript 3 is based on the XMPCore library.
The library consists of 3 parts: 
1. The data model represents a set of XMP data in memory and offers an API to create or modify XMP properties.
2. The parser that reads an XMP packet in RDF/XML format into the data model in memory.
3. The serializer converts the data model into RDF/XML format. For more information, please refer to the programmer's guide.

 

XMP Tutorial

XMP metadata in Creative Suite 4 Production Premium
Dan Ebberts (Feb 16, 2009)
Experience first-hand how XMP metadata improves many common editing, asset tracking, animating, and compositing tasks -- and even enables new capabilities, such as searching a video according to the spoken words in its soundtrack.

Related XMP Resources


Flex — Information on Flex technologies, including Flex Builder for creating custom file info panels
XMP Forums — A community forum to share your experiences, discuss problems and report bugs.
Bridge CS6 SDK — Information on extending and customizing Bridge