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 @@ + + + test + + +@@@ + + + + test + + +@@@ + +{ "xmlnsOrder": "alphabetical" }