mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
parent
84c3742466
commit
9b36f0a787
1 changed files with 12 additions and 10 deletions
|
|
@ -1132,16 +1132,18 @@ module REXML
|
|||
old_attr[value.prefix] = value
|
||||
elsif old_attr.prefix != value.prefix
|
||||
# Check for conflicting namespaces
|
||||
raise ParseException.new(
|
||||
"Namespace conflict in adding attribute \"#{value.name}\": "+
|
||||
"Prefix \"#{old_attr.prefix}\" = "+
|
||||
"\"#{@element.namespace(old_attr.prefix)}\" and prefix "+
|
||||
"\"#{value.prefix}\" = \"#{@element.namespace(value.prefix)}\"") if
|
||||
value.prefix != "xmlns" and old_attr.prefix != "xmlns" and
|
||||
@element.namespace( old_attr.prefix ) ==
|
||||
@element.namespace( value.prefix )
|
||||
store value.name, { old_attr.prefix => old_attr,
|
||||
value.prefix => value }
|
||||
if value.prefix != "xmlns" and old_attr.prefix != "xmlns"
|
||||
old_namespace = @element.namespace(old_attr.prefix)
|
||||
new_namespace = @element.namespace(value.prefix)
|
||||
if old_namespace == new_namespace
|
||||
raise ParseException.new(
|
||||
"Namespace conflict in adding attribute \"#{value.name}\": "+
|
||||
"Prefix \"#{old_attr.prefix}\" = \"#{old_namespace}\" and "+
|
||||
"prefix \"#{value.prefix}\" = \"#{new_namespace}\"")
|
||||
end
|
||||
end
|
||||
store value.name, {old_attr.prefix => old_attr,
|
||||
value.prefix => value}
|
||||
else
|
||||
store value.name, value
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue