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 1220
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 1381
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 1401
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 1258
def [](index)
  @nodes[index]
end
[]=(*p) click to toggle source
# File lib/xml/dom/core.rb, line 1267
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 1418
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 1280
def each
  @nodes.each do |value|
    yield(value)
  end
end
item(index) click to toggle source

Methods

# File lib/xml/dom/core.rb, line 1239
def item(index)
  @nodes[index]
end
length()
Alias for: size
pop() click to toggle source
# File lib/xml/dom/core.rb, line 1336
def pop
  @nodes.pop
end
push(*nodes) click to toggle source
# File lib/xml/dom/core.rb, line 1309
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 1363
def reverse
  @nodes.reverse
end
reversible_each(reverse = false) { |value| ... } click to toggle source
# File lib/xml/dom/core.rb, line 1292
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 1345
def shift
  @nodes.shift
end
size() click to toggle source
# File lib/xml/dom/core.rb, line 1248
def size
  @nodes.length
end
Also aliased as: length, length
to_a() click to toggle source
# File lib/xml/dom/core.rb, line 1372
def to_a
  @nodes
end
to_s() click to toggle source
# File lib/xml/dom/core.rb, line 1354
def to_s
  @nodes.to_s
end