/* * call-seq: * sub_elements * * A list of allowed sub elements for this element. */ static VALUE sub_elements(VALUE self) { htmlElemDesc * description; VALUE list; int i; Data_Get_Struct(self, htmlElemDesc, description); list = rb_ary_new(); if(NULL == description->subelts) return list; for(i = 0; description->subelts[i]; i++) { rb_ary_push(list, NOKOGIRI_STR_NEW2(description->subelts[i])); } return list; }