るりまサーチ (Ruby 3.4)

最速Rubyリファレンスマニュアル検索!
137件ヒット [1-100件を表示] (0.032秒)

別のキーワード

  1. rexml/document new
  2. rexml/document write
  3. rexml/document clone
  4. rexml/document to_s
  5. rexml/document node_type

モジュール

検索結果

<< 1 2 > >>

REXML::Text.new(arg, respect_whitespace = false, parent = nil, raw = nil, entity_filter = nil, illegal = REXML::Text::NEEDS_A_SECOND_CHECK) (64039.0)

テキストノードオブジェクトを生成します。

テキストノードオブジェクトを生成します。

arg でノードの内容を指定します。
文字列の場合はそれが内容として使われます。
REXML::Text オブジェクトの場合はその内容が複製されます。

respect_whitespace に真を指定すると、arg に含まれる空白文字は保存されます。
偽の場合は空白はまとめられます。

raw は true, false, nil のいずれかを指定し、生成されるテキストノードが
raw モードであるかどうかを決めます。
true の場合、そのノードは raw モードであると解釈され、
テキストにはエスケープされていないXMLマークアップは
含まれ...

REXML::CData.new(text, respect_whitespace = true, parent = nil) -> REXML::CData (63805.0)

text をテキストとして持つ CData オブジェクトを生成します。

text をテキストとして持つ CData オブジェクトを生成します。

respect_whitespace に真を指定すると、text に含まれる空白文字は保存されます。
偽の場合は空白はまとめられます。

@param text テキスト文字列
@param respect_whitespace 空白を保存するかどうかを決める真偽値
@param parent 親ノード

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root />
EOS
doc.root.add(REXML::...

REXML::Element.new(arg = UNDEFINED, parent = nil, context = nil) -> REXML::Element (63805.0)

要素オブジェクトを生成します。

要素オブジェクトを生成します。

arg が文字列の場合、新たな要素の名前は arg に設定されます。
arg が REXML::Element オブジェクトの場合は、
新たな要素の名前、属性、context が arg のもので初期化されます。

parent で親ノードを指定します。

context には hash table で要素のコンテキストを指定します。
基本的には text node (REXML::Text) での特別な文字、特に空白について
の取り扱いを指定できます。
以下の Symbol をハッシュのキーとして使います。

: :respect_whitespace
...

REXML::Document.new(source = nil, context = {}) -> REXML::Document (63769.0)

Document オブジェクトを生成します。

Document オブジェクトを生成します。

source には String、IO、REXML::Document のいずかが
指定できます。 REXML::Document を指定すると
コンテキストと要素、属性が複製されます。
文字列の場合はそれを XML と見なしてパースします。
IOの場合は、XML文書を読み出してパースします。

context で「コンテキスト」を指定します。テキストノードの空白や
特殊文字の取り扱いを Hash で指定します。
以下の Symbol をハッシュのキーとして使います。

: :respect_whitespace
空白を考慮して欲しい要素の名...

REXML::DocType.new(source, parent = nil) -> REXML::DocType (63733.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::Entity.new(array) -> REXML::Entity (63703.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 (63703.0)

新たな Entity オブジェクトを生成して返します。

新たな Entity オブジェクトを生成して返します。

name, value で実体の名前とその値を定義します。
parent はその entity オブジェクトが属するノードを渡します。
reference でその実体宣言がパラメータ実体(parameter entity)かどうかを指定します。

このコンストラクタでは単純な内部実体(internal entity)宣言のみを実現できます。

それ以外の内容を保持する Entity オブジェクトが欲しい場合は、
文書に適切な DTD を含めておいてそれを REXML::Document.new で
パースするようにしてください。

配列...

REXML::Attribute.new(attribute, value, parent = nil) -> REXML::Attribute (63685.0)

新たな属性オブジェクトを生成します。

新たな属性オブジェクトを生成します。

2種類の初期化が可能です。
REXML::Attribute オブジェクトを渡した場合は、
属性名とその値がそれから複製されます。
parent で新たに作られる属性オブジェクトが属する
要素が指定できます。
parent を省略した場合は複製元と同じ要素の属するように
設定されます。

また、属性名とその値を文字列で指定することもできます。
parent で新たに作られる属性オブジェクトが属する
要素が指定できます。
parent を省略した場合は nil が設定されます。

通常はこのメソッドは直接は使わず、REXML::Element#add_at...

REXML::Attribute.new(attribute_to_clone, parent = nil) -> REXML::Attribute (63685.0)

新たな属性オブジェクトを生成します。

新たな属性オブジェクトを生成します。

2種類の初期化が可能です。
REXML::Attribute オブジェクトを渡した場合は、
属性名とその値がそれから複製されます。
parent で新たに作られる属性オブジェクトが属する
要素が指定できます。
parent を省略した場合は複製元と同じ要素の属するように
設定されます。

また、属性名とその値を文字列で指定することもできます。
parent で新たに作られる属性オブジェクトが属する
要素が指定できます。
parent を省略した場合は nil が設定されます。

通常はこのメソッドは直接は使わず、REXML::Element#add_at...

REXML::Attributes.new(element) -> REXML::Attributes (63661.0)

空の Attributes オブジェクトを生成します。

空の Attributes オブジェクトを生成します。

どの要素の属性であるかを element で指定します。

通常は REXML::Element.new によって Attributes オブジェクト
が生成されるため、このメソッドを使う必要はありません。

@param element 属性が属する要素(REXML::Element オブジェクト)

絞り込み条件を変える

REXML::Child.new(parent = nil) -> REXML::Child (63655.0)

REXML::Child オブジェクトを生成します。

REXML::Child オブジェクトを生成します。

parent で親ノードを指定します。
親ノードへの追加は行わないため、オブジェクト生成後に親に
適切に設定する必要があります。

通常、このメソッドは直接は使いません。継承先のクラスが適切に
このメソッド(initialize)を呼び出します。

@param parent 親ノード

REXML::Parent.new(parent = nil) -> REXML::Parent (63655.0)

REXML::Parent オブジェクトを生成します。

REXML::Parent オブジェクトを生成します。

子ノード列は空列に初期化されます。

parent で親ノードを指定します。
親ノードへの追加は行わないため、オブジェクト生成後に親に
適切に設定する必要があります。

通常、このメソッドは直接は使いません。継承先のクラスが適切に
このメソッド(initialize)を呼び出します。

@param parent 親ノード

REXML::Comment.new(comment, parent = nil) -> REXML::Comment (63649.0)

Comment オブジェクトを生成します。

Comment オブジェクトを生成します。

引数に REXML::Comment オブジェクトを渡すとその内容が複製されます
(親ノードの情報は複製されません)。

@param string コメント文字列
@param comment REXML::Comment オブジェクト
@param parent 親ノード

REXML::Comment.new(string, parent = nil) -> REXML::Comment (63649.0)

Comment オブジェクトを生成します。

Comment オブジェクトを生成します。

引数に REXML::Comment オブジェクトを渡すとその内容が複製されます
(親ノードの情報は複製されません)。

@param string コメント文字列
@param comment REXML::Comment オブジェクト
@param parent 親ノード

REXML::Elements.new(parent) -> REXML::Elements (63643.0)

空の要素の集合を表すオブジェクトを生成します。

空の要素の集合を表すオブジェクトを生成します。

通常は REXML::Element.new によって Elements オブジェクトが
生成されるため、このメソッドを使う必要はありません。

@param parant 親要素オブジェクト

絞り込み条件を変える

REXML::AttlistDecl.new(source) -> REXML::AttlistDecl (63607.0)

このメソッドは内部用なので使わないでください。

このメソッドは内部用なので使わないでください。

REXML::ElementDecl.new(src) -> REXML::ElementDecl (63607.0)

新たな要素宣言オブジェクトを作ります。

新たな要素宣言オブジェクトを作ります。

@param src 要素宣言文字列

REXML::ExternalEntity.new(src) -> REXML::ExternalEntity (63607.0)

新たな ExternalEntity オブジェクトを生成します。

新たな ExternalEntity オブジェクトを生成します。

@param src 宣言文字列

REXML::Formatters::Default.new(ie_hack=false) -> REXML::Formatter::Default (63607.0)

フォーマッタオブジェクトを生成して返します。

フォーマッタオブジェクトを生成して返します。

このフォーマッタによる出力は基本的にテキストの空白や改行を変化させません。

ie_hack に真を渡すと、空のタグを閉じる前で空白を挿入します。
これは特定のバージョンのIEのXMLパーサのバグを避けるための機能です。

@param ie_hack 空のタグを閉じる所にスペースを入れるかどうかを指定します

REXML::Formatters::Pretty.new(indentation=2, ie_hack=false) -> REXML::Formatter::Pretty (63607.0)

フォーマッタオブジェクトを生成して返します。

フォーマッタオブジェクトを生成して返します。

このフォーマッタによる出力はテキストの空白や改行を調整し、
適切なインデントを挿入して読みやすいXMLを出力します。

indentation でインデント幅を(空白の数で)指定します。

ie_hack に真を渡すと、空のタグを閉じる前で空白を挿入します。
これは特定のバージョンのIEのXMLパーサのバグを避けるための機能です。

@param indentation 出力のインデント幅
@param ie_hack 空のタグを閉じる所にスペースを入れるかどうか

絞り込み条件を変える

REXML::Formatters::Transitive.new(indentation=2, ie_hack=false) -> REXML::Formatter::Transitive (63607.0)

フォーマッタオブジェクトを生成して返します。

フォーマッタオブジェクトを生成して返します。

このフォーマッタによる出力は基本的にテキストの空白や改行を変化させないと
いう制約のもと、出力を整形します。

indentation でインデント幅を指定できます。

ie_hack に真を渡すと、空のタグを閉じる前で空白を挿入します。
これは特定のバージョンのIEのXMLパーサのバグを避けるための機能です。

@param indentation インデント幅
@param ie_hack 空のタグを閉じる所にスペースを入れるかどうかを指定します

REXML::Instruction.new(target, content = nil) -> REXML::Instruction (63607.0)

新たな Instruction オブジェクトを生成します。

新たな Instruction オブジェクトを生成します。

@param target ターゲット
@param content 内容

REXML::NotationDecl.new(name, middle, pub, sys) -> REXML::NotationDecl (63607.0)

NotationDecl オブジェクトを生成します。

NotationDecl オブジェクトを生成します。

@param name 記法名(文字列)
@param middle 種別("PUBLIC" もしくは "SYSTEM")
@param pub 公開識別子(文字列)
@param sys URI(文字列)

REXML::Parsers::PullParser.new(stream) -> REXML::Parsers::PullParser (63607.0)

新たな PullParser オブジェクトを生成して返します。

新たな PullParser オブジェクトを生成して返します。

@param source 入力(文字列、IO、IO互換オブジェクト(StringIOなど))

REXML::Parsers::SAX2Parser.new(source) -> REXML::Parsers::SAX2Parser (63607.0)

SAX2 パーサオブジェクトを生成します。

SAX2 パーサオブジェクトを生成します。

@param source 入力(文字列、IO、IO互換オブジェクト(StringIOなど))

絞り込み条件を変える

REXML::Parsers::StreamParser.new(source, listener) -> REXML::Parsers::StreamParser (63607.0)

ストリームパーサオブジェクトを生成します。

ストリームパーサオブジェクトを生成します。

@param source 入力(文字列、IO、IO互換オブジェクト(StringIOなど))
@param listener コールバックオブジェクト

REXML::Parsers::UltraLightParser.new(stream) -> REXML::Parsers::UltraLightParser (63607.0)

パーサオブジェクトを返します。

パーサオブジェクトを返します。

@param stream 入力(文字列、IO、IO互換オブジェクト(StringIOなど))

REXML::XMLDecl.new(version = REXML::XMLDecl::DEFAULT_VERSION, encoding = nil, standalone = nil) (63607.0)

新たな XMLDecl オブジェクトを生成して返します。

新たな XMLDecl オブジェクトを生成して返します。

version 以外は省略可能です。

@param version バージョン(文字列)
@param encoding エンコーディング(文字列 or nil)
@param standalone スタンドアロン文章かどうか("yes", "no", nil)

REXML::ParseException (33073.0)

XML のパースに失敗したときに生じる例外です。

XML のパースに失敗したときに生じる例外です。

//emlist[][ruby]{
require 'rexml/document'
begin
REXML::Document.new("<a>foo\n</b></a> ")
rescue REXML::ParseException => ex
ex.position # => 16
ex.line # => 2
ex.context # => [16, 2, 2]
end
//}

rexml/parsers/streamparser (18361.0)

ストリーム式の XML パーサ。

ストリーム式の XML パーサ。

rexml の XML パーサの中では高速ですが、機能は限定的です。
もう少し高機能なストリーム式パーサが必要な場合は
REXML::Parsers::SAX2Parser を用いてください。

パーサからはコールバックによってパースした情報を受け取ります。
REXML::StreamListener を include し、
必要なメソッドをオーバーライドしたクラスのオブジェクトを
コールバックオブジェクトとして REXML::Parsers::StreamParser.new
に渡します。

REXML::Parsers::StreamParser#pa...

絞り込み条件を変える

NEWS for Ruby 2.6.0 (18325.0)

NEWS for Ruby 2.6.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

NEWS for Ruby 2.6.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 2.5.0 以降の変更

=== 言語仕様の変更

* $SAFE はプロセスグローバルで扱われることになると共に、0以外を設定した後に0に戻せるようになりました。 14250

* Refinements がブロック引数にも反映されるよ...

rexml/parsers/sax2parser (18271.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/pullparser (18199.0)

プル方式の XML パーサ。

プル方式の XML パーサ。

REXML::Parsers::StreamParser はパースした結果をコールバックによって
受動的に受け取りますが、このパーサは REXML::Parsers::PullParser#pull
によってパーサから結果をイベントという形で順に能動的に取り出します。
外部的にはこのクラスのオブジェクトはイベントのキューと見なせます。
pull はそのキューの先頭を取り出し、キューから取り除きます。

pull は REXML::Parsers::PullEvent オブジェクトを返します。
このオブジェクトの
REXML::Parsers::PullEvent...

NEWS for Ruby 2.0.0 (18181.0)

NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

NEWS for Ruby 2.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 1.9.3 以降の変更

=== 言語仕様の変更

* キーワード引数を追加しました
* %i, %I をシンボルの配列作成のために追加しました。(%w, %W に似ています)
* デフォルトのソースエンコーディングを US-ASCI...

NEWS for Ruby 2.7.0 (18181.0)

NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

NEWS for Ruby 2.7.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 2.6.0 以降の変更

=== 言語仕様の変更

==== パターンマッチ

* パターンマッチが実験的機能として導入されました。 14912

//emlist[][ruby]{
case [0, [1, 2, 3]]
in [a, [b...

絞り込み条件を変える

NEWS for Ruby 2.1.0 (18163.0)

NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

NEWS for Ruby 2.1.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 2.0.0 以降の変更

=== 言語仕様の変更

* キーワード引数のデフォルト値が省略可能になりました。これらの「必須キーワード引数」は呼び出し時に明示的に与えなければなりません。

* 整数や小数のリテラルの末尾に'r','i','...

NEWS for Ruby 3.1.0 (18145.0)

NEWS for Ruby 3.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

NEWS for Ruby 3.1.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストはリンク先を参照してください。

== 言語仕様の変更

* ブロックが他のメソッドに渡されるだけの場合は、ブロックの引数を無名にできるようになりました。 11256

//emlist{
def foo(&)
bar(&)
end
//}

* ピン演算子に式を書けるようになりました。 17411

//emlist{
Prime.each_cons...

rexml/document (18145.0)

DOM スタイルの XML パーサ。

DOM スタイルの XML パーサ。

REXML::Document.new で XML 文書から DOM ツリーを
構築し、ツリーのノードの各メソッドで文書の内容にアクセスします。

以下のプログラムではブックマークの XML からデータを取り出します。

//emlist[][ruby]{
require 'rexml/document'
require 'pp'

Bookmark = Struct.new(:href, :title, :desc)

doc = REXML::Document.new(<<XML)
<?xml version="1.0" encoding="UTF-...

rexml/parsers/ultralightparser (18145.0)

パース結果を配列で作られた木構造により返すパーサ。

パース結果を配列で作られた木構造により返すパーサ。

REXML::Parsers::UltraLightParser.new でパーサオブジェクトを
生成し、REXML::Parsers::UltraLightParser#parse でパースし
その結果の木構造を返します。

===[a:nodes] ノードの表現
REXML::Parsers::UltraLightParser#parse が返す
XML の各ノードは配列で表現されます。
配列の最初の要素はシンボルでノードの種類を表わし、2番目以降の要素で
そのノードの情報を保持しています。
例えばテキストノードは [:text, テキ...

NEWS for Ruby 2.4.0 (18109.0)

NEWS for Ruby 2.4.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

NEWS for Ruby 2.4.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 2.3.0 以降の変更

=== 言語仕様の変更

* 条件式での多重代入ができるようになりました 10617
* Symbol#to_proc でメソッド呼び出し元での Refinements が有効になりました 9451
* Ob...

絞り込み条件を変える

1.6.8から1.8.0への変更点(まとめ) (13033.0)

1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))

1.6.8から1.8.0への変更点(まとめ)
* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))...

ruby 1.8.3 feature (10153.0)

ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))

ruby 1.8.3 feature
*((<ruby 1.8 feature>))
*((<ruby 1.8.2 feature>))

ruby 1.8.2 から ruby 1.8.3 までの変更点です。

掲載方針

*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。

以下は各変更点に付けるべきタグです。

記号について(特に重要なものは大文字(主観))

* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ...

REXML::Element#root_node -> REXML::Document | REXML::Node (9697.0)

self が属する文書のルートノードを返します。

self が属する文書のルートノードを返します。

通常はその要素が属する文書(REXML::Document) オブジェクトが
返されます。

その要素が属する REXML::Document オブジェクトが存在しない
場合は木構造上のルートノードが返されます。

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root>
<children>
<grandchildren />
</children>
</root>
EOS

children = doc.get_elements...

ruby 1.8.4 feature (9559.0)

ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。

ruby 1.8.4 feature
ruby 1.8.4 での ruby 1.8.3 からの変更点です。

掲載方針

*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。

以下は各変更点に付けるべきタグです。

記号について(特に重要なものは大文字(主観))

# * カテゴリ
# * [ruby]: ruby インタプリタの変更
# * [api]: 拡張ライブラリ API
# * [lib]: ライブラリ
* レベル
* [bug]: バグ修正
* [new]: 追加され...

REXML::Elements#<<(element = nil) -> REXML::Element (9451.0)

要素 element を追加します。

要素 element を追加します。

element には文字列もしくは REXML::Element オブジェクトを
指定します。文字列を指定した場合には REXML::Element.new(element)
で生成される要素を追加します。

element を省略した場合は、空の要素が追加されます。

追加された要素が返されます。

@param element 追加する要素

//emlist[][ruby]{
require 'rexml/document'
a = REXML::Element.new('a')
a.elements.add(REXML::Element.new...

絞り込み条件を変える

REXML::Elements#add(element = nil) -> REXML::Element (9451.0)

要素 element を追加します。

要素 element を追加します。

element には文字列もしくは REXML::Element オブジェクトを
指定します。文字列を指定した場合には REXML::Element.new(element)
で生成される要素を追加します。

element を省略した場合は、空の要素が追加されます。

追加された要素が返されます。

@param element 追加する要素

//emlist[][ruby]{
require 'rexml/document'
a = REXML::Element.new('a')
a.elements.add(REXML::Element.new...

REXML::DocType#attributes_of(element) -> [REXML::Attribute] (9442.0)

DTD 内の属性リスト宣言で、 element という名前の要素に対し宣言されている 属性の名前とデフォルト値を REXML::Attribute の配列で返します。

DTD 内の属性リスト宣言で、 element という名前の要素に対し宣言されている
属性の名前とデフォルト値を REXML::Attribute の配列で返します。

名前とデフォルト値のペアは、各 Attribute オブジェクトの
REXML::Attribute#name と
REXML::Attribute#value で表現されます。

//emlist[][ruby]{
require 'rexml/document'

doctype = REXML::Document.new(<<EOS).doctype
<!DOCTYPE books [
<!ELEMENT book (c...

REXML::Elements#to_a(xpath = nil) -> [REXML::Element] (9430.0)

すべての子要素の配列を返します。

すべての子要素の配列を返します。

xpath を指定した場合は、その XPath 文字列に
マッチする要素の配列を返します。

REXML::Elements#each と同様、REXML::XPath.match などと
異なり、要素以外の子ノードは無視されます。

@param xpath XPath文字列

//emlist[][ruby]{
require 'rexml/document'
require 'rexml/xpath'
doc = REXML::Document.new '<a>sean<b/>elliott<c/></a>'
doc.root.elements.to_...

REXML::Attributes#delete(attribute) -> REXML::Element (9412.0)

指定した属性を取り除きます。

指定した属性を取り除きます。

attribute で取り除く属性を指定します。
文字列もしくは REXML::Attribute オブジェクトを指定します

self が属する要素(REXML::Element)を返します。

@param attribute 取り除く属性(文字列もしくは REXML::Attribute オブジェクト)

//emlist[][ruby]{
require 'rexml/document'

doc = REXML::Document.new(<<-EOS)
<root xmlns:foo="http://example.org/foo"
x...

REXML::Element#delete_element(element) -> REXML::Element (9412.0)

子要素を削除します。

子要素を削除します。

element で削除する要素を指定できます。整数、文字列、REXML::Element
オブジェクトのいずれかが指定できます。

REXML::Element を指定すると、その要素が削除されます。
整数を指定すると、element 番目の要素を削除します(1-originで指定します)。
文字列を指定すると、XPath としてマッチする要素を削除します。
複数の要素がマッチする場合はそのうち1つが削除されます。

@param element 削除する要素
@see REXML::Elements#delete

//emlist[][ruby]{
require...

絞り込み条件を変える

REXML::Elements#each(xpath = nil) {|element| ... } -> [REXML::Elements] (9412.0)

全ての子要素に対しブロックを呼び出します。

全ての子要素に対しブロックを呼び出します。

xpath を指定した場合には、その XPath 文字列に
マッチする要素に対しブロックを呼び出します。

REXML::XPath.each などとは異なり、要素以外の
テキストノードなどはすべて無視されることに注意してください。

@param xpath XPath文字列

//emlist[][ruby]{
require 'rexml/document'
require 'rexml/xpath'
doc = REXML::Document.new '<a><b/><c/><d/>sean<b/><c/><d/></a>'
# <b/>,...

REXML::DocType#entities -> { String => REXML::Entity } (9394.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::Element#get_text(path = nil) -> REXML::Text | nil (9394.0)

先頭のテキスト子ノードを返します。

先頭のテキスト子ノードを返します。

raw モードの設定は無視され、常に正規化されたテキストを返します。
REXML::Text#value も参照してください。

path を渡した場合は、その XPath 文字列で指定される
テキストノードの文字列を返します。

テキストノードがない場合には nil を返します。

@param path XPath文字列
@see REXML::Element#text

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new "<p>some text <b>this ...

REXML::Elements#[](index, name = nil) -> REXML::Element | nil (9394.0)

index が指し示している要素を返します。

index が指し示している要素を返します。

index には整数もしくは文字列を指定できます。

index に整数を指定した場合は index 番目の子要素を返します。
index は 1-origin です。つまり
最初の要素の index は 1 であり、 0 ではありません。
n 番目の要素の index は n であり、 n-1 ではありません。
これは XPath の仕様に合わせています。

index に文字列を指定した場合はその文字列を XPath と見なし、
それで指定された要素を返します。
XPath が複数の要素を指している場合は、そのうち一つを返します。
XPath...

REXML::Element#attribute(name, namespace = nil) -> REXML::Attribute | nil (9376.0)

name で指定される属性を返します。

name で指定される属性を返します。

属性は REXML::Attribute オブジェクトの形で返します。

name は "foo:bar" のように prefix を指定することができます。

namespace で名前空間の URI を指定することで、その名前空間内で
name という属性名を持つ属性を指定できます。

指定した属性名の属性がない場合は nil を返します。

@param name 属性名(文字列)
@param namespace 名前空間のURI(文字列)
//emlist[][ruby]{
require 'rexml/document'

doc = R...

絞り込み条件を変える

REXML::Element#delete_attribute(key) -> REXML::Attribute | nil (9376.0)

要素から key という属性名の属性を削除します。

要素から key という属性名の属性を削除します。

削除された属性を返します。

key という属性名の属性が存在しない場合は削除されずに、nil を返します。

@param key 削除する要素(文字列(属性名) or REXML::Attributeオブジェクト)

//emlist[][ruby]{
require 'rexml/document'
e = REXML::Element.new("E")
e.add_attribute("x", "foo"); e # => <E x='foo'/>
e.add_attribute("y:x", "bar"); e # => <E x...

REXML::Attributes#delete_all(name) -> [REXML::Attribute] (9358.0)

name という名前を持つ属性をすべて削除します。

name という名前を持つ属性をすべて削除します。

削除された属性を配列で返します。

@param name 削除する属性の名前

//emlist[][ruby]{
require 'rexml/document'

doc = REXML::Document.new(<<-EOS)
<root xmlns:foo="http://example.org/foo"
xmlns:bar="http://example.org/bar">
<a foo:att='1' bar:att='2' att='&lt;'/>
</root>
EOS
a = doc.get_elem...

REXML::Attributes#get_attribute_ns(namespace, name) -> REXML::Attribute | nil (9358.0)

namespace と name で特定される属性を返します。

namespace と name で特定される属性を返します。

namespace で名前空間を、 name で prefix を含まない属性名を
指定します。

指定された属性が存在しない場合は nil を返します。

XML プロセッサが prefix を置き換えてしまった場合でも、このメソッドを
使うことで属性を正しく指定することができます。

@param namespace 名前空間(URI, 文字列)
@param name 属性名(文字列)

//emlist[][ruby]{
require 'rexml/document'

doc = REXML::Document.ne...

REXML::Element#root -> REXML::Element (9358.0)

self が属する文書のルート要素を返します。

self が属する文書のルート要素を返します。

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root>
<children>
<grandchildren />
</children>
</root>
EOS

children = doc.get_elements("/root/children").first
children.name # => "children"
children.root.name # => "root"
grandchildren = doc.get...

REXML::Elements#delete_all(xpath) -> [REXML::Element] (9358.0)

xpath で指定した XPath 文字列にマッチする要素をすべて取り除きます。

xpath で指定した XPath 文字列にマッチする要素をすべて取り除きます。

@param xpath 取り除く要素を指し示す XPath 文字列

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new('<a><c/><c/><c/><c/></a>')
doc.elements.delete_all("a/c") # => [<c/>, <c/>, <c/>, <c/>]
doc.to_s # => "<a/>"
//}

絞り込み条件を変える

REXML::Document#clone -> REXML::Document (9340.0)

self を複製します。

self を複製します。

REXML::Document.new(self) と同じです。

REXML::Formatters::Default (9235.0)

XMLドキュメントを(文字列として)出力するクラスです。

XMLドキュメントを(文字列として)出力するクラスです。

REXML::Formatters::Pretty と
異なりテキストの改行や空白を修正せずにそのまま出力します。

//emlist[][ruby]{
require 'rexml/document'
require 'rexml/formatters/default'
doc = REXML::Document.new <<EOS
<root>
<children>
<grandchildren/>
</children>
</root>
EOS

default_formatter = REXML::Formatters::...

REXML::Element#add_element(element, attrs = nil) -> Element (9181.0)

子要素を追加します。

子要素を追加します。

element として追加する要素を指定します。
REXML::Element オブジェクトもしくは文字列を指定します。

element として REXML::Element オブジェクトを指定した場合、それが追加されます。
文字列を指定した場合は、それを要素名とする要素を追加します。

attrs に { String => String } という Hash を渡すと、
追加する要素の属性を指定できます。

子要素の最後に追加されます。

返り値は追加された要素です。

@param element 追加する要素
@param attrs 追加する要素に設定する...

REXML::Elements#[]=(index, element) (9181.0)

集合に要素 element を追加/更新します。

集合に要素 element を追加/更新します。

index で要素の更新する位置を指定します。
index には整数、文字列が指定できます。
整数を指定した場合は index 番目の要素を変更します(1-originです)。
文字列の場合は XPath としてマッチした要素を更新します。

整数/文字列どちらの場合でも対応する要素が存在しない場合は、
末尾に追加されます。

@param index 要素を更新する位置
@param element 要素(REXML::Elementオブジェクト)

//emlist[][ruby]{
require 'rexml/document'
do...

REXML::Parsers::SAX2Parser#parse -> () (9181.0)

REXML::Parsers::SAX2Parser.new で指定した XML を パースし、その結果によって REXML::Parsers::SAX2Parser#listen で 指定したコールバックを呼び出します。

REXML::Parsers::SAX2Parser.new で指定した XML を
パースし、その結果によって REXML::Parsers::SAX2Parser#listen で
指定したコールバックを呼び出します。

@raise REXML::ParseException XML文書のパースに失敗した場合に発生します
@raise REXML::UndefinedNamespaceException XML文書のパース中に、定義されていない名前空間
が現れた場合に発生します

絞り込み条件を変える

REXML::XMLDecl (9181.0)

XML 宣言を表すクラス。

XML 宣言を表すクラス。

文書から XML 宣言を取り出すには REXML::Document#xml_decl を使います。

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<e />
EOS

xml_decl = doc.xml_decl
xml_decl.version # => "1.0"
xml_decl.encoding # => "UTF-8"
xml_de...

REXML::XPath.first(element, path = nil, namespaces = {}, variables = {}) -> Node | nil (9181.0)

element の path で指定した XPath 文字列にマッチする最初のノードを 返します。

element の path で指定した XPath 文字列にマッチする最初のノードを
返します。

path に相対パスを指定した場合は element からの相対位置で
マッチするノードを探します。
絶対パスを指定した場合は element が属する文書のルート要素からの
位置でマッチするノードを探します。
path を省略すると "*" を指定したことになります。

namespace で名前空間の対応付けを指定します。

variable で XPath 内の変数に対応する値を指定できます。
XPathインジェクション攻撃を避けるため、適切な
エスケープを付加するため、に用います。

...

REXML::Formatters::Transitive (9163.0)

XMLドキュメントをテキストの内容を変えずに 多少の整形を加えて出力するクラスです。

XMLドキュメントをテキストの内容を変えずに
多少の整形を加えて出力するクラスです。

これが有用な場合はあまりないでしょう。
整形されていない XML を整形したいが、
テキストの空白は改行は変えたくない場合には役にたつかもしれません。
ただ、ほとんどの場合は奇妙な出力結果になるでしょう。

//emlist[][ruby]{
require 'rexml/document'
require 'rexml/formatters/transitive'
doc = REXML::Document.new <<EOS
<root><children>
<grandchildren foo='ba...

REXML::Element#context -> {Symbol => object} | nil (9145.0)

要素の「コンテキスト」を Hash で返します。

要素の「コンテキスト」を Hash で返します。

コンテキストとは text node (REXML::Text) での特別な文字、特に空白について
の取り扱いについての設定です。
以下の Symbol をハッシュのキーとして使います。

: :respect_whitespace
空白を考慮して欲しい要素の名前の集合を文字列の配列で指定します。
また、すべての要素で空白を考慮して欲しい場合には
:all を指定します。
デフォルト値は :all です。
REXML::Element#whitespace も参照してください。
: :compress_whitespac...

REXML::Element#context=(value) (9145.0)

要素の「コンテキスト」を Hash で設定します。

要素の「コンテキスト」を Hash で設定します。

コンテキストとは、 text node (REXML::Text) での特別な文字、特に空白について
の取り扱いについての設定です。
以下の Symbol をハッシュのキーとして使います。

: :respect_whitespace
空白を考慮して欲しい要素の名前の集合を文字列の配列で指定します。
また、すべての要素で空白を考慮して欲しい場合には
:all を指定します。
デフォルト値は :all です。
REXML::Element#whitespace も参照してください。
: :compress_whitesp...

絞り込み条件を変える

REXML::Element#text=(text) (9145.0)

「先頭の」テキストノードを text で置き換えます。

「先頭の」テキストノードを text で置き換えます。

テキストノードを1つ以上保持している場合はそのうち
最初のノードを置き換えます。

要素がテキストノードを保持していない場合は新たなテキストノードが追加されます。

text には文字列、REXML::Text、nil のいずれかが指定できます。
REXML::Text オブジェクトを指定した場合には、それが設定され、
文字列を指定した場合には
REXML::Text.new(text, whitespace(), nil, raw())
で生成される Text オブジェクトが設定されます。
nil を指定すると最初のテキストノードが削...

REXML::Formatters::Pretty (9145.0)

XMLドキュメントを(文字列として)見た目良く出力するクラスです。

XMLドキュメントを(文字列として)見た目良く出力するクラスです。

REXML::Formatters::Default と
異なり見た目のためテキストの改行や空白を修正して出力します。

//emlist[][ruby]{
require 'rexml/document'
require 'rexml/formatters/pretty'
doc = REXML::Document.new <<EOS
<root>
<children>
<grandchildren foo='bar'/>
</children>
</root>
EOS

pretty_formatter = REXM...

REXML::XMLDecl::DEFAULT_VERSION -> String (9145.0)

REXML::XMLDecl.new や REXML::XMLDecl.default で の使われるデフォルトのXMLバージョン。

REXML::XMLDecl.new や REXML::XMLDecl.default で
の使われるデフォルトのXMLバージョン。

REXML::Child#next_sibling=(other) (9127.0)

other を self の次の隣接ノードとします。

other を self の次の隣接ノードとします。

つまり、親ノードが持つ子ノード列の self の後ろに
other を挿入します。

@param other 挿入するノード

//emlist[][ruby]{
require 'rexml/document'

a = REXML::Element.new("a")
b = a.add_element("b")
c = REXML::Element.new("c")
b.next_sibling = c
d = REXML::Element.new("d")
b.previous_sibling = d

p a.to_s # =>...

REXML::Child#previous_sibling=(other) (9127.0)

other を self の前の隣接ノードとします。

other を self の前の隣接ノードとします。

つまり、親ノードが持つ子ノード列の self の前に
other を挿入します。

@param other 挿入するノード

//emlist[][ruby]{
require 'rexml/document'

a = REXML::Element.new("a")
b = a.add_element("b")
c = REXML::Element.new("c")
b.next_sibling = c
d = REXML::Element.new("d")
b.previous_sibling = d

p a.to_s # =>...

絞り込み条件を変える

REXML::Element#add_attribute(attr) -> () (9127.0)

要素の属性を追加します。 同じ名前の属性がすでにある場合はその属性を新しい 属性で置き換えます。

要素の属性を追加します。
同じ名前の属性がすでにある場合はその属性を新しい
属性で置き換えます。

引数の与えかたは2通りあります。
要素名と値の2つの文字列で渡す方法と REXML::Attribute オブジェクトを
渡す方法です。

文字列2つで指定する場合、属性値は unnormalized な文字列を渡す必要があります。

@param key 属性名(文字列)
@param value 属性値(文字列)
@param attr 属性(REXML::Attribute オブジェクト)

//emlist[][ruby]{
require 'rexml/document'
doc = ...

REXML::Element#add_attribute(key, value) -> () (9127.0)

要素の属性を追加します。 同じ名前の属性がすでにある場合はその属性を新しい 属性で置き換えます。

要素の属性を追加します。
同じ名前の属性がすでにある場合はその属性を新しい
属性で置き換えます。

引数の与えかたは2通りあります。
要素名と値の2つの文字列で渡す方法と REXML::Attribute オブジェクトを
渡す方法です。

文字列2つで指定する場合、属性値は unnormalized な文字列を渡す必要があります。

@param key 属性名(文字列)
@param value 属性値(文字列)
@param attr 属性(REXML::Attribute オブジェクト)

//emlist[][ruby]{
require 'rexml/document'
doc = ...

REXML::StreamListener#entitydecl(content) -> () (9127.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::StreamListener (9121.0)

REXML::Parsers::StreamParser で使われるコールバックオブジェクトのためのモジュールです。

REXML::Parsers::StreamParser
で使われるコールバックオブジェクトのためのモジュールです。

このモジュールを include して、各メソッドを適切にオーバーライドした
クラスのインスタンスを
REXML::Parsers::StreamParser.new や
REXML::Document.parse_stream の引数として渡します。

このモジュールで定義されているメソッド自体は何もしません。
コールバックのデフォルト動作(何もしない)を定義しているだけです。

詳しい用例などについては c:REXML::Parsers::StreamParser#exa...

REXML::CData#to_s -> String (9109.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 (9109.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::Text#to_s -> String (9109.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 # => "&lt; &amp; foobar"
t.value # => "< & foobar"
//}

REXML::Parsers::UltraLightParser#rewind -> () (9097.0)

REXML::Parsers::UltraLightParser.new で指定した stream を rewind してもう一度パースできる状態にします。

REXML::Parsers::UltraLightParser.new で指定した stream を
rewind してもう一度パースできる状態にします。

REXML::Attribute#prefix -> String (9091.0)

属性の名前空間を返します。

属性の名前空間を返します。

//emlist[][ruby]{
require 'rexml/document'
e = REXML::Element.new( "elns:myelement" )
e.add_attribute( "nsa:a", "aval" )
e.add_attribute( "b", "bval" )
p e.attributes.get_attribute( "a" ).prefix # -> "nsa"
p e.attributes.get_attribute( "b" ).prefix # -> "elns"
a = REXML::Attribute...

REXML::Attributes#[](name) -> String | nil (9091.0)

属性名nameの属性値を返します。

属性名nameの属性値を返します。

属性値ではなく REXML::Attribute オブジェクトが必要な場合は
REXML::Attributes#get_attribute を使ってください。

nameという属性名の属性がない場合は nil を返します。

@param name 属性名(文字列)

//emlist[][ruby]{
require 'rexml/document'

doc = REXML::Document.new(<<EOS)
<root xmlns:foo="http://example.org/foo"
xmlns:bar="http://exa...

絞り込み条件を変える

REXML::DocType#external_id -> String | nil (9091.0)

DTD が外部サブセットを用いている場合は "SYSTEM", "PUBLIC" の いずれかの文字列を返します。

DTD が外部サブセットを用いている場合は "SYSTEM", "PUBLIC" の
いずれかの文字列を返します。

それ以外の場合は nil を返します。

//emlist[][ruby]{
require 'rexml/document'
doctype = REXML::Document.new(<<EOS).doctype
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
EOS
doctype....

REXML::DocType#public -> String | nil (9091.0)

DTD の公開識別子を返します。

DTD の公開識別子を返します。

DTD が公開識別子による外部サブセットを含んでいない場合は nil を返します。

//emlist[][ruby]{
require 'rexml/document'
doctype = REXML::Document.new(<<EOS).doctype
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
EOS
doctype.system # => "http:/...

REXML::DocType#system -> String | nil (9091.0)

DTD のシステム識別子を返します。

DTD のシステム識別子を返します。

DTD が外部サブセットを含んでいない場合は nil を返します。

//emlist[][ruby]{
require 'rexml/document'
doctype = REXML::Document.new(<<EOS).doctype
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
EOS
doctype.system # => "http://www.w...

REXML::Element#add_attributes(attrs) -> () (9091.0)

要素の属性を複数追加します。 同じ名前の属性がすでにある場合はその属性を新しい 属性で置き換えます。

要素の属性を複数追加します。
同じ名前の属性がすでにある場合はその属性を新しい
属性で置き換えます。

attrs には Hash もしくは Array を指定できます。
Hash の場合は、
{ "name1" => "value1", "name2" => "value2", ... }
という形で、配列の場合は
[ ["name1", "value1"], ["name2", "value2"], ... }
という形で追加/更新する属性を指定します。

@param attrs 追加する属性の属性名と属性値の対の集合(Array or Hash)

//emlist[][rub...

REXML::Element#text(path = nil) -> String | nil (9091.0)

先頭のテキスト子ノードの文字列を返します。

先頭のテキスト子ノードの文字列を返します。

テキストノードを複数保持している場合は最初のノードにしか
アクセスできないことに注意してください。

raw モードの設定は無視され、常に正規化されたテキストを返します。
REXML::Text#value も参照してください。

path を渡した場合は、その XPath 文字列で指定される
テキストノードの文字列を返します。

テキストノードがない場合には nil を返します。

@param path XPath文字列
@see REXML::Element#get_text

//emlist[][ruby]{
require 'rexml...

絞り込み条件を変える

REXML::Element#xpath -> String (9091.0)

文書上の対象の要素にのみマッチする xpath 文字列を返します。

文書上の対象の要素にのみマッチする xpath 文字列を返します。

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new('<a><b/><c/></a>')
c = doc.root.elements[2] # <a> .. </a> の中の <c/> 要素
c # => <c/>
c.xpath # => "/a/c"
doc = REXML::Document.new('<a><b/><b/></a>')
b = doc.root.elements[2] # <a> .. </a> の中の2番目の <b...

REXML::Elements#delete(element) -> Element (9091.0)

element で指定した子要素を取り除きます。

element で指定した子要素を取り除きます。

element には、REXML::Element、整数、文字列が指定できます。
Element オブジェクトを指定した場合は、その子要素を取り除きます。
整数を指定した場合には element 番目の子要素を削除します(1-originです)。
文字列を指定した場合は、削除する要素を XPath で指定します。
XPathが複数の要素を指している場合は、そのうち一つを削除します。

取り除かれた要素を返します。

XPath で指定した場合、子要素ではない要素も取り除けることに注意してください。

@param element 削除する要素...

REXML::Text#value -> String (9091.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 # => "&lt; &amp; foobar"
t.value # => "< & foobar"
//}

REXML::XPath.each(element, path = nil, namespaces = {}, variables = {}) {|e| ... } -> () (9091.0)

element の path で指定した XPath 文字列にマッチする各ノード に対してブロックを呼び出します。

element の path で指定した XPath 文字列にマッチする各ノード
に対してブロックを呼び出します。

path に相対パスを指定した場合は element からの相対位置で
マッチするノードを探します。
絶対パスを指定した場合は element が属する文書のルート要素からの
位置でマッチするノードを探します。
path を省略すると "*" を指定したことになります。

namespace で名前空間の対応付けを Hash で指定します。

variable で XPath 内の変数に対応する値を指定できます。
XPathインジェクション攻撃を避けるため、適切な
エスケープを...

REXML::XPath.match(element, path = nil, namespaces = {}, variables = {}) -> [Node] (9091.0)

element の path で指定した XPath 文字列にマッチするノードの配列を 返します。

element の path で指定した XPath 文字列にマッチするノードの配列を
返します。

path に相対パスを指定した場合は element からの相対位置で
マッチするノードを探します。
絶対パスを指定した場合は element が属する文書のルート要素からの
位置でマッチするノードを探します。
path を省略すると "*" を指定したことになります。

namespace で名前空間の対応付けを Hash で指定します。

variable で XPath 内の変数に対応する値を指定できます。
XPathインジェクション攻撃を避けるため、適切な
エスケープを付加するため、に...

絞り込み条件を変える

REXML::Attributes#[]=(name, value) (9073.0)

指定した属性を更新します。

指定した属性を更新します。

name で属性の名前を、value で値を更新します。
既に同じ名前の属性がある場合は上書きされ、
そうでない場合は属性が追加されます。

//emlist[][ruby]{
require 'rexml/document'

doc = REXML::Document.new(<<-EOS)
<root xmlns:foo="http://example.org/foo"
xmlns:bar="http://example.org/bar">
<a foo:att='1' bar:att='2' att='&lt;'/>
</root>
EO...

REXML::Attributes#each {|name, value| ... } -> () (9073.0)

各属性の名前と値に対しブロックを呼び出します。

各属性の名前と値に対しブロックを呼び出します。

名前には expanded_name(REXML::Namespace#exapnded_name)が
渡されます。

//emlist[][ruby]{
require 'rexml/document'

doc = REXML::Document.new(<<EOS)
<root xmlns:foo="http://example.org/foo"
xmlns:bar="http://example.org/bar">
<a foo:att='1' bar:att='2' att='&lt;'/>
</root>
EOS
a...

REXML::Attributes#each_attribute {|attribute| ... } -> () (9073.0)

各属性に対しブロックを呼び出します。

各属性に対しブロックを呼び出します。

個々の属性は REXML::Attribute オブジェクトで渡されます。

//emlist[][ruby]{
require 'rexml/document'

doc = REXML::Document.new(<<EOS)
<root xmlns:foo="http://example.org/foo"
xmlns:bar="http://example.org/bar">
<a foo:att='1' bar:att='2' att='&lt;'/>
</root>
EOS
a = doc.get_elements("/root...

REXML::Attributes#get_attribute(name) -> Attribute | nil (9073.0)

name という名前の属性を取得します。

name という名前の属性を取得します。

name という名前を持つ属性がない場合は nil を返します。

@param name 属性名(文字列)
@see REXML::Attributes#[]

//emlist[][ruby]{
require 'rexml/document'

doc = REXML::Document.new(<<-EOS)
<root xmlns:foo="http://example.org/foo"
xmlns:bar="http://example.org/bar">
<a foo:att='1' bar:att='2' att='...

REXML::DocType#write(output, indent = 0, transitive = false, ie_hack = false) -> () (9073.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
<...

絞り込み条件を変える

<< 1 2 > >>