/* This work is licensed under Creative Commons GNU LGPL License. License: http://creativecommons.org/licenses/LGPL/2.1/ Version: 0.9/modified to conform to commonjs modules pattern Author: Stefan Goessner/2006 Web: http://goessner.net/ */ var json2xml = (typeof exports === 'undefined')? {} : exports; // like commonjs (function() { json2xml.convert = function(o) { var toXml = function(v, name, ind) { var xml = ""; if (v instanceof Array) { for (var i=0, n=v.length; i\n" : "/>"; if (hasChild) { for (var m in v) { if (m == "#text") xml += makeSafe(v[m]); else if (m == "#cdata") xml += ""; else if (m.charAt(0) != "@") xml += toXml(v[m], m, ind+"\t"); } xml += (xml.charAt(xml.length-1)=="\n"?ind:"") + "\n"; } } else { // added special-character transform, but this needs to be better handled [micmath] xml += ind + "<" + name + ">" + makeSafe(v.toString()) + "\n"; } return xml; }, xml=""; for (var m in o) { xml += toXml(o[m], m, ""); } return xml; } function lines(str) { // normalise line endings, all in file will be unixy str = str.replace(/\r\n/g, '\n'); return str; } function makeSafe(str) { // xml special charaters str = str.replace(/