# File lib/edi4r/rexml.rb, line 182
    def to_xml( xel_parent )
      xel_msg = REXML::Element.new( 'Message' ) 
      xel_parent.elements << xel_msg

      # Default parent is XML message element itself
      #
      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