class XML::DOM::NodeList

Class XML::DOM::NodeList

Class XML::DOM::NodeList

Public Class Methods

new(nodes = nil) click to toggle source

Class Methods

# File lib/xml/dom/core.rb, line 1221
def initialize(nodes = nil)
  if nodes.nil?
    @nodes = []
  elsif nodes.is_a?(Array)
    @nodes = nodes
  else
    raise "parameter error"
  end
end

Public Instance Methods

+(nodes) click to toggle source
# File lib/xml/dom/core.rb, line 1382
def +(nodes)
  if nodes.nil?
    NodeList.new(@nodes)
  elsif nodes.is_a?(Array)
    NodeList.new(@nodes + nodes)
  elsif nodes.is_a?(NodeList)
    NodeList.new(@nodes + nodes.to_a)
  elsif nodes.is_a?(Node)
    NodeList.new(@nodes + [nodes])
  else
    raise "parameter error"
  end
end
<<(nodes) click to toggle source
# File lib/xml/dom/core.rb, line 1402
def <<(nodes)
  if nodes.nil?
    ## no change
  elsif nodes.is_a?(Array)
    @nodes.concat(nodes)
  elsif nodes.is_a?(NodeList)
    @nodes.concat(nodes.to_a)
  elsif nodes.is_a?(Node)
    @nodes << nodes
  else
    raise "parameter error"
  end
  self
end
[](index) click to toggle source
# File lib/xml/dom/core.rb, line 1259
def [](index)
  @nodes[index]
end
[]=(*p) click to toggle source
# File lib/xml/dom/core.rb, line 1268
def []=(*p)
  if p.length == 2
    @nodes[p[0]] = p[1]
  elsif p.length == 3
    @nodes[p[0], p[1]] = p[2]
  end
end
_getValues(names) click to toggle source

get nodeValues by names

names ::= name ('|' name)*
# File lib/xml/dom/core.rb, line 1419
def _getValues(names)
  ret = []
  names.split('|').each do |name|
    if !@nodes[name].nil?
      ret.push(@nodes[name].nodeValue)
    end
  end
  ret
end
concat(*nodes)
Alias for: push
each() { |value| ... } click to toggle source
# File lib/xml/dom/core.rb, line 1281
def each
  @nodes.each do |value|
    yield(value)
  end
end
item(index) click to toggle source
# File lib/xml/dom/core.rb, line 1240
def item(index)
  @nodes[index]
end
length()
Alias for: size
pop() click to toggle source
# File lib/xml/dom/core.rb, line 1337
def pop
  @nodes.pop
end
push(*nodes) click to toggle source
# File lib/xml/dom/core.rb, line 1310
def push(*nodes)
  nodes.each do |node|
    if node.is_a?(Array)
      self.push(*node)
    elsif node.is_a?(NodeList)
      @nodes.concat(node.to_a)
    elsif node.is_a?(Node)
      @nodes << node
    else
      raise "parameter error"
    end
  end
  self
end
Also aliased as: concat, concat
reverse() click to toggle source
# File lib/xml/dom/core.rb, line 1364
def reverse
  @nodes.reverse
end
reversible_each(reverse = false) { |value| ... } click to toggle source
# File lib/xml/dom/core.rb, line 1293
def reversible_each(reverse = false)
  if !reverse
    @nodes.each do |value|
      yield(value)
    end
  else
    @nodes.reverse_each do |value|
      yield(value)
    end
  end
end
shift() click to toggle source
# File lib/xml/dom/core.rb, line 1346
def shift
  @nodes.shift
end
size() click to toggle source
# File lib/xml/dom/core.rb, line 1249
def size
  @nodes.length
end
Also aliased as: length, length
to_a() click to toggle source
# File lib/xml/dom/core.rb, line 1373
def to_a
  @nodes
end
to_s() click to toggle source
# File lib/xml/dom/core.rb, line 1355
def to_s
  @nodes.to_s
end