Skip to content

Commit 2384586

Browse files
committed
Format
1 parent 9e7dd4c commit 2384586

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

lib/rexml/element.rb

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1132,16 +1132,18 @@ def []=( name, value )
11321132
old_attr[value.prefix] = value
11331133
elsif old_attr.prefix != value.prefix
11341134
# Check for conflicting namespaces
1135-
raise ParseException.new(
1136-
"Namespace conflict in adding attribute \"#{value.name}\": "+
1137-
"Prefix \"#{old_attr.prefix}\" = "+
1138-
"\"#{@element.namespace(old_attr.prefix)}\" and prefix "+
1139-
"\"#{value.prefix}\" = \"#{@element.namespace(value.prefix)}\"") if
1140-
value.prefix != "xmlns" and old_attr.prefix != "xmlns" and
1141-
@element.namespace( old_attr.prefix ) ==
1142-
@element.namespace( value.prefix )
1143-
store value.name, { old_attr.prefix => old_attr,
1144-
value.prefix => value }
1135+
if value.prefix != "xmlns" and old_attr.prefix != "xmlns"
1136+
old_namespace = @element.namespace(old_attr.prefix)
1137+
new_namespace = @element.namespace(value.prefix)
1138+
if old_namespace == new_namespace
1139+
raise ParseException.new(
1140+
"Namespace conflict in adding attribute \"#{value.name}\": "+
1141+
"Prefix \"#{old_attr.prefix}\" = \"#{old_namespace}\" and "+
1142+
"prefix \"#{value.prefix}\" = \"#{new_namespace}\"")
1143+
end
1144+
end
1145+
store value.name, {old_attr.prefix => old_attr,
1146+
value.prefix => value}
11451147
else
11461148
store value.name, value
11471149
end

0 commit comments

Comments
 (0)