名前空間(namespace)

要素や属性が属している空間(利用環境)を明示的に示し,要素名や属性名に重複があっても意味や内容を区別できるようにしたもの。

■名前空間(namespace)の指定方法
  *名前空間は要素内で定義し、その要素が閉じられるまでが有効範囲。

1)要素や属性をプレフィックス名で限定して指定する(限定名前空間)

 <要素名 xmlns:プレフィックス名="識別子">
   <プレフィックス名:要素名> 内容 </プレフィックス名:要素名>
   <プレフィックス名:要素名> 内容 </プレフィックス名:要素名>
   <要素名> 内容 </要素名> ・・・この要素には名前空間は適用されない
 </要素名>

2)デフォルトの名前空間
  デフォルトの名前空間の設定はプレフィックスを指定しない。

 <要素名 xmlns="識別子">
  (この部分に含まれる、プレフィックスの付いていない全ての子要素に
   対して同じ名前空間が適用される)
 </要素名>

3)デフォルトの名前空間と限定名前空間を併用する場合

 <要素名 xmlns="識別子1" xmlns:プレフィックス名="識別子2">
   <プレフィックス名:要素名> 内容 </プレフィックス名:要素名>
   <プレフィックス名:要素名> 内容 </プレフィックス名:要素名>
   <要素名> 内容 </要素名> ・・・この要素にはデフォルトの名前空間が適用される。
 </要素名>

■識別子
世界中で一意な識別名をつける。通常は、URLやmailアドレスが使われる。識別のための単なる文字列にすぎず、URLの場所に意味があるのではなく,そのURLが存在する必要さえない。要は,他と重複しない文字列であれば何でもよい。他と重複しない識別文字列としてURLを使用するのが一般的。

[サンプルルXML文書を表示](下のフレームに)
  *このサンプルでは5種類の”name”要素名を使っている。

XMLソース

<?xml version="1.0" encoding="Shift_JIS" ?>
<root>
<ken xmlns="http://homepage1.nifty.com/kodayan/k"
xmlns:city="http://homepage1.nifty.com/kodayan/c"
xmlns:tiji="http://homepage1.nifty.com/kodayan/t">

 <name>鳥取県</name>
  <city:name>倉吉市</city:name>
  <city:name>米子市</city:name>
  <tiji:name>片山</tiji:name>
 <name>大阪府</name>
  <city:name>堺市</city:name>
  <city:name>高槻市</city:name>
  <tiji:name>太田</tiji:name>
 <name>東京都</name>
  <city:name>府中市</city:name>
  <city:name>町田市</city:name>
  <tiji:name>石原</tiji:name>
</ken>
<kuni xmlns="http://homepage1.nifty.com/kodayan/ci">USA
<name>ニューヨーク</name>
<name>シカゴ</name>
<name>ロサンゼルス</name>
<hito xmlns:per="http://homepage1.nifty.com/kodayan/p">
 <per:name>クリントン</per:name>
 <per:name>ブッシュ</per:name>
</hito>
</kuni>
<end>以上です(03/9/12)</end>
</root>

end(03/9/10)