    /*
     * call-seq:
     *   inner_xml
     *
     * Read the contents of the current node, including child nodes and markup.
     * Returns a utf-8 encoded string.
     */
    static VALUE inner_xml(VALUE self)
    {
      xmlTextReaderPtr reader;
      xmlChar* value;
      VALUE str;

      Data_Get_Struct(self, xmlTextReader, reader);

      value = xmlTextReaderReadInnerXml(reader);

      str = Qnil;
      if(value) {
        str = NOKOGIRI_STR_NEW2((char*)value);
        xmlFree(value);
      }

      return str;
    }