Skip to content

20251227_XML名前空間

XMLには名前空間という概念が存在する。これは、要素名や属性名をURIと組み合わせて記述することでこれらを一意に識別できるようにするものである。異なる仕様のXMLを組み合わせるなど、要素名や属性名が重複するケースがあるが、そのような場合に威力を発揮する。

xml
<member>
    <name>hayato</name>
    <name>engineer</name>
</member>

☝️の例では、 ’name’が2つ存在するが、(XML構文的には問題ないが)人間やプログラムがそれぞれ何を意味するのか判別できない。そこで、以下のようにURI(とそれに対応した接頭辞)を用いて、タグ名が重複してもそれぞれが何を意味するのかわかるようにする。

xml
<member 
xmlns:person="http://hoge/person"
xmlns:job="http://hoge/job"
>
    <person:name>hayato</name>
    <job:name>engineer</name>
</member>