    /*
     * call-seq:
     *   value
     *
     * Get the text value of the node if present
     */
    static VALUE value(VALUE self)
    {
      xmlTextReaderPtr reader;
      Data_Get_Struct(self, xmlTextReader, reader);
      const char * value = (const char *)xmlTextReaderConstValue(reader);
      if(value == NULL) return Qnil;

      VALUE MAYBE_UNUSED(enc) = rb_iv_get(self, "@encoding");
      return NOKOGIRI_STR_NEW2(value,
          RTEST(enc) ? StringValuePtr(enc) : NULL);
    }