code: def on_security_data_node(self, node):
          
          sid = XmlHelper.get_child_value(node, 'security')
          farr = node.getElement('fieldData')
          dmap = defaultdict(list)
          for i in range(farr.numValues()):
              pt = farr.getValue(i)
              [dmap[f].append(XmlHelper.get_child_value(pt, f, allow_missing=1)) for f in ['date'] + self.fields]
  
          if not dmap:
              frame = pd.DataFrame(columns=self.fields)
          else:
              idx = dmap.pop('date')
              frame = pd.DataFrame(dmap, columns=self.fields, index=idx)
              frame.index.name = 'date'
          self.response.on_security_complete(sid, frame)
docs: process a securityData node - FIXME: currently not handling relateDate node