/*
 * call-seq:
 *  required_attributes
 *
 * A list of required attributes for this element
 */
static VALUE required_attributes(VALUE self)
{
  htmlElemDesc * description;
  Data_Get_Struct(self, htmlElemDesc, description);

  VALUE list = rb_ary_new();

  if(NULL == description->attrs_req) return list;

  int i = 0;
  while(description->attrs_req[i]) {
    rb_ary_push(list, NOKOGIRI_STR_NEW2(description->attrs_req[i]));
    i++;
  }

  return list;
}