要約
REXML::Parsers::SAX2Parser で使われるコールバックオブジェクトのためのモジュールです。
このモジュールを include して、各メソッドを適切にオーバーライドしたクラスのインスタンスを REXML::Parsers::SAX2Parser#listen で渡します。
REXML::Parsers::SAX2Parser#listen ではこのモジュールを使わずにブロックを使う方法もあります。
このモジュールで定義されているメソッド自体は何もしません。コールバックのデフォルト動作(何もしない)を定義しているだけです。
目次
- インスタンスメソッド
インスタンスメソッド
attlistdecl(element, pairs, contents) -> ()[permalink][rdoc][edit]-
DTDの属性リスト宣言に対し呼び出されるコールバックメソッドです。
- [PARAM]
element: - 要素名が文字列で渡されます
- [PARAM]
pairs: - 属性名とそのデフォルト値の対応が { 属性名文字列 => デフォルト値文字列(無ければnil) } というハッシュテーブルで渡されます
- [PARAM]
contents: - 文書内の属性リスト宣言の文字列がそのまま渡されます
- [PARAM]
cdata(content) -> ()[permalink][rdoc][edit]-
CDATA セクションに出会ったときに呼び出されるコールバックメソッドです。
- [PARAM]
content: - CDATAセクションの内容の文字列が渡されます
- [PARAM]
characters(text) -> ()[permalink][rdoc][edit]-
XML の文字データに出会ったときに呼び出されるコールバックメソッドです。
- [PARAM]
text: - 文字データ(文字列)が渡されます
- [PARAM]
comment(comment) -> ()[permalink][rdoc][edit]-
XML文書内のコメントに出会ったときに呼び出されるコールバックメソッドです。
- [PARAM]
comment: - コメントの内容が文字列で渡されます
- [PARAM]
doctype(name, pub_sys, long_name, uri) -> ()[permalink][rdoc][edit]-
文書型宣言(DTD)に出会った時に呼び出されるコールバックメソッドです。
- [PARAM]
name: - 宣言されているルート要素名が文字列で渡されます。
- [PARAM]
pub_sys: - "PUBLIC" もしくは "SYSTEM" が渡されます。nilが渡される場合もあります。
- [PARAM]
long_name: - "SYSTEM" の場合はシステム識別子が、"PUBLIC"の場合は公開識別子が文字列で渡されます
- [PARAM]
uri: - "SYSTEM" の場合は nil が、"PUBLIC" の場合はシステム識別子が渡されます
- [PARAM]
elementdecl(content) -> ()[permalink][rdoc][edit]-
DTDの要素型宣言をパースしたときに呼び出されるコールバックメソッドです。
- [PARAM]
content: - 要素型宣言が文字列として渡されます。
- [PARAM]
end_document -> ()[permalink][rdoc][edit]-
ドキュメントの末尾で呼び出されるコールバックメソッドです。
end_element(uri, localname, qname) -> ()[permalink][rdoc][edit]-
要素が終了した(閉じられた)ときに呼び出されるコールバックメソッドです。
- [PARAM]
uri: - 名前空間のURI文字列が渡されます。対応する名前空間が存在しない場合は nil が渡されます
- [PARAM]
localname: - 接頭辞を取り除いた要素名文字列が渡されます
- [PARAM]
qname: - 修飾名(qualified-name)文字列、つまり接頭辞を含む文字列が渡されます
- [PARAM]
end_prefix_mapping(prefix) -> ()[permalink][rdoc][edit]-
名前空間の接頭辞(prefix)の適用範囲が終了したときに呼び出されるコールバックメソッドです。
- [PARAM]
prefix: - 接頭辞の文字列が渡されます
- [PARAM]
entitydecl(content) -> ()[permalink][rdoc][edit]-
DTDの実体宣言に出会ったときに呼び出されるコールバックメソッドです。
- [PARAM]
content: - 実体宣言が配列で渡されます
- [PARAM]
notationdecl(name, public_or_system, public_id, system_id) -> ()[permalink][rdoc][edit]-
DTDの記法宣言に出会ったときに呼び出されるコールバックメソッドです。
- [PARAM]
name: - 記法名が文字列で渡されます
- [PARAM]
public_or_system: - "PUBLIC" もしくは "SYSTEM" が渡されます
- [PARAM]
public_id: - 公開識別子が文字列で渡されます。指定されていない場合はnilが渡されます
- [PARAM]
system_id: - システム識別子が文字列で渡されます。指定されていない場合はnilが渡されます
- [PARAM]
processing_instruction(target, data) -> ()[permalink][rdoc][edit]-
XML 処理命令(PI)に対し呼び出されるコールバックメソッドです。
- [PARAM]
target: - ターゲット名が文字列で渡されます
- [PARAM]
data: - 処理命令の内容が文字列で渡されます
- [PARAM]
progress(position) -> ()[permalink][rdoc][edit]-
パーサが入力を読み進めたときに呼び出されるコールバックメソッドです。
これの呼び出しの次のコールバックは基本的にこれで報告される位置から読み出したデータによるものです。
- [PARAM]
position: - パーサの入力位置のバイト数
- [PARAM]
start_document -> ()[permalink][rdoc][edit]-
ドキュメントの先頭で呼び出されるコールバックメソッドです。
start_element(uri, localname, qname, attributes) -> ()[permalink][rdoc][edit]-
要素が開始されたときに呼び出されるコールバックメソッドです。
- [PARAM]
uri: - 名前空間のURI文字列が渡されます。対応する名前空間が存在しない場合は nil が渡されます
- [PARAM]
localname: - 接頭辞を取り除いた要素名文字列が渡されます
- [PARAM]
qname: - 修飾名(qualified-name)文字列、つまり接頭辞を含む文字列が渡されます
- [PARAM]
attribute: - 属性が { 属性名 => 属性値文字列 } という Hash でで渡されます。
- [PARAM]
start_prefix_mapping(prefix, uri) -> ()[permalink][rdoc][edit]-
名前空間の接頭辞(prefix)が導入されたときに呼び出されるコールバックメソッドです。
以下のようなXMLを処理
<a xmlns:foo="http://foo.example.org/"> <foo:b /> </a>すると
start_prefix_mapping("foo", "http://foo.example.org/") start_element(nil, "a", "a", {"xmlns:foo" => "http://foo.example.org/"}) : end_element(nil, "a", "a") end_prefix_mapping("foo")の順で呼びだされます。つまり名前空間を導入した要素の start_element の前に start_prefix_mapping が呼びだされます。
- [PARAM]
prefix: - 接頭辞の文字列が渡されます
- [PARAM]
uri: - 接頭辞に対応する URI 文字列が渡されます
- [PARAM]
xmldecl(version, encoding, standalone) -> ()[permalink][rdoc][edit]-
XML宣言に出会ったときに呼び出されるコールバックメソッドです。
- [PARAM]
version: - 宣言されているバージョンが文字列で渡されます。
- [PARAM]
encoding: - 宣言されているエンコーディングが文字列で渡されます。
- [PARAM]
standalone: - スタンドアロン文書であるかどうかが "yes" "no" で渡されます
- [PARAM]