def to_xml( xel_parent )
xel_msg = REXML::Element.new( 'Message' )
xel_parent.elements << xel_msg
xel_parent_stack = Hash.new(xel_msg)
xhd = to_xml_header( xel_msg )
each do |seg|
next if seg.empty?
if seg.is_tnode?
xgrp = REXML::Element.new( 'SegmentGroup' )
xgrp.attributes["name"] = seg.sg_name
xel_parent_stack[seg.level - 1] << xgrp
seg.to_xml( xgrp )
xel_parent_stack[seg.level] = xgrp
else
seg.to_xml( xel_parent_stack[seg.level - 1] )
end
end
xtr = to_xml_trailer( xel_msg )
[xel_msg, xhd, xtr]
end