def create_array_element_definition(typedef, mpath)
child_type = typedef.child_type
child_element = typedef.find_aryelement
if child_type == XSD::AnyTypeName
type = nil
elsif child_element
if klass = element_basetype(child_element)
type = klass.name
else
typename = child_element.type || child_element.name
type = mapped_class_name(typename, mpath)
end
elsif child_type
type = mapped_class_name(child_type, mpath)
else
type = nil
end
occurrence = [0, nil]
if child_element and child_element.name
if child_element.map_as_array?
type << '[]' if type
occurrence = [child_element.minoccurs, child_element.maxoccurs]
end
child_element_name = child_element.name
else
child_element_name = DEFAULT_ITEM_NAME
end
[child_element_name.name, child_element_name, type, occurrence]
end