- PR -

はじめまして。

1
投稿者投稿内容
かなぴぃ
会議室デビュー日: 2002/08/13
投稿数: 6
投稿日時: 2002-08-13 12:50
はじめまして。
XMLを急に勉強することになってせっかくの夏休みがなくなってしまいました。(T_T)

ところで、早速なのですが、
名前空間について教えてください。

<?xml vertion="1.0"?>
<words xmls:サービス="http://abc.com"
    xmls:technology="http://abc.com">
  <word サービス:asp="サービス" technology:asp="メニュー"/>
</words>

というのはどうやら間違いらしいのですが、
なぜ間違いなのかが?なのです。
名前空間に関しては本を見たのですが、
それでもわかりません。
ほんと超初心者の質問かもしれませんが、
教えてください。

MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2002-08-14 01:55
http://www.w3.org/TR/1999/REC-xml-names-19990114/
の 2. Declaring Namespaces
Attribute Names for Namespace Declaration
[1] NSAttName::=PrefixedAttName| DefaultAttName
[2] PrefixedAttName::='xmlns:' NCName[NSC: Leading "XML" ]
[3] DefaultAttName::='xmlns'

Top > @IT総合検索
http://www.atmarkit.co.jp/aig/searchtop.html
で 名前空間、名前文字 などの単語で検索します。
かなぴぃ
会議室デビュー日: 2002/08/13
投稿数: 6
投稿日時: 2002-08-14 09:53
ご返答ありがとうございます。
下の返答を見てサイトも開いてみたのですが、
それでも意味がよくわかりません。
(というかちゃんと訳せていないのかも・・・)

お手数かと思いますが、
もう少しご説明いただくとありがたいのですが〜〜〜
かなぴぃ
会議室デビュー日: 2002/08/13
投稿数: 6
投稿日時: 2002-08-14 09:59
追加:
ちなみに名前空間の意味は多少はわかるのですが、

<?xml vertion="1.0"?>
<words xmls:サービス="http://abc.com"
    xmls="http://abc.com">
  <word サービス:asp="サービス" asp="メニュー"/>
</words>

ならOKで最初の投稿分はだめ・・・というのがわかりません。
上のほうはデフォルトの名前空間が適用されたということだと
思うのですが、
最初の投稿のように両方接頭辞をつけたらだめ、というのは
決まりなのでしょうか?
ywada
会議室デビュー日: 2002/08/14
投稿数: 1
投稿日時: 2002-08-14 12:27
かなぴぃさん、および会議室の皆様、はじめまして。

名前空間接頭辞はあくまで表記上の便宜であり、
名前空間として意味を持つのは名前空間URIの方です。

かなぴぃさんの最初の例;

<?xml vertion="1.0"?>
<words xmls:サービス="http://abc.com"
  xmls:technology="http://abc.com">
 <word サービス:asp="サービス" technology:asp="メニュー"/>
</words>

この場合、名前空間接頭辞「サービス」「technology」とも
http://abc.com という同一の名前空間URIを表します。
ですから、属性「サービス:asp」と「technology:asp」は
「同一名前空間に属し、同一ローカル名を持つ、全く同一の属性」となります。
要素内の属性はユニークに識別可能でなければなりませんから、
これでは誤りです。

後の例;
<?xml vertion="1.0"?>
<words xmls:サービス="http://abc.com"
  xmls="http://abc.com">
 <word サービス:asp="サービス" asp="メニュー"/>
</words>

これは「デフォルトの名前空間が適用された」からではなく、
「属性にはデフォルト名前空間は適用されない」からです。
接頭辞のない属性「asp」はどの名前空間にも属していないため、
名前空間 http://abc.com に属する「サービス:asp」とは別物となるのでOK、
という訳です。

# ついでに指摘すれば、xmls ではなく xmlns ですね。
# 単純なタイプミスだと思いますが。


[ メッセージ編集済み 編集者: ywada 編集日時 2002-08-14 12:29 ]

[ メッセージ編集済み 編集者: ywada 編集日時 2002-08-14 13:00 ]
かなぴぃ
会議室デビュー日: 2002/08/13
投稿数: 6
投稿日時: 2002-08-14 17:24
ywadaさま、ありがとうございました。
ようやくわかりました。
私が買った本では簡単にしかのっていなかったので、
困っていました。


まだまだわからないことだらけですが、
がんばってマスターしていこうとおもまいます。
1

スキルアップ/キャリアアップ(JOB@IT)