別のキーワード
ライブラリ
- rexml (1)
-
rexml
/ document (119) -
rexml
/ parsers / sax2parser (5) -
rexml
/ sax2listener (2) -
rexml
/ streamlistener (1)
クラス
-
REXML
:: Attribute (3) -
REXML
:: Attributes (13) -
REXML
:: CData (3) -
REXML
:: Child (3) -
REXML
:: DocType (11) -
REXML
:: Document (21) -
REXML
:: Element (24) -
REXML
:: Elements (9) -
REXML
:: Entity (3) -
REXML
:: Instruction (2) -
REXML
:: Parsers :: SAX2Parser (5) -
REXML
:: Text (5) -
REXML
:: XMLDecl (3) -
REXML
:: XPath (3)
モジュール
-
REXML
:: SAX2Listener (2) -
REXML
:: Security (4)
キーワード
- << (2)
- Comment (1)
- DECLARATION (1)
- Default (1)
- DocType (1)
- Entity (1)
- ExternalEntity (1)
- Instruction (1)
-
NEWS for Ruby 2
. 0 . 0 (1) -
NEWS for Ruby 2
. 6 . 0 (1) - NotationDecl (1)
- ParseException (1)
- Pretty (1)
- StreamListener (1)
- Transitive (1)
- TreeParser (1)
- XMLDecl (1)
- [] (2)
- []= (2)
- add (2)
-
add
_ attribute (2) -
add
_ attributes (1) -
add
_ element (1) -
add
_ namespace (2) - attribute (1)
-
attribute
_ of (1) -
attributes
_ of (1) - clone (1)
- content (1)
- context (1)
- delete (2)
-
delete
_ all (2) -
delete
_ attribute (1) -
delete
_ element (1) -
delete
_ namespace (1) - doctype (2)
- document (2)
- dowrite (1)
- each (3)
-
each
_ attribute (1) -
each
_ element _ with _ attribute (1) -
each
_ element _ with _ text (1) - encoding (1)
-
end
_ document (1) - entities (1)
- entity (1)
-
entity
_ expansion _ limit (2) -
entity
_ expansion _ limit= (2) -
entity
_ expansion _ text _ limit (2) -
entity
_ expansion _ text _ limit= (2) -
external
_ id (1) - first (1)
-
get
_ attribute (1) -
get
_ attribute _ ns (1) -
get
_ text (1) -
has
_ elements? (1) - length (1)
- listen (5)
- match (1)
- matches? (1)
- name (2)
- namespace (2)
- namespaces (2)
- new (6)
-
next
_ element (1) -
next
_ sibling= (1) -
node
_ type (1) - nowrite (1)
-
parse
_ stream (1) - prefix (1)
- prefixes (2)
-
previous
_ sibling= (1) - public (1)
-
rexml
/ document (1) -
rexml
/ parsers / sax2parser (1) - root (2)
-
root
_ node (1) -
ruby 1
. 8 . 4 feature (1) - size (2)
-
stand
_ alone? (1) -
start
_ document (1) - system (1)
- target (1)
- text (1)
- text= (1)
-
to
_ a (2) -
to
_ s (2) -
to
_ string (1) - value (2)
- value= (1)
- version (1)
- write (3)
- writethis (1)
-
xml
_ decl (1) - xpath (1)
検索結果
先頭5件
-
rexml (114253.0)
-
Pure Ruby の XML パーサです。 DOM スタイルと SAX スタイルの両方をカバーしています。
Pure Ruby の XML パーサです。
DOM スタイルと SAX スタイルの両方をカバーしています。
DOM スタイルの API を使うためには rexml/document を使います。
SAX スタイルの API には、
* rexml/parsers/sax2parser
* rexml/parsers/streamparser
のいずれかを用います。
また、それ以外のパーサとして
* rexml/parsers/pullparser
* rexml/parsers/ultralightparser
などもあります。
=== リンク
* REXML ... -
REXML
:: Document (63073.0) -
XMLの完全な文書(ドキュメント)を表すクラス。
XMLの完全な文書(ドキュメント)を表すクラス。
XML処理命令(Processing Instruction, PI)、
DTD(文書型定義、Document Type Definition)、
などを含んでいます。
ドキュメントは直下の子ノードをただ一つ持っています(rootと呼び、
REXML::Document#root でアクセスできます)。
2つ目の要素を(REXML::Element#add_elementなどで)追加しようとすると
例外(RuntimeError)が発生します。 -
rexml
/ document (36127.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
:: ParseException (33091.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
:: Child # document -> REXML :: Document | nil (28072.0) -
そのノードが属する document (REXML::Document) を返します。
そのノードが属する document (REXML::Document) を返します。
属する document が存在しない場合は nil を返します。 -
REXML
:: Element # document -> REXML :: Document | nil (28006.0) -
self が属する文書(REXML::Document)オブジェクトを返します。
self が属する文書(REXML::Document)オブジェクトを返します。
属する文書がない場合には nil を返します。 -
REXML
:: SAX2Listener # end _ document -> () (27304.0) -
ドキュメントの末尾で呼び出されるコールバックメソッドです。
ドキュメントの末尾で呼び出されるコールバックメソッドです。 -
REXML
:: SAX2Listener # start _ document -> () (27304.0) -
ドキュメントの先頭で呼び出されるコールバックメソッドです。
ドキュメントの先頭で呼び出されるコールバックメソッドです。 -
REXML
:: Document . new(source = nil , context = {}) -> REXML :: Document (18871.0) -
Document オブジェクトを生成します。
Document オブジェクトを生成します。
source には String、IO、REXML::Document のいずかが
指定できます。 REXML::Document を指定すると
コンテキストと要素、属性が複製されます。
文字列の場合はそれを XML と見なしてパースします。
IOの場合は、XML文書を読み出してパースします。
context で「コンテキスト」を指定します。テキストノードの空白や
特殊文字の取り扱いを Hash で指定します。
以下の Symbol をハッシュのキーとして使います。
: :respect_whitespace
空白を考慮して欲しい要素の名... -
REXML
:: Document # clone -> REXML :: Document (18643.0) -
self を複製します。
self を複製します。
REXML::Document.new(self) と同じです。 -
REXML
:: Document :: DECLARATION -> REXML :: XMLDecl (18352.0) -
この定数は deprecated です。REXML::XMLDecl.default を 代わりに使ってください。
この定数は deprecated です。REXML::XMLDecl.default を
代わりに使ってください。
デフォルトとして使えるXML宣言オブジェクト。 -
REXML
:: Document # doctype -> REXML :: DocType | nil (18304.0) -
文書の DTD を返します。
文書の DTD を返します。
文書が DTD を持たない場合は nil を返します。 -
REXML
:: Document # root -> REXML :: Element | nil (18304.0) -
文書のルート要素を返します。
文書のルート要素を返します。
文書がルート要素を持たない場合は nil を返します。 -
REXML
:: Document # xml _ decl -> REXML :: XMLDecl | nil (18304.0) -
文書の XML 宣言を返します。
文書の XML 宣言を返します。
文書が XML 宣言を持たない場合は nil を返します。 -
rexml
/ parsers / sax2parser (18253.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
:: Document # encoding -> String (18091.0) -
XML 宣言に含まれている XML 文書のエンコーディングを返します。
XML 宣言に含まれている XML 文書のエンコーディングを返します。
文書が XML 宣言を持たない場合はデフォルトの値
(REXML::XMLDecl.defaultで宣言されているもの)を返します。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<e />
EOS
doc.encoding # => "UTF-8"
//} -
REXML
:: Document # version -> String (18091.0) -
XML 宣言に含まれている XML 文書のバージョンを返します。
XML 宣言に含まれている XML 文書のバージョンを返します。
文書が XML 宣言を持たない場合はデフォルトの値
(REXML::XMLDecl.defaultで宣言されているもの)を返します。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<e />
EOS
doc.version # => "1.0"
//} -
REXML
:: Document . entity _ expansion _ limit -> Integer (18091.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) (18091.0) -
実体参照の展開回数の上限を指定します。
実体参照の展開回数の上限を指定します。
XML 文書(REXML::Document)ごとの展開回数がこの値を越えると
例外を発生させ、処理を中断します。
デフォルトは 10000 です。
このメソッドは Ruby 2.1 から deprecated になりました。
REXML::Security.entity_expansion_limit= を使ってください。
@param val 設定する上限値(整数)
@see REXML::Document.entity_expansion_limit -
REXML
:: Document # stand _ alone? -> String (18073.0) -
XML 宣言の standalone の値を文字列で返します。
XML 宣言の standalone の値を文字列で返します。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<e />
EOS
doc.stand_alone? # => "yes"
//} -
REXML
:: Document . entity _ expansion _ text _ limit -> Integer (18073.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) (18073.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 # write(output = $ stdout , indent = -1 , transitive = false , ie _ hack = false , encoding=nil) -> () (18055.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) -> () (18055.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 # node _ type -> Symbol (18049.0) -
シンボル :document を返します。
シンボル :document を返します。 -
REXML
:: Document # <<(child) -> () (18037.0) -
子ノードを追加します。
子ノードを追加します。
追加できるものは
* XML宣言(REXML::XMLDecl)
* DTD(REXML::DocType)
* ルート要素
のいずれかです。 -
REXML
:: Document # add(child) -> () (18037.0) -
子ノードを追加します。
子ノードを追加します。
追加できるものは
* XML宣言(REXML::XMLDecl)
* DTD(REXML::DocType)
* ルート要素
のいずれかです。 -
REXML
:: Document . parse _ stream(source , listener) -> () (18037.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
:: Document # expanded _ name -> String (18001.0) -
""(空文字列)を返します。
""(空文字列)を返します。
XMLの仕様上、このオブジェクトはexpanded name名前を持ちえません。 -
REXML
:: Document # name -> String (18001.0) -
""(空文字列)を返します。
""(空文字列)を返します。
XMLの仕様上、このオブジェクトはexpanded name名前を持ちえません。 -
REXML
:: Element # root _ node -> REXML :: Document | REXML :: Node (10054.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... -
REXML
:: Text . new(arg , respect _ whitespace = false , parent = nil , raw = nil , entity _ filter = nil , illegal = REXML :: Text :: NEEDS _ A _ SECOND _ CHECK) (9682.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 (9466.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
:: DocType # attributes _ of(element) -> [REXML :: Attribute] (9460.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] (9448.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 (9430.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 (9430.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] (9430.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 # <<(element = nil) -> REXML :: Element (9415.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 (9415.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 . new(source , parent = nil) -> REXML :: DocType (9412.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
:: Element # get _ text(path = nil) -> REXML :: Text | nil (9412.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 (9412.0) -
index が指し示している要素を返します。
index が指し示している要素を返します。
index には整数もしくは文字列を指定できます。
index に整数を指定した場合は index 番目の子要素を返します。
index は 1-origin です。つまり
最初の要素の index は 1 であり、 0 ではありません。
n 番目の要素の index は n であり、 n-1 ではありません。
これは XPath の仕様に合わせています。
index に文字列を指定した場合はその文字列を XPath と見なし、
それで指定された要素を返します。
XPath が複数の要素を指している場合は、そのうち一つを返します。
XPath... -
REXML
:: Parsers :: SAX2Parser # listen(ary) { . . . } -> () (9397.0) -
コールバックをパーサに登録します。
コールバックをパーサに登録します。
引数の種類やブロックの有無でどのような場合に何がコールバックされかが
変わります。
ブロックを指定した場合はそのブロックがコールバックされます。
ブロックを指定しない場合は REXML::SAX2Listener を include した
クラスのオブジェクトを指定します。
sym は以下のシンボルが指定でき、どの場合にコールバックが呼び出されるかを
指定します。どのような場合にどのような引数でコールバックが呼び出されるか
については、
REXML::SAX2Listener の対応するメソッドで詳しく説明されていますので
そちらを参照してください。... -
REXML
:: Parsers :: SAX2Parser # listen(ary , listener) -> () (9397.0) -
コールバックをパーサに登録します。
コールバックをパーサに登録します。
引数の種類やブロックの有無でどのような場合に何がコールバックされかが
変わります。
ブロックを指定した場合はそのブロックがコールバックされます。
ブロックを指定しない場合は REXML::SAX2Listener を include した
クラスのオブジェクトを指定します。
sym は以下のシンボルが指定でき、どの場合にコールバックが呼び出されるかを
指定します。どのような場合にどのような引数でコールバックが呼び出されるか
については、
REXML::SAX2Listener の対応するメソッドで詳しく説明されていますので
そちらを参照してください。... -
REXML
:: Parsers :: SAX2Parser # listen(listener) -> () (9397.0) -
コールバックをパーサに登録します。
コールバックをパーサに登録します。
引数の種類やブロックの有無でどのような場合に何がコールバックされかが
変わります。
ブロックを指定した場合はそのブロックがコールバックされます。
ブロックを指定しない場合は REXML::SAX2Listener を include した
クラスのオブジェクトを指定します。
sym は以下のシンボルが指定でき、どの場合にコールバックが呼び出されるかを
指定します。どのような場合にどのような引数でコールバックが呼び出されるか
については、
REXML::SAX2Listener の対応するメソッドで詳しく説明されていますので
そちらを参照してください。... -
REXML
:: Parsers :: SAX2Parser # listen(sym) { . . . } -> () (9397.0) -
コールバックをパーサに登録します。
コールバックをパーサに登録します。
引数の種類やブロックの有無でどのような場合に何がコールバックされかが
変わります。
ブロックを指定した場合はそのブロックがコールバックされます。
ブロックを指定しない場合は REXML::SAX2Listener を include した
クラスのオブジェクトを指定します。
sym は以下のシンボルが指定でき、どの場合にコールバックが呼び出されるかを
指定します。どのような場合にどのような引数でコールバックが呼び出されるか
については、
REXML::SAX2Listener の対応するメソッドで詳しく説明されていますので
そちらを参照してください。... -
REXML
:: Parsers :: SAX2Parser # listen(sym , ary) { . . . } -> () (9397.0) -
コールバックをパーサに登録します。
コールバックをパーサに登録します。
引数の種類やブロックの有無でどのような場合に何がコールバックされかが
変わります。
ブロックを指定した場合はそのブロックがコールバックされます。
ブロックを指定しない場合は REXML::SAX2Listener を include した
クラスのオブジェクトを指定します。
sym は以下のシンボルが指定でき、どの場合にコールバックが呼び出されるかを
指定します。どのような場合にどのような引数でコールバックが呼び出されるか
については、
REXML::SAX2Listener の対応するメソッドで詳しく説明されていますので
そちらを参照してください。... -
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 # attribute(name , namespace = nil) -> REXML :: Attribute | nil (9394.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
:: Text # doctype -> REXML :: DocType | nil (9394.0) -
テキストノードが属する文書の DTD を返します。
テキストノードが属する文書の DTD を返します。
そのような文書(REXML::Document)が存在しない、すなわち
テキストノードの親ノードを辿っても REXML::Document に到達しない、
場合には nil を返します。
@see REXML::DocType -
REXML
:: Entity . new(array) -> REXML :: Entity (9379.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 (9379.0) -
新たな Entity オブジェクトを生成して返します。
新たな Entity オブジェクトを生成して返します。
name, value で実体の名前とその値を定義します。
parent はその entity オブジェクトが属するノードを渡します。
reference でその実体宣言がパラメータ実体(parameter entity)かどうかを指定します。
このコンストラクタでは単純な内部実体(internal entity)宣言のみを実現できます。
それ以外の内容を保持する Entity オブジェクトが欲しい場合は、
文書に適切な DTD を含めておいてそれを REXML::Document.new で
パースするようにしてください。
配列... -
REXML
:: Attributes # delete _ all(name) -> [REXML :: Attribute] (9376.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='<'/>
</root>
EOS
a = doc.get_elem... -
REXML
:: Attributes # get _ attribute _ ns(namespace , name) -> REXML :: Attribute | nil (9376.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 # 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
:: Element # root -> REXML :: Element (9376.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] (9376.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
:: XMLDecl (9253.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 (9199.0) -
element の path で指定した XPath 文字列にマッチする最初のノードを 返します。
element の path で指定した XPath 文字列にマッチする最初のノードを
返します。
path に相対パスを指定した場合は element からの相対位置で
マッチするノードを探します。
絶対パスを指定した場合は element が属する文書のルート要素からの
位置でマッチするノードを探します。
path を省略すると "*" を指定したことになります。
namespace で名前空間の対応付けを指定します。
variable で XPath 内の変数に対応する値を指定できます。
XPathインジェクション攻撃を避けるため、適切な
エスケープを付加するため、に用います。
... -
REXML
:: DocType (9175.0) -
XML の DTD(文書型定義、Document Type Definition)を表すクラスです。
XML の DTD(文書型定義、Document Type Definition)を表すクラスです。
rexml では DTD は積極的にはサポートされていません。
デフォルトの実体定義(gt, lt, amp, quot apos)の解決のため DTD は
ある程度はサポートされますが、スキーマの定義や検証をしたい場合は
XML schema や RELAX NG などを使ってください。
子ノード(REXML::Parent#children)として、
* REXML::ElementDecl
* REXML::ExternalEntity
* REXML::Entity
... -
REXML
:: Element # add _ element(element , attrs = nil) -> Element (9163.0) -
子要素を追加します。
子要素を追加します。
element として追加する要素を指定します。
REXML::Element オブジェクトもしくは文字列を指定します。
element として REXML::Element オブジェクトを指定した場合、それが追加されます。
文字列を指定した場合は、それを要素名とする要素を追加します。
attrs に { String => String } という Hash を渡すと、
追加する要素の属性を指定できます。
子要素の最後に追加されます。
返り値は追加された要素です。
@param element 追加する要素
@param attrs 追加する要素に設定する... -
REXML
:: Formatters :: Default (9163.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 # text=(text) (9145.0) -
「先頭の」テキストノードを text で置き換えます。
「先頭の」テキストノードを text で置き換えます。
テキストノードを1つ以上保持している場合はそのうち
最初のノードを置き換えます。
要素がテキストノードを保持していない場合は新たなテキストノードが追加されます。
text には文字列、REXML::Text、nil のいずれかが指定できます。
REXML::Text オブジェクトを指定した場合には、それが設定され、
文字列を指定した場合には
REXML::Text.new(text, whitespace(), nil, raw())
で生成される Text オブジェクトが設定されます。
nil を指定すると最初のテキストノードが削... -
REXML
:: Elements # []=(index , element) (9145.0) -
集合に要素 element を追加/更新します。
集合に要素 element を追加/更新します。
index で要素の更新する位置を指定します。
index には整数、文字列が指定できます。
整数を指定した場合は index 番目の要素を変更します(1-originです)。
文字列の場合は XPath としてマッチした要素を更新します。
整数/文字列どちらの場合でも対応する要素が存在しない場合は、
末尾に追加されます。
@param index 要素を更新する位置
@param element 要素(REXML::Elementオブジェクト)
//emlist[][ruby]{
require 'rexml/document'
do... -
REXML
:: XMLDecl # dowrite -> () (9133.0) -
出力時(REXML::Document#write) に XML 宣言を省略しない よう指示します。
出力時(REXML::Document#write) に XML 宣言を省略しない
よう指示します。
@see REXML::XMLDecl#nowrite, REXML::XMLDecl#writethis -
REXML
:: XMLDecl # nowrite -> () (9133.0) -
出力時(REXML::Document#write) に XML 宣言を省略する よう指示します。
出力時(REXML::Document#write) に XML 宣言を省略する
よう指示します。
@see REXML::XMLDecl#dowrite, REXML::XMLDecl#writethis -
REXML
:: XMLDecl # writethis -> bool (9133.0) -
出力時(REXML::Document#write) に XML 宣言を出力する(省略しない) ならば真を返します。
出力時(REXML::Document#write) に XML 宣言を出力する(省略しない)
ならば真を返します。
@see REXML::XMLDecl#dowrite, REXML::XMLDecl#nowrite -
REXML
:: CData # to _ s -> String (9127.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 (9127.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 # 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
:: Formatters :: Pretty (9127.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
:: Formatters :: Transitive (9127.0) -
XMLドキュメントをテキストの内容を変えずに 多少の整形を加えて出力するクラスです。
XMLドキュメントをテキストの内容を変えずに
多少の整形を加えて出力するクラスです。
これが有用な場合はあまりないでしょう。
整形されていない XML を整形したいが、
テキストの空白は改行は変えたくない場合には役にたつかもしれません。
ただ、ほとんどの場合は奇妙な出力結果になるでしょう。
//emlist[][ruby]{
require 'rexml/document'
require 'rexml/formatters/transitive'
doc = REXML::Document.new <<EOS
<root><children>
<grandchildren foo='ba... -
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
:: Attributes # [](name) -> String | nil (9109.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 (9109.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 (9109.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 (9109.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 # text(path = nil) -> String | nil (9109.0) -
先頭のテキスト子ノードの文字列を返します。
先頭のテキスト子ノードの文字列を返します。
テキストノードを複数保持している場合は最初のノードにしか
アクセスできないことに注意してください。
raw モードの設定は無視され、常に正規化されたテキストを返します。
REXML::Text#value も参照してください。
path を渡した場合は、その XPath 文字列で指定される
テキストノードの文字列を返します。
テキストノードがない場合には nil を返します。
@param path XPath文字列
@see REXML::Element#get_text
//emlist[][ruby]{
require 'rexml... -
REXML
:: Element # xpath -> String (9109.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 (9109.0) -
element で指定した子要素を取り除きます。
element で指定した子要素を取り除きます。
element には、REXML::Element、整数、文字列が指定できます。
Element オブジェクトを指定した場合は、その子要素を取り除きます。
整数を指定した場合には element 番目の子要素を削除します(1-originです)。
文字列を指定した場合は、削除する要素を XPath で指定します。
XPathが複数の要素を指している場合は、そのうち一つを削除します。
取り除かれた要素を返します。
XPath で指定した場合、子要素ではない要素も取り除けることに注意してください。
@param element 削除する要素... -
REXML
:: Entity (9109.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
:: XPath . each(element , path = nil , namespaces = {} , variables = {}) {|e| . . . } -> () (9109.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] (9109.0) -
element の path で指定した XPath 文字列にマッチするノードの配列を 返します。
element の path で指定した XPath 文字列にマッチするノードの配列を
返します。
path に相対パスを指定した場合は element からの相対位置で
マッチするノードを探します。
絶対パスを指定した場合は element が属する文書のルート要素からの
位置でマッチするノードを探します。
path を省略すると "*" を指定したことになります。
namespace で名前空間の対応付けを Hash で指定します。
variable で XPath 内の変数に対応する値を指定できます。
XPathインジェクション攻撃を避けるため、適切な
エスケープを付加するため、に... -
REXML
:: Attributes # []=(name , value) (9091.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='<'/>
</root>
EO... -
REXML
:: Attributes # each {|name , value| . . . } -> () (9091.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='<'/>
</root>
EOS
a... -
REXML
:: Attributes # each _ attribute {|attribute| . . . } -> () (9091.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='<'/>
</root>
EOS
a = doc.get_elements("/root... -
REXML
:: Attributes # get _ attribute(name) -> Attribute | nil (9091.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
:: Child # next _ sibling=(other) (9091.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) (9091.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
:: DocType # write(output , indent = 0 , transitive = false , ie _ hack = false) -> () (9091.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
<... -
REXML
:: Entity . matches?(string) -> bool (9091.0) -
string が実体宣言の文法に従う文字列であれば真を返します。
string が実体宣言の文法に従う文字列であれば真を返します。
@param string 判定対象の文字列
//emlist[][ruby]{
require 'rexml/document'
p REXML::Entity.matches?('<!ENTITY s "seal">') # => true
p REXML::Entity.matches?('<!ENTITY % s "seal">') # => true
p REXML::Entity.matches?('<!ELEMENT br EMPTY >') # => false
//} -
REXML
:: ExternalEntity (9091.0) -
DTD 内の宣言でパラメータ実体参照を使って宣言が されているものを表わすクラスです。
DTD 内の宣言でパラメータ実体参照を使って宣言が
されているものを表わすクラスです。
例えば、以下の DTD 宣言における %HTMLsymbol が
それにあたります。
<!ENTITY % HTMLsymbol PUBLIC
"-//W3C//ENTITIES Symbols for XHTML//EN"
"xhtml-symbol.ent">
%HTMLsymbol;
//emlist[][ruby]{
require 'rexml/document'
doctype = REXML::Document.new(<<EOS).doctype
<!DO... -
REXML
:: Text # to _ s -> String (9091.0) -
テキストの内容を正規化(すべての実体をエスケープ)された状態で返します。
テキストの内容を正規化(すべての実体をエスケープ)された状態で返します。
つまり返り値は XML のテキストとして妥当です。
結果は REXML::Text.new で指定した entity_filter を反映しています。
@see REXML::Text#value
//emlist[][ruby]{
require 'rexml/document'
t = REXML::Text.new("< & foobar", false, nil, false)
t.to_s # => "< & foobar"
t.value # => "< & foobar"
//} -
REXML
:: 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 # => "< & foobar"
t.value # => "< & foobar"
//} -
REXML
:: Attribute # prefix -> String (9073.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 # length -> Integer (9073.0) -
属性の個数を返します。
属性の個数を返します。
//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='<'/>
</root>
EOS
a = doc.get_elements("/root/a").first
p a.attributes.length # => 3
//}
... -
REXML
:: Attributes # namespaces -> { String => String } (9073.0) -
self の中で宣言されている名前空間の集合を返します。
self の中で宣言されている名前空間の集合を返します。
返り値は名前空間の prefix をキーとし、URI を値とする
Hash を返します。
//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='<'/>
</root>
EOS
a = doc.ge... -
REXML
:: Attributes # prefixes -> [String] (9073.0) -
self の中で宣言されている prefix の集合を 文字列の配列で返します。
self の中で宣言されている prefix の集合を
文字列の配列で返します。
self が属する要素より上位の要素で定義されているものは含みません。
//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='<'/>
</root>
EOS
a = doc...