%PDF- %PDF-
Direktori : /home/opti/workflow/node_modules/xmlbuilder/lib/ |
Current File : /home/opti/workflow/node_modules/xmlbuilder/lib/XMLBuilder.js |
// Generated by CoffeeScript 1.3.3 (function() { var XMLBuilder, XMLFragment; XMLFragment = require('./XMLFragment'); XMLBuilder = (function() { function XMLBuilder(name, xmldec, doctype) { var att, child, _ref; this.children = []; this.rootObject = null; if (this.is(name, 'Object')) { _ref = [name, xmldec], xmldec = _ref[0], doctype = _ref[1]; name = null; } if (name != null) { name = '' + name || ''; if (xmldec == null) { xmldec = { 'version': '1.0' }; } } if ((xmldec != null) && !(xmldec.version != null)) { throw new Error("Version number is required"); } if (xmldec != null) { xmldec.version = '' + xmldec.version || ''; if (!xmldec.version.match(/1\.[0-9]+/)) { throw new Error("Invalid version number: " + xmldec.version); } att = { version: xmldec.version }; if (xmldec.encoding != null) { xmldec.encoding = '' + xmldec.encoding || ''; if (!xmldec.encoding.match(/[A-Za-z](?:[A-Za-z0-9._-]|-)*/)) { throw new Error("Invalid encoding: " + xmldec.encoding); } att.encoding = xmldec.encoding; } if (xmldec.standalone != null) { att.standalone = xmldec.standalone ? "yes" : "no"; } child = new XMLFragment(this, '?xml', att); this.children.push(child); } if (doctype != null) { att = {}; if (name != null) { att.name = name; } if (doctype.ext != null) { doctype.ext = '' + doctype.ext || ''; att.ext = doctype.ext; } child = new XMLFragment(this, '!DOCTYPE', att); this.children.push(child); } if (name != null) { this.begin(name); } } XMLBuilder.prototype.begin = function(name, xmldec, doctype) { var doc, root; if (!(name != null)) { throw new Error("Root element needs a name"); } if (this.rootObject) { this.children = []; this.rootObject = null; } if (xmldec != null) { doc = new XMLBuilder(name, xmldec, doctype); return doc.root(); } name = '' + name || ''; root = new XMLFragment(this, name, {}); root.isRoot = true; root.documentObject = this; this.children.push(root); this.rootObject = root; return root; }; XMLBuilder.prototype.root = function() { return this.rootObject; }; XMLBuilder.prototype.end = function(options) { return toString(options); }; XMLBuilder.prototype.toString = function(options) { var child, r, _i, _len, _ref; r = ''; _ref = this.children; for (_i = 0, _len = _ref.length; _i < _len; _i++) { child = _ref[_i]; r += child.toString(options); } return r; }; XMLBuilder.prototype.is = function(obj, type) { var clas; clas = Object.prototype.toString.call(obj).slice(8, -1); return (obj != null) && clas === type; }; return XMLBuilder; })(); module.exports = XMLBuilder; }).call(this);