1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/rexml/parsers/baseparser.rb, test/rexml/test_namespace.rb:

fix the default xml namespace URI validation.
  Reported by Miho Hiramatsu. Thanks!!!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
kou 2012-02-02 12:42:27 +00:00
parent 5525d82134
commit 92cecf79b4
3 changed files with 46 additions and 1 deletions

View file

@ -1,3 +1,10 @@
Thu Feb 2 21:38:52 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!!!
Thu Feb 2 17:51:02 2012 NARUSE, Yui <naruse@ruby-lang.org>
* io.c (argf_next_argv): reset ARGF.next_p on ARGV.replace.

View file

@ -376,7 +376,7 @@ module REXML
attrs.each { |a,b,c,d,e|
if b == "xmlns"
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 "+
"(http://www.w3.org/TR/REC-xml-names/#ns-decl)"
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