Issue #9367 has been updated by bearmini (Takashi Oguma).


A direct reason is that my customer wants to have double quotes in the xml declaration because their handcrafted 'xml lint' tool complains the xml document produced by my ruby script contains single quotes. (Their convention requires all quoting characters should be double quotes.)

More generally, I think it is natural if we have control which quoting character will be used for the xml declaration too. 


----------------------------------------
Bug #9367: REXML::XmlDecl doesn't use user specified quotes
https://bugs.ruby-lang.org/issues/9367#change-44141

Author: bearmini (Takashi Oguma)
Status: Feedback
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN


=begin
REXML uses double quotes for quoting attributes if :attribute_quote is specified as document's context like below:

 doc = REXML::Document.new
 doc.context[:attribute_quote] = :quote

This looks working well on all elements but has no effect for xml declaration (i.e. <?xml version= ... ?>) if it exists.

Even if I specify (({doc.context[:attribute_quote] = :quote})), I will get this:

 <?xml version='1.0' encoding='UTF-8' standalone='true'?>
 <root attr1="value1">
   <child attr2="value2"/>
   <child attr3="value3"/>
 </root>

The expected result is:

 <?xml version="1.0" encoding="UTF-8" standalone="true"?>
 <root attr1="value1">
   <child attr2="value2"/>
   <child attr3="value3"/>
 </root>

=end


-- 
http://bugs.ruby-lang.org/