19.13. xml.sax.saxutils
--- SAX ユーティリティ¶
バージョン 2.0 で追加.
モジュール xml.sax.saxutils
には SAX アプリケーションの作成に役立つ多くの関数やクラスも含まれており、直接利用したり、基底クラスとして使うことができます。
-
xml.sax.saxutils.
escape
(data[, entities])¶ 文字列データ内の
'&'
,'<'
,'>'
をエスケープします。オプションの entities パラメータに辞書を渡すことで、そのほかの文字をエスケープさせることも可能です。辞書のキーと値はすべて文字列で、キーに指定された文字は対応する値に置換されます。
'&'
,'<'
,'>'
は entities が与えられるかどうかに関わらず、常にエスケープします。
-
xml.sax.saxutils.
unescape
(data[, entities])¶ エスケープされた文字列
'&'
,'<'
,'>'
を元の文字に戻します。オプションの entities パラメータに辞書を渡すことで、そのほかの文字をエスケープさせることも可能です。辞書のキーと値はすべて文字列で、キーに指定された文字は対応する値に置換されます。
'&'
,'<'
,'>'
は entities が与えられるかどうかに関わらず、常に元の文字に戻します。バージョン 2.3 で追加.
-
xml.sax.saxutils.
quoteattr
(data[, entities])¶ escape()
に似ていますが、 data は属性値の作成に使われます。戻り値はクォート済みの data で、置換する文字の追加も可能です。quoteattr()
はクォートすべき文字を data の文脈から判断し、クォートすべき文字を残さないように文字列をエンコードします。 data の中にシングル・クォート、ダブル・クォートがあれば、両方ともエンコードし、全体をダブルクォートで囲みます。戻り値の文字列はそのままで属性値として利用できます:>>> print "<element attr=%s>" % quoteattr("ab ' cd \" ef") <element attr="ab ' cd " ef">
この関数は参照具象構文を使って、 HTML や SGML の属性値を生成するのに便利です。
バージョン 2.2 で追加.
-
class
xml.sax.saxutils.
XMLGenerator
([out[, encoding]])¶ このクラスは
ContentHandler
インターフェースの実装で、SAX イベントを XML ドキュメントに書き戻します。つまり、XMLGenerator
をコンテント・ハンドラとして用いると、パースしたオリジナル・ドキュメントの複製が作れるのです。 out に指定するのはファイル風のオブジェクトで、デフォルトは sys.stdout です。 encoding は出力ストリームのエンコーディングで、デフォルトは'iso-8859-1'
です。
-
class
xml.sax.saxutils.
XMLFilterBase
(base)¶ このクラスは
XMLReader
とクライアント・アプリケーションのイベント・ハンドラとの間に位置するものとして設計されています。デフォルトでは何もせず、ただリクエストをリーダに、イベントをハンドラに、それぞれ加工せず渡すだけです。しかし、サブクラスでメソッドをオーバーライドすると、イベント・ストリームやリクエストを加工してから渡すように変更可能です。
-
xml.sax.saxutils.
prepare_input_source
(source[, base])¶ この関数は引き数に入力ソース、オプションとして URL を取り、読み取り可能な解決済み
InputSource
オブジェクトを返します。入力ソースは文字列、ファイル風オブジェクト、InputSource
のいずれでも良く、この関数を使うことで、パーサは様々な source パラメータをparse()
に渡すことが可能になります。