[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]] を削除した場合はどうか。