|                                                                 |  | // Generated by CoffeeScript 1.12.7
(function() {  var NodeType, WriterState, XMLDOMImplementation, XMLDocument, XMLDocumentCB, XMLStreamWriter, XMLStringWriter, assign, isFunction, ref;
  ref = require('./Utility'), assign = ref.assign, isFunction = ref.isFunction;
  XMLDOMImplementation = require('./XMLDOMImplementation');
  XMLDocument = require('./XMLDocument');
  XMLDocumentCB = require('./XMLDocumentCB');
  XMLStringWriter = require('./XMLStringWriter');
  XMLStreamWriter = require('./XMLStreamWriter');
  NodeType = require('./NodeType');
  WriterState = require('./WriterState');
  module.exports.create = function(name, xmldec, doctype, options) {    var doc, root;    if (name == null) {      throw new Error("Root element needs a name.");    }    options = assign({}, xmldec, doctype, options);    doc = new XMLDocument(options);    root = doc.element(name);    if (!options.headless) {      doc.declaration(options);      if ((options.pubID != null) || (options.sysID != null)) {        doc.dtd(options);      }    }    return root;  };
  module.exports.begin = function(options, onData, onEnd) {    var ref1;    if (isFunction(options)) {      ref1 = [options, onData], onData = ref1[0], onEnd = ref1[1];      options = {};    }    if (onData) {      return new XMLDocumentCB(options, onData, onEnd);    } else {      return new XMLDocument(options);    }  };
  module.exports.stringWriter = function(options) {    return new XMLStringWriter(options);  };
  module.exports.streamWriter = function(stream, options) {    return new XMLStreamWriter(stream, options);  };
  module.exports.implementation = new XMLDOMImplementation();
  module.exports.nodeType = NodeType;
  module.exports.writerState = WriterState;
}).call(this);
 |