def parse_figure_caption(article):
    """
    Parse list of figures/tables from a given BeautifulSoup of an article
    """
    figures_list = []
    figures = article.find_all('figure')
    for figure in figures:
        figure_type = figure.attrs.get('type') or ''
        figure_id = figure.attrs['xml:id'] or ''
        label = figure.find('label').text
        if figure_type == 'table':
            caption = figure.find('figdesc').text
            data = figure.table.text
        else:
            caption = figure.text
            data = ''
        figures_list.append({
            'figure_label': label,
            'figure_type': figure_type,
            'figure_id': figure_id,
            'figure_caption': caption,
            'figure_data': data
        })
    return figures_list