ライブラリ
- rexml (1)
-
rexml
/ document (327)
クラス
-
REXML
:: AttlistDecl (7) -
REXML
:: Attribute (16) -
REXML
:: Attributes (16) -
REXML
:: CData (4) -
REXML
:: Child (11) -
REXML
:: Comment (9) -
REXML
:: Declaration (2) -
REXML
:: DocType (18) -
REXML
:: Document (21) -
REXML
:: Element (44) -
REXML
:: ElementDecl (1) -
REXML
:: Elements (14) -
REXML
:: Entity (13) -
REXML
:: ExternalEntity (3) -
REXML
:: Formatters :: Default (2) -
REXML
:: Formatters :: Pretty (5) -
REXML
:: Formatters :: Transitive (1) -
REXML
:: Instruction (8) -
REXML
:: NotationDecl (8) -
REXML
:: Parent (29) -
REXML
:: Text (13) -
REXML
:: XMLDecl (18) -
REXML
:: XPath (3)
モジュール
-
REXML
:: EntityConst (5) -
REXML
:: Namespace (8) -
REXML
:: Node (7) -
REXML
:: Security (4)
キーワード
- << (4)
- <=> (2)
- == (4)
- AMP (1)
- APOS (1)
- AttlistDecl (1)
- Attribute (1)
- Attributes (1)
- BaseParser (1)
- CData (1)
- Child (1)
- Comment (1)
- DECLARATION (1)
-
DEFAULT
_ ENTITIES (1) -
DEFAULT
_ VERSION (1) - Declaration (1)
- Default (1)
- DocType (1)
- Document (1)
- Element (1)
- ElementDecl (1)
- Elements (1)
- Encoding (1)
- Entity (1)
- EntityConst (1)
- ExternalEntity (1)
- Functions (1)
- GT (1)
- IOSource (1)
- Instruction (1)
- LT (1)
- Namespace (1)
- Node (1)
- NotationDecl (1)
- Output (1)
- Parent (1)
- ParseException (1)
- Pretty (1)
- QUOT (1)
- Security (1)
- Source (1)
- SourceFactory (1)
- Text (1)
- Transitive (1)
- TreeParser (1)
- UNDEFINED (1)
- XMLDecl (1)
- XMLTokens (1)
- XPath (1)
- XPathParser (1)
- [] (4)
- []= (5)
- add (5)
-
add
_ attribute (2) -
add
_ attributes (1) -
add
_ element (1) -
add
_ namespace (2) - attribute (1)
-
attribute
_ of (1) - attributes (1)
-
attributes
_ of (1) - bytes (1)
- cdatas (1)
- children (1)
- clone (9)
- collect (1)
- comments (1)
- compact (1)
- compact= (1)
- content (1)
- content= (1)
- context (2)
- context= (1)
-
deep
_ clone (1) - default (1)
- delete (3)
-
delete
_ all (2) -
delete
_ at (1) -
delete
_ attribute (1) -
delete
_ element (1) -
delete
_ if (2) -
delete
_ namespace (1) - doctype (2)
- document (2)
- dowrite (1)
- each (6)
-
each
_ attribute (1) -
each
_ child (2) -
each
_ element (1) -
each
_ element _ with _ attribute (1) -
each
_ element _ with _ text (1) -
each
_ index (2) -
each
_ recursive (1) - element (1)
- element= (1)
-
element
_ name (1) - elements (1)
- empty? (2)
- encoding (2)
- encoding= (1)
- entities (1)
- entity (1)
-
entity
_ expansion _ limit (2) -
entity
_ expansion _ limit= (2) -
entity
_ expansion _ text _ limit (2) -
entity
_ expansion _ text _ limit= (2) - external (1)
-
external
_ id (1) -
find
_ first _ recursive (1) - first (1)
-
get
_ attribute (1) -
get
_ attribute _ ns (1) -
get
_ elements (1) -
get
_ text (1) -
has
_ attributes? (1) -
has
_ elements? (1) -
has
_ name? (1) -
has
_ text? (1) - include? (1)
- index (2)
-
index
_ in _ parent (1) - inject (1)
-
insert
_ after (1) -
insert
_ before (1) - instructions (1)
- length (2)
-
local
_ name (1) - match (1)
- matches? (1)
- name (5)
- name= (1)
- namespace (2)
- namespaces (3)
- ndata (1)
- new (24)
-
next
_ element (1) -
next
_ sibling (1) -
next
_ sibling= (1) -
next
_ sibling _ node (1) -
node
_ type (9) - normalize (1)
- normalized (1)
- normalized= (1)
- notation (1)
- notations (1)
- nowrite (1)
- parent (1)
- parent= (1)
- parent? (2)
-
parse
_ stream (1) - prefix (2)
- prefix= (1)
- prefixes (2)
-
previous
_ element (1) -
previous
_ sibling (1) -
previous
_ sibling= (1) -
previous
_ sibling _ node (1) - pubid (1)
- public (2)
- public= (1)
- push (1)
- raw (2)
- raw= (1)
- ref (1)
- remove (2)
-
replace
_ child (1) -
replace
_ with (1) - rexml (1)
- root (2)
-
root
_ node (1) - size (3)
-
stand
_ alone? (2) - standalone (1)
- standalone= (1)
- string (1)
- string= (1)
- system (2)
- system= (1)
- target (1)
- target= (1)
- text (1)
- text= (1)
- texts (1)
-
to
_ a (3) -
to
_ s (9) -
to
_ string (1) - unnormalize (1)
- unnormalized (1)
- unshift (1)
- value (4)
- value= (1)
- version (2)
- version= (1)
- whitespace (1)
- width (1)
- width= (1)
- write (11)
- writeencoding (1)
- writethis (1)
-
xml
_ decl (1) - xmldecl (1)
- xpath (2)
検索結果
先頭5件
-
rexml
/ document (150019.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
:: Parent # replace _ child(to _ replace , replacement) -> () (79801.0) -
子ノード列上の to_replace を replacement に置き換えます。
子ノード列上の to_replace を replacement に置き換えます。
to_replace の parent は nil に、
replacement の parent は selfに変更されます。
@param to_replace 置き換え元のノード
@param replacement 置き換え先のノード -
REXML
:: Parent # children -> [REXML :: Child] (79201.0) -
子ノード列の配列を返します。
子ノード列の配列を返します。 -
REXML
:: Child # previous _ sibling -> REXML :: Node (69901.0) -
前の隣接ノードを返します。
前の隣接ノードを返します。
REXML::Node#previous_sibling_node の別名です。
@see REXML::Child#previous_sibling= -
REXML
:: Element # previous _ element -> Element | nil (69901.0) -
前の兄弟要素を返します。
前の兄弟要素を返します。
前の要素が存在しない場合は nil を返します。 -
REXML
:: Node # find _ first _ recursive {|node| . . . } -> REXML :: Node | nil (69901.0) -
self とその各 element node を引数とし、ブロックを呼び出し、 そのブロックの返り値が真であった最初の node を返します。
self とその各 element node を引数とし、ブロックを呼び出し、
そのブロックの返り値が真であった最初の node を返します。
見付からなかった場合は nil を返します。 -
REXML
:: Node # previous _ sibling _ node -> REXML :: Node | nil (69901.0) -
前の兄弟ノードを返します。
前の兄弟ノードを返します。
前の兄弟ノードが存在しない場合(ノードがルートである場合や、
最初のノードである場合)は nil を返します。 -
REXML
:: Parent # insert _ before(child1 , child2) -> self (69901.0) -
child2 を child1 で指定したノードの前に挿入します。
child2 を child1 で指定したノードの前に挿入します。
child1 が REXML::Child のインスタンスであるならば、その
子ノードの前に挿入されます。
child1 が 文字列であるならば、XPath で場所を指定します。
具体的には REXML::XPath.first(self, child1) で特定されるノードの
前に挿入されます。
挿入されるノード(child2)の親は self に変更されます。
@param child1 挿入場所の指定
@param child2 挿入されるノード -
REXML
:: Child # previous _ sibling=(other) (69619.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 # replace _ with(child) -> self (69601.0) -
親ノードの子ノード列上において、 self を child に置き換えます。
親ノードの子ノード列上において、 self を child に置き換えます。
@param child 置き換え後のノード
@see REXML::Parent#replace_child -
REXML
:: Parent # parent? -> bool (69601.0) -
true を返します。
true を返します。
@see REXML::Node#parent -
REXML
:: XMLDecl :: DEFAULT _ VERSION -> String (69601.0) -
REXML::XMLDecl.new や REXML::XMLDecl.default で の使われるデフォルトのXMLバージョン。
REXML::XMLDecl.new や REXML::XMLDecl.default で
の使われるデフォルトのXMLバージョン。 -
REXML
:: Element # delete _ element(element) -> REXML :: Element (61519.0) -
子要素を削除します。
子要素を削除します。
element で削除する要素を指定できます。整数、文字列、REXML::Element
オブジェクトのいずれかが指定できます。
REXML::Element を指定すると、その要素が削除されます。
整数を指定すると、element 番目の要素を削除します(1-originで指定します)。
文字列を指定すると、XPath としてマッチする要素を削除します。
複数の要素がマッチする場合はそのうち1つが削除されます。
@param element 削除する要素
@see REXML::Elements#delete
//emlist[][ruby]{
require... -
REXML
:: Child # parent -> REXML :: Parent|nil (61201.0) -
親ノードを返します。
親ノードを返します。
ルートノードの場合は nil を返します。
@see REXML::Child#parent= -
REXML
:: Element # delete _ attribute(key) -> REXML :: Attribute | nil (60919.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 # each _ element _ with _ attribute(key , value = nil , max = 0 , name = nil) {|element| . . . } -> () (60919.0) -
特定の属性を持つすべての子要素を引数としてブロックを呼び出します。
特定の属性を持つすべての子要素を引数としてブロックを呼び出します。
key で指定した属性名の属性を持つ要素のみを対象とします。
value を指定すると、keyで指定した属性名を持つ属性の値がvalueである
もののみを対象とします。
maxを指定すると、対象となる子要素の先頭 max 個のみが対象となります。
name を指定すると、それは xpath 文字列と見なされ、
それにマッチするもののみが対象となります。
max に 0 を指定すると、max の指定は無視されます(0個ではありません)。
@param key 属性名(文字列)
@param value 属性値(文字列)
... -
REXML
:: Entity # external -> String | nil (60901.0) -
実体が外部実体(external entity)宣言である場合は "SYSTEM" もしくは "PUBLIC" という文字列を返します。
実体が外部実体(external entity)宣言である場合は
"SYSTEM" もしくは "PUBLIC" という文字列を返します。
内部実体(internal entity)宣言である場合には nil を返します。 -
REXML
:: Parent # deep _ clone -> REXML :: Parent (60901.0) -
ノードを複製し、複製されたノードを返します。
ノードを複製し、複製されたノードを返します。
子ノードも複製されます。 -
REXML
:: Parent # insert _ after(child1 , child2) -> self (60901.0) -
child2 を child1 で指定したノードの後ろに挿入します。
child2 を child1 で指定したノードの後ろに挿入します。
child1 が REXML::Child のインスタンスであるならば、その
子ノードの後ろに挿入されます。
child1 が 文字列であるならば、XPath で場所を指定します。
具体的には REXML::XPath.first(self, child1) で特定されるノードの
後ろに挿入されます。
挿入されるノード(child2)の親は self に変更されます。
@param child1 挿入場所の指定
@param child2 挿入されるノード -
REXML
:: DocType # external _ id -> String | nil (60619.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
:: Attribute # normalized=(value) (60601.0) -
正規化された属性値を設定します。
正規化された属性値を設定します。
通常はライブラリが自動的にこの値を設定するので
ユーザはこれを使う必要はないでしょう。
@param value 正規化された属性値 -
REXML
:: Child # remove -> self (60601.0) -
親ノードの子ノード列から self を取り除きます。
親ノードの子ノード列から self を取り除きます。 -
REXML
:: Document . parse _ stream(source , listener) -> () (60601.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 :: DECLARATION -> REXML :: XMLDecl (60601.0) -
この定数は deprecated です。REXML::XMLDecl.default を 代わりに使ってください。
この定数は deprecated です。REXML::XMLDecl.default を
代わりに使ってください。
デフォルトとして使えるXML宣言オブジェクト。 -
REXML
:: Entity # normalized -> String | nil (60601.0) -
正規化された(normalized)実体の値を返します。
正規化された(normalized)実体の値を返します。
すなわち、一切の実体参照を展開していない値を返します。
外部実体(external entity)宣言の場合は nil を返します。
@see REXML::Entity#value, REXML::Entity#unnormalized -
REXML
:: Entity # ref -> String | nil (60601.0) -
外部実体(external entity)宣言の URI を返します。
外部実体(external entity)宣言の URI を返します。
内部実体宣言の場合は nil を返します。 -
REXML
:: Entity # unnormalized -> String | nil (60601.0) -
非正規化された(unnormalized)実体の値を返します。
非正規化された(unnormalized)実体の値を返します。
すなわち、self が属する DTD によってすべての実体参照(&ent; と %ent; の両方)
を展開した文字列を返します。
外部実体(external entity)宣言の場合は nil を返します。
@see REXML::Entity#value, REXML::Entity#normalized -
REXML
:: Namespace # prefix=(value) (60601.0) -
prefix (前置修飾子) を設定します。
prefix (前置修飾子) を設定します。
@param value prefix文字列
@see REXML::Namespace#prefix -
REXML
:: Node # parent? -> bool (60601.0) -
子を持つノードであれば真を返します。
子を持つノードであれば真を返します。
REXML::Parent のサブクラスでは真を返します。
それ以外では偽を返します。
@see REXML::Parent#parent? -
REXML
:: Parent # delete(object) -> REXML :: Child | nil (60601.0) -
object を子ノード列から削除します。
object を子ノード列から削除します。
削除されたノードの親は nil に設定されます。
削除したノードを返します。削除されなかった場合は nil を返します。
@param object 削除するノード -
REXML
:: Parent # delete _ at(index) -> REXML :: Child | nil (60601.0) -
子ノード列上の index で指定された場所の要素を取り除きます。
子ノード列上の index で指定された場所の要素を取り除きます。
取り除いだノードを返します。indexが範囲外である場合は何もせず
nil を返します。 -
REXML
:: Parent # delete _ if -> Enumerator (60601.0) -
各子ノードに対しブロックを呼び出し、真を返したノードを削除します。
各子ノードに対しブロックを呼び出し、真を返したノードを削除します。
ブロックを省略した場合は Enumerator を返します。 -
REXML
:: Parent # each _ child -> Enumerator (60601.0) -
各子ノードに対しブロックを呼び出します。
各子ノードに対しブロックを呼び出します。
ブロックを省略した場合は Enumerator を返します。 -
REXML
:: Parent # length -> Integer (60601.0) -
保持している子ノードの数を返します。
保持している子ノードの数を返します。 -
REXML
:: Parent # to _ a -> [REXML :: Child] (60601.0) -
子ノード列の配列を返します。
子ノード列の配列を返します。 -
REXML
:: Text . normalize(input , doctype = nil , entity _ filter = nil) -> String (60601.0) -
input を正規化(すべての entity をエスケープ)したものを 返します。
input を正規化(すべての entity をエスケープ)したものを
返します。
@param input 正規化する文字列
@param doctype DTD(REXML::DocType オブジェクト)
@param entity_filter 置換したい実体の名前の配列 -
REXML
:: Text . unnormalize(string , doctype = nil , filter = nil , illegal = nil) -> String (60601.0) -
string を非正規化(すべての entity をアンエスケープ)したものを 返します。
string を非正規化(すべての entity をアンエスケープ)したものを
返します。
filter でアンエスケープしない実体の実体名を文字列配列で指定します。
@param string 非正規化する文字列
@param doctype DTD(REXML::DocType オブジェクト)
@param filter アンエスケープしない実体の実体名(文字列配列)
@param illegal 内部用。使わないでください。
//emlist[][ruby]{
require 'rexml/text'
REXML::Text.unnormalize("& &foobar; ... -
REXML
:: Attribute # prefix -> String (60319.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 # prefixes -> [String] (60319.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... -
REXML
:: Element # prefixes -> [String] (60319.0) -
self の文脈で定義されている prefix を文字列の配列を返します。
self の文脈で定義されている prefix を文字列の配列を返します。
対象の要素とその外側の要素で定義されている prefix を返します。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new("<a xmlns:x='1' xmlns:y='2'><b/><c xmlns:z='3'/></a>")
doc.elements['//b'].prefixes # => ["x", "y"]
//} -
REXML
:: Attribute # remove -> () (60301.0) -
self を所属する要素から取り除きます。
self を所属する要素から取り除きます。 -
REXML
:: Child # parent=(other) (60301.0) -
other を親ノードに設定します。
other を親ノードに設定します。
other が元の親ノードと同じならばこのメソッドは何もしません。
self が親を持たない場合は単純に other を親ノードに設定します。
どちらでもない場合は、元の親ノードの子ノード列から self を取り除いて
から other を親ノードに設定します。
このメソッドだけでは other の子ノード集合に self は追加されません。
つまりこのメソッドを呼び出した直後は不完全な状態であり、親ノード側を
適切に設定する必要があります。
@param other 新たな親ノード
@see REXML::Child#parent -
REXML
:: Namespace # prefix -> String (60301.0) -
prefix (前置修飾子) を返します。
prefix (前置修飾子) を返します。
@see REXML::Namespace#prefix= -
REXML
:: Node # each _ recursive {|node| . . . } -> () (60301.0) -
self とその各 element node を引数とし、ブロックを呼び出します。
self とその各 element node を引数とし、ブロックを呼び出します。 -
REXML
:: Node # index _ in _ parent -> Insteger (60301.0) -
self の親における index を返します。
self の親における index を返します。
返される index は 1-origin です。
ノードが親を持たない(REXML::Child でない)場合は例外を発生させます。 -
REXML
:: Parent # delete _ if {|object| . . . } -> () (60301.0) -
各子ノードに対しブロックを呼び出し、真を返したノードを削除します。
各子ノードに対しブロックを呼び出し、真を返したノードを削除します。
ブロックを省略した場合は Enumerator を返します。 -
REXML
:: Parent # each _ child {|object| . . . } -> () (60301.0) -
各子ノードに対しブロックを呼び出します。
各子ノードに対しブロックを呼び出します。
ブロックを省略した場合は Enumerator を返します。 -
REXML
:: ExternalEntity (60019.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
:: Formatters :: Pretty (60019.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
:: Declaration (60001.0) -
DTD に含まれる各種宣言ノードを表すクラスです。
DTD に含まれる各種宣言ノードを表すクラスです。
このクラス自体は直接はインスタンスを作りません。
各サブクラスのインスタンスが使われます。 -
REXML
:: Parent (60001.0) -
あるノードの親ノードとなりうるノードを表すクラスです。
あるノードの親ノードとなりうるノードを表すクラスです。
子ノードにアクセスするための各種メソッドを持っています。 -
REXML
:: Parsers :: TreeParser (60001.0) -
内部用です。使わないでください。
内部用です。使わないでください。
XML 文書から DOMオブジェクトを組み立てるパーサです。
REXML::Document.new などから使われます。 -
REXML
:: DocType # attribute _ of(element , attribute) -> String | nil (52219.0) -
DTD 内の属性リスト宣言で、 element という名前の要素の attribute という 名前の属性のデフォルト値を返します。
DTD 内の属性リスト宣言で、 element という名前の要素の attribute という
名前の属性のデフォルト値を返します。
elementという名前の要素の属性値は宣言されていない、
elementという名前の要素にはattributeという名前の属性が宣言されていない、
もしくはデフォルト値が宣言されていない、のいずれかの場合は nil を返します。
@param element 要素名(文字列)
@param attribute 属性名(文字列)
//emlist[][ruby]{
require 'rexml/document'
doctype = REXML::Doc... -
REXML
:: Element # add _ element(element , attrs = nil) -> Element (52219.0) -
子要素を追加します。
子要素を追加します。
element として追加する要素を指定します。
REXML::Element オブジェクトもしくは文字列を指定します。
element として REXML::Element オブジェクトを指定した場合、それが追加されます。
文字列を指定した場合は、それを要素名とする要素を追加します。
attrs に { String => String } という Hash を渡すと、
追加する要素の属性を指定できます。
子要素の最後に追加されます。
返り値は追加された要素です。
@param element 追加する要素
@param attrs 追加する要素に設定する... -
REXML
:: Parent . new(parent = nil) -> REXML :: Parent (52201.0) -
REXML::Parent オブジェクトを生成します。
REXML::Parent オブジェクトを生成します。
子ノード列は空列に初期化されます。
parent で親ノードを指定します。
親ノードへの追加は行わないため、オブジェクト生成後に親に
適切に設定する必要があります。
通常、このメソッドは直接は使いません。継承先のクラスが適切に
このメソッド(initialize)を呼び出します。
@param parent 親ノード -
REXML
:: Attributes # delete(attribute) -> REXML :: Element (51919.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
:: Attributes # get _ attribute(name) -> Attribute | nil (51919.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
:: Attributes # get _ attribute _ ns(namespace , name) -> REXML :: Attribute | nil (51919.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 # attributes _ of(element) -> [REXML :: Attribute] (51919.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
:: DocType # write(output , indent = 0 , transitive = false , ie _ hack = false) -> () (51919.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
:: Element # attribute(name , namespace = nil) -> REXML :: Attribute | nil (51919.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 # root _ node -> REXML :: Document | REXML :: Node (51919.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
:: Elements # delete(element) -> Element (51919.0) -
element で指定した子要素を取り除きます。
element で指定した子要素を取り除きます。
element には、REXML::Element、整数、文字列が指定できます。
Element オブジェクトを指定した場合は、その子要素を取り除きます。
整数を指定した場合には element 番目の子要素を削除します(1-originです)。
文字列を指定した場合は、削除する要素を XPath で指定します。
XPathが複数の要素を指している場合は、そのうち一つを削除します。
取り除かれた要素を返します。
XPath で指定した場合、子要素ではない要素も取り除けることに注意してください。
@param element 削除する要素... -
REXML
:: Elements # delete _ all(xpath) -> [REXML :: Element] (51919.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
:: XPath . first(element , path = nil , namespaces = {} , variables = {}) -> Node | nil (51919.0) -
element の path で指定した XPath 文字列にマッチする最初のノードを 返します。
element の path で指定した XPath 文字列にマッチする最初のノードを
返します。
path に相対パスを指定した場合は element からの相対位置で
マッチするノードを探します。
絶対パスを指定した場合は element が属する文書のルート要素からの
位置でマッチするノードを探します。
path を省略すると "*" を指定したことになります。
namespace で名前空間の対応付けを指定します。
variable で XPath 内の変数に対応する値を指定できます。
XPathインジェクション攻撃を避けるため、適切な
エスケープを付加するため、に用います。
... -
REXML
:: Attribute # element -> REXML :: Element (51901.0) -
その属性が属する要素を返します。
その属性が属する要素を返します。 -
REXML
:: Document # write(output = $ stdout , indent = -1 , transitive = false , ie _ hack = false , encoding=nil) -> () (51901.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) -> () (51901.0) -
output に XML 文書を出力します。
output に XML 文書を出力します。
XML宣言、DTD、処理命令を(もしあるならば)含む文書を出力します。
注意すべき点として、
元の XML 文書が XML宣言を含んでいなくとも
出力される XML はデフォルトの XML 宣言を含んでいるべきであるが、
REXML は明示しない限り(つまりXML宣言を REXML::Document#add で
追加しない限り)
それをしない、ということである。XML-RPCのような利用法では
ネットワークバンドを少しでも節約する必要があるためである。
2.0.0以降ではキーワード引数による引数指定が可能です。
@param outpu... -
REXML
:: Element # attributes -> REXML :: Attributes (51901.0) -
要素が保持している属性の集合を返します。
要素が保持している属性の集合を返します。 -
REXML
:: Element # elements -> REXML :: Elements (51901.0) -
要素が保持している子要素の集合を返します。
要素が保持している子要素の集合を返します。 -
REXML
:: Element # get _ elements(xpath) -> [REXML :: Element] (51901.0) -
xpath にマッチする要素を配列で返します。
xpath にマッチする要素を配列で返します。
xpath には XPath 文字列を指定します。
@param xpath XPath 文字列
@see REXML::Elements#to_a -
REXML
:: Element # write(output = $ stdout , indent = -1 , transitive = false , ie _ hack = false) (51901.0) -
このメソッドは deprecated です。 REXML::Formatter を代わりに 使ってください。
このメソッドは deprecated です。 REXML::Formatter を代わりに
使ってください。
output にその要素を文字列化したものを(子要素を含め)出力します。
@param output 出力先(IO のように << で書き込めるオブジェクト)
@param indent インデントのスペースの数(-1 だとインデントしない)
@param transitive XMLではインデントのスペースでDOMが変化してしまう場合がある。
これに真を渡すと、XMLのDOMに余計な要素が加わらないように
空白の出力を適当に抑制するようになる
@par... -
REXML
:: Formatters :: Pretty . new(indentation=2 , ie _ hack=false) -> REXML :: Formatter :: Pretty (51901.0) -
フォーマッタオブジェクトを生成して返します。
フォーマッタオブジェクトを生成して返します。
このフォーマッタによる出力はテキストの空白や改行を調整し、
適切なインデントを挿入して読みやすいXMLを出力します。
indentation でインデント幅を(空白の数で)指定します。
ie_hack に真を渡すと、空のタグを閉じる前で空白を挿入します。
これは特定のバージョンのIEのXMLパーサのバグを避けるための機能です。
@param indentation 出力のインデント幅
@param ie_hack 空のタグを閉じる所にスペースを入れるかどうか -
REXML
:: Attribute # to _ string -> String (51673.0) -
"name='value'" という形式の文字列を返します。
"name='value'" という形式の文字列を返します。
//emlist[][ruby]{
require 'rexml/document'
e = REXML::Element.new("el")
e.add_attribute("ns:r", "rval")
p e.attributes.get_attribute("r").to_string # => "ns:r='rval'"
//} -
REXML
:: Attributes # delete _ all(name) -> [REXML :: Attribute] (51619.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 # each _ attribute {|attribute| . . . } -> () (51619.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 # length -> Integer (51619.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
:: CData # value -> String (51619.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
:: Child # next _ sibling=(other) (51619.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 # public -> String | nil (51619.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
:: Document # stand _ alone? -> String (51619.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
:: Element # add _ attribute(key , value) -> () (51619.0) -
要素の属性を追加します。 同じ名前の属性がすでにある場合はその属性を新しい 属性で置き換えます。
要素の属性を追加します。
同じ名前の属性がすでにある場合はその属性を新しい
属性で置き換えます。
引数の与えかたは2通りあります。
要素名と値の2つの文字列で渡す方法と REXML::Attribute オブジェクトを
渡す方法です。
文字列2つで指定する場合、属性値は unnormalized な文字列を渡す必要があります。
@param key 属性名(文字列)
@param value 属性値(文字列)
@param attr 属性(REXML::Attribute オブジェクト)
//emlist[][ruby]{
require 'rexml/document'
doc = ... -
REXML
:: Element # each _ element _ with _ text(text = nil , max = 0 , name = nil) {|element| . . . } -> () (51619.0) -
テキストを子ノードとして 持つすべての子要素を引数としてブロックを呼び出します。
テキストを子ノードとして
持つすべての子要素を引数としてブロックを呼び出します。
text を指定すると、テキストの内容が text であるもののみを対象とします。
maxを指定すると、対象となる子要素の先頭 max 個のみが対象となります。
name を指定すると、それは xpath 文字列と見なされ、
それにマッチするもののみが対象となります。
max に 0 を指定すると、max の指定は無視されます(0個ではありません)。
@param text テキストの中身(文字列)
@param max ブロック呼出の対象とする子要素の最大個数
@param name xpath文字列
... -
REXML
:: Element # next _ element -> Element | nil (51619.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
:: Element # root -> REXML :: Element (51619.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
:: Text # value -> String (51619.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
:: AttlistDecl # element _ name -> String (51601.0) -
属性を定義しているエレメントの名前を返します。
属性を定義しているエレメントの名前を返します。 -
REXML
:: Attribute # clone -> REXML :: Element (51601.0) -
self を複製し返します。
self を複製し返します。 -
REXML
:: Attribute # element=(element) (51601.0) -
self が属する要素を変更します。
self が属する要素を変更します。
@param element 変更先の要素(REXML::Element) -
REXML
:: Attribute # value -> String (51601.0) -
正規化されていない属性値を返します。
正規化されていない属性値を返します。
属性値の正規化については XML の仕様を参考にしてください。 -
REXML
:: CData # clone -> REXML :: CData (51601.0) -
self を複製して返します。
self を複製して返します。
親ノードの情報は複製されません。 -
REXML
:: Child # next _ sibling -> REXML :: Node (51601.0) -
次の隣接ノードを返します。
次の隣接ノードを返します。
REXML::Node#next_sibling_node の別名です。
@see REXML::Child#next_sibling= -
REXML
:: Comment # clone -> REXML :: Comment (51601.0) -
内容が複製された Comment オブジェクトを返します。 (親ノードの情報は複製されません)。
内容が複製された Comment オブジェクトを返します。
(親ノードの情報は複製されません)。 -
REXML
:: Comment # string -> String (51601.0) -
コメント文字列を返します。
コメント文字列を返します。 -
REXML
:: Comment # string=(value) (51601.0) -
コメント文字列を設定します。
コメント文字列を設定します。
@param value 設定する文字列 -
REXML
:: DocType # clone -> REXML :: DocType (51601.0) -
self の複製を返します。
self の複製を返します。
external_id (REXML::DocType#external_id) と
名前(REXML::DocType#name) のみ複製されるため、
結果として得られるオブジェクトはあまり有用ではないでしょう。 -
REXML
:: DocType :: DEFAULT _ ENTITIES -> { String => REXML :: Entity } (51601.0) -
XML の仕様上デフォルトで定義されている実体の Hash table。
XML の仕様上デフォルトで定義されている実体の Hash table。
"amp" => REXML::EntityConst::AMP は含まれません。 -
REXML
:: Document # clone -> REXML :: Document (51601.0) -
self を複製します。
self を複製します。
REXML::Document.new(self) と同じです。 -
REXML
:: Document # root -> REXML :: Element | nil (51601.0) -
文書のルート要素を返します。
文書のルート要素を返します。
文書がルート要素を持たない場合は nil を返します。 -
REXML
:: Document # xml _ decl -> REXML :: XMLDecl | nil (51601.0) -
文書の XML 宣言を返します。
文書の XML 宣言を返します。
文書が XML 宣言を持たない場合は nil を返します。