要約
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:
 - 文書内の属性リスト宣言の文字列がそのまま渡されます
 
 cdata(content) -> ()[permalink][rdoc][edit]- 
CDATA セクションに出会ったときに呼び出されるコールバックメソッドです。
- [PARAM] content:
 - CDATAセクションの内容の文字列が渡されます
 
 characters(text) -> ()[permalink][rdoc][edit]- 
XML の文字データに出会ったときに呼び出されるコールバックメソッドです。
- [PARAM] text:
 - 文字データ(文字列)が渡されます
 
 comment(comment) -> ()[permalink][rdoc][edit]- 
XML文書内のコメントに出会ったときに呼び出されるコールバックメソッドです。
- [PARAM] comment:
 - コメントの内容が文字列で渡されます
 
 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" の場合はシステム識別子が渡されます
 
 elementdecl(content) -> ()[permalink][rdoc][edit]- 
DTDの要素型宣言をパースしたときに呼び出されるコールバックメソッドです。
- [PARAM] content:
 - 要素型宣言が文字列として渡されます。
 
 end_document -> ()[permalink][rdoc][edit]- 
ドキュメントの末尾で呼び出されるコールバックメソッドです。
 end_element(uri, localname, qname) -> ()[permalink][rdoc][edit]- 
要素が終了した(閉じられた)ときに呼び出されるコールバックメソッドです。
- [PARAM] uri:
 - 名前空間のURI文字列が渡されます。対応する名前空間が存在しない場合は nil が渡されます
 - [PARAM] localname:
 - 接頭辞を取り除いた要素名文字列が渡されます
 - [PARAM] qname:
 - 修飾名(qualified-name)文字列、つまり接頭辞を含む文字列が渡されます
 
 end_prefix_mapping(prefix) -> ()[permalink][rdoc][edit]- 
名前空間の接頭辞(prefix)の適用範囲が終了したときに呼び出されるコールバックメソッドです。
- [PARAM] prefix:
 - 接頭辞の文字列が渡されます
 
 entitydecl(content) -> ()[permalink][rdoc][edit]- 
DTDの実体宣言に出会ったときに呼び出されるコールバックメソッドです。
- [PARAM] content:
 - 実体宣言が配列で渡されます
 
 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が渡されます
 
 processing_instruction(target, data) -> ()[permalink][rdoc][edit]- 
XML 処理命令(PI)に対し呼び出されるコールバックメソッドです。
- [PARAM] target:
 - ターゲット名が文字列で渡されます
 - [PARAM] data:
 - 処理命令の内容が文字列で渡されます
 
 progress(position) -> ()[permalink][rdoc][edit]- 
パーサが入力を読み進めたときに呼び出されるコールバックメソッドです。
これの呼び出しの次のコールバックは基本的にこれで報告される位置から読み出したデータによるものです。
- [PARAM] position:
 - パーサの入力位置のバイト数
 
 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 でで渡されます。
 
 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 文字列が渡されます
 
 xmldecl(version, encoding, standalone) -> ()[permalink][rdoc][edit]- 
XML宣言に出会ったときに呼び出されるコールバックメソッドです。
- [PARAM] version:
 - 宣言されているバージョンが文字列で渡されます。
 - [PARAM] encoding:
 - 宣言されているエンコーディングが文字列で渡されます。
 - [PARAM] standalone:
 - スタンドアロン文書であるかどうかが "yes" "no" で渡されます