xml文書は別のxml文書と結合することができる。結合した際に同じ要素名があるときの不具合を、名前空間を使用して回避できる。
記述方法
<プリフィックス:要素名 xmlns:プリフックス=”URI”>
- プリフィックスは任意の名称
- URIは、名前空間を識別するためのURLを記述するのだが、ファイルの有無は動作に影響しない
サンプル
- 名前空間を使用しない場合
-
<?xml version=”1.0″ encoding=”Shift_JIS”?>
<CD>
<タイトル>to tell the truth</タイトル>
<詩>all in the mind</詩>
<ジャンル>エモ・哀愁</ジャンル>
</CD> - 名前空間を使用した場合
-
<?xml version=”1.0″ encoding=”Shift_JIS”?>
<mycd:CD xmlns:mycd=”https://sample27.simplesimples.com/xml/mycd” >
<mycd:タイトル>to tell the truth</mycd:タイトル>
<mycd:詩>all in the mind</mycd:詩>
<mycd:ジャンル>エモ・哀愁</mycd:ジャンル>
</mycd:CD>- プリフィックス「mycd」を追加
- 属性「xmns:mycd」を追加
- 複合する名前空間
-
<?xml version=”1.0″ encoding=”Shift_JIS”?>
<mycd:CD xmlns:mycd=”https://sample27.simplesimples.com/xml/mycd” >
<mycd:タイトル>to tell the truth</mycd:タイトル>
<mycd:詩>all in the mind</mycd:詩>
<mycd:ジャンル>エモ・哀愁</mycd:ジャンル>
<mydvd:dvd xmlns:mycd=”https://sample27.simplesimples.com/xml/mydvd” >
<mydvd:タイトル>to tell the truth</mydvd:タイトル>
<mydvd:詩>all in the mind</mydvd:詩>
<mydvd:ジャンル>エモ・哀愁</mydvd:ジャンル>
</mydvd:dvd>
</mycd:CD>この例のように、同要素名を区別したいときに、名前空間を使用することで対応できる。
- デフォルト名前空間
-
<?xml version=”1.0″ encoding=”Shift_JIS”?>
<CD xmlns=”https://sample27.simplesimples.com/xml/mycd” >
<タイトル>to tell the truth</タイトル>
<詩>all in the mind</詩>
<ジャンル>エモ・哀愁</ジャンル>
<mydvd:dvd xmlns:mycd=”https://sample27.simplesimples.com/xml/mydvd” >
<mydvd:タイトル>to tell the truth</mydvd:タイトル>
<mydvd:詩>all in the mind</mydvd:詩>
<mydvd:ジャンル>エモ・哀愁</mydvd:ジャンル>
</mydvd:dvd>
</CD>この例では、プリフィックス「mydvd」がない要素はすべて、「https://sample27.simplesimples.com/xml/mycd」に属する。