    /*
     * call-seq:
     *   attribute_nodes
     *
     * Get a list of attributes for this Node
     */
    static VALUE attribute_nodes(VALUE self)
    {
      xmlTextReaderPtr reader;
      xmlNodePtr ptr;
      VALUE attr ;

      Data_Get_Struct(self, xmlTextReader, reader);

      attr = rb_ary_new() ;

      if (! has_attributes(reader))
        return attr ;

      ptr = xmlTextReaderExpand(reader);
      if(ptr == NULL) return Qnil;

      Nokogiri_xml_node_properties(ptr, attr);

      return attr ;
    }