[1] [PRE(XML example code)[ ]> ]PRE] で、 [PRE(JS example code)[ document.documentElement.attributes[0].prefix = 'ns2'; ]PRE] とします。この時点では[[既定属性]]が[Q[復活]]することはありません [SRC[[[DOM水準3]]]]。 では、ここで [PRE(JS example code)[ document.documentElement.removeAttributeNode (document.documentElement.attributes[0]); ]PRE] すると、 [CODE(XMLa)@en[ns1:ln]] [[属性]]が復活するということで良いのでしょうか。 ;; もしそうであれば、 [[属性定義並び宣言]]で[[既定値]]が[[宣言]]されている[[属性定義]]すべての中から[[名前空間URI]]と[[局所名]]が[[一致]]するものを探さなければなりません。 ですが、 [[DTD]] は[[XML名前空間]]に対応していないため、 [[DTD]] だけ見ても[[名前空間URI]]はわかりません。 ですから、対応する[[要素]]で [CODE(DOMm)@en[[[lookupNamespaceURI]]]] でもして[[名前空間接頭辞]]から[[名前空間URI]]を引かなければなりません。 [2] あるいは [PRE(XML example code)[ ]> ]PRE] で - [CODE(XMLa)@en[[[xmlns]]:ns1]] を削除してから [CODE(XMLa)@en[ns1:ln]] を削除したらどうなるのか。 - [CODE(XMLa)@en[[[xmlns]]:ns1]] の値を [CODE(URI)@en[http://test/2]] に変更してから [CODE(XMLa)@en[ns1:ln]] を削除したらどうなるのか。 変更の後 [CODE(XMLa)@en[ns2:ln]] を削除してから [CODE(XMLa)@en[ns1:ln]] を削除した場合はどうか。