標準情報 TR X 0023:1999

XML名前空間 解説



1. 公表の趣旨及び経緯

XML(TR X 0008:1999)を使って文書等の記述を行なうためには, タグセットを用意する必要がある。既存のタグセットから, 他のタグセットを呼び出すことができれば, タグセットの設計が容易になる。XML名前空間は, この要求に応えるためにWorld Wide Web Consortium(W3C)によって開発されたXML関連規定の一つであり, XML文書中で使う要素又は属性名を, 特定の名前空間に結びつけることによって修飾するための方法を規定し, タグセットの混在を可能にする。

XML名前空間の作業ドラフトWDは, 1998年11月にW3Cによって公開され, その改訂版が1999年1月に勧告として発表された。(財)日本規格協会 情報技術標準化研究センター(INSTAC)の高速Webにおける標準化に関する調査研究委員会は, その作業グループ(WG3)のXML特別作業グループ(XML-SWG)において, TR X 0008:1998 拡張可能なマーク付け言語(XML)のメンテナンスを担当すると共に, このXML名前空間の調査研究を行なって, 標準情報(TR)によるXMLの公表の必要性を提言した。

XML特別作業グループ(XML-SWG)は, 通商産業省工業技術院からの委託を受けて1999年度の活動として, XML名前空間の翻訳及び標準情報(TR)原案作成を行なった。原案は1999年8月に工業技術院に提出されている。

2. 審議中の主要検討課題

2.1 訳語

訳語選定に際しては,XMLを規定している標準情報 TR X 0008:1999 拡張可能なマーク付け言語(XML)及びSGML関連規格において使用している訳語との整合を配慮した。

この標準情報(TR)で採用した主な訳語を次に示し, 今後の関連規定の作成等に際しての参考とする。

原語 訳語
markup vocabulary マーク付け語い
collision 衝突
namespace 名前空間
namespace constraint 名前空間制約
base URI 基底URI
prefix scoping 接頭辞のスコープ
persistence 永続性
namespace binding 名前空間束縛
prose description 自然言語の記述
traditional 従来の
partition 区画
expanded 展開された
global 大域的

2.2 章・節構成

W3Cの規定は, 必ずしもJIS又はTRの様式には整合していないため, 変更が必要である。しかしTRの読者が原規定を参照する際の便を考慮すると, 章・節構成はなるべく原規定のそれを保存することが望まれる。そこで, 次に示すだけの修正(章・節番号の変更なし)を施して, TR原案とした。

2.3 その他の翻訳表記上の規則

原規定は, HTMLを用いて記述されている。この標準情報(TR)も原則として, 原規定のタグを保存することにしたが, 特に次の点に留意した。

2.4 名前空間とDTDとの併用

名前空間は既にW3Cの勧告になっているが, DTDと併用する場合には問題があること が知られている。2.4では, この問題を整理し, 考えられる回避策を示す。

次に示す三つのXML文書は, 名前空間の規定からは等価であると見なされる。 例1では, 名前空間が必要になったときに宣言している。例2では, 文書要素(ルート)で宣言している。例3の文書も文書要素で宣言しているが, 接頭辞が異なる。

例1 名前空間を使用する箇所で宣言する場合

<?xml version="1.0"?>
<memo>
  <from>foo</from>
  <to>bar</to>
  <p>「名前空間」という本の注文を受けました。</p>
  <book:book xmlns:book="http://book.or.jp" >
    <book:author>XML太郎</book:author>
    <book:title>名前空間</book:title>
    <book:ISBN>4-532-14610-0</book:ISBN>
    <book:price>2000</book:price>
  </book:book>
</memo>

例2 名前空間を文書要素で宣言する場合

<?xml version="1.0" >
<memo xmlns:book="http://book.or.jp">
  <from>foo</from>
  <to>bar</to>
  <p>「名前空間」という本の注文を受けました。</p>
  <book:book>
    <book:author>XML太郎</book:author>
    <book:title>名前空間</book:title>
    <book:ISBN>4-532-14610-0</book:ISBN>
    <book:price>2000</book:price>
  </book:book>
</memo>

例3 名前空間を文書要素で宣言する場合 (接頭辞はbk)

<?xml version="1.0" >
<memo xmlns:bk="http://book.or.jp">
  <from>foo</from>
  <to>bar</to>
  <p>「名前空間」という本の注文を受けました。</p>
  <bk:book>
    <bk:author>XML太郎</bk:author>
    <bk:title>名前空間</bk:title>
    <bk:ISBN>4-532-14610-0</bk:ISBN>
    <bk:price>2000</bk:price>
  </bk:book>
</memo>

しかしDTDを使用する場合は, あらかじめ属性も宣言しなければならず, どの要素型に対して使用するかも明示しなければならない。したがって, これらの三つのXML文書に共通のDTDを書くことはできない。これが, 現状のXMLと名前空間との間で生じる問題である。

この問題の回避策を次に示す。

a)及びb)は, DTDと名前空間との衝突を避けるものである。c)は, 次に示す使用方法である。


<!DOCTYPE memo [
<!ELEMENT memo (from,to,(p|book:book)*) >
<!ELEMENT from (#PCDATA) >
<!ELEMENT to   (#PCDATA) >
<!ELEMENT p   (#PCDATA) >
<!ELEMENT book:book  (book:author, book:title, book:ISBN, book:price) >
<!ATTLIST book:book
  xmlns:book CDATA #FIXED  "http://book.or.jp">
<!ELEMENT book:author (#PCDATA) >
<!ELEMENT book:title (#PCDATA) >
<!ELEMENT book:price (#PCDATA) >
<!ELEMENT book:ISBN (#PCDATA) >
]>
<memo>
  <from>foo</from>
  <to>bar</to>
  <p>「名前空間」という本の注文を受けました。</p>
  <book:book>
    <book:author>XML太郎</book:author>
    <book:title>名前空間</book:title>
    <book:ISBN>4-532-14610-0</book:ISBN>
    <book:price>2000</book:price>
  </book:book>
</memo>

この方法では, 名前空間の宣言位置又は接頭辞を変えることができない という点において, 名前空間の使用が著しく制限される。

d)は, XMLスキーマ言語が制定されるまでは利用できず, 制定がいつになる かは未定である。

3. 懸案事項

翻訳作業の過程で原規定における編集上の問題点の幾つかが明らかになり, 次に示すエラーレポートをW3Cに通知してある。それらの問題点及びW3Cのウェブに19990114-errataとして公開されているエラーは, 既に翻訳に反映されている。

a) 4. last para
The description "Element names and attribute types are ..." should be "Element types and attribute names are ..."
b) 4. last para
The description "...#dt-dtd'>DTD" should be replaced with "...#dt-doctype'>DTD".

4. 参考文献

この標準情報(TR)の素案作成段階において, 次の文献を参照した。

1) どら猫本舗, "XMLネームスペース", http://www.doraneko.org/xml/namespace/namespace.html

2) XML Schema Part 1: Structures, W3C WD, 1999-05-06, http://www.w3.org/TR/xmlschema-1/

3) XML Schema Part 2: Datatypes, W3C WD, 1999-05-06, http://www.w3.org/TR/xmlschema-2/

5. 原案作成委員会

この標準情報(TR)の原案を作成した(財)日本規格協会 情報技術標準化研究センター(INSTAC)の高速Webにおける標準化に関する調査研究委員会, 作業グループ(WG3) 及びXML特別作業グループ(XML-SWG)の委員構成を, その順に次に示す。

高速Webにおける標準化に関する調査研究委員会
氏名所属
(委員長)池田 克夫京都大学
(幹事)鯵坂 恒夫和歌山大学
(幹事)小町 祐史松下電送システム株式会社
(幹事)平山 亮ヒューレット・パッカード日本研究所
内山 光一株式会社東芝
久保田 靖夫大日本印刷株式会社
黒川 利明株式会社CSK
斎藤 伸雄凸版印刷株式会社
澤田 位財団法人日本規格協会
八田 勲通商産業省工業技術院標準部
二本松 勝株式会社日立製作所
氏兼 裕之通商産業省機械情報産業局
古瀬 幸広立教大学
松本 充司早稲田大学
柳町 昭夫株式会社NHKアイテック
(事務局)山中 正幸財団法人日本規格協会


作業グループ(WG3)
氏名所属
(主査)小町 祐史松下電送システム株式会社
(幹事)内山 光一株式会社東芝
奥井 康弘株式会社日本ユニテック
上村 圭介国際大学グローバルコミュニケーションセンター
北野 敬介日本サン・マイクロシステムズ株式会社
黒川 利明株式会社CSK
郡山 龍株式会社アプリックス
澤田 位財団法人日本規格協会
湯沢 広吉通商産業省機械情報産業局
内藤 広志大阪工業大学
乃木 篤株式会社CSK
田川 淳通商産業省工業技術院標準部
オブザーバ浅利 千鶴浅利会計事務所
オブザーバ山東 滋株式会社日立製作所
オブザーバ稲垣 博人日本電信電話株式会社
オブザーバ荻原 崇弘通商産業省機械情報産業局
(事務局)山中 正幸財団法人日本規格協会


XML特別作業グループ(XML-SWG)
氏名所属
(主査)村田 真富士ゼロックス情報システム株式会社
内山 光一株式会社東芝
小町 祐史松下電送システム株式会社
檜山 正幸檜山オフィス
奥井 康弘株式会社日本ユニテック
高橋 亨株式会社日立製作所
川俣 晶株式会社ピーデー
上村 圭介国際大学グローバルコミュニケーションセンター
今郷 詔株式会社リコー