# File lib_wpm/wpm.rb, line 1044
    def make_page
      start_elem = '<'
      start_elem += @prefix + ':' unless @prefix.empty?
      start_elem += @name

      attr_desc = ''
      for attr_ns_uri, attr_prefix, attr_name, attr_value in @attr_map
        attr_desc += ' '
        attr_desc += attr_prefix + ':' unless attr_prefix.empty?
        attr_desc += attr_name
        attr_desc += '="'
        attr_desc += escapeHTML(expand_string_key(attr_value))
        attr_desc += '"'
      end

      end_elem = '</'
      end_elem += @prefix + ':' unless @prefix.empty?
      end_elem += @name + '>'

      ns_map.start_element
      begin
        if (has_children?) then
          yield(start_elem + make_xmlns_desc + attr_desc + '>')
          for component in @child_components
            component.make_page do |page_text|
              yield(page_text)
            end
          end
          yield(end_elem)
        else
          yield(start_elem + make_xmlns_desc + attr_desc + ' />')
        end
      ensure
        ns_map.end_element
      end

      nil
    end