制作者の活動(PR)。

堀北真希ちゃんのうさ耳キャラクタ。次
主な作品

堀北真希うさぎ(うさ耳女子大生):昔のボシュロム製ソフトコンタクトレンズ『オプティマ』のCMを真似てコンタクトレンズを入れている場面を含んだ仮想CM動画

XHTMLに於ける名前空間について。

XHTMLに於ける名前空間について簡単に解説します。

XHTMLに於ける名前空間について・目次。

名前空間とは。

名前空間とは、XMLに於いて要素名や属性名が衝突しないようにするために考案された概念です。

XHTMLのベースとなっているXMLでは、複数の応用言語を一つの文書で利用する事が可能になります。

しかしながら、それを認めてしまうと、例えばXHTMLの<p>要素と別の言語での<p>要素の区別が付かなくなってしまいます。

また要素だけでなく、属性についても同様の問題が起こります。

そこで、名前空間と言う概念を設けて、どちらの応用言語の要素・属性かを区別出来るようにしております。

名前空間の使い方。

xmlns属性。

XHTMLでは<html>要素xmlns="http://www.w3.org/1999/xhtml"属性で名前空間に対応するURIとして http://www.w3.org/1999/xhtml を指定します。

一般にXML応用言語では、最上位要素(ルート要素)にてxmlns属性で名前空間に対応するURIを指定します。

xmlns属性の実際の書式は以下のようになります。

<要素名 xmlns:名前空間接頭辞="名前空間に対応するURI"></要素名>

名前空間接頭辞とは、当該要素内で用いられる名前空間に付けられた名前です。

以後、この接頭辞が前についている要素や属性は、当該名前空間に属しているものとみなします。

例えば、<html>要素が

<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml"></xhtml:html>

となっている場合、

デフォルトの名前空間。

ところで、幾つもの応用言語を組合わせるとしても、その中で最もよく使われる応用言語があると言うケースは多いと考えられます。

例えば、XHTML文書内に他の応用言語を混在させた場合、XHTMLの要素属性が他の応用言語の要素属性に較べて多く書かれる事になり、いちいち接頭辞を付けるのは大変です。

そこで、一つだけ、デフォルトの名前空間を名前空間接頭辞無しで指定出来るようになっております。

すなわち、

<html xmlns="http://www.w3.org/1999/xhtml"></html>

とする事で、

尚、一つの要素に複数の名前空間を指定出来ます。

例えば、XHTMLとSVG(ヴェクタ画像をXMLで書くマークアップ言語)の名前空間を同時に指定する場合、文書の最上位要素となるXHTMLの<html>要素では以下のようになるでしょう。

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg"></html>

こうする事で、

判別出来るようになります。

補足・XHTMLに於ける名前空間について。

XHTML 1.xの名前空間に対するURIは何度も書いているように http://www.w3.org/1999/xhtml です。

現行のユーザエージェントでは、このURIで示される名前空間に属する<a>要素をXHTMLの<a>要素と認識してアンカーの機能を持たせるようにしているようです。

逆を言えば、 http://www.w3.org/1999/xhtml 以外のURIで示される名前空間に属する<a>要素はXHTML以外の他のXML応用言語のものと見なしてアンカーとして機能しませんし、<img>要素で画像を埋め込む事も<link>要素でスタイルシートをリンクする事も出来なくなります。

ですから、XHTML文書では正しく<html>要素xmlns="http://www.w3.org/1999/xhtml"属性を与えないとXHTML文書として使えなくなってしまう恐れがあります。

尚、現在策定作業中のHTML 5は、XMLとして取扱う事でXHTML 5となりますが、名前空間をきっちり定めなければなりません。

尚、現在策定されている XHTML 2.0では、名前空間を示すURIはXHTML 1.xのそれとは異なるものになる予定です。

このため、XHTML 2.0勧告後もそれより前の世代のXML対応ユーザエージェントでは、XHTML 2.0でマークアップされたXHTML文書を正しく取扱えないかも知れません(やはりアンカーが機能しないなどの問題が生じるでしょう)。

しらぎくのウェブサイト作成入門サイトマップ

ページ外へのご案内。

marguerite.site@gmail.com