class Slaw::Grammars::ZA::Act::Blocklist

Public Instance Methods

to_xml(b, idprefix, i=0) { |b| ... } click to toggle source

Render a block list to xml. If a block is given, yield to it a builder to insert a listIntroduction node

# File lib/slaw/grammars/za/act_nodes.rb, line 344
def to_xml(b, idprefix, i=0, &block)
  cnt = Slaw::Grammars::Counters.counters[idprefix]['list'] += 1
  id = idprefix + "list_#{cnt}"
  idprefix = id + '__'

  b.blockList(eId: id, renest: true) { |b|
    b.listIntroduction { |b| yield b } if block_given?

    elements.each { |e| e.to_xml(b, idprefix) }
  }
end