132件ヒット
[1-100件を表示]
(0.031秒)
種類
- インスタンスメソッド (84)
- ライブラリ (48)
ライブラリ
-
rexml
/ parsers / pullparser (12) -
rexml
/ parsers / sax2parser (60) -
rexml
/ streamlistener (12)
クラス
モジュール
キーワード
- entitydecl? (12)
- listen (60)
-
rexml
/ parsers / pullparser (12) -
rexml
/ parsers / sax2parser (12) -
rexml
/ parsers / streamparser (12) -
rexml
/ parsers / ultralightparser (12)
検索結果
先頭5件
-
REXML
:: StreamListener # entitydecl(content) -> () (18113.0) -
DTDの実体宣言をパースしたときに呼び出されるコールバックメソッドです。
...の書き方によって content に渡されるデータの形式が異なります。
//emlist[][ruby]{
require 'rexml/parsers/baseparser'
require 'rexml/parsers/streamparser'
require 'rexml/streamlistener'
xml = <<EOS
<!DOCTYPE root [
<!ENTITY % YN '"Yes"'>
<!ENTITY % YN 'Yes'>
<!ENTITY WhatHeSa......rafix/OpenHatch.gif" NDATA gif>
]>
<root />
EOS
class Listener
include REXML::StreamListener
def entitydecl(content); p content; end
end
REXML::Parsers::StreamParser.new(xml, Listener.new).parse
# >> ["YN", "\"Yes\"", "%"]
# >> ["YN", "Yes", "%"]
# >> ["WhatHeSaid", "He said %YN;"]
# >> ["open-... -
rexml
/ parsers / sax2parser (12030.0) -
SAX2 と同等の API を持つストリーム式の XML パーサ。
...を持つストリーム式の XML パーサ。
コールバックをパーサオブジェクトに REXML::Parsers::SAX2Parser#listen で
設定してから REXML::Parsers::SAX2Parser#parse を呼び出すことで、
パーサからコールバックが呼び出されます。
コールバック......す。詳しくは
REXML::Parsers::SAX2Parser#listen を参照してください。
REXML::Parsers::StreamParser のパーサよりは高機能です。
//emlist[][ruby]{
require 'rexml/parsers/sax2parser'
require 'rexml/sax2listener'
parser = REXML::Parsers::SAX2Parser.new(<<XML)
<root n="0">......:progress, 144]
# >> [:elementdecl, "<!ELEMENT root (a+)"]
# >> [:progress, 144]
# >> [:elementdecl, "<!ELEMENT a"]
# >> [:progress, 159]
# >> [:entitydecl, "bar", "barbarbarbar"]
# >> [:progress, 190]
# >> [:attlistdecl, "a", {"att"=>nil, "xyz"=>"foobar"}, " \n <!ATTLIST a att CDATA #REQUIRED xyz... -
rexml
/ parsers / streamparser (12030.0) -
ストリーム式の XML パーサ。
...サの中では高速ですが、機能は限定的です。
もう少し高機能なストリーム式パーサが必要な場合は
REXML::Parsers::SAX2Parser を用いてください。
パーサからはコールバックによってパースした情報を受け取ります。
REXML::StreamLis......バーライドしたクラスのオブジェクトを
コールバックオブジェクトとして REXML::Parsers::StreamParser.new
に渡します。
REXML::Parsers::StreamParser#parse を呼び出すと
パースが開始しその結果によってコールバックが呼び出されます。......, "<!ELEMENT a"]
# >> [:entitydecl, ["bar", "barbarbarbar"]]
# >> [:attlistdecl, "a", {"att"=>nil, "xyz"=>"foobar"}, " \n <!ATTLIST a att CDATA #REQUIRED xyz CDATA \"foobar\">"]
# >> [:notationdecl, ["foobar", "SYSTEM", nil, "http://example.org/foobar.dtd"]]
# >> [:entitydecl, ["HTMLsymbol", "PUBLI... -
rexml
/ parsers / ultralightparser (12030.0) -
パース結果を配列で作られた木構造により返すパーサ。
...返すパーサ。
REXML::Parsers::UltraLightParser.new でパーサオブジェクトを
生成し、REXML::Parsers::UltraLightParser#parse でパースし
その結果の木構造を返します。
===[a:nodes] ノードの表現
REXML::Parsers::UltraLightParser#parse が返す
XML の各ノー......素のように子ノードを持つ場合、
それらの子ノードもこの配列の要素として保持されます。
REXML::Parsers::UltraLightParser#parse の返り値となる
木のルートは特別で、ノードの種類を表すシンボルを持ちません。
XML宣言、DTD、ル......{ 属性名文字列 => デフォルト値文字列(なければnil) } という Hash
: [:elementdecl, 宣言文字列]
DTDの要素宣言
: [:entitydecl, *パラメータ]
DTDの実体宣言
: [:notationdecl, 記法名文字列, "PUBLIC" | "SYSTEM" | nil, 公開識別子文字列 | nil, URI文... -
rexml
/ parsers / pullparser (12018.0) -
プル方式の XML パーサ。
...プル方式の XML パーサ。
REXML::Parsers::StreamParser はパースした結果をコールバックによって
受動的に受け取りますが、このパーサは REXML::Parsers::PullParser#pull
によってパーサから結果をイベントという形で順に能動的に取り出......り除きます。
pull は REXML::Parsers::PullEvent オブジェクトを返します。
このオブジェクトの
REXML::Parsers::PullEvent#event_type で「開始タグ」「終了タグ」
といったイベントの種類を取得します。
REXML::Parsers::PullEvent#[] でそのイベン......は { 属性名文字列 => デフォルト値文字列(なければnil) } という Hash
: elementdecl (宣言文字列)
DTDの要素宣言
: entitydecl
DTDの実体宣言
: notationdecl (記法名文字列, "PUBLIC" | "SYSTEM" | nil, 公開識別子文字列 | nil, URI文字列 | nil)
DTD... -
REXML
:: Parsers :: PullEvent # entitydecl? -> bool (9101.0) -
DTDの実体宣言なら真を返します。
DTDの実体宣言なら真を返します。 -
REXML
:: Parsers :: SAX2Parser # listen(ary) { . . . } -> () (6012.0) -
コールバックをパーサに登録します。
...EXML::SAX2Listener#doctype)
* :attlistdecl
(DTDの属性リスト宣言, REXML::SAX2Listener#attlistdecl)
* :entitydecl
(DTDの実体宣言, REXML::SAX2Listener#entitydecl)
* :notationdecl
(DTDの記法宣言, REXML::SAX2Listener#notationdecl)
* :cdata
(CDATA セクション,......Aセクションに出会った場合にブロックが呼び出される。
parser.listen(:cdata){|data| ... }
# h1, h2 という要素名を持つ要素が開始した場合にブロックが呼び出される
parser.listen(:start_element, ["h1", "h2"]){|uri, localname, qname, attrs|
.........
}
# /\Ah[1234]\z/ という正規表現にマッチする要素(h1, .. h4)の直下の
# 文字データに出会った場合に呼び出される
parser.listen(:characters, [/\Ah[1234]\z/]){|data|
...
}... -
REXML
:: Parsers :: SAX2Parser # listen(ary , listener) -> () (6012.0) -
コールバックをパーサに登録します。
...EXML::SAX2Listener#doctype)
* :attlistdecl
(DTDの属性リスト宣言, REXML::SAX2Listener#attlistdecl)
* :entitydecl
(DTDの実体宣言, REXML::SAX2Listener#entitydecl)
* :notationdecl
(DTDの記法宣言, REXML::SAX2Listener#notationdecl)
* :cdata
(CDATA セクション,......Aセクションに出会った場合にブロックが呼び出される。
parser.listen(:cdata){|data| ... }
# h1, h2 という要素名を持つ要素が開始した場合にブロックが呼び出される
parser.listen(:start_element, ["h1", "h2"]){|uri, localname, qname, attrs|
.........
}
# /\Ah[1234]\z/ という正規表現にマッチする要素(h1, .. h4)の直下の
# 文字データに出会った場合に呼び出される
parser.listen(:characters, [/\Ah[1234]\z/]){|data|
...
}... -
REXML
:: Parsers :: SAX2Parser # listen(listener) -> () (6012.0) -
コールバックをパーサに登録します。
...EXML::SAX2Listener#doctype)
* :attlistdecl
(DTDの属性リスト宣言, REXML::SAX2Listener#attlistdecl)
* :entitydecl
(DTDの実体宣言, REXML::SAX2Listener#entitydecl)
* :notationdecl
(DTDの記法宣言, REXML::SAX2Listener#notationdecl)
* :cdata
(CDATA セクション,......Aセクションに出会った場合にブロックが呼び出される。
parser.listen(:cdata){|data| ... }
# h1, h2 という要素名を持つ要素が開始した場合にブロックが呼び出される
parser.listen(:start_element, ["h1", "h2"]){|uri, localname, qname, attrs|
.........
}
# /\Ah[1234]\z/ という正規表現にマッチする要素(h1, .. h4)の直下の
# 文字データに出会った場合に呼び出される
parser.listen(:characters, [/\Ah[1234]\z/]){|data|
...
}...