def each_node( context )
if list = @values[:list] then
if Hash === list then
list.each_with_index do |item, index|
set_value(:key, item[0])
set_value(:item, item[1])
set_value(:index, index) if @values[:index]
@node.reset
delegate_phase(context, item, index) do
yield @node
end
end
else
index = 0
list.each do |item|
set_value(:item, item)
set_value(:index, index) if @values[:index]
@node.reset
delegate_phase(context, item, index) do
yield @node
end
index += 1
end
end
elsif @values[:count] then
@values[:count].times do |index|
set_value(:index, index) if @values[:index]
@node.reset
delegate_phase(context, nil, index) do
yield @node
end
end
end
end