meta

1. 基本情報

説明 汎用メタデータを記述する
語源 METAinformation
所属モジュール Metainformation
所属コンテントセット なし
内容 なし
内容の書式 EMPTY
関連項目 head
公式な実装 DTD

2. 属性

2-1. 一般属性

属性 属性値の型 説明
xmlns URI (CDATA)

XMLネームスペースを指定します。XHTML 1.1では、常にhttp://www.w3.org/1999/xhtmlです。

I18N [属性コレクション]

国際化(Internationalization)に関する属性を集めたコレクションです。

2-2. 固有属性

属性 属性値の型 説明
name NMTOKEN

定義するプロパティの名前を指定します。

http-equiv NMTOKEN

サーバがクライアントに送るHTTPヘッダのフィールド名を指定します。

content [必須] CDATA

name属性またはhttp-equiv属性で指定したプロパティの値を記述します。

scheme CDATA

content属性の値を評価する方法を指定します。

3. 解説

3-1. 概要

meta要素は、メタデータ (Meta Data。メタ情報(Metainformation)とも言われる。文書の内容についてではなく、文書そのものについての情報)を提供します。と言っても、XHTML 1.1で提供する事のできるメタデータはmeta要素で提供できるものだけではなく、title要素link要素なども文書自身についての情報を提供しますから、メタデータと言えます。head要素の中に書く要素だけでもありません、例えばaddress要素は文書の著者に関する情報を記述しますし、del要素ins要素は更新の際の変更点を明示します。title属性は要素に簡単な説明を与えますし、cite属性は編集の理由を明示する文書を指します。

XHTML文書の中に書くものだけでもありません。例えば、RDF (Resource Description Framework)という、メタデータを記述する為に作られた骨格となる規格も存在します。RDFの骨組みに沿って策定されたRSS (RDF Site Summary) 1.0の文書は色々なウェブサイトで見かける事も多いのではないでしょうか。これらのメタデータを記述し、文書のデータとしての価値を高める方法については、The Web KANZAKI - メタ情報とセマンティック・ウェブで詳細な解説がなされています。

この文書では、meta要素の使い方について概説します。

3-2. 文書のプロパティ

文書のプロパティ (Property。属性)と言えば、主なものとしてタイトル、著者、文書の内容、発行日、更新日などが考えられます。これらのプロパティは、name属性でプロパティの名前を指定し、content属性でその値を示します。

例えば、文書の著者というメタデータを表す事を考えてみましょう。これは次のように表す事ができます。

[プログラムコード開始]

<meta name="Author" content="E+X"/>

[プログラムコード終了]

しかし、メタデータを提供する側はこれで満足するかも知れませんが、他の人がこれを利用する段になるとちょっと困った事になります。例えば、今回はAuthorという言葉を使いましたが、ある人は同じような意味でWriterを使うかも知れませんし、大本の文章を書いた人と編集した人が別々の場合、編集者はEditorを使うかも知れません。一方で、同じAuthorというプロパティの名前を使いながら、ある時は大本の文章を書いた人を指し、ある時は編集者を指し、ある時は代理の公開者を指す人もいるかも知れません。つまり、メタデータを扱うには統一的な語彙が必要なのです。勿論これはメタデータに限った事ではありません。強調にはem要素、引用にはq要素というように語彙を定めたHTMLの仕様書があるからこそ、HTMLに則って書かれた文書ならどんなユーザーエージェントを使っても同じように意味を受け取れると考える事ができます。privacyという言葉に対して、みんなが同じイメージを持ち、そのイメージに従ってprivacyという言葉を使うから、privacyという言葉に存在価値が見出せます。「情けは人の為ならず」という諺を聞いて、みんなが同じ事を想像するから、この諺が教訓として使えます。メタデータも同じ事です。

Dublin Coreは、その一つの解決策です。例えば、DCMES (Dublin Core Metadata Element Set)の語彙で著者を表現すると、次のようになります。

[プログラムコード開始]

<meta name="DC.creator" content="E+X"/>

[プログラムコード終了]

この文書では、Dublin Coreについては詳しく扱いません。更に詳しく知りたい方は、The Web KANZAKI - メタ情報とセマンティック・ウェブ - Dublin Core: メタデータを記述するボキャブラリを参照して下さい。

3-3. HTTPヘッダの代行

http-equiv属性content属性を使うと、何らかの理由でHTTPヘッダに直接追加できないメタデータを、文書の中で記述する事ができます。例えば、

[プログラムコード開始]

<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8"/>

[プログラムコード終了]

と文書中に記述すれば、

[出力例開始]

Content-Type: application/xhtml+xml; charset=UTF-8

[出力例終了]

の一行がHTTPヘッダに追加されたのと等価な結果になる事が期待できます。仕様書ではサーバアプリケーションが転送前に文書を解析して、転送時に実際にヘッダに加える事が示唆されていますが、実際にはそれは(恐らくパフォーマンス上の理由から)無く、ユーザーエージェントが調べているようです。

一方で、Content-Script-TypeContent-Style-TypeDefault-Styleなどは、meta要素の指定がHTTPヘッダでの指定よりも優先されるべきとされています。

3-4. 使用例

解説head要素を参照して下さい。

[meta]
Published : 2006-03-26T09:00:00+09:00
Last Modified : 2007-02-25T17:18:48+09:00
Table of Contents : 要素目次
Index : 要素索引
Verified with : Valid XHTML 1.1
Copyright © 2006 - 2007  E+X.