2013-11-04 16 views
5

XMLのデフォルトの名前空間を認識しています。要素のxmlns = "xxx"を宣言します。この名前空間は接頭辞のないすべての子に適用されます。私の質問は、xmlns = "..."の代わりに、xmlns:pre = "..."が要素で宣言されている場合、未修正の子要素はまだ親の名前空間に関連付けられていますか?ここで親がxmlns:prefixが宣言されている接頭辞のない子要素のXML名前空間

は一例です:

<?xml version="1.0" ?> 
<srv:tutorial xmlns:srv='http://www.w3resource.com/server-side-tutorial'> 
    <name>php</name> 
    <name>asp</name> 
    <name>jsp</name> 
</srv:tutorial> 

3つの内側のname要素の名前空間とは何ですか?

答えて

3

3つの内側の 'name'要素は、 'srv'という接頭辞が付いた名前空間ではなく、 'default'または 'empty'名前空間に属します。

+0

ただ聞いていただけです。ありがとう! – Brett

+2

空のNSはありません。それは存在しません。ここではデフォルトNSはありません。したがって、彼らはどんなNSにも属しません。 – lkuty

+0

'default'と 'empty'によって、私は '論理的に'それらが 'that'名前空間にあることを意味しましたが、もちろん正当な名前空間ではありません。参考までに、http://www.w3.org/TR/1999/REC-xml-names-19990114/#ns-breakdownを見てみましょう.SEATとDEPARTUREを含むRESERVATIONは、場合。 –

0

私の現在のクレジットは十分ではないので、コメントを書くことができません。

しかし、内側の 'name'要素が "srv"とキー入力された名前空間に属していないという声明を検証する方法が不思議です。

標準的な文書であれば、このことをサポートすることができますか?

ありがとうございました

+0

"[接頭辞を宣言する名前空間宣言]は、その接頭辞が宣言で指定された**に一致する範囲**内のすべての要素名と属性名に適用されます。 - https://www.w3.org/TR/xml-names/#scoping-defaulting – Spooky

関連する問題