Based on the answers below I decided to do some programming. I'll be using GEOtools for this, a java lib: http://www.geotools.org/
I have the following XML:
<shapes xmlns="http://www.meteogroup-maritime.com/spos/GISLayer"
name="Load line zones" transparency="50" onland="false">
<shape id="0" description="SUMMER ZONE" color="#FFFFC90E">
<polygon>
<location lat="35" lon="-180"/>
....
<location lat="-33" lon="-170"/>
<location lat="-47" lon="-180"/>
</polygon>
<label lat="29" lon="-45" text="SUMMER ZONE" />
<label lat="-30" lon="-153" text="SUMMER ZONE" />
</shape>
...
</shapes>
I want to turn this data into a shapefile, preferably by using existing software, although I don't mind scripting.
How can I do this?