クラス
-
REXML
:: AttlistDecl (1) -
REXML
:: Attribute (2) -
REXML
:: Attributes (1) -
REXML
:: CData (1) -
REXML
:: Child (1) -
REXML
:: Comment (2) -
REXML
:: DocType (1) -
REXML
:: Document (6) -
REXML
:: Element (1) -
REXML
:: ElementDecl (1) -
REXML
:: Elements (1) -
REXML
:: Entity (3) -
REXML
:: ExternalEntity (1) -
REXML
:: Formatters :: Default (1) -
REXML
:: Formatters :: Pretty (1) -
REXML
:: Formatters :: Transitive (1) -
REXML
:: Instruction (1) -
REXML
:: NotationDecl (1) -
REXML
:: Parent (1) -
REXML
:: Text (3) -
REXML
:: XMLDecl (2) -
REXML
:: XPath (3)
モジュール
-
REXML
:: Security (4)
キーワード
- default (1)
- each (1)
-
entity
_ expansion _ limit (2) -
entity
_ expansion _ limit= (2) -
entity
_ expansion _ text _ limit (2) -
entity
_ expansion _ text _ limit= (2) - first (1)
- match (1)
- matches? (1)
- new (24)
- normalize (1)
-
parse
_ stream (1) - unnormalize (1)
検索結果
先頭5件
- REXML
:: AttlistDecl . new(source) -> REXML :: AttlistDecl - REXML
:: Attribute . new(attribute , value , parent = nil) -> REXML :: Attribute - REXML
:: Attribute . new(attribute _ to _ clone , parent = nil) -> REXML :: Attribute - REXML
:: Attributes . new(element) -> REXML :: Attributes - REXML
:: CData . new(text , respect _ whitespace = true , parent = nil) -> REXML :: CData
-
REXML
:: AttlistDecl . new(source) -> REXML :: AttlistDecl (10.0) -
このメソッドは内部用なので使わないでください。
このメソッドは内部用なので使わないでください。 -
REXML
:: Attribute . new(attribute , value , parent = nil) -> REXML :: Attribute (10.0) -
新たな属性オブジェクトを生成します。
新たな属性オブジェクトを生成します。
2種類の初期化が可能です。
REXML::Attribute オブジェクトを渡した場合は、
属性名とその値がそれから複製されます。
parent で新たに作られる属性オブジェクトが属する
要素が指定できます。
parent を省略した場合は複製元と同じ要素の属するように
設定されます。
また、属性名とその値を文字列で指定することもできます。
parent で新たに作られる属性オブジェクトが属する
要素が指定できます。
parent を省略した場合は nil が設定されます。
通常はこのメソッドは直接は使わず、REXML::Element#add_at... -
REXML
:: Attribute . new(attribute _ to _ clone , parent = nil) -> REXML :: Attribute (10.0) -
新たな属性オブジェクトを生成します。
新たな属性オブジェクトを生成します。
2種類の初期化が可能です。
REXML::Attribute オブジェクトを渡した場合は、
属性名とその値がそれから複製されます。
parent で新たに作られる属性オブジェクトが属する
要素が指定できます。
parent を省略した場合は複製元と同じ要素の属するように
設定されます。
また、属性名とその値を文字列で指定することもできます。
parent で新たに作られる属性オブジェクトが属する
要素が指定できます。
parent を省略した場合は nil が設定されます。
通常はこのメソッドは直接は使わず、REXML::Element#add_at... -
REXML
:: Attributes . new(element) -> REXML :: Attributes (10.0) -
空の Attributes オブジェクトを生成します。
空の Attributes オブジェクトを生成します。
どの要素の属性であるかを element で指定します。
通常は REXML::Element.new によって Attributes オブジェクト
が生成されるため、このメソッドを使う必要はありません。
@param element 属性が属する要素(REXML::Element オブジェクト) -
REXML
:: CData . new(text , respect _ whitespace = true , parent = nil) -> REXML :: CData (10.0) -
text をテキストとして持つ CData オブジェクトを生成します。
...字列
@param respect_whitespace 空白を保存するかどうかを決める真偽値
@param parent 親ノード
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root />
EOS
doc.root.add(REXML::CData.new("foo bar baz "))
doc.to_s # => "<root><![CDATA[foo bar baz ]]><... -
REXML
:: Child . new(parent = nil) -> REXML :: Child (10.0) -
REXML::Child オブジェクトを生成します。
REXML::Child オブジェクトを生成します。
parent で親ノードを指定します。
親ノードへの追加は行わないため、オブジェクト生成後に親に
適切に設定する必要があります。
通常、このメソッドは直接は使いません。継承先のクラスが適切に
このメソッド(initialize)を呼び出します。
@param parent 親ノード -
REXML
:: Comment . new(comment , parent = nil) -> REXML :: Comment (10.0) -
Comment オブジェクトを生成します。
Comment オブジェクトを生成します。
引数に REXML::Comment オブジェクトを渡すとその内容が複製されます
(親ノードの情報は複製されません)。
@param string コメント文字列
@param comment REXML::Comment オブジェクト
@param parent 親ノード -
REXML
:: Comment . new(string , parent = nil) -> REXML :: Comment (10.0) -
Comment オブジェクトを生成します。
Comment オブジェクトを生成します。
引数に REXML::Comment オブジェクトを渡すとその内容が複製されます
(親ノードの情報は複製されません)。
@param string コメント文字列
@param comment REXML::Comment オブジェクト
@param parent 親ノード -
REXML
:: DocType . new(source , parent = nil) -> REXML :: DocType (10.0) -
DocType オブジェクトを生成します。
DocType オブジェクトを生成します。
REXML::Source オブジェクトの場合は、Source オブジェクトが
保持しているDTDのテキストがパースされ、その内容によって DocType
オブジェクトが初期化されます。
REXML::DocType.new(Source.new(<<EOS))
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
EOS
このインターフェースは dep... -
REXML
:: Document . entity _ expansion _ limit -> Integer (10.0) -
実体参照の展開回数の上限を返します。
実体参照の展開回数の上限を返します。
XML 文書(REXML::Document)ごとの展開回数がこの値を越えると
例外を発生させ、処理を中断します。
実体参照の展開処理を使った DoS 攻撃に対抗するための
仕組みです。
デフォルトは 10000 です。
このメソッドは Ruby 2.1 から deprecated になりました。
REXML::Security.entity_expansion_limit を使ってください。
@see REXML::Document.entity_expansion_limit= -
REXML
:: Document . entity _ expansion _ limit=(val) (10.0) -
実体参照の展開回数の上限を指定します。
実体参照の展開回数の上限を指定します。
XML 文書(REXML::Document)ごとの展開回数がこの値を越えると
例外を発生させ、処理を中断します。
デフォルトは 10000 です。
このメソッドは Ruby 2.1 から deprecated になりました。
REXML::Security.entity_expansion_limit= を使ってください。
@param val 設定する上限値(整数)
@see REXML::Document.entity_expansion_limit -
REXML
:: Document . entity _ expansion _ text _ limit -> Integer (10.0) -
実体参照の展開による文字列の増分(テキストのバイト数)の 最大値を指定します。
実体参照の展開による文字列の増分(テキストのバイト数)の
最大値を指定します。
展開によって増分値がこの値を越えると
例外を発生させ、処理を中断します。
実体参照の展開処理を使った DoS 攻撃に対抗するための
仕組みです。
デフォルトは 10240 (byte) です。
このメソッドは Ruby 2.1 から deprecated になりました。
REXML::Security.entity_expansion_text_limit を使ってください。
@see REXML::Document.entity_expansion_text_limit=,
http://ww... -
REXML
:: Document . entity _ expansion _ text _ limit=(val) (10.0) -
実体参照の展開による文字列の増分(テキストのバイト数)の 最大値を指定します。
実体参照の展開による文字列の増分(テキストのバイト数)の
最大値を指定します。
展開によって増分値がこの値を越えると
例外を発生させ、処理を中断します。
実体参照の展開処理を使った DoS 攻撃に対抗するための
仕組みです。
デフォルトは 10240 (byte) です。
このメソッドは Ruby 2.1 から deprecated になりました。
REXML::Security.entity_expansion_text_limit= を使ってください。
@see REXML::Document.entity_expansion_text_limit
http://www... -
REXML
:: Document . new(source = nil , context = {}) -> REXML :: Document (10.0) -
Document オブジェクトを生成します。
Document オブジェクトを生成します。
source には String、IO、REXML::Document のいずかが
指定できます。 REXML::Document を指定すると
コンテキストと要素、属性が複製されます。
文字列の場合はそれを XML と見なしてパースします。
IOの場合は、XML文書を読み出してパースします。
context で「コンテキスト」を指定します。テキストノードの空白や
特殊文字の取り扱いを Hash で指定します。
以下の Symbol をハッシュのキーとして使います。
: :respect_whitespace
空白を考慮して欲しい要素の名... -
REXML
:: Document . parse _ stream(source , listener) -> () (10.0) -
XML文書を source から読み込み、パースした結果を listener にコールバックで伝えます。
XML文書を source から読み込み、パースした結果を
listener にコールバックで伝えます。
このメソッドは
Parsers::StreamParser.new( source, listener ).parse
と同じ挙動をします。
コールバックの詳しい仕組みなどについては REXML::Parsers::StreamParser
および REXML::StreamListener を参照してください。
@param source 入力(文字列、IO、IO互換オブジェクト(StringIOなど))
@param listener コールバックオブジェクト -
REXML
:: Element . new(arg = UNDEFINED , parent = nil , context = nil) -> REXML :: Element (10.0) -
要素オブジェクトを生成します。
要素オブジェクトを生成します。
arg が文字列の場合、新たな要素の名前は arg に設定されます。
arg が REXML::Element オブジェクトの場合は、
新たな要素の名前、属性、context が arg のもので初期化されます。
parent で親ノードを指定します。
context には hash table で要素のコンテキストを指定します。
基本的には text node (REXML::Text) での特別な文字、特に空白について
の取り扱いを指定できます。
以下の Symbol をハッシュのキーとして使います。
: :respect_whitespace
... -
REXML
:: ElementDecl . new(src) -> REXML :: ElementDecl (10.0) -
新たな要素宣言オブジェクトを作ります。
新たな要素宣言オブジェクトを作ります。
@param src 要素宣言文字列 -
REXML
:: Elements . new(parent) -> REXML :: Elements (10.0) -
空の要素の集合を表すオブジェクトを生成します。
空の要素の集合を表すオブジェクトを生成します。
通常は REXML::Element.new によって Elements オブジェクトが
生成されるため、このメソッドを使う必要はありません。
@param parant 親要素オブジェクト -
REXML
:: Entity . matches?(string) -> bool (10.0) -
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?('... -
REXML
:: Entity . new(array) -> REXML :: Entity (10.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 (10.0) -
新たな Entity オブジェクトを生成して返します。
新たな Entity オブジェクトを生成して返します。
name, value で実体の名前とその値を定義します。
parent はその entity オブジェクトが属するノードを渡します。
reference でその実体宣言がパラメータ実体(parameter entity)かどうかを指定します。
このコンストラクタでは単純な内部実体(internal entity)宣言のみを実現できます。
それ以外の内容を保持する Entity オブジェクトが欲しい場合は、
文書に適切な DTD を含めておいてそれを REXML::Document.new で
パースするようにしてください。
配列... -
REXML
:: ExternalEntity . new(src) -> REXML :: ExternalEntity (10.0) -
新たな ExternalEntity オブジェクトを生成します。
新たな ExternalEntity オブジェクトを生成します。
@param src 宣言文字列 -
REXML
:: Formatters :: Default . new(ie _ hack=false) -> REXML :: Formatter :: Default (10.0) -
フォーマッタオブジェクトを生成して返します。
フォーマッタオブジェクトを生成して返します。
このフォーマッタによる出力は基本的にテキストの空白や改行を変化させません。
ie_hack に真を渡すと、空のタグを閉じる前で空白を挿入します。
これは特定のバージョンのIEのXMLパーサのバグを避けるための機能です。
@param ie_hack 空のタグを閉じる所にスペースを入れるかどうかを指定します -
REXML
:: Formatters :: Pretty . new(indentation=2 , ie _ hack=false) -> REXML :: Formatter :: Pretty (10.0) -
フォーマッタオブジェクトを生成して返します。
フォーマッタオブジェクトを生成して返します。
このフォーマッタによる出力はテキストの空白や改行を調整し、
適切なインデントを挿入して読みやすいXMLを出力します。
indentation でインデント幅を(空白の数で)指定します。
ie_hack に真を渡すと、空のタグを閉じる前で空白を挿入します。
これは特定のバージョンのIEのXMLパーサのバグを避けるための機能です。
@param indentation 出力のインデント幅
@param ie_hack 空のタグを閉じる所にスペースを入れるかどうか -
REXML
:: Formatters :: Transitive . new(indentation=2 , ie _ hack=false) -> REXML :: Formatter :: Transitive (10.0) -
フォーマッタオブジェクトを生成して返します。
フォーマッタオブジェクトを生成して返します。
このフォーマッタによる出力は基本的にテキストの空白や改行を変化させないと
いう制約のもと、出力を整形します。
indentation でインデント幅を指定できます。
ie_hack に真を渡すと、空のタグを閉じる前で空白を挿入します。
これは特定のバージョンのIEのXMLパーサのバグを避けるための機能です。
@param indentation インデント幅
@param ie_hack 空のタグを閉じる所にスペースを入れるかどうかを指定します -
REXML
:: Instruction . new(target , content = nil) -> REXML :: Instruction (10.0) -
新たな Instruction オブジェクトを生成します。
新たな Instruction オブジェクトを生成します。
@param target ターゲット
@param content 内容 -
REXML
:: NotationDecl . new(name , middle , pub , sys) -> REXML :: NotationDecl (10.0) -
NotationDecl オブジェクトを生成します。
NotationDecl オブジェクトを生成します。
@param name 記法名(文字列)
@param middle 種別("PUBLIC" もしくは "SYSTEM")
@param pub 公開識別子(文字列)
@param sys URI(文字列) -
REXML
:: Parent . new(parent = nil) -> REXML :: Parent (10.0) -
REXML::Parent オブジェクトを生成します。
REXML::Parent オブジェクトを生成します。
子ノード列は空列に初期化されます。
parent で親ノードを指定します。
親ノードへの追加は行わないため、オブジェクト生成後に親に
適切に設定する必要があります。
通常、このメソッドは直接は使いません。継承先のクラスが適切に
このメソッド(initialize)を呼び出します。
@param parent 親ノード -
REXML
:: Security . entity _ expansion _ limit -> Integer (10.0) -
実体参照の展開回数の上限を返します。
実体参照の展開回数の上限を返します。
XML 文書(REXML::Document)ごとの展開回数がこの値を越えると
例外を発生させ、処理を中断します。
実体参照の展開処理を使った DoS 攻撃に対抗するための
仕組みです。
デフォルトは 10000 です。
@see REXML::Document.entity_expansion_limit -
REXML
:: Security . entity _ expansion _ limit=(val) (10.0) -
実体参照の展開回数の上限を指定します。
実体参照の展開回数の上限を指定します。
XML 文書(REXML::Document)ごとの展開回数がこの値を越えると
例外を発生させ、処理を中断します。
デフォルトは 10000 です。
@param val 設定する上限値(整数)
@see REXML::Document.entity_expansion_limit -
REXML
:: Security . entity _ expansion _ text _ limit -> Integer (10.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
:: Security . entity _ expansion _ text _ limit=(val) (10.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
:: Text . new(arg , respect _ whitespace = false , parent = nil , raw = nil , entity _ filter = nil , illegal = REXML :: Text :: NEEDS _ A _ SECOND _ CHECK) (10.0) -
テキストノードオブジェクトを生成します。
...L::Text.new("<&", false, nil, true).to_s # parse error
//}
//emlist[doctype があり、実体が宣言されている場合][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
doctype = REXML::Document.new(<<EOS).doctype
<!DOCTYPE root [
<!ENTITY p "foobar publisher">
<!ENTITY % q "q... -
REXML
:: Text . normalize(input , doctype = nil , entity _ filter = nil) -> String (10.0) -
input を正規化(すべての entity をエスケープ)したものを 返します。
input を正規化(すべての entity をエスケープ)したものを
返します。
@param input 正規化する文字列
@param doctype DTD(REXML::DocType オブジェクト)
@param entity_filter 置換したい実体の名前の配列 -
REXML
:: Text . unnormalize(string , doctype = nil , filter = nil , illegal = nil) -> String (10.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
:: XMLDecl . default -> REXML :: XMLDecl (10.0) -
XML宣言を含まない文章でデフォルトで使うための XMLDecl オブジェクトを生成して返します。
XML宣言を含まない文章でデフォルトで使うための
XMLDecl オブジェクトを生成して返します。 -
REXML
:: XMLDecl . new(version = REXML :: XMLDecl :: DEFAULT _ VERSION , encoding = nil , standalone = nil) (10.0) -
新たな XMLDecl オブジェクトを生成して返します。
新たな XMLDecl オブジェクトを生成して返します。
version 以外は省略可能です。
@param version バージョン(文字列)
@param encoding エンコーディング(文字列 or nil)
@param standalone スタンドアロン文章かどうか("yes", "no", nil) -
REXML
:: XPath . each(element , path = nil , namespaces = {} , variables = {}) {|e| . . . } -> () (10.0) -
element の path で指定した XPath 文字列にマッチする各ノード に対してブロックを呼び出します。
...文字列
@param namespace 名前空間とURLの対応付け
@param variables 変数名とその値の対応付け
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root xmlns:x='1'>
<a>
<b>b1</b>
<x:c />
<b>b2</b>
<d />
</a>
<b> b3 </b>
</root>
EOS... -
REXML
:: XPath . first(element , path = nil , namespaces = {} , variables = {}) -> Node | nil (10.0) -
element の path で指定した XPath 文字列にマッチする最初のノードを 返します。
...文字列
@param namespace 名前空間とURLの対応付け
@param variables 変数名とその値の対応付け
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root xmlns:x='1'>
<a>
<b>b1</b>
<x:c />
<b>b2</b>
<d />
</a>
<b> b3 </b>
</root>
EOS... -
REXML
:: XPath . match(element , path = nil , namespaces = {} , variables = {}) -> [Node] (10.0) -
element の path で指定した XPath 文字列にマッチするノードの配列を 返します。
...文字列
@param namespace 名前空間とURLの対応付け
@param variables 変数名とその値の対応付け
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root xmlns:x='1'>
<a>
<b>b1</b>
<x:c />
<b>b2</b>
<d />
</a>
<b> b3 </b>
</root>
EOS...