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