XMP
Contents
Creative Commons Metadata and XMP
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."
Implementations
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).
- 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.
JPEG
- We have a PHP tool/library for embedding XMP in JPEGs, useful in, e.g., web gallery programs. See the xmp/php-jpeg module in the cctools sourceforge subversion repository.
Video (various)
- None yet
Other Open Source Implementations
- 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.
- Exempi - Hubert Figuiere's lgpl library to handle XMP, mainly for purposes of photo, but generalized.
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.
Specification
XMP defines a rights management schema (see section 4.2.5). Creative Commons sets the following properties (example values):
xapRights:Copyright — This 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.)
xapRights:Marked — False if Public Domain, True otherwise.
xapRights:WebStatement — http://example.com/pdf-metadata.html (Replace with URL containing metadata about the XMP-embedded file.)
We also define a Creative Commons schema http://creativecommons.org/ns# whose common prefix is cc.
It currently has the following property:
license — http://creativecommons.org/licenses/by-sa/2.0/ (Replace with relevant license URL.)
Set license to maintain a direct reference to the license URL.
Developer Challenges
We have setup some XMP developer challenges to encourage the use of XMP and also to do some research as to what is already supported and what we support.
XMP Logo
The XMP logo is either a registered trademark or tradmark of the Adobe Systems Incorporated in the United States and/or other countries.