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:
parent
5525d82134
commit
92cecf79b4
3 changed files with 46 additions and 1 deletions
|
@ -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>
|
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.
|
* io.c (argf_next_argv): reset ARGF.next_p on ARGV.replace.
|
||||||
|
|
|
@ -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 )
|
||||||
|
|
38
test/rexml/test_namespace.rb
Normal file
38
test/rexml/test_namespace.rb
Normal 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
|
Loading…
Add table
Add a link
Reference in a new issue