24: def self.extended_row(dbrow, rowtag="row", cols_in_row_tag=[], cols_as_tag=nil, add_row_tag_attrs={}, output=STDOUT)
25: if cols_as_tag.nil?
26: cols_as_tag = dbrow.column_names - cols_in_row_tag
27: end
28:
29: output << "<#{rowtag}"
30: add_row_tag_attrs.each do |key, val|
31:
32: output << %{ #{key}="#{textconv(val)}"}
33: end
34: cols_in_row_tag.each do |key|
35:
36: output << %{ #{key}="#{dbrow[key]}"}
37: end
38: output << ">\n"
39:
40: cols_as_tag.each do |key|
41: output << " <#{key}>" + textconv(dbrow[key]) + "</#{key}>\n"
42: end
43: output << "</#{rowtag}>\n"
44: end