Всякий раз, когда я вызываю xml.setNamespace(ns)
, пространство имен элемента устанавливается на ns
, но ns
также добавляется как другое пространство имен со своим собственным префиксом к элементу. Я хотел бы знать, как предотвратить возникновение последнего (я в порядке с изменением XML.prototype.function::setNamespace
) без определения @xmlns
, поскольку я не могу использовать синтаксис E4X. В качестве альтернативы, XML.prototype.function::setAttribute
, который не использует синтаксис E4X @attribute (за исключением, конечно, одного использования function::
для его определения), было бы еще лучше.
Пример:
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();