XML Name space)XHTMLを学ばれた方がはじめて接する「名前空間」とは、一体何を意味するのでしょう。
そして、XML文書中で定義する名前空間とは、どのような機能を持っているのでしょうか
XMLでは、自分自身で スキーマの1つである DTD を定義して、要素や属性、実体参照を利用します。しかし、他の規格化されたスキーマを利用する場合に、文書中でそのスキーマを指定して参照することができます。SVG や、数学表現に利用できるマークアップ言語 MathML のような規格化された言語などを、スキーマの1つとして、XML文中で利用することが可能になっています。XML文書を記述するためには、要素や属性を使用します。要素や属性は、利用目的に応じて、意味のある「まとまり」として規定されます。この意味のあるまとまりを、「ボキャブラリ」と呼び、ある種のスキーマを指します。DTD と同じ要素名が出現した場合、それはどのようにして区別するのか、といった問題が提起されます。XMLデータを見てみましょう。
<document> <title>初心者のためのホームページ作り</title> <title>ばんばん</title> </document>
title要素で囲まれていますが、前者はサイトのタイトルであり、後者は作者の意味を持っています。これを明確に区別するため、名前空間の接頭辞によって解決します。XMLインスタンスでは、名前空間によって両者の区別を明確に区別しているのが理解できるでしょう。
<document xmlns:book="http://banban/book"
xmlns:authoe="http://banban/author" >
<book:title>初心者のためのホームページ作り</title>
<author:title>ばんばん</title>
</document>
title要素に接頭辞をつけることによって、その要素型を参照し区別することができます。XSLにおける要素名では、接頭辞 xmlns:xsl が付与されているのは、こうした意味を持っており、作者の名付けた要素名と衝突することを避けるために明確化します。