/** * This class creates GraphML xml. * */ function GraphMLCreator(nodes, arcs, ignoreNodes = {}) { this.nodes = nodes; this.arcs = arcs; this.ignoreNodes = ignoreNodes; } GraphMLCreator.prototype.GetXMLString = function() { var mainHeader = ""; var directedHeader = ""; var undirectedHeader = ""; var defaultWeight = 1.0; var weightKeyId = "\"d0\""; var weightNode = "" + "" + defaultWeight + "" + ""; var xmlBody = ""; for (var i = 0; i < this.nodes.length; i++) { if (!this.ignoreNodes.hasOwnProperty(this.nodes[i].id)) xmlBody = xmlBody + ""; } var hasDirected = false; for (var i = 0; i < this.arcs.length; i++) { if (this.arcs[i].isDirect) { hasDirected = true; break; } } for (var i = 0; i < this.arcs.length; i++) { var weightData = ""; var arc = this.arcs[i]; if (this.arcs[i].weight != defaultWeight) { weightData = "" + arc.weight + ""; } xmlBody = xmlBody + "" + weightData + "" : "/>") } xml = mainHeader + weightNode + (hasDirected ? directedHeader : undirectedHeader) + xmlBody + "" return xml; }