Difference between revisions of "XMP"

From Creative Commons
Jump to: navigation, search
Line 1: Line 1:
= Creative Commons Metadata and XMP =
<div style="float: right">
<div style="float: right">

Revision as of 20:07, 20 September 2007

Xmp tagline.png

XMP (Extensible Metadata Platform) facilitates embedding metadata in files using a subset of RDF. Most notably XMP supports embedding metadata in PDF and many image formats, though it is designed to support nearly any file type.

Creative Commons is considering recommending XMP as the preferred format for embedded metadata, given its support for numerous file formats and the balkanized state of embedded metadata standards. Others are apparently coming to the same conclusion, e.g., Microsoft has announced support for XMP in Vista applications and Jon Udell notes "There’s also good support in .NET Framework 3.0 for reading and writing XMP metadata."

The Creative Commons licensing process offers a XMP template which may be used to mark files within XMP-supporting Adobe applications (step-by-step how-to document).


XMP defines a rights management schema (see section 4.2.5). Creative Commons sets the following properties (example values):

xapRights:CopyrightThis work is licensed to the public under the Creative Commons Attribution-ShareAlike license http://creativecommons.org/licenses/by-sa/2.0/ verify at http://example.com/pdf-metadata.html (Replace URL following 'verify at' with URL containing metadata about the XMP-embedded file; this is typically the same URL specified by xapRights:WebStatement.)

xapRights:MarkedFalse if Public Domain, True otherwise.

xapRights:WebStatementhttp://example.com/pdf-metadata.html (Replace with URL containing metadata about the XMP-embedded file; this is referred to as the Web Statement.)

We also define a Creative Commons schema http://creativecommons.org/ns# whose common prefix is cc.

It currently has the following property:

licensehttp://creativecommons.org/licenses/by-sa/2.0/ (Replace with relevant license URL.)

Set license to maintain a direct reference to the license URL.



  • LaTeX users may use the pdflatex macro.
  • PdfLicenseManager is a standalone GUI/command line tool for embedding XMP in PDFs.
    • PdfLicenseManager uses the iText java library, which may be easily incorporated into any Java tool that needs to do XMP embedding.


Other Implementations

  • XMP Toolkit 4.1
  • Exempi bundles the above two tools into one package, with modifications to make it build on Linux. It therefore allows reading/writing XMP metadata for various file formats, including PDF, MP3, JPEG, and PNG.
  • Exiftool is a perl-based module for embedding and extracting Exif from multiple filetypes. This allows for using XMP in addition to other formats.
  • JPEG-XMP are java-based programs for operating on jpegs to extract and embed XMP metadata.
  • The PHP JPEG Metadata Toolkit is a php-based program for embedding and extracting XMP metadata for JPEGs.
  • PdfLicenseManager is a Java-based GUI and command line program for embedding XMP with license information into PDFs.
  • XMP Manager A Ruby action for Nautilus which exposes and allows editing of XMP metadata.
  • Raptor - Supposedly this can generate XMP somewhat, and can also parse it, if you grab the rdf/xml out of the <?xmp...> blocks for it. It's GPL / LGPL / Apache2 licensed so compatible with your code.
  • Please add yours here :)

Note on Visible Copyright Notice in PDFs

Even when embedded with XMP metadata a licensed PDF document should include a visible copyright notice as described in HOWTO Tag HTML pages.

Note on embedded metadata

This specification conforms with the Nonweb Tagging recommendation.

The XMP logo is either a registered trademark or tradmark of the Adobe Systems Incorporated in the United States and/or other countries.