User:XMPTeam/XMPSandboxArticle

The Extensible Metadata Platform (XMP) is a standard for processing and storing standardized and proprietary metadata created by Adobe Systems.

XMP standardizes the definition, creation, and processing of extensible Metadata. Following the "the truth is in the file" paradigma, serializedXMP can be embedded into a significant number of popular file formats, without breaking their readability by non-XMP-aware applications.

XMP is used in PDF, photography and photo editing applications. It was first introduced by Adobe Systems in April 2001 as part of  version 5.0 of the Adobe Acrobat software product.

XMP data model / XMPCore library
XMP defines a metadata model that can be used with any defined set of metadata items. XMP also defines particular schemas for basic properties useful for recording the history of a resource as it passes through multiple processing steps, from being photographed, scanned, or authored as text, through photo editing steps (such as cropping or color adjustment), to assembly into a final image. XMP allows each software program or device along the way to add its own information to a digital resource, which can then be retained in the final digital file.

XMP records metadata in a syntax that forms a subset of the World Wide Web Consortium Resource Description Framework, which is in turn expressed in XML.

Serialization of XMP, XMPFiles library
Following the "the truth is in the file" paradigma, sharing and transfer of files across products, vendors, platforms is easy, without metadata getting lost, avoiding a multitude of problems coming from proprietary vendor-specific metadata databases.

The most common metadata tags recorded in XMP data are those from the Dublin Core Metadata Initiative, which include things like title, description, creator, etc. The standard is, as its name suggests, designed to be extensible, allowing users to add their own custom types of metadata into the XMP data. XMP generally does not allow binary data types to be embedded. This means that any binary data one wants to carry in XMP, such as thumbnail images, must be encoded in some XML-friendly format, such as Base64.

XMP can be used in PDF and other graphics formats, such as JPEG, JPEG 2000, GIF, PNG, HTML, TIFF, Adobe Illustrator, PSD, PostScript, and Encapsulated PostScript. In a typical edited JPEG file, XMP information is typically included alongside Exif and IPTC data.

XMP can not only be used to describe documents as a whole, but also parts of the document, such as pages or included images. This architecture makes it possible to retain authorship and rights information about images even as included in a published document; it also permits documents created from several smaller documents to retain the original metadata associated with the parts.

XMP Toolkit
Adobe provides the XMP Toolkit free of charge unter a BSD license. The toolkit include specification documents (PDFs), API documentation (doxygen/javadoc), C++ source code (XMPCore and XMPFiles) and Java Source Code (presently only XMPCore). XMPFiles is currently availbabe as a C++ implementation under Windows and Mac only (not under Unix/Linux, not for Java).

Licensing
Adobe has a trademark on XMP, and retains control over the specification.

Initially, they released source code for the XMP SDK under a license called the ADOBE SYSTEMS INCORPORATED - OPEN SOURCE LICENSE. The compatibility of this license with the GNU General Public License has been questioned. The license is not listed on the list maintained by the Open Source Initiative and is different from the licenses for most of their other open source software.

On May 14, 2007, Adobe released the XMP Toolkit SDK under a standard BSD license.

History
Links/References (not much changes here, just sanity-check links going to Adobe.com)

In June 21, 2004, Adobe announced its collaboration with the IPTC. In July 2004, a working group led by Adobe Systems' Gunar Penikis and IPTC's Michael Steidl was set up, and volunteers were recruited from AFP (Agence France-Presse), Associated Press, ControlledVocabulary.com, IDEAlliance, Mainichi Shimbun, Reuters, and others, to develop the new schema.

The "IPTC Core Schema for XMP" version 1.0 specification was released publicly on March 21, 2005. A set of custom panels for Adobe Photoshop CS can be downloaded from the IPTC. The package includes a User's Guide example photos with embedded XMP information, the specification document, and an implementation guide for developers. The "User's Guide to the IPTC Core" goes into detail about how each of the fields should be used and is also available directly as a PDF (see external links below). The next version of the Adobe Creative Suite (CS2) included these custom panels as part of its default set.

The Windows Photo Gallery, released with Windows Vista, offers support for the XMP standard, the first time Microsoft has released metadata compatibility beyond Exif.

Location in File Types

 * TIFF - Tag 700
 * JPEG - Application segment 1 (0xFFE1) with segment header "http://ns.adobe.com/xap/1.0/\x00"
 * JPEG 2000 - 'uuid' atom with UID of 0xBE7ACFCB97A942E89C71999491E3AFAC
 * PNG - inside a 'iTXt' text block with the keyword 'XML:com.adobe.xmp'
 * GIF - as an Application Extension