OperaのDocumentクラス

JavaScriptなページを作っていますが、Operaでも使えるようにしようとしたところ、 document.implementation.createDocument を持っていませんでした。Ver. 7 はね orz
Ver. 8 は document.implementation.createDocument を持っていました。でも、任意のエレメントクラスを appendChild しようとすると、なぞの例外発生。うまくいきませんでした。
Ver. 9(まだbeta版らしい)にして、やっと動きました。
しかし、SOAPサービスに送信したところ、なぞのエラー。tcpmonを使ってみると、xmlns属性を付けたエレメントに xmlns="" の属性指定が勝手に追加されてました。
とりあえずの解決法。xmlns属性を付ける際に " xmlns"という属性名にすれば、なんとか抑制できました。
でも今度は Firefox やら Internet Explorer で例外発生やらうんすん言わずに停止やら。ま、変なことしてるから仕方ないけど。ということで、window.opera でチェックして、Operaのみ上記対策を採るようにする。
えらく泥臭いです。そのうちOperaの方が治してくれると思いますし。