// Generated by CoffeeScript 1.10.0 (function() { var XMLDocument, XMLNode, XMLStringWriter, XMLStringifier, isPlainObject, extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, hasProp = {}.hasOwnProperty; isPlainObject = require('./Utility').isPlainObject; XMLNode = require('./XMLNode'); XMLStringifier = require('./XMLStringifier'); XMLStringWriter = require('./XMLStringWriter'); module.exports = XMLDocument = (function(superClass) { extend(XMLDocument, superClass); function XMLDocument(options) { XMLDocument.__super__.constructor.call(this, null); options || (options = {}); if (!options.writer) { options.writer = new XMLStringWriter(); } this.options = options; this.stringify = new XMLStringifier(options); this.isDocument = true; } XMLDocument.prototype.end = function(writer) { var writerOptions; if (!writer) { writer = this.options.writer; } else if (isPlainObject(writer)) { writerOptions = writer; writer = this.options.writer.set(writerOptions); } return writer.document(this); }; XMLDocument.prototype.toString = function(options) { return this.options.writer.set(options).document(this); }; return XMLDocument; })(XMLNode); }).call(this);