Project

General

Profile

Actions

Bug #10864

closed

REXML adds white space to text property when indent > -1

Bug #10864: REXML adds white space to text property when indent > -1

Added by amclain (Alex McLain) over 10 years ago. Updated over 7 years ago.

Status:
Rejected
Target version:
-
ruby -v:
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux]
[ruby-core:68161]

Description

The following example shows that REXML is adding white space to the text property of elements when setting the :indent option on Document#write greater than -1. The value written should be the same value read.

require 'rexml/document' xml_string = '' REXML::Document.new(xml_string).tap do |doc| doc.add_element('root').tap do |root| write_text = 'bar' puts "Write Text: #{write_text.inspect}" root.add_element('foo').text = write_text end doc.write output: xml_string, indent: 4 end REXML::Document.new(xml_string).tap do |doc| read_text = doc.elements['/root/foo'].first puts "Read Text: #{read_text.inspect}" end puts "XML String:" puts xml_string 
Write Text: "bar" Read Text: "\n bar\n " XML String: <root> <foo> bar </foo> </root> 

Updated by hsbt (Hiroshi SHIBATA) over 7 years ago Actions #1 [ruby-core:85632]

  • Status changed from Open to Assigned
  • Assignee set to kou (Kouhei Sutou)

Updated by kou (Kouhei Sutou) over 7 years ago Actions #2 [ruby-core:85802]

  • Status changed from Assigned to Rejected

If you don't want to add extra spaces with indent, use transitive: true option:

require 'rexml/document' xml_string = '' REXML::Document.new(xml_string).tap do |doc| doc.add_element('root').tap do |root| write_text = 'bar' puts "Write Text: #{write_text.inspect}" root.add_element('foo').text = write_text end doc.write output: xml_string, indent: 4, transitive: true end REXML::Document.new(xml_string).tap do |doc| read_text = doc.elements['/root/foo'].first puts "Read Text: #{read_text.inspect}" end puts "XML String:" puts xml_string 

Output:

Write Text: "bar" Read Text: "bar" XML String: <root ><foo >bar</foo ></root > 
Actions

Also available in: PDF Atom