Issue #9277 has been updated by duerst (Martin Dürst).

Status changed from Assigned to Rejected
Assignee deleted (kou (Kouhei Sutou))

mame (Yusuke Endoh) wrote:
> As I recall correctly, the XML spec does not allow "--" in a comment.

Yes indeed. See http://www.w3.org/TR/xml/#sec-comments:

"For compatibility, the string " -- " (double-hyphen) MUST NOT occur within comments."


As for the phrase "for compatibility", this is what the spec says (http://www.w3.org/TR/xml/#dt-compat):
"for compatibility  [Definition: Marks a sentence describing a feature of XML included solely to ensure that XML remains compatible with SGML.]"

So I have rejected this bug.
----------------------------------------
Bug #9277: REXML fails to parse comments with multiple dashes ('-') in them
https://bugs.ruby-lang.org/issues/9277#change-43826

Author: bhollis (Ben Hollis)
Status: Rejected
Priority: Normal
Assignee: 
Category: lib
Target version: 
ruby -v: ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.3.0]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN


=begin
REXML cannot handle multiple dashes in a comment:

 require 'rexml/document'
 REXML::Document.new('<html><!-- -- --></html>')
=end

=begin
 REXML::ParseException: #<REXML::ParseException: Malformed comment
 Line: 1
 Position: 24
 Last 80 unconsumed characters:
 >
 /Users/foo/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rexml/parsers/baseparser.rb:351:in `pull_event'
 /Users/foo/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rexml/parsers/baseparser.rb:183:in `pull'
 /Users/foo/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rexml/parsers/treeparser.rb:22:in `parse'
 /Users/foo/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rexml/document.rb:283:in `build'
 /Users/foo/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rexml/document.rb:43:in `initialize'
 <extra stack trace ommitted>
 ...
 Malformed comment
 Line: 1
 Position: 24
 Last 80 unconsumed characters:
 
 Line: 1
 Position: 24
 Last 80 unconsumed characters:
 
 	from /Users/foo/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rexml/parsers/treeparser.rb:95:in `rescue in parse'  
 	from /Users/foo/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rexml/parsers/treeparser.rb:20:in `parse' 
 	from /Users/foo/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rexml/document.rb:283:in `build'
 	from /Users/foo/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/rexml/document.rb:43:in `initialize'
        <extra stack trace ommitted>

=end


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