Skip to content

Commit a6f66e9

Browse files
committed
Fix d3#1935 - the XMLNS namespace is special.
1 parent 9edc7f2 commit a6f66e9

File tree

4 files changed

+8
-14
lines changed

4 files changed

+8
-14
lines changed

d3.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -631,10 +631,7 @@
631631
prefix: d3_nsPrefix,
632632
qualify: function(name) {
633633
var i = name.indexOf(":"), prefix = name;
634-
if (i >= 0) {
635-
prefix = name.slice(0, i);
636-
name = name.slice(i + 1);
637-
}
634+
if (i >= 0 && (prefix = name.slice(0, i)) !== "xmlns") name = name.slice(i + 1);
638635
return d3_nsPrefix.hasOwnProperty(prefix) ? {
639636
space: d3_nsPrefix[prefix],
640637
local: name

d3.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/core/ns.js

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,8 @@ var d3_nsPrefix = {
99
d3.ns = {
1010
prefix: d3_nsPrefix,
1111
qualify: function(name) {
12-
var i = name.indexOf(":"),
13-
prefix = name;
14-
if (i >= 0) {
15-
prefix = name.slice(0, i);
16-
name = name.slice(i + 1);
17-
}
18-
return d3_nsPrefix.hasOwnProperty(prefix)
19-
? {space: d3_nsPrefix[prefix], local: name}
20-
: name;
12+
var i = name.indexOf(":"), prefix = name;
13+
if (i >= 0 && (prefix = name.slice(0, i)) !== "xmlns") name = name.slice(i + 1);
14+
return d3_nsPrefix.hasOwnProperty(prefix) ? {space: d3_nsPrefix[prefix], local: name} : name;
2115
}
2216
};

test/core/ns-test.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ suite.addBatch({
4949
},
5050
"names that collide with built-ins are ignored": function(qualify) {
5151
assert.equal(qualify("hasOwnProperty:test"), "test");
52+
},
53+
"xmlns-prefixed names use the whole name as the local name": function(qualify) {
54+
assert.deepEqual(qualify("xmlns:xlink"), {space: "http://www.w3.org/2000/xmlns/", local: "xmlns:xlink"});
5255
}
5356
}
5457
}

0 commit comments

Comments
 (0)