[11]
Dublin Core
dc:language
は、
自然言語を表します。
[6] 意味は Dublin Core Metadata Element Set (1999年7月2日版) によります >>1。
dc:language
要素 (XML)[13]
dc:language
は
XML要素として使われます。
[2] 名前空間URL は http://purl.org/dc/elements/1.1/
>>1 (一般的な名前空間接頭辞は
dc
) です。
[7] 将来的には RDF 的な構造を記述できるように検討されていました >>1。
[63] OpenDocument 1.0 の
dc:language
要素の内容は RFC 3066 言語札に似たもので、
ISO 639 2文字/3文字言語符号のあとに省略可能で -
と
ISO 3166 2文字国名符号が来るような値、とされています。
[4] この要素は RSS 1.0 の channel
, item
,
image
, item
各要素で使えます。 >>1
[14]
dc:language
は Dublin Core におけるメタ情報としての一貫した記述のために存在しているのでしょうが、
XML要素としての存在意義は疑問です。
XML には組み込みの xml:lang
要素があります。
[15]
多くのXML応用では、
Dublin Core
メタデータとしての
dc:language
は無視され、
xml:lang
属性のみが実用されます。
[16]
HTML
でも
xml:lang
属性と HTML の lang
属性が使われ、
XML要素 dc:language
も
<meta name>
が dc:language
の要素も自然言語の指定として参照されることはありません。
[17]
そうした XML文書や HTML文書を処理する実装も、
任意の入力を扱うとなれば、
Dublin Core
ではなく XML や HTML の属性
(や Content-Language:
HTTPヘッダー)
を認識する必要があります。
(そうでなければ Web互換ではなく実用に耐えられません。)
[18] そうではなく特定のソフトウェアが生成した Dublin Core メタデータを記述した XML文書だけしか処理しないのだ、 という特殊目的の実装なら好きにすればいいのでしょうが、 果たしてそのような場合、 Dublin Core という標準化されたメタデータをわざわざ使う意義はどこにあるのでしょう。
[19]
Dublin Core を HTML や XML と組み合わせることで、
標準化された文書形式と標準化されたメタデータ語彙の組み合わせのメリットを享受するというのなら、
マーク付け言語ネイティブの機能とバッティングする
dc:language
XML要素や
<meta name>
は最初から存在意義がないのです。
[20]
あり得るとしたら RSS 1.0 のように要素内容ではなくリンク先の言語を記述したいときでしょうか。
これとて HTML には hreflang
属性があるのですから
(Dublin Core 制定時点で存在したのかは微妙ですが、構想は当時からあったはず)、
機能的にはそれで十分なのですよね。
RSS 1.0 は Dublin Core が既にあったから採用しただけで。
dc:title
もあって、それも HTML の title
と重複しています。 Dublin Core としては必要でも、
HTML や XML でそれを使う必然性はない (HTML では title
を使う、のように決めておけば十分)。
RSS 1.0 は dc:title
を採用することもできたはずなのに、
そうはせずに独自の title
を使っています。[10] Web Annotation Vocabulary () https://w3c.github.io/web-annotation/vocab/wd/#h-dc-language