/*
 * call-seq:
 *   outer_xml
 *
 * Read the current node and its contents, including child nodes and markup.
 */
static VALUE outer_xml(VALUE self)
{
  xmlTextReaderPtr reader;
  Data_Get_Struct(self, xmlTextReader, reader);

  const char * value = (const char *)xmlTextReaderReadOuterXml(reader);

  if(value == NULL)
    return Qnil;
  else
    return NOKOGIRI_STR_NEW2(value);
}