種類
- インスタンスメソッド (21)
- 特異メソッド (11)
- 定数 (5)
- ライブラリ (3)
- クラス (1)
ライブラリ
-
rexml
/ document (34) -
rexml
/ parsers / pullparser (1) -
rexml
/ sax2listener (1) -
rexml
/ streamlistener (2)
クラス
-
REXML
:: DocType (4) -
REXML
:: Document (2) -
REXML
:: Entity (13) -
REXML
:: ExternalEntity (3) -
REXML
:: Parsers :: PullEvent (1) -
REXML
:: Text (5)
モジュール
-
REXML
:: EntityConst (4) -
REXML
:: SAX2Listener (1) -
REXML
:: Security (2) -
REXML
:: StreamListener (2)
キーワード
- AMP (1)
-
DEFAULT
_ ENTITIES (1) - GT (1)
- LT (1)
- QUOT (1)
- entities (1)
- entity (2)
-
entity
_ expansion _ limit (2) -
entity
_ expansion _ text _ limit (2) - entitydecl (2)
- entitydecl? (1)
- external (1)
- matches? (1)
- name (1)
- ndata (1)
- new (4)
- normalize (1)
- normalized (1)
- pubid (1)
- ref (1)
-
rexml
/ parsers / pullparser (1) -
rexml
/ parsers / sax2parser (1) -
rexml
/ parsers / streamparser (1) -
to
_ s (3) - unnormalize (1)
- unnormalized (1)
- value (2)
- write (3)
検索結果
先頭5件
-
REXML
:: Document . entity _ expansion _ text _ limit -> Integer (82540.0) -
実体参照の展開による文字列の増分(テキストのバイト数)の 最大値を指定します。
実体参照の展開による文字列の増分(テキストのバイト数)の
最大値を指定します。
展開によって増分値がこの値を越えると
例外を発生させ、処理を中断します。
実体参照の展開処理を使った DoS 攻撃に対抗するための
仕組みです。
デフォルトは 10240 (byte) です。
このメソッドは Ruby 2.1 から deprecated になりました。
REXML::Security.entity_expansion_text_limit を使ってください。
@see REXML::Document.entity_expansion_text_limit=,
http://ww... -
REXML
:: Security . entity _ expansion _ text _ limit -> Integer (82522.0) -
実体参照の展開による文字列の増分(テキストのバイト数)の 最大値を指定します。
実体参照の展開による文字列の増分(テキストのバイト数)の
最大値を指定します。
展開によって増分値がこの値を越えると
例外を発生させ、処理を中断します。
実体参照の展開処理を使った DoS 攻撃に対抗するための
仕組みです。
デフォルトは 10240 (byte) です。
@see REXML::Document.entity_expansion_text_limit=,
http://www.ruby-lang.org/ja/news/2013/02/22/rexml-dos-2013-02-22/ -
REXML
:: Entity (72193.0) -
XML における実体(エンティティ、entity)の宣言(declaration)を表わすクラス。
XML における実体(エンティティ、entity)の宣言(declaration)を表わすクラス。
DTD(REXML::DocType)内の実体宣言に対応するものです。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<!DOCTYPE document [
<!ENTITY f "foo bar baz">
<!ENTITY x SYSTEM "x.txt">
<!ENTITY y SYSTEM "y.png" NDATA PNG>
<!ENTITY % z "zzz">
<!EN... -
REXML
:: Document . entity _ expansion _ limit -> Integer (64240.0) -
実体参照の展開回数の上限を返します。
実体参照の展開回数の上限を返します。
XML 文書(REXML::Document)ごとの展開回数がこの値を越えると
例外を発生させ、処理を中断します。
実体参照の展開処理を使った DoS 攻撃に対抗するための
仕組みです。
デフォルトは 10000 です。
このメソッドは Ruby 2.1 から deprecated になりました。
REXML::Security.entity_expansion_limit を使ってください。
@see REXML::Document.entity_expansion_limit= -
REXML
:: Security . entity _ expansion _ limit -> Integer (64222.0) -
実体参照の展開回数の上限を返します。
実体参照の展開回数の上限を返します。
XML 文書(REXML::Document)ごとの展開回数がこの値を越えると
例外を発生させ、処理を中断します。
実体参照の展開処理を使った DoS 攻撃に対抗するための
仕組みです。
デフォルトは 10000 です。
@see REXML::Document.entity_expansion_limit -
REXML
:: Entity # external -> String | nil (55267.0) -
実体が外部実体(external entity)宣言である場合は "SYSTEM" もしくは "PUBLIC" という文字列を返します。
実体が外部実体(external entity)宣言である場合は
"SYSTEM" もしくは "PUBLIC" という文字列を返します。
内部実体(internal entity)宣言である場合には nil を返します。 -
REXML
:: StreamListener # entitydecl(content) -> () (46027.0) -
DTDの実体宣言をパースしたときに呼び出されるコールバックメソッドです。
DTDの実体宣言をパースしたときに呼び出されるコールバックメソッドです。
@param content 実体宣言が配列で渡されます
実体宣言の書き方によって content に渡されるデータの形式が異なります。
//emlist[][ruby]{
require 'rexml/parsers/baseparser'
require 'rexml/parsers/streamparser'
require 'rexml/streamlistener'
xml = <<EOS
<!DOCTYPE root [
<!ENTITY % YN '"Yes"'>
<!ENTITY % YN 'Yes... -
REXML
:: Parsers :: PullEvent # entitydecl? -> bool (45901.0) -
DTDの実体宣言なら真を返します。
DTDの実体宣言なら真を返します。 -
REXML
:: SAX2Listener # entitydecl(content) -> () (45901.0) -
DTDの実体宣言に出会ったときに呼び出されるコールバックメソッドです。
DTDの実体宣言に出会ったときに呼び出されるコールバックメソッドです。
@param content 実体宣言が配列で渡されます -
REXML
:: ExternalEntity . new(src) -> REXML :: ExternalEntity (37501.0) -
新たな ExternalEntity オブジェクトを生成します。
新たな ExternalEntity オブジェクトを生成します。
@param src 宣言文字列 -
REXML
:: EntityConst :: LT -> REXML :: Entity (37204.0) -
「<」「<」というエンティティを表わすオブジェクト。
「<」「<」というエンティティを表わすオブジェクト。 -
REXML
:: DocType # entity(name) -> String | nil (36976.0) -
name という実体参照名を持つ実体を文字列で返します。
name という実体参照名を持つ実体を文字列で返します。
返される文字列は非正規化(REXML::Entity#unnormalized 参照)
された文字列が返されます。
name という名前を持つ実体が存在しない場合には nil を返します。
@param name 実体参照名(文字列)
//emlist[][ruby]{
doctype = REXML::Document.new(<<EOS).doctype
<!DOCTYPE foo [
<!ENTITY bar "barbarbarbar">
]>
EOS
p doctype.entity("bar") # => "ba... -
REXML
:: Text . normalize(input , doctype = nil , entity _ filter = nil) -> String (36970.0) -
input を正規化(すべての entity をエスケープ)したものを 返します。
input を正規化(すべての entity をエスケープ)したものを
返します。
@param input 正規化する文字列
@param doctype DTD(REXML::DocType オブジェクト)
@param entity_filter 置換したい実体の名前の配列 -
REXML
:: Entity # value -> String | nil (36691.0) -
実体の値を返します。
実体の値を返します。
パラメータ実体参照(parameter entity)のみが展開され、
そうでない実体参照(general entity)は展開されて
いないような値が返されます。
外部実体(external entity)宣言の場合は nil を返します。
@see REXML::Entity#unnormalized, REXML::Entity#normalized -
REXML
:: Entity # normalized -> String | nil (36655.0) -
正規化された(normalized)実体の値を返します。
正規化された(normalized)実体の値を返します。
すなわち、一切の実体参照を展開していない値を返します。
外部実体(external entity)宣言の場合は nil を返します。
@see REXML::Entity#value, REXML::Entity#unnormalized -
REXML
:: Entity # unnormalized -> String | nil (36655.0) -
非正規化された(unnormalized)実体の値を返します。
非正規化された(unnormalized)実体の値を返します。
すなわち、self が属する DTD によってすべての実体参照(&ent; と %ent; の両方)
を展開した文字列を返します。
外部実体(external entity)宣言の場合は nil を返します。
@see REXML::Entity#value, REXML::Entity#normalized -
REXML
:: Text . unnormalize(string , doctype = nil , filter = nil , illegal = nil) -> String (36649.0) -
string を非正規化(すべての entity をアンエスケープ)したものを 返します。
string を非正規化(すべての entity をアンエスケープ)したものを
返します。
filter でアンエスケープしない実体の実体名を文字列配列で指定します。
@param string 非正規化する文字列
@param doctype DTD(REXML::DocType オブジェクト)
@param filter アンエスケープしない実体の実体名(文字列配列)
@param illegal 内部用。使わないでください。
//emlist[][ruby]{
require 'rexml/text'
REXML::Text.unnormalize("& &foobar; ... -
REXML
:: Text # value -> String (36619.0) -
テキストの内容を非正規化(すべての実体をアンエスケープ)された状態で返します。
テキストの内容を非正規化(すべての実体をアンエスケープ)された状態で返します。
このメソッドの返り値では raw モードや entity_filter は無視されます。
@see REXML::Text#raw, REXML::Text#to_s
//emlist[][ruby]{
require 'rexml/document'
t = REXML::Text.new("< & foobar", false, nil, false)
t.to_s # => "< & foobar"
t.value # => "< & foobar"
//} -
REXML
:: StreamListener # entity(content) -> () (36604.0) -
DTD内で、パラメータ実体参照(%entityname;)が現れたときに呼び出される コールバックメソッドです。
DTD内で、パラメータ実体参照(%entityname;)が現れたときに呼び出される
コールバックメソッドです。
DTDの各宣言(要素型宣言や実体参照宣言)の内側で使われた
場合はこのメソッドはコールバックされません。
各宣言のためのコールバックメソッド
(REXML::StreamListener#elementdecl や REXML::StreamListener#entitydecl
など)
の引数の一部として渡されます。
2.0.0 以前ではこのメソッドはコールバックされないことに注意してください。
@param content 参照名が文字列で渡されます。 -
REXML
:: ExternalEntity # to _ s -> String (36301.0) -
宣言を文字列化します。
宣言を文字列化します。 -
REXML
:: ExternalEntity # write(output , indent) -> () (36301.0) -
output へ self を文字列化して出力します。
output へ self を文字列化して出力します。
このメソッドは deprecated です。REXML::Formatter で
出力してください。
@param output 出力先の IO オブジェクト
@param indent インデントの大きさ。無視されます。 -
rexml
/ parsers / sax2parser (36163.0) -
SAX2 と同等の API を持つストリーム式の XML パーサ。
SAX2 と同等の API を持つストリーム式の XML パーサ。
コールバックをパーサオブジェクトに REXML::Parsers::SAX2Parser#listen で
設定してから REXML::Parsers::SAX2Parser#parse を呼び出すことで、
パーサからコールバックが呼び出されます。
コールバックには2種類あって、ブロックを使う方式と REXML::SAX2Listener
を include したクラスのオブジェクトを使う方式があります。詳しくは
REXML::Parsers::SAX2Parser#listen を参照してください。
REXML::Pa... -
rexml
/ parsers / streamparser (36163.0) -
ストリーム式の XML パーサ。
ストリーム式の XML パーサ。
rexml の XML パーサの中では高速ですが、機能は限定的です。
もう少し高機能なストリーム式パーサが必要な場合は
REXML::Parsers::SAX2Parser を用いてください。
パーサからはコールバックによってパースした情報を受け取ります。
REXML::StreamListener を include し、
必要なメソッドをオーバーライドしたクラスのオブジェクトを
コールバックオブジェクトとして REXML::Parsers::StreamParser.new
に渡します。
REXML::Parsers::StreamParser#pa... -
rexml
/ parsers / pullparser (36073.0) -
プル方式の XML パーサ。
プル方式の XML パーサ。
REXML::Parsers::StreamParser はパースした結果をコールバックによって
受動的に受け取りますが、このパーサは REXML::Parsers::PullParser#pull
によってパーサから結果をイベントという形で順に能動的に取り出します。
外部的にはこのクラスのオブジェクトはイベントのキューと見なせます。
pull はそのキューの先頭を取り出し、キューから取り除きます。
pull は REXML::Parsers::PullEvent オブジェクトを返します。
このオブジェクトの
REXML::Parsers::PullEvent... -
REXML
:: DocType :: DEFAULT _ ENTITIES -> { String => REXML :: Entity } (28504.0) -
XML の仕様上デフォルトで定義されている実体の Hash table。
XML の仕様上デフォルトで定義されている実体の Hash table。
"amp" => REXML::EntityConst::AMP は含まれません。 -
REXML
:: Entity . new(array) -> REXML :: Entity (28345.0) -
新たな Entity オブジェクトを生成して返します。
新たな Entity オブジェクトを生成して返します。
name, value で実体の名前とその値を定義します。
parent はその entity オブジェクトが属するノードを渡します。
reference でその実体宣言がパラメータ実体(parameter entity)かどうかを指定します。
このコンストラクタでは単純な内部実体(internal entity)宣言のみを実現できます。
それ以外の内容を保持する Entity オブジェクトが欲しい場合は、
文書に適切な DTD を含めておいてそれを REXML::Document.new で
パースするようにしてください。
配列... -
REXML
:: Entity . new(name , value , parent=nil , reference=false) -> REXML :: Entity (28345.0) -
新たな Entity オブジェクトを生成して返します。
新たな Entity オブジェクトを生成して返します。
name, value で実体の名前とその値を定義します。
parent はその entity オブジェクトが属するノードを渡します。
reference でその実体宣言がパラメータ実体(parameter entity)かどうかを指定します。
このコンストラクタでは単純な内部実体(internal entity)宣言のみを実現できます。
それ以外の内容を保持する Entity オブジェクトが欲しい場合は、
文書に適切な DTD を含めておいてそれを REXML::Document.new で
パースするようにしてください。
配列... -
REXML
:: Text . new(arg , respect _ whitespace = false , parent = nil , raw = nil , entity _ filter = nil , illegal = REXML :: Text :: NEEDS _ A _ SECOND _ CHECK) (28312.0) -
テキストノードオブジェクトを生成します。
テキストノードオブジェクトを生成します。
arg でノードの内容を指定します。
文字列の場合はそれが内容として使われます。
REXML::Text オブジェクトの場合はその内容が複製されます。
respect_whitespace に真を指定すると、arg に含まれる空白文字は保存されます。
偽の場合は空白はまとめられます。
raw は true, false, nil のいずれかを指定し、生成されるテキストノードが
raw モードであるかどうかを決めます。
true の場合、そのノードは raw モードであると解釈され、
テキストにはエスケープされていないXMLマークアップは
含まれ... -
REXML
:: EntityConst :: AMP -> REXML :: Entity (28204.0) -
「&」「&」というエンティティを表わすオブジェクト。
「&」「&」というエンティティを表わすオブジェクト。 -
REXML
:: EntityConst :: GT -> REXML :: Entity (28204.0) -
「>」「>」というエンティティを表わすオブジェクト。
「>」「>」というエンティティを表わすオブジェクト。 -
REXML
:: EntityConst :: QUOT -> REXML :: Entity (28204.0) -
「"」「"」というエンティティを表わすオブジェクト。
「"」「"」というエンティティを表わすオブジェクト。 -
REXML
:: Entity . matches?(string) -> bool (27691.0) -
string が実体宣言の文法に従う文字列であれば真を返します。
string が実体宣言の文法に従う文字列であれば真を返します。
@param string 判定対象の文字列
//emlist[][ruby]{
require 'rexml/document'
p REXML::Entity.matches?('<!ENTITY s "seal">') # => true
p REXML::Entity.matches?('<!ENTITY % s "seal">') # => true
p REXML::Entity.matches?('<!ELEMENT br EMPTY >') # => false
//} -
REXML
:: Entity # ndata -> String | nil (27649.0) -
解析対象外実体(unparsed entity)宣言である場合には その記法名(notation name)を返します。
解析対象外実体(unparsed entity)宣言である場合には
その記法名(notation name)を返します。
それ以外の場合は nil を返します。 -
REXML
:: Entity # ref -> String | nil (27649.0) -
外部実体(external entity)宣言の URI を返します。
外部実体(external entity)宣言の URI を返します。
内部実体宣言の場合は nil を返します。 -
REXML
:: Entity # pubid -> String | nil (27601.0) -
公開識別子(public identifier)を用いた外部実体宣言の場合は、その公開識別子を 返します。
公開識別子(public identifier)を用いた外部実体宣言の場合は、その公開識別子を
返します。
それ以外の場合は nil を返します。 -
REXML
:: Entity # to _ s -> String (27355.0) -
実体宣言を文字列化したものを返します。
実体宣言を文字列化したものを返します。
@see REXML::Entity#write
//emlist[][ruby]{
e = REXML::ENTITY.new("w", "wee");
p e.to_s # => "<!ENTITY w \"wee\">"
//} -
REXML
:: Entity # write(out , indent = -1) -> () (27319.0) -
実体宣言を文字列化したものを out に書き込みます。
実体宣言を文字列化したものを out に書き込みます。
@param out 出力先の IO オブジェクト
@param indent 利用されません。deprecated なパラメータです
@see REXML::Entity#to_s -
REXML
:: Text # to _ s -> String (27319.0) -
テキストの内容を正規化(すべての実体をエスケープ)された状態で返します。
テキストの内容を正規化(すべての実体をエスケープ)された状態で返します。
つまり返り値は XML のテキストとして妥当です。
結果は REXML::Text.new で指定した entity_filter を反映しています。
@see REXML::Text#value
//emlist[][ruby]{
require 'rexml/document'
t = REXML::Text.new("< & foobar", false, nil, false)
t.to_s # => "< & foobar"
t.value # => "< & foobar"
//} -
REXML
:: Entity # name -> String (27301.0) -
実体の名前を返します。
実体の名前を返します。 -
REXML
:: DocType # entities -> { String => REXML :: Entity } (19612.0) -
DTD で宣言されている実体の集合を Hash で返します。
DTD で宣言されている実体の集合を Hash で返します。
返される Hash は実体参照名をキーとし、対応する REXML::Entity オブジェクト
を値とするハッシュテーブルです。
これには、XML のデフォルトの実体(gt, lt, quot, apos)も含まれています。
//emlist[][ruby]{
doctype = REXML::Document.new(<<EOS).doctype
<!DOCTYPE foo [
<!ENTITY bar "barbarbarbar">
]>
EOS
p doctype.entities # => { "gt" => #... -
REXML
:: DocType # write(output , indent = 0 , transitive = false , ie _ hack = false) -> () (18937.0) -
output に DTD を出力します。
output に DTD を出力します。
このメソッドは deprecated です。REXML::Formatter で
出力してください。
@param output 出力先の IO オブジェクト
@param indent インデントの深さ。指定しないでください。
@param transitive 無視されます。指定しないでください。
@param ie_hack 無視されます。指定しないでください。
//emlist[][ruby]{
require 'rexml/document'
doctype = REXML::Document.new(<<EOS).doctype
<...