xml.sax.saxutils — SAXユーティリティ—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/3.8/library/xml.sax.utils
移動先:案内検索

xml.sax.saxutils —SAXユーティリティ

ソースコード: :source: `Lib / xml / sax / saxutils.py`



モジュール xml.sax.saxutils には、直接使用または基本クラスとしてSAXアプリケーションを作成するときに一般的に役立つクラスと関数が多数含まれています。

xml.sax.saxutils.escape(data, entities={})

データ文字列内の'&''<'、および'>'をエスケープします。

オプションの entities パラメーターとして辞書を渡すことにより、他のデータ文字列をエスケープできます。 キーと値はすべて文字列である必要があります。 各キーは、対応する値に置き換えられます。 エンティティが指定されている場合でも、文字'&''<'、および'>'は常にエスケープされます。

xml.sax.saxutils.unescape(data, entities={})

データ文字列内の'&amp;''&lt;'、および'&gt;'をエスケープ解除します。

オプションの entities パラメーターとして辞書を渡すことにより、他のデータ文字列をエスケープ解除できます。 キーと値はすべて文字列である必要があります。 各キーは、対応する値に置き換えられます。 '&amp''&lt;'、および'&gt;'は、エンティティが提供されている場合でも、常にエスケープされません。

xml.sax.saxutils.quoteattr(data, entities={})

escape()に似ていますが、属性値として使用される data も準備します。 戻り値は、 data の引用バージョンであり、必要な置換が追加されています。 quotetr()は、 data の内容に基づいて引用符を選択し、文字列内の引用符のエンコードを回避しようとします。 一重引用符と二重引用符の両方がすでに data にある場合、二重引用符はエンコードされ、 data は二重引用符で囲まれます。 結果の文字列は、属性値として直接使用できます。

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

この関数は、参照の具体的な構文を使用してHTMLまたは任意のSGMLの属性値を生成するときに役立ちます。

class xml.sax.saxutils.XMLGenerator(out=None, encoding='iso-8859-1', short_empty_elements=False)

このクラスは、SAXイベントをXMLドキュメントに書き戻すことにより、 ContentHandler インターフェイスを実装します。 つまり、 XMLGenerator をコンテンツハンドラーとして使用すると、解析中の元のドキュメントが再現されます。 out は、デフォルトで sys.stdout になるファイルのようなオブジェクトである必要があります。 encoding は、デフォルトで'iso-8859-1'に設定されている出力ストリームのエンコーディングです。 short_empty_elements は、コンテンツを含まない要素のフォーマットを制御します。False(デフォルト)の場合、Trueに設定すると、開始/終了タグのペアとして出力されます。単一の自己閉鎖タグとして発行されます。

バージョン3.2の新機能: short_empty_elements パラメーター。

class xml.sax.saxutils.XMLFilterBase(base)
このクラスは、 XMLReader とクライアントアプリケーションのイベントハンドラーの間に位置するように設計されています。 デフォルトでは、要求をリーダーに渡し、イベントを変更せずにハンドラーに渡すだけですが、サブクラスは特定のメソッドをオーバーライドして、通過するイベントストリームまたは構成要求を変更できます。
xml.sax.saxutils.prepare_input_source(source, base=)
この関数は、入力ソースとオプションのベースURLを受け取り、完全に解決された InputSource オブジェクトを読み取り可能な状態で返します。 入力ソースは、文字列、ファイルのようなオブジェクト、または InputSource オブジェクトとして指定できます。 パーサーはこの関数を使用して、parse()メソッドにポリモーフィックな source 引数を実装します。