    /*
     * call-seq:
     *   lang
     *
     * Get the xml:lang scope within which the node resides.
     */
    static VALUE lang(VALUE self)
    {
      xmlTextReaderPtr reader;
      Data_Get_Struct(self, xmlTextReader, reader);
      const char * lang = (const char *)xmlTextReaderConstXmlLang(reader);
      if(lang == NULL) return Qnil;

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