每當我調用xml.setNamespace(ns)
時,元素的名稱空間設置爲ns
,但ns
也作爲另一個名稱空間添加,並帶有它自己的元素前綴。我想知道如何阻止後者發生(我可以修改XML.prototype.function::setNamespace
),而不定義@xmlns
,因爲我不能使用E4X語法。或者,不使用E4X @attribute語法的XML.prototype.function::setAttribute
(當然除了定義它的一個用途function::
)會更好。使用xml.setNamespace()時不添加名稱空間()
例子:
var xhtml = new Namespace("http://www.w3.org/1999/xhtml"),
xml = <foo/>;
xml.setNamespace(xhtml);
// what I get:
xml.toXMLString() ===
<foo
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns="http://www.w3.org/1999/xhtml"
/>.toXMLString();
// what I want:
xml.toXMLString() ===
<foo
xmlns="http://www.w3.org/1999/xhtml"
/>.toXMLString();
你的犀牛似乎是治療'setNamespace'爲'addNamespace',這ISN沒有給出命名空間名稱(只是一個uri)。 – 2009-10-27 23:10:12