種類
- インスタンスメソッド (27)
- 特異メソッド (11)
- クラス (1)
クラス
-
REXML
:: CData (3) -
REXML
:: DocType (1) -
REXML
:: Document (3) -
REXML
:: Element (9) -
REXML
:: Instruction (2) -
REXML
:: ParseException (1) -
REXML
:: Parsers :: PullEvent (1) -
REXML
:: Text (10) -
REXML
:: XPath (2)
モジュール
-
REXML
:: SAX2Listener (1) -
REXML
:: Security (2) -
REXML
:: StreamListener (3)
キーワード
- <=> (1)
- Instruction (1)
- characters (1)
- clone (1)
- content (1)
- context (3)
- doctype (1)
- each (1)
-
each
_ element _ with _ text (1) - empty? (1)
-
entity
_ expansion _ text _ limit (2) -
entity
_ expansion _ text _ limit= (2) - entitydecl (1)
- first (1)
-
get
_ text (1) -
has
_ elements? (1) -
has
_ text? (1) - instruction (1)
- new (3)
-
next
_ element (1) -
node
_ type (1) - normalize (1)
- raw (1)
- target (1)
- text (2)
- text? (1)
- texts (1)
-
to
_ s (2) - unnormalize (1)
- value (2)
検索結果
先頭5件
-
REXML
:: Element # get _ text(path = nil) -> REXML :: Text | nil (19054.0) -
先頭のテキスト子ノードを返します。
...ます。
REXML::Text#value も参照してください。
path を渡した場合は、その XPath 文字列で指定される
テキストノードの文字列を返します。
テキストノードがない場合には nil を返します。
@param path XPath文字列
@see REXML::Element#tex......t
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new "<p>some text <b>this is bold!</b> more text</p>"
# doc.root (<p> ... </p>) は2つのテキストノード("some text " と " more text"
# を持っているが、前者を返す
doc.root.get_text.value # => "some text "
//}... -
REXML
:: Element # each _ element _ with _ text(text = nil , max = 0 , name = nil) {|element| . . . } -> () (19036.0) -
テキストを子ノードとして 持つすべての子要素を引数としてブロックを呼び出します。
...字列)
@param max ブロック呼出の対象とする子要素の最大個数
@param name xpath文字列
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new '<a><b>b</b><c>b</c><d>d</d><e/></a>'
doc.root.each_element_with_text {|e|p e}
# >> <b> ... </>
# >> <c> ... </>
# >> <d> .... -
REXML
:: StreamListener # text(text) -> () (18928.0) -
XML文書内のテキストをパースしたときに呼び出されるコールバックメソッドです。
XML文書内のテキストをパースしたときに呼び出されるコールバックメソッドです。
@param text テキストが文字列で渡されます -
REXML
:: Element # texts -> [REXML :: Texts] (18904.0) -
すべてのテキスト子ノードの配列を返します。
すべてのテキスト子ノードの配列を返します。
返される配列は freeze されます。 -
REXML
:: Element # text(path = nil) -> String | nil (18751.0) -
先頭のテキスト子ノードの文字列を返します。
...ます。
REXML::Text#value も参照してください。
path を渡した場合は、その XPath 文字列で指定される
テキストノードの文字列を返します。
テキストノードがない場合には nil を返します。
@param path XPath文字列
@see REXML::Element#get......_text
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new "<p>some text <b>this is bold!</b> more text</p>"
# doc.root (<p> ... </p>) は2つのテキストノード("some text " と " more text"
# を持っているが、前者を返す
doc.root.text # => "some text "
//}... -
REXML
:: Document . entity _ expansion _ text _ limit -> Integer (18733.0) -
実体参照の展開による文字列の増分(テキストのバイト数)の 最大値を指定します。
...トは 10240 (byte) です。
このメソッドは Ruby 2.1 から deprecated になりました。
REXML::Security.entity_expansion_text_limit を使ってください。
@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 -> Integer (18715.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
:: Element # context -> {Symbol => object} | nil (18676.0) -
要素の「コンテキスト」を Hash で返します。
...要素の「コンテキスト」を Hash で返します。
コンテキストとは text node (REXML::Text) での特別な文字、特に空白について
の取り扱いについての設定です。
以下の Symbol をハッシュのキーとして使います。
: :respect_whitespace......。
また、すべての要素で空白を考慮して欲しい場合には
:all を指定します。
デフォルト値は :all です。
REXML::Element#whitespace も参照してください。
: :compress_whitespace
空白を無視して欲しい要素の名前の集合を文字列の......ect_whitespace での指定を上書きします。
すべての要素で空白を無視して欲しい場合には
:all を指定します。
REXML::Element#whitespace も参照してください。
: :ignore_whitespace_nodes
空白のみからなるノードを無視して欲しい要素... -
REXML
:: Element # has _ text? -> bool (18607.0) -
要素がテキストノードを子ノードとして持つ場合に true を返します。
要素がテキストノードを子ノードとして持つ場合に true を返します。 -
REXML
:: ParseException # context -> [Integer , Integer , Integer] (18607.0) -
パースエラーが起きた(XML上の)場所を返します。
...の)場所を返します。
要素3個の配列で、
[position, lineno, line]
という形で返します。
position, line は
REXML::ParseException#position
REXML::ParseException#line
と同じ値です。
lineno は IO#lineno が返す意味での行数です。
通常は line と同じ値... -
REXML
:: Parsers :: PullEvent # text? -> bool (18607.0) -
テキストノードなら真を返します。
テキストノードなら真を返します。 -
REXML
:: DocType # context -> { Symbol => object } (18604.0) -
DTD が属する文書の「コンテキスト」を返します。
...DTD が属する文書の「コンテキスト」を返します。
具体的には親ノードである REXML::Document オブジェクトの
REXML::Element#context を返します。
コンテキストの具体的な内容については REXML::Element#context を
参照してください。... -
REXML
:: Document . entity _ expansion _ text _ limit=(val) (18433.0) -
実体参照の展開による文字列の増分(テキストのバイト数)の 最大値を指定します。
...トは 10240 (byte) です。
このメソッドは Ruby 2.1 から deprecated になりました。
REXML::Security.entity_expansion_text_limit= を使ってください。
@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) (18415.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 # clone -> REXML :: Text (9607.0) -
self を複製します。
self を複製します。 -
REXML
:: Text # to _ s -> String (9358.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"... -
REXML
:: Text # value -> String (9358.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
:: Text . unnormalize(string , doctype = nil , filter = nil , illegal = nil) -> String (9358.0) -
string を非正規化(すべての entity をアンエスケープ)したものを 返します。
...ype DTD(REXML::DocType オブジェクト)
@param filter アンエスケープしない実体の実体名(文字列配列)
@param illegal 内部用。使わないでください。
//emlist[][ruby]{
require 'rexml/text'
REXML::Text.unnormalize("& &foobar; <") # => "& &foobar; <"
REXML::Text.... -
REXML
:: Text # node _ type -> Symbol (9352.0) -
Symbol :text を返します。
Symbol :text を返します。 -
REXML
:: Text # raw -> bool (9340.0) -
"raw" モードであれば真を返します。
..."raw" モードであれば真を返します。
raw モードについては REXML::Text.new を参考にしてください。
@see REXML::Text#raw=... -
REXML
:: Text # <=>(other) -> -1 | 0 | 1 (9325.0) -
テキストの内容を other と比較します。
...テキストの内容を other と比較します。
@param other 比較対象(REXML::Text オブジェクトもしくは文字列)... -
REXML
:: Text # doctype -> REXML :: DocType | nil (9304.0) -
テキストノードが属する文書の DTD を返します。
...テキストノードが属する文書の DTD を返します。
そのような文書(REXML::Document)が存在しない、すなわち
テキストノードの親ノードを辿っても REXML::Document に到達しない、
場合には nil を返します。
@see REXML::DocType... -
REXML
:: Text # empty? -> bool (9304.0) -
テキストが空ならば真を返します。
テキストが空ならば真を返します。 -
REXML
:: Text . normalize(input , doctype = nil , entity _ filter = nil) -> String (9304.0) -
input を正規化(すべての entity をエスケープ)したものを 返します。
...input を正規化(すべての entity をエスケープ)したものを
返します。
@param input 正規化する文字列
@param doctype DTD(REXML::DocType オブジェクト)
@param entity_filter 置換したい実体の名前の配列... -
REXML
:: CData . new(text , respect _ whitespace = true , parent = nil) -> REXML :: CData (691.0) -
text をテキストとして持つ CData オブジェクトを生成します。
...uire '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 ]]></root>\n"
doc = REXML::Document.new(<<EOS)
<root />
EOS
doc.root.add(REXML::CData.new("foo bar baz ", true))
doc.root.add(REXML::CDat... -
REXML
:: Element . new(arg = UNDEFINED , parent = nil , context = nil) -> REXML :: Element (676.0) -
要素オブジェクトを生成します。
...が REXML::Element オブジェクトの場合は、
新たな要素の名前、属性、context が arg のもので初期化されます。
parent で親ノードを指定します。
context には hash table で要素のコンテキストを指定します。
基本的には text node (REXML::......。
また、すべての要素で空白を考慮して欲しい場合には
:all を指定します。
デフォルト値は :all です。
REXML::Element#whitespace も参照してください。
: :compress_whitespace
空白を無視して欲しい要素の名前の集合を文字列の......ect_whitespace での指定を上書きします。
すべての要素で空白を無視して欲しい場合には
:all を指定します。
REXML::Element#whitespace も参照してください。
: :ignore_whitespace_nodes
空白のみからなるノードを無視して欲しい要素... -
REXML
:: Document . new(source = nil , context = {}) -> REXML :: Document (640.0) -
Document オブジェクトを生成します。
...Document オブジェクトを生成します。
source には String、IO、REXML::Document のいずかが
指定できます。 REXML::Document を指定すると
コンテキストと要素、属性が複製されます。
文字列の場合はそれを XML と見なしてパースします。......。
また、すべての要素で空白を考慮して欲しい場合には
:all を指定します。
デフォルト値は :all です。
REXML::Element#whitespace も参照してください。
: :compress_whitespace
空白を無視して欲しい要素の名前の集合を文字列の......ect_whitespace での指定を上書きします。
すべての要素で空白を無視して欲しい場合には
:all を指定します。
REXML::Element#whitespace も参照してください。
: :ignore_whitespace_nodes
空白のみからなるノードを無視して欲しい要素... -
REXML
:: SAX2Listener # characters(text) -> () (625.0) -
XML の文字データに出会ったときに呼び出されるコールバックメソッドです。
XML の文字データに出会ったときに呼び出されるコールバックメソッドです。
@param text 文字データ(文字列)が渡されます -
REXML
:: StreamListener # entitydecl(content) -> () (484.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 WhatHeSaid "He......ch.xml">
<!ENTITY hatch-pic SYSTEM "../grafix/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", "%"]
# >> ["W... -
REXML
:: Instruction # content -> String | nil (430.0) -
XML 処理命令の内容を返します。
...XML 処理命令の内容を返します。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/css" href="style.css"?>
<?foobar?>
<root />
EOS
doc[2] # => <?p-i xml-stylesheet ...?>
doc[2].target # => "xml-... -
REXML
:: Instruction # target -> String (430.0) -
XML 処理命令のターゲットを返します。
...XML 処理命令のターゲットを返します。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/css" href="style.css"?>
<root />
EOS
doc[2] # => <?p-i xml-stylesheet ...?>
doc[2].target # => "xml-st... -
REXML
:: StreamListener # instruction(name , instruction) -> () (376.0) -
XML処理命令(PI)をパースしたときに呼び出されるコールバックメソッドです。
XML処理命令(PI)をパースしたときに呼び出されるコールバックメソッドです。
@param name ターゲット名が文字列で渡されます
@param instruction 処理命令の内容が文字列で渡されます
=== 例
<?xml-stylesheet type="text/css" href="style.css"?>
というPIに対し
name: "xml-stylesheet"
instruction: " type=\"text/css\" href=\"style.css\""
という引数が渡されます。 -
REXML
:: XPath . first(element , path = nil , namespaces = {} , variables = {}) -> Node | nil (358.0) -
element の path で指定した XPath 文字列にマッチする最初のノードを 返します。
...nil を返します。
@param element 要素(REXML::Element)
@param path XPath文字列
@param namespace 名前空間とURLの対応付け
@param variables 変数名とその値の対応付け
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root xmlns:x='1'>
<a>......ents[1] # => <a> ... </>
b1 = REXML::XPath.first(a, "b")
b1.text # => "b1"
REXML::XPath.first(doc, "/root/a/x:c") # => <x:c/>
REXML::XPath.first(a, "x:c") # => <x:c/>
REXML::XPath.first(a, "y:c") # => nil
REXML::XPath.first(a, "y:c", {"y" => "1"}) # => <x:c/>
b2 = REXML::XPath.first(doc, "/root/a/b... -
REXML
:: CData # to _ s -> String (340.0) -
テキスト文字列を返します。
...テキスト文字列を返します。
@see REXML::Text#value, REXML::Text#to_s
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root><![CDATA[foobar baz]]></root>
EOS
doc.root[0].class # => REXML::CData
doc.root[0].value # => "foobar baz"
//}... -
REXML
:: CData # value -> String (340.0) -
テキスト文字列を返します。
...テキスト文字列を返します。
@see REXML::Text#value, REXML::Text#to_s
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root><![CDATA[foobar baz]]></root>
EOS
doc.root[0].class # => REXML::CData
doc.root[0].value # => "foobar baz"
//}... -
REXML
:: Element # has _ elements? -> bool (322.0) -
self が一つでも子要素を持つならば true を返します。
...self が一つでも子要素を持つならば true を返します。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new("<a><b/><c>Text</c></a>")
doc.root.has_elements? # => true
doc.elements["/a/b"].has_elements? # => false
# /a/c はテキストノードしか... -
REXML
:: Element # next _ element -> Element | nil (322.0) -
次の兄弟要素を返します。
...次の兄弟要素を返します。
次の要素が存在しない場合は nil を返します。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new '<a><b/>text<c/></a>'
doc.root.elements['b'].next_element # => <c/>
doc.root.elements['c'].next_element # => nil
//}... -
REXML
:: XPath . each(element , path = nil , namespaces = {} , variables = {}) {|e| . . . } -> () (322.0) -
element の path で指定した XPath 文字列にマッチする各ノード に対してブロックを呼び出します。
...め、に用います。
@param element 要素(REXML::Element)
@param 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.each(doc, "/root/a/b"){|e| p e.text }
# >> "b1"
# >> "b2"
//}... -
REXML
:: Instruction (130.0) -
XML 処理命令(XML Processing Instruction, XML PI)を表すクラス。
...<?xml version=... ?>)はXML処理命令ではありませんが、
似た見た目を持っています。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/css" href="style.css"?>
<root />
EOS
doc[2] # =...