<?xml version="1.0" encoding="UTF-8"?>
<root xmlns="http://www.w3s.org/xml/2/v2">
  <config-lists>
    <config name="test" priority="0"/>
  </config-list>
</root>

上記のようなXMLファイルに対して、JScriptとXMLDOMを使って、新規に要素を追加使用とした場合、追加した要素の属性として、xmlns=""が勝手に追加された。
追加する際に、createElement()を使っていたのだが、これがいけなかったらしい。
以下、msdnより転載。

Remarks
Creating an element with this method is the same as using createNode where the
type parameter value is NODE_ELEMENT and no namespace is specified.
You cannot create a namespace-qualified element using the createElement method.
Regardless of whether a namespace prefix is included in the tagName parameter,
the namespaceURI property for the new element node is set to an empty string, "". 
An element node constructed as part of an XML document load operation will
never have both a prefix and an empty namespace Uniform Resource Identifier
(URI). You can only create a namespace-qualified element using the createNode
method of the DOMDocument object.
Although this method creates the new object in the context of this document, it
does not automatically add the new object to the document tree. In other words,
although the ownerDocument property of the new node points to this document
object, the parentNode property is set to Null. To add the new object, you must
explicitly call one of the node insert methods, insertBefore method,
replaceChild method, or appendChild method.

The nodeType property has the value NODE_ELEMENT.

代わりに、createNode()を使えとあったので、createNodeを使って実験してみたところ、名前空間を指定して追加すれば、xmlnsは勝手に付加されなかった。
最終更新:2010年08月05日 14:55