13.11 xml.sax.saxutils -- SAX ユーティリティ

バージョン 2.0 で 新たに追加 された仕様です。

モジュール xml.sax.saxutils には SAX アプリケーションの作成に 役立つ多くの関数やクラスも含まれており、直接利用したり、基底クラスとし て使うことができます。

escape( data[, entities])
文字列データ内の "&"、"<"、">" をエス ケープします。

オプションの entities パラメータに辞書を渡すことで、そのほ かの文字をエスケープさせることも可能です。辞書のキーと値はすべて文字列 で、キーに指定された文字は対応する値に置換されます。

unescape( data[, entities])
エスケープされた文字列 "&amp;"、"&lt;"、 "&gt;" を元の文字に戻します。

オプションの entities パラメータに辞書を渡すことで、そのほ かの文字をエスケープさせることも可能です。辞書のキーと値はすべて文字列 で、キーに指定された文字は対応する値に置換されます。 バージョン 2.3 で 新たに追加 された仕様です。

quoteattr( data[, entities])
escape() に似ていますが、data は属性値の作成に使わ れます。戻り値はクォート済みの data で、置換する文字の追加も可 能です。quoteattr() はクォートすべき文字を data の 文脈から判断し、クォートすべき文字を残さないように文字列をエンコード します。

data の中にシングル・クォート、ダブル・クォートがあれば、両方 ともエンコードし、全体をダブルクォートで囲みます。戻り値の文字列はその ままで属性値として利用できます。:

>>> print "<element attr=%s>" % quoteattr("ab ' cd \" ef")
<element attr="ab ' cd &quot; ef">

この関数は参照具象構文を使って、 HTML や SGML の属性値を生成するのに 便利です。 バージョン 2.2 で 新たに追加 された仕様です。

クラス XMLGenerator( [out[, encoding]])
このクラスは ContentHandler インターフェースの実装で、SAX イ ベントを XML ドキュメントに書き戻します。つまり、 XMLGenerator をコンテント・ハンドラとして用いると、パースし たオリジナル・ドキュメントの複製が作れるのです。out に指定する のはファイル風のオブジェクトで、デフォルトは sys.stdout です。 encoding は出力ストリームのエンコーディングで、デフォルトは 'iso-8859-1' です。

クラス XMLFilterBase( base)
このクラスは XMLReader とクライアント・アプリケーションのイ ベント・ハンドラとの間に位置するものとして設計されています。デフォル トでは何もせず、ただリクエストをリーダに、イベントをハンドラに、それ ぞれ加工せず渡すだけです。しかし、サブクラスでメソッドをオーバーライ ドすると、イベント・ストリームやリクエストを加工してから渡すように変 更可能です。

prepare_input_source( source[, base])
この関数は引き数に入力ソース、オプションとして URL を取り、読み取り 可能な解決済み InputSource オブジェクトを返します。入力ソー スは文字列、ファイル風オブジェクト、InputSource のいずれでも 良く、この関数を使うことで、パーサは様々な source パラメータを parse() に渡すことが可能になります。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。