要約
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" で渡されます