Jekyll plugins run each time you run jekyll build
or jekyll serve
…
What you actually need is an isolated script that runs only when you tell it to run.
The script should in essence download and parse your XML file and store the resulting data as JSON (or either YAML / CSV / TSV) in your site’s _data
folder.
Jekyll then generates the HTML markup based on your Liquid templates within _layouts
and / or _includes