    /*
     * call-seq:
     *  new(version = default)
     *
     * Create a new document with +version+ (defaults to "1.0")
     */
    static VALUE new(int argc, VALUE *argv, VALUE klass)
    {
      xmlDocPtr doc;
      VALUE version, rest, rb_doc ;

      rb_scan_args(argc, argv, "0*", &rest);
      version = rb_ary_entry(rest, (long)0);
      if (NIL_P(version)) version = rb_str_new2("1.0");

      doc = xmlNewDoc((xmlChar *)StringValuePtr(version));
      rb_doc = Nokogiri_wrap_xml_document(klass, doc);
      rb_obj_call_init(rb_doc, argc, argv);
      return rb_doc ;
    }