diff --git a/plugins/sortAttrs.js b/plugins/sortAttrs.js
index 221a4bf5..cba5c1de 100644
--- a/plugins/sortAttrs.js
+++ b/plugins/sortAttrs.js
@@ -30,7 +30,8 @@ exports.fn = function(item, params) {
var attrs = [],
sorted = {},
- orderlen = params.order.length + 1;
+ orderlen = params.order.length + 1,
+ xmlnsOrder = params.xmlnsOrder || 'front';
if (item.elem) {
@@ -41,10 +42,12 @@ exports.fn = function(item, params) {
attrs.sort(function(a, b) {
if (a.prefix != b.prefix) {
// xmlns attributes implicitly have the prefix xmlns
- if (a.prefix == 'xmlns')
- return -1;
- if (b.prefix == 'xmlns')
- return 1;
+ if (xmlnsOrder == 'front') {
+ if (a.prefix == 'xmlns')
+ return -1;
+ if (b.prefix == 'xmlns')
+ return 1;
+ }
return a.prefix < b.prefix ? -1 : 1;
}
diff --git a/test/plugins/sortAttrs.02.svg b/test/plugins/sortAttrs.02.svg
new file mode 100644
index 00000000..32375514
--- /dev/null
+++ b/test/plugins/sortAttrs.02.svg
@@ -0,0 +1,15 @@
+
+
+@@@
+
+
+
+@@@
+
+{ "xmlnsOrder": "alphabetical" }