- - PR -
名前空間の有効範囲について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-10-04 12:08
XML初心者のYasuと申します。
名前空間について勉強していてわからないことがあったので 書き込みさせていただきました。 質問の文章の時点で間違っているかもしれませんので そのときはご指摘ください。 <x:data xmlns:x="http://abc/def"> 〜 略 〜 </x:data> と、宣言した場合、要素<data>は名前空間"http://abc/def"に属します。 <data xmlns="http://abc/def"> 〜 略 〜 </data> も、デフォルト名前空間を設定したので、 要素<data>は名前空間"http://abc/def"に属します。 では、 <data xmlns:x="http://abc/def"> 〜 略 〜 </data> とした場合、要素<data>はどの名前空間に属するのでしょうか? W3C勧告として公開されている "Namespaces in XML"を見てみると <x xmlns:edi='http://ecommerce.org/schema'> <!-- the "edi" prefix is bound to http://ecommerce.org/schema for the "x" element and contents --> </x> という記述があります。 これを見る限り、x(上記サンプルではdata)はedi(同x)に 属するように思えるのです。しかし、 <data xmlns:x="http://abc/def" xmlns:y="http://ghi/jkl"> 〜 略 〜 </data> という記述も可能なようで、この場合はどうなるのか・・・、 と悩んでしまっています。 整理のつく説明がありましたら、よろしくお願いします。 |
|
投稿日時: 2004-10-04 12:50
英文の読みとして
プリフィックス edi は 要素xとその内容の範囲で・・・ ですから、プリフィックスediの無いxはデフォルト名前空間では XSLT を書いて テストしてみましょう。それがいちばん。 第1回 XML名前空間の落とし穴 第2回第3回 http://www.atmarkit.co.jp/fxml/ddd/ddd001/ddd001-namespaces1.html 第6回 XML名前空間でタグを使い分ける http://www.atmarkit.co.jp/fxml/rensai/rexml06/rexml06.html |
|
投稿日時: 2004-10-05 11:34
解決しました。
XSLTではどうやって検証してよいかわからず、結局Java+SAXで検証しました。 <data xmlns:x="http://abc/def"> <x:name>aaa</x:name> <x:title>bbb</x:bbb> </data> とした場合、<name>、<title>は、"http://abc/def"に属していましたが、 <data>はデフォルト名前空間に属していました。 多分、間違いはないと思いますが、もし違うという方がいらっしゃいましたら ご指摘ください。 MMXさん、アドバイスありがとうございました。 [ メッセージ編集済み 編集者: Yasu 編集日時 2004-10-05 11:34 ] |
1