// Generated by CoffeeScript 1.6.3
(function() {
  var XMLBuilder, _;

  _ = require('lodash-node');

  XMLBuilder = require('./XMLBuilder');

  module.exports.create = function(name, xmldec, doctype, options) {
    options = _.extend({}, xmldec, doctype, options);
    return new XMLBuilder(name, options).root();
  };

}).call(this);
