merge revision(s) 34419: [Backport #6307]

* lib/rexml/parsers/baseparser.rb, test/rexml/test_namespace.rb:
	  fix the default xml namespace URI validation.
	  [ruby-dev:45169] [Bug #5956]
	  Reported by Miho Hiramatsu. Thanks!!!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@35365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
naruse 2012-04-17 12:36:07 +00:00
parent e1a08e4130
commit 4f0439617e
4 changed files with 47 additions and 2 deletions

View file

@ -1,3 +1,10 @@
Tue Apr 17 21:35:47 2012 Kouhei Sutou <kou@cozmixng.org>
* lib/rexml/parsers/baseparser.rb, test/rexml/test_namespace.rb:
fix the default xml namespace URI validation.
[ruby-dev:45169] [Bug #5956]
Reported by Miho Hiramatsu. Thanks!!!
Mon Apr 17 14:27:22 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> Mon Apr 17 14:27:22 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* dln.c (rb_w32_check_imported): skip ordinal entries. based on a * dln.c (rb_w32_check_imported): skip ordinal entries. based on a

View file

@ -376,7 +376,7 @@ module REXML
attrs.each { |a,b,c,d,e| attrs.each { |a,b,c,d,e|
if b == "xmlns" if b == "xmlns"
if c == "xml" if c == "xml"
if d != "http://www.w3.org/XML/1998/namespace" if e != "http://www.w3.org/XML/1998/namespace"
msg = "The 'xml' prefix must not be bound to any other namespace "+ msg = "The 'xml' prefix must not be bound to any other namespace "+
"(http://www.w3.org/TR/REC-xml-names/#ns-decl)" "(http://www.w3.org/TR/REC-xml-names/#ns-decl)"
raise REXML::ParseException.new( msg, @source, self ) raise REXML::ParseException.new( msg, @source, self )

View file

@ -0,0 +1,38 @@
require "rexml_test_utils"
require "rexml/document"
class TestNamespace < Test::Unit::TestCase
include REXMLTestUtils
include REXML
def setup
@xsa_source = <<-EOL
<?xml version="1.0"?>
<?xsl stylesheet="blah.xsl"?>
<!-- The first line tests the XMLDecl, the second tests PI.
The next line tests DocType. This line tests comments. -->
<!DOCTYPE xsa PUBLIC
"-//LM Garshol//DTD XML Software Autoupdate 1.0//EN//XML"
"http://www.garshol.priv.no/download/xsa/xsa.dtd">
<xsa>
<vendor id="blah">
<name>Lars Marius Garshol</name>
<email>larsga@garshol.priv.no</email>
<url>http://www.stud.ifi.uio.no/~lmariusg/</url>
</vendor>
</xsa>
EOL
end
def test_xml_namespace
xml = <<-XML
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:xml="http://www.w3.org/XML/1998/namespace" />
XML
document = Document.new(xml)
assert_equal("http://www.w3.org/XML/1998/namespace",
document.root.namespace("xml"))
end
end

View file

@ -1,5 +1,5 @@
#define RUBY_VERSION "1.9.3" #define RUBY_VERSION "1.9.3"
#define RUBY_PATCHLEVEL 187 #define RUBY_PATCHLEVEL 188
#define RUBY_RELEASE_DATE "2012-04-17" #define RUBY_RELEASE_DATE "2012-04-17"
#define RUBY_RELEASE_YEAR 2012 #define RUBY_RELEASE_YEAR 2012