    /*
     * call-seq:
     *  native_parse_file(data, encoding)
     *
     * Parse +data+ with +encoding+
     */
    static VALUE native_parse_file(VALUE self, VALUE data, VALUE encoding)
    {
      xmlSAXHandlerPtr handler;
      htmlDocPtr hdoc ;
      Data_Get_Struct(self, xmlSAXHandler, handler);
      hdoc = htmlSAXParseFile( StringValuePtr(data),
                               (const char *)StringValuePtr(encoding),
                               (htmlSAXHandlerPtr)handler,
                               (void *)self );
      xmlFreeDoc(hdoc);
      return data;
    }