るりまサーチ (Ruby 2.6.0)

最速Rubyリファレンスマニュアル検索!
94件ヒット [1-94件を表示] (0.052秒)
トップページ > バージョン:2.6.0[x] > クエリ:nil[x] > クエリ:rexml/document[x]

別のキーワード

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

検索結果

rexml/document (114109.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::Text.new(arg, respect_whitespace = false, parent = nil, raw = nil, entity_filter = nil, illegal = REXML::Text::NEEDS_A_SECOND_CHECK) (25054.0)

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

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

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

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

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

REXML::Text.unnormalize(string, doctype = nil, filter = nil, illegal = nil) -> String (24928.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("&amp; &foobar; ...

REXML::Element#attribute(name, namespace = nil) -> REXML::Attribute | nil (24661.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::Elements#[](index, name = nil) -> REXML::Element | nil (24661.0)

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

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

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

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

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

絞り込み条件を変える

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

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

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

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

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

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

...

REXML::Attribute#namespace(arg = nil) -> String | nil (24643.0)

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

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

URI が定義されていない場合は nil を返します。

@param arg この値を指定すると、その属性の名前空間でなく、arg という名前空間
の URI が返されます。
通常は省略します。

//emlist[][ruby]{
require 'rexml/document'
e = REXML::Element.new("el")
e.add_attribute("xmlns:ns", "http://www.example.com/ns")
e.add_attribute("ns:r", "rval")
p e....

REXML::Element#each_element_with_text(text = nil, max = 0, name = nil) {|element| ... } -> () (24643.0)

テキストを子ノードとして 持つすべての子要素を引数としてブロックを呼び出します。

テキストを子ノードとして
持つすべての子要素を引数としてブロックを呼び出します。

text を指定すると、テキストの内容が text であるもののみを対象とします。
maxを指定すると、対象となる子要素の先頭 max 個のみが対象となります。
name を指定すると、それは xpath 文字列と見なされ、
それにマッチするもののみが対象となります。

max に 0 を指定すると、max の指定は無視されます(0個ではありません)。

@param text テキストの中身(文字列)
@param max ブロック呼出の対象とする子要素の最大個数
@param name xpath文字列

...

REXML::Element#get_text(path = nil) -> REXML::Text | nil (24643.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::Element#text(path = nil) -> String | nil (24643.0)

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

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

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

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

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

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

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

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

絞り込み条件を変える

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

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

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

version 以外は省略可能です。

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

REXML::Element#each_element_with_attribute(key, value = nil, max = 0, name = nil) {|element| ... } -> () (24625.0)

特定の属性を持つすべての子要素を引数としてブロックを呼び出します。

特定の属性を持つすべての子要素を引数としてブロックを呼び出します。

key で指定した属性名の属性を持つ要素のみを対象とします。
value を指定すると、keyで指定した属性名を持つ属性の値がvalueである
もののみを対象とします。
maxを指定すると、対象となる子要素の先頭 max 個のみが対象となります。
name を指定すると、それは xpath 文字列と見なされ、
それにマッチするもののみが対象となります。

max に 0 を指定すると、max の指定は無視されます(0個ではありません)。

@param key 属性名(文字列)
@param value 属性値(文字列)
...

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

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

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

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

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

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

: :respect_whitespace
...

REXML::Elements#inject(xpath = nil, initial = nil) {|element| ... } -> object (24607.0)

Enumerable#inject と同様、 各子要素に対し畳み込みをします。

Enumerable#inject と同様、
各子要素に対し畳み込みをします。

xpath を指定した場合は、その XPath 文字列に
マッチする要素に対し同様の操作をします。

@param xpath XPath文字列
@see REXML::Elements#each

REXML::Text.normalize(input, doctype = nil, entity_filter = nil) -> String (24607.0)

input を正規化(すべての entity をエスケープ)したものを 返します。

input を正規化(すべての entity をエスケープ)したものを
返します。

@param input 正規化する文字列
@param doctype DTD(REXML::DocType オブジェクト)
@param entity_filter 置換したい実体の名前の配列

絞り込み条件を変える

REXML::DocType#attribute_of(element, attribute) -> String | nil (24394.0)

DTD 内の属性リスト宣言で、 element という名前の要素の attribute という 名前の属性のデフォルト値を返します。

DTD 内の属性リスト宣言で、 element という名前の要素の attribute という
名前の属性のデフォルト値を返します。

elementという名前の要素の属性値は宣言されていない、
elementという名前の要素にはattributeという名前の属性が宣言されていない、
もしくはデフォルト値が宣言されていない、のいずれかの場合は nil を返します。

@param element 要素名(文字列)
@param attribute 属性名(文字列)

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

doctype = REXML::Doc...

REXML::Attributes#get_attribute_ns(namespace, name) -> REXML::Attribute | nil (24376.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::DocType#external_id -> String | nil (24358.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 (24358.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 (24358.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#namespace(prefix=nil) -> String (24358.0)

self の文脈で prefix が指している名前空間の URI を返します。

self の文脈で prefix が指している名前空間の URI を返します。

prefix を省略すると、デフォルトの名前空間の URI を返します。

prefix で指示される名前空間の宣言が存在しない場合は nil を返します。

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new("<a xmlns='1' xmlns:y='2'><b/><c xmlns:z='3'/><y:d /></a>")
b = doc.elements['//b']
b.namespace # => "1"
...

REXML::Element#next_element -> Element | nil (24358.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::DocType#namespaces -> nil (24352.0)

nil を返します。

nil を返します。

REXML::Attributes#[](name) -> String | nil (24340.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::Attributes#get_attribute(name) -> Attribute | nil (24340.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#entity(name) -> String | nil (24340.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::Element#delete_attribute(key) -> REXML::Attribute | nil (24340.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::Instruction#content -> String | nil (24340.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-stylesheet"
doc[2].content...

REXML::Parent#delete(object) -> REXML::Child | nil (24340.0)

object を子ノード列から削除します。

object を子ノード列から削除します。

削除されたノードの親は nil に設定されます。

削除したノードを返します。削除されなかった場合は nil を返します。

@param object 削除するノード

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

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

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

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

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

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

絞り込み条件を変える

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

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

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

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

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

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

REXML::Elements#<<(element = nil) -> REXML::Element (24325.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 (24325.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::XMLDecl#stand_alone? -> String | nil (24325.0)

スタンドアロン文書であるかどうかを "yes" "no" で 返します。

スタンドアロン文書であるかどうかを "yes" "no" で
返します。

nil(省略)を返す場合もあります。

REXML::XMLDecl#standalone -> String | nil (24325.0)

スタンドアロン文書であるかどうかを "yes" "no" で 返します。

スタンドアロン文書であるかどうかを "yes" "no" で
返します。

nil(省略)を返す場合もあります。

絞り込み条件を変える

REXML::AttlistDecl#[](key) -> String | nil (24322.0)

key という属性名のデフォルト値を返します。

key という属性名のデフォルト値を返します。

key という名前の属性が存在しない、もしくは
デフォルト値を持たない場合は nil を返します。

REXML::CData.new(text, respect_whitespace = true, parent = nil) -> REXML::CData (24322.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::Child#document -> REXML::Document | nil (24322.0)

そのノードが属する document (REXML::Document) を返します。

そのノードが属する document (REXML::Document) を返します。

属する document が存在しない場合は nil を返します。

REXML::Child#parent -> REXML::Parent|nil (24322.0)

親ノードを返します。

親ノードを返します。

ルートノードの場合は nil を返します。

@see REXML::Child#parent=

REXML::DocType#notation(name) -> REXML::NotationDecl | nil (24322.0)

DTD に含まれている記法宣言 (REXML::NotationDecl) で name という名前を持つものを返します。

DTD に含まれている記法宣言 (REXML::NotationDecl) で
name という名前を持つものを返します。

name という名前を持つ記法宣言が存在しない場合は nil を返します。

@param name 検索する記法名

絞り込み条件を変える

REXML::Document#doctype -> REXML::DocType | nil (24322.0)

文書の DTD を返します。

文書の DTD を返します。

文書が DTD を持たない場合は nil を返します。

REXML::Document#root -> REXML::Element | nil (24322.0)

文書のルート要素を返します。

文書のルート要素を返します。

文書がルート要素を持たない場合は nil を返します。

REXML::Document#xml_decl -> REXML::XMLDecl | nil (24322.0)

文書の XML 宣言を返します。

文書の XML 宣言を返します。

文書が XML 宣言を持たない場合は nil を返します。

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

子要素を追加します。

子要素を追加します。

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

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

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

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

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

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

REXML::Element#document -> REXML::Document | nil (24322.0)

self が属する文書(REXML::Document)オブジェクトを返します。

self が属する文書(REXML::Document)オブジェクトを返します。

属する文書がない場合には nil を返します。

絞り込み条件を変える

REXML::Element#previous_element -> Element | nil (24322.0)

前の兄弟要素を返します。

前の兄弟要素を返します。

前の要素が存在しない場合は nil を返します。

REXML::Elements#each(xpath = nil) {|element| ... } -> [REXML::Elements] (24322.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::Elements#to_a(xpath = nil) -> [REXML::Element] (24322.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::Entity#external -> String | nil (24322.0)

実体が外部実体(external entity)宣言である場合は "SYSTEM" もしくは "PUBLIC" という文字列を返します。

実体が外部実体(external entity)宣言である場合は
"SYSTEM" もしくは "PUBLIC" という文字列を返します。

内部実体(internal entity)宣言である場合には nil を返します。

REXML::Entity#ndata -> String | nil (24322.0)

解析対象外実体(unparsed entity)宣言である場合には その記法名(notation name)を返します。

解析対象外実体(unparsed entity)宣言である場合には
その記法名(notation name)を返します。

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

絞り込み条件を変える

REXML::Entity#normalized -> String | nil (24322.0)

正規化された(normalized)実体の値を返します。

正規化された(normalized)実体の値を返します。

すなわち、一切の実体参照を展開していない値を返します。

外部実体(external entity)宣言の場合は nil を返します。

@see REXML::Entity#value, REXML::Entity#unnormalized

REXML::Entity#pubid -> String | nil (24322.0)

公開識別子(public identifier)を用いた外部実体宣言の場合は、その公開識別子を 返します。

公開識別子(public identifier)を用いた外部実体宣言の場合は、その公開識別子を
返します。

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

REXML::Entity#ref -> String | nil (24322.0)

外部実体(external entity)宣言の URI を返します。

外部実体(external entity)宣言の URI を返します。

内部実体宣言の場合は nil を返します。

REXML::Entity#unnormalized -> String | nil (24322.0)

非正規化された(unnormalized)実体の値を返します。

非正規化された(unnormalized)実体の値を返します。

すなわち、self が属する DTD によってすべての実体参照(&ent; と %ent; の両方)
を展開した文字列を返します。

外部実体(external entity)宣言の場合は nil を返します。

@see REXML::Entity#value, REXML::Entity#normalized

REXML::Entity#value -> String | nil (24322.0)

実体の値を返します。

実体の値を返します。

パラメータ実体参照(parameter entity)のみが展開され、
そうでない実体参照(general entity)は展開されて
いないような値が返されます。

外部実体(external entity)宣言の場合は nil を返します。

@see REXML::Entity#unnormalized, REXML::Entity#normalized

絞り込み条件を変える

REXML::Namespace#has_name?(other, ns = nil) -> bool (24322.0)

self が other と ns で指定した名前を持っているならば真を返します。

self が other と ns で指定した名前を持っているならば真を返します。

ns が nil でない場合は名前空間も比較されます。
other が ":" を含んでいる(つまり prefix を含んでいる)場合は
REXML::Namespace#fully_expanded_name と other を比較します。
どちらでもない場合は other と REXML::Namespace#name を直接
比較します。

@param other 比較する名前(文字列)
@param ns 比較する名前空間(文字列)

REXML::Node#find_first_recursive {|node| ... } -> REXML::Node | nil (24322.0)

self とその各 element node を引数とし、ブロックを呼び出し、 そのブロックの返り値が真であった最初の node を返します。

self とその各 element node を引数とし、ブロックを呼び出し、
そのブロックの返り値が真であった最初の node を返します。

見付からなかった場合は nil を返します。

REXML::Node#next_sibling_node -> REXML::Node | nil (24322.0)

次の兄弟ノードを返します。

次の兄弟ノードを返します。

次の兄弟ノードが存在しない場合(ノードがルートである場合や、
最後のノードである場合)は nil を返します。

REXML::Node#previous_sibling_node -> REXML::Node | nil (24322.0)

前の兄弟ノードを返します。

前の兄弟ノードを返します。

前の兄弟ノードが存在しない場合(ノードがルートである場合や、
最初のノードである場合)は nil を返します。

REXML::NotationDecl#public -> String | nil (24322.0)

公開識別子を返します。

公開識別子を返します。

宣言が公開識別子を含まない場合は nil を返します。

絞り込み条件を変える

REXML::NotationDecl#system -> String | nil (24322.0)

システム識別子(URI)を返します。

システム識別子(URI)を返します。

宣言がシステム識別子を含まない場合は nil を返します。

REXML::Parent#[](index) -> REXML::Child | nil (24322.0)

子ノード列上の index で指定された場所のノードを返します。

子ノード列上の index で指定された場所のノードを返します。

範囲外を指定した場合は nil を返します。

REXML::Parent#delete_at(index) -> REXML::Child | nil (24322.0)

子ノード列上の index で指定された場所の要素を取り除きます。

子ノード列上の index で指定された場所の要素を取り除きます。

取り除いだノードを返します。indexが範囲外である場合は何もせず
nil を返します。

REXML::Parent#index(child) -> Integer | nil (24322.0)

child の子ノード列上での位置を返します。

child の子ノード列上での位置を返します。

child が子ノードでない場合には nil を返します。

REXML::Text#doctype -> REXML::DocType | nil (24322.0)

テキストノードが属する文書の DTD を返します。

テキストノードが属する文書の DTD を返します。

そのような文書(REXML::Document)が存在しない、すなわち
テキストノードの親ノードを辿っても REXML::Document に到達しない、
場合には nil を返します。

@see REXML::DocType

絞り込み条件を変える

REXML::XMLDecl#encoding -> String | nil (24322.0)

設定されているエンコーディングの名前を文字列で返します。

設定されているエンコーディングの名前を文字列で返します。

エンコーディングが指定されていない(デフォルトの UTF-8 とみなされます)
場合は nil を返します。

REXML::XPath.each(element, path = nil, namespaces = {}, variables = {}) {|e| ... } -> () (24322.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] (24322.0)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

絞り込み条件を変える

REXML::Document#write(output = $stdout, indent = -1, transitive = false, ie_hack = false, encoding=nil) -> () (24307.0)

output に XML 文書を出力します。

output に XML 文書を出力します。

XML宣言、DTD、処理命令を(もしあるならば)含む文書を出力します。

注意すべき点として、
元の XML 文書が XML宣言を含んでいなくとも
出力される XML はデフォルトの XML 宣言を含んでいるべきであるが、
REXML は明示しない限り(つまりXML宣言を REXML::Document#add で
追加しない限り)
それをしない、ということである。XML-RPCのような利用法では
ネットワークバンドを少しでも節約する必要があるためである。

2.0.0以降ではキーワード引数による引数指定が可能です。

@param outpu...

REXML::Document#write(output: $stdout, indent: -1, transitive: false, ie_hack: false, encoding: nil) -> () (24307.0)

output に XML 文書を出力します。

output に XML 文書を出力します。

XML宣言、DTD、処理命令を(もしあるならば)含む文書を出力します。

注意すべき点として、
元の XML 文書が XML宣言を含んでいなくとも
出力される XML はデフォルトの XML 宣言を含んでいるべきであるが、
REXML は明示しない限り(つまりXML宣言を REXML::Document#add で
追加しない限り)
それをしない、ということである。XML-RPCのような利用法では
ネットワークバンドを少しでも節約する必要があるためである。

2.0.0以降ではキーワード引数による引数指定が可能です。

@param outpu...

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

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

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

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

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

@param parent 親ノード

REXML::DocType.new(source, parent = nil) -> REXML::DocType (24304.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.new(source = nil, context = {}) -> REXML::Document (24304.0)

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

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

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

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

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

絞り込み条件を変える

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

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

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

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

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

REXML::Element#each_element(xpath = nil) {|element| ... } -> () (24304.0)

各子要素を引数としてブロックを呼び出します。

各子要素を引数としてブロックを呼び出します。

xpath に文字列を指定するとそれにマッチする子要素のみを対象とします。

@param xpath XPath 文字列

REXML::Elements#collect(xpath = nil) {|element| .. } -> [object] (24304.0)

Enumerable#collect と同様、 各子要素に対しブロックを呼び出し、その返り値の配列を返します。

Enumerable#collect と同様、
各子要素に対しブロックを呼び出し、その返り値の配列を返します。

xpath を指定した場合は、その XPath 文字列に
マッチする要素に対し同様の操作をします。

@param xpath XPath文字列
@see REXML::Elements#each

REXML::Entity.new(name, value, parent=nil, reference=false) -> REXML::Entity (24304.0)

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

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

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

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

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

配列...

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

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

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

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

絞り込み条件を変える

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

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

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

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

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

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

@param parent 親ノード

REXML::Entity (24145.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::Element#text=(text) (24109.0)

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

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

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

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

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

REXML::XMLDecl (24091.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::NotationDecl (24055.0)

DTD の記法宣言を表すクラスです。

DTD の記法宣言を表すクラスです。


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

doctype = REXML::Document.new(<<EOS).doctype
<!DOCTYPE foo [
<!NOTATION type-image-svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!NOTATION type-image-gif PUBLIC "image/gif">...

絞り込み条件を変える

REXML::Text#to_s -> String (24037.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::Text#value -> String (24037.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::XMLDecl#encoding=(enc) (24037.0)

エンコーディングを enc に設定します。

エンコーディングを enc に設定します。

enc に nil を渡すと XML 宣言では encoding が
指定されていない(デフォルトで UTF-8 が使われる)
ことになります。

@param enc エンコーディング(文字列 or nil)
@see REXML::XMLDecl#encoding=

REXML::XMLDecl#xmldecl(version, encoding, standalone) -> () (24037.0)

内容を更新します。

内容を更新します。

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

REXML::AttlistDecl#each {|name, value| ... } -> () (24019.0)

それぞれの属性名、デフォルト値を引数として ブロックを順に呼び出します。

それぞれの属性名、デフォルト値を引数として
ブロックを順に呼び出します。

デフォルト値を持たない属性に関しては nil が渡されます。

絞り込み条件を変える

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

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

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

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

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

REXML::Parent#replace_child(to_replace, replacement) -> () (24019.0)

子ノード列上の to_replace を replacement に置き換えます。

子ノード列上の to_replace を replacement に置き換えます。

to_replace の parent は nil に、
replacement の parent は selfに変更されます。

@param to_replace 置き換え元のノード
@param replacement 置き換え先のノード

REXML::XMLDecl#standalone=(value) (24019.0)

スタンドアロン文書であるかどうかを "yes" "no" で設定します。

スタンドアロン文書であるかどうかを "yes" "no" で設定します。

この属性を省略したい場合は nil を指定します。

@param value 設定値(文字列)

REXML::Entity.new(array) -> REXML::Entity (24004.0)

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

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

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

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

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

配列...