##
1 DOM オブジェクト

Python の DOM API 定義は `xml.dom` モジュールドキュメント の一部として与えられています。この節では、`xml.dom` の API と `xml.dom.minidom` との違いについて列挙します。

`unlink`( | )

  DOM との内部的な参照を破壊して、循環参照ガベージコレクションを 持たないバージョンの Python でもガベージコレクションされるように します。循環参照ガベージコレクションが利用できても、このメソッドを 使えば、大量のメモリをすぐに使えるようにできるため、必要なくなったら すぐにこのメソッドを DOM オブジェクトに対して呼ぶのが良い習慣です。 このメソッドは `Document` オブジェクトに対してだけ呼び出せば よいのですが、あるノードの子ノードを放棄するために子ノードに対して 呼び出してもかまいません。

`writexml`( | writer[,indent=""[,addindent=""[,newl=""]]])

  XML を writer オブジェクトに書き込みます。 writer は、ファイルオブジェクトインタフェースの `write()` に該当する メソッドを持たなければなりません。 indent パラメタには現在のノードのインデントを指定します。 addindent パラメタには現在のノードの下にサブノードを 追加する際のインデント増分を指定します。 newl には、改行時に行末を終端する文字列を指定します。

  バージョン 2.1 で 変更 された仕様: 美しい出力をサポートするため、新たなキーワード引数 indent、addindent、および newl が追加されました

  バージョン 2.3 で 変更 された仕様: `Document` ノードに対して、追加のキーワード引数 encoding を使って、XML ヘッダの encoding フィールドを指定できるように なりました

`toxml`( | [encoding])

  DOM が表現している XML を文字列にして返します。

  引数がなければ、 XML ヘッダは encoding を指定せず、 文書内の全ての文字をデフォルトエンコード方式で表示できない場合、 結果は Unicode 文字列となります。この文字列を UTF-8 以外の エンコード方式でエンコードするのは不正であり、なぜなら UTF-8 が XML のデフォルトエンコード方式だからです。

  明示的な encoding 引数があると、結果は指定されたエンコード 方式によるバイト文字列となります。引数を常に指定するよう推奨します。 表現不可能なテキストデータの場合に `UnicodeError` が送出されるのを 避けるため、encoding 引数は "utf-8" に指定するべきです。

  バージョン 2.3 で 変更 された仕様: encoding が追加されました

`toprettyxml`( | [indent[, newl]])

  美しく出力されたバージョンの文書を返します。indent は インデントを行うための文字で、デフォルトはタブです; newl には行末で出力される文字列を指定し、デフォルトは `\n` です。

  バージョン 2.1 で 新たに追加 された仕様です。 バージョン 2.3 で 変更 された仕様: encoding 引数の追加; `toxml` を参照

以下の標準 DOM メソッドは、`xml.dom.minidom` では特別な 注意をする必要があります:

`cloneNode`( | deep)

  このメソッドは Python 2.0 にパッケージされているバージョンの `xml.dom.minidom` にはありましたが、これには深刻な 障害があります。以降のリリースでは修正されています。