code: def as_field_error(node, secid):
          
          assert node.Name == 'fieldExceptions'
          if node.IsArray:
              return [XmlHelper.as_field_error(node.GetValue(_), secid) for _ in range(node.NumValues)]
          else:
              fld = XmlHelper.get_child_value(node, 'fieldId')
              info = node.GetElement('errorInfo')
              src = XmlHelper.get_child_value(info, 'source')
              code = XmlHelper.get_child_value(info, 'code')
              cat = XmlHelper.get_child_value(info, 'category')
              msg = XmlHelper.get_child_value(info, 'message')
              subcat = XmlHelper.get_child_value(info, 'subcategory')
              return FieldError(security=secid, field=fld, source=src, code=code, category=cat, message=msg,
                                subcategory=subcat)
docs: convert a fieldExceptions element to a FieldError or FieldError array