tkHTMLDocument プログラム仕様
HTML要素の構築と操作を補助するモジュール。
このモジュールは、HTMLのタグ、属性、コンテンツ、子要素をプログラム的に管理し、 HTML文字列を生成するためのクラスを提供します。 tkHTMLElement クラスは個々のHTML要素を表し、その属性や子要素を操作できます。 tkHTMLDocument クラスは、これらの要素を生成し、より複雑なHTML構造(例: テーブル)を 簡単に構築するためのファクトリメソッドを提供します。
- class tklib.tkcgi.tkHTMLDocument.TableStructure(document: tkHTMLDocument = None)[ソース]
ベースクラス:
objectHTMLテーブル構造を簡素化して構築するためのヘルパークラス。
HTMLテーブルの <table>, <thead>, <tbody>, <tr>, <th>, <td> 要素を管理し、 ヘッダーや行データを簡単に追加できるインターフェースを提供します。
- class tklib.tkcgi.tkHTMLDocument.tkHTMLDocument[ソース]
ベースクラス:
objectHTMLドキュメント全体の管理と要素生成のためのファクトリクラス。
個々のHTML要素を生成し、より複雑なHTML構造(例: テーブル)を構築するための 便利なメソッドを提供します。
- create_element(tag: str, content: str = '', attributes: dict = None, escape: bool = True) tkHTMLElement[ソース]
指定されたタグ、コンテンツ、属性を持つ新しいtkHTMLElementインスタンスを生成します。
このメソッドは、tkHTMLElement のコンストラクタをラップし、 tkHTMLDocument インスタンスから直接要素を生成できるようにします。
- パラメータ:
tag -- str: HTML要素のタグ名。
content -- str: 要素のテキストコンテンツ。デフォルトは空文字列。
attributes -- dict | None: 要素の属性をキーと値の辞書で指定します。デフォルトはNone。
escape -- bool: コンテンツと属性値をHTMLエスケープするかどうかを決定します。 デフォルトはTrue。
- 戻り値:
tkHTMLElement: 新しく生成されたtkHTMLElementのインスタンス。
- create_table(attributes: dict = {'border': '1'}, header: list[str] = [], data_list: list[list[str]] = []) tuple[tkHTMLElement, tkHTMLElement, tkHTMLElement, tkHTMLElement][ソース]
HTMLテーブルを生成し、ヘッダーとデータ行を追加します。
このメソッドは、<table>, <thead>, <tr>, <th>, <tbody>, <td> 要素を 自動的に構築し、指定されたヘッダーとデータでテーブルを初期化します。
- パラメータ:
attributes -- dict: テーブル要素に適用する属性の辞書。デフォルトは{"border": "1"}。
header -- list[str]: テーブルのヘッダーテキストのリスト。
data_list -- list[list[str]]: テーブルの各行データを含むリストのリスト。
- 戻り値:
tuple[tkHTMLElement, tkHTMLElement, tkHTMLElement, tkHTMLElement]: 生成されたテーブル、thead、tr_head、tbody要素のタプル。
- class tklib.tkcgi.tkHTMLDocument.tkHTMLElement(tag: str, content: str = '', attributes: dict = None, escape: bool = True)[ソース]
ベースクラス:
object単一のHTML要素を表すクラス。
タグ名、コンテンツ、属性、子要素を管理し、それらからHTML文字列を構築します。 コンテンツのエスケープ処理も行います。
- append_child(*child_elements: tkHTMLElement)[ソース]
指定された子要素を現在の要素に追加します。
複数の子要素を一度に追加できます。
- パラメータ:
child_elements -- tkHTMLElement: 追加する一つ以上のtkHTMLElementインスタンス。
- 戻り値:
None
- build_element() str[ソース]
現在のHTML要素の完全なHTML文字列を構築して返します。
属性の整形、空要素の処理、子要素のインデント、コンテンツの配置など、 要素の構造とコンテンツに基づいて適切なHTMLを生成します。
- 戻り値:
str: 構築されたHTML要素の文字列表現。
- property contentText: str
要素のテキストコンテンツを取得します。
このプロパティは、HTMLエスケープされた生テキストコンテンツを返します。 setterを使用すると、新しいテキストコンテンツを設定できます。
- 戻り値:
str: 現在の要素のテキストコンテンツ。
- classmethod create_element(tag: str, content: str = '', attributes: dict = None, escape: bool = True) tkHTMLElement[ソース]
HTML要素の新しいインスタンスを生成します。
このクラスメソッドは、指定されたタグ、コンテンツ、属性を持つHTML要素を 簡単に作成するためのファクトリとして機能します。
- パラメータ:
tag -- str: HTML要素のタグ名。
content -- str: 要素のテキストコンテンツ。デフォルトは空文字列。
attributes -- dict | None: 要素の属性をキーと値の辞書で指定します。デフォルトはNone。
escape -- bool: コンテンツをHTMLエスケープするかどうか。デフォルトはTrue。
- 戻り値:
tkHTMLElement: 新しく生成されたtkHTMLElementのインスタンス。
- property innerHTML: str
現在の要素の子要素を含むHTMLコンテンツを構築して返します。
要素自身のコンテンツと、すべての子要素が構築されたHTML文字列を結合します。 子要素はインデントされて整形されます。
- 戻り値:
str: 要素の内部HTML表現(子要素を含む)。