XMP™ (Extensible Metadata Platform)仕様についてのメモ

[XML Top]
更新日: 2006/04/18

XMP仕様の概要

ライセンス

まず、XMPの仕様書とツールキットは、アドビシステムズからオープン・ソースライセンスで提供されています。ライセンス文書によりますと、ツールキットについては誰でもソースコートを改良してアプリケーションに組み込んで再頒布できるとされています。

概要

XMPはXMLドキュメントです。 ルート要素はxmpmeta(オプション)でその下位の唯一の要素としてrdf:RDFをもちます。(恐らく、xmpmetaは旧バージョンとの互換性のために残されているもので、最新版では、rdf:RDFがルート要素として取り扱われると思います)。

rdfの名前空間宣言は、xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'です。ここから分かりますが、XMPではW3CのRDF(Resource Description Framework)を利用しています。

rdf:RDFの子供の要素としてrdf:Descriptionを複数記述できます。このrdf:Description毎にひとつのメタデータ・スキーマを利用して、リソースの属性を記述することができます。

現在のXMPの仕様書では、メタデータ・スキーマとして、次のものが定義されています。

これ以外にも、独自の新しいスキーマを定義したり、既存のスキーマを拡張することができます。XMP仕様書(72ページ)に載っている記述例をひとつ紹介しておきます。

EXIFリソースのXMPによる記述例

EXIFはデジタルカメラで使用するイメージファイルの標準です。上の例はEXIFで作成されたリソースの特性について、TIFFのスキーマによる属性、EXIFのスキーマによる属性のふたとおりで記述されていることが分かります。

XMPのリソースへの埋め込み

XMPの仕様書では、さらに、(2)メタデータをリソースに埋め込むための仕様、および、(3)ファイルのフォーマットについて知らないアプリケーションが、ファイルをスキャンしてメタデータを取得する方法などについて記述しています。

XMPの仕様書でメタデータを埋め込む方法を説明しているリソースの種類は次のものです。

これらのリソースにXMPメタデータを埋め込むときは、次のようにXMPメタデータの前後を<?packet ..?>という命令で囲ってパケット化します。

<?xpacket begin="バイト・オーダー・マーク" id="W5M0MpCehiHzreSzNTczkc9d"?>
XMLテキスト化したXMPメタデータ<
?xpacket end="w"?>

上のバイト・オーダー・マークの部分は、U+FEFFをXMPメタデータと同じ符号化方式(UTF-8、UTF-16、UTF-32)で符号化したデータとなります。

XMPパケットのスキャン

パケット化したデータは、各リソース・ファイルの中に埋め込むことが推奨されています。画像ファイルのようなバイナリ・ファイルに埋め込んだ場合、画像ファイルの形式について知らない場合でもファイルのバイナリ・データをスキャンしてXMPパケットを見つけ出すことができなければなりません。

XMP仕様書には、<?packet ..?>命令を見つけてXMPメタデータを認識するための、スキャンの方法についても説明されています。

XMPパケットのリンク

また必要であれば、XMPメタデータを埋め込まずに、リソースの外部においてリソースと関係つけることもできます。外部に置く場合、XMPメタデータ・ファイルの拡張子は.xmpとし、MIME タイプが必要な場合は、application/rdf+xmlを使うことになっています。

PDFへの埋め込み

PDFの仕様では文書全体、または、PDF文書の中の部品にメタデータを付加することができます。

PDFのコンテンツの種類の一つにストリーム・オブジェクトというものがあります。ストリームオブジェクトは、簡単に言いますと一塊のデータに相当します。XMPパケットをPDFに埋め込むときはmetadata streamを使います。これもストリーム・オブジェクトの中の一種類です。

PDFドキュメント全体を管理する部分にmetadata streamを付けることもできますし、PDFドキュメントを構成する部品単位でもメタデータを付与することができます。

原則として、実際の情報を含むような、あらゆるPDFのストリームにはメタデータを付与することができるとされます。このため、却って、どのストリームにメタデータを付与するべきかが曖昧になってしまいますので、データを実際に持っているオブジェクトにできるだけ近い位置にメタデータをつけるべきとされています。

PDF Referenceでは、メタデータをつけるのに適切と思われるコンポーネントには、Metadataのエントリが示されていますが、PDF Referenceに示されていないコンポーネントにメタデータを付与することも可能です。

さらに、コンテントのデータ中のmarked content(タグ付)というコンテンツにメタデータを関連付けることもできます。

このようにmetadata streamをPDF中のコンポーネント・データ毎に付与して、大きな文書の中に埋め込む部品単位にメタデータを持たせることができるのは、PDFワークフローを構築する際に部品の管理などに使うことを意図しているようです。

参考資料


Copyright © 1995 - 2006 Antenna House, Inc. ALL Right reserved.
Antenna House is a trademark of Antenna House, Inc.
XMPはAdobe Systems, Inc. の米国及びその他の国における商標です。