Sha256: 8ebae9620502cbb63af2d7a4e11157bfde61e192c4485242072c10cd17b220f4

Contents?: true

Size: 1.99 KB

Versions: 37

Compression:

Stored size: 1.99 KB

Contents

// Generated by CoffeeScript 1.9.1
(function() {
  var XMLBuilder, XMLDeclaration, XMLDocType, XMLElement, XMLStringifier;

  XMLStringifier = require('./XMLStringifier');

  XMLDeclaration = require('./XMLDeclaration');

  XMLDocType = require('./XMLDocType');

  XMLElement = require('./XMLElement');

  module.exports = XMLBuilder = (function() {
    function XMLBuilder(name, options) {
      var root, temp;
      if (name == null) {
        throw new Error("Root element needs a name");
      }
      if (options == null) {
        options = {};
      }
      this.options = options;
      this.stringify = new XMLStringifier(options);
      temp = new XMLElement(this, 'doc');
      root = temp.element(name);
      root.isRoot = true;
      root.documentObject = this;
      this.rootObject = root;
      if (!options.headless) {
        root.declaration(options);
        if ((options.pubID != null) || (options.sysID != null)) {
          root.doctype(options);
        }
      }
    }

    XMLBuilder.prototype.root = function() {
      return this.rootObject;
    };

    XMLBuilder.prototype.end = function(options) {
      return this.toString(options);
    };

    XMLBuilder.prototype.toString = function(options) {
      var indent, newline, offset, pretty, r, ref, ref1, ref2;
      pretty = (options != null ? options.pretty : void 0) || false;
      indent = (ref = options != null ? options.indent : void 0) != null ? ref : '  ';
      offset = (ref1 = options != null ? options.offset : void 0) != null ? ref1 : 0;
      newline = (ref2 = options != null ? options.newline : void 0) != null ? ref2 : '\n';
      r = '';
      if (this.xmldec != null) {
        r += this.xmldec.toString(options);
      }
      if (this.doctype != null) {
        r += this.doctype.toString(options);
      }
      r += this.rootObject.toString(options);
      if (pretty && r.slice(-newline.length) === newline) {
        r = r.slice(0, -newline.length);
      }
      return r;
    };

    return XMLBuilder;

  })();

}).call(this);

Version data entries

37 entries across 37 versions & 2 rubygems

Version Path
sumomo-0.10.8 data/sumomo/api_modules/node_modules/xmlbuilder/lib/XMLBuilder.js
sumomo-0.10.4 data/sumomo/api_modules/node_modules/xmlbuilder/lib/XMLBuilder.js
sumomo-0.10.3 data/sumomo/api_modules/node_modules/xmlbuilder/lib/XMLBuilder.js
sumomo-0.10.2 data/sumomo/api_modules/node_modules/xmlbuilder/lib/XMLBuilder.js
sumomo-0.10.1 data/sumomo/api_modules/node_modules/xmlbuilder/lib/XMLBuilder.js
sumomo-0.10.0 data/sumomo/api_modules/node_modules/xmlbuilder/lib/XMLBuilder.js
sumomo-0.9.0 data/sumomo/api_modules/node_modules/xmlbuilder/lib/XMLBuilder.js
sumomo-0.8.22 data/sumomo/api_modules/node_modules/xmlbuilder/lib/XMLBuilder.js
sumomo-0.8.21 data/sumomo/api_modules/node_modules/xmlbuilder/lib/XMLBuilder.js
sumomo-0.8.20 data/sumomo/api_modules/node_modules/xmlbuilder/lib/XMLBuilder.js
sumomo-0.8.17 data/sumomo/api_modules/node_modules/xmlbuilder/lib/XMLBuilder.js
sumomo-0.8.16 data/sumomo/api_modules/node_modules/xmlbuilder/lib/XMLBuilder.js
sumomo-0.8.15 data/sumomo/api_modules/node_modules/xmlbuilder/lib/XMLBuilder.js
sumomo-0.8.14 data/sumomo/api_modules/node_modules/xmlbuilder/lib/XMLBuilder.js
sumomo-0.8.13 data/sumomo/api_modules/node_modules/xmlbuilder/lib/XMLBuilder.js
sumomo-0.8.12 data/sumomo/api_modules/node_modules/xmlbuilder/lib/XMLBuilder.js
sumomo-0.8.11 data/sumomo/api_modules/node_modules/xmlbuilder/lib/XMLBuilder.js
sumomo-0.8.10 data/sumomo/api_modules/node_modules/xmlbuilder/lib/XMLBuilder.js
sumomo-0.8.9 data/sumomo/api_modules/node_modules/xmlbuilder/lib/XMLBuilder.js
sumomo-0.8.8 data/sumomo/api_modules/node_modules/xmlbuilder/lib/XMLBuilder.js