The 2023-1 serialization code is mostly the same as the 3.0 code. This PR does not address any potential issues in it. It only makes it compatible with 2023-1.
A significant source of annoyance is that IWXXM 2023-1 depends on the full AIXM 5.1.1 schema and 3.0 and 2.1.1 depend on the AIXM 5.1.1 WX schema. Both of these schemas use the same namespace for historical reasons. For more information, see: https://github.com/wmo-im/iwxxm/issues/277
Having two classes have the same XML type name does not work in the same JAXBContext. This necessitates splitting the JAXBContext into two where one of the contexts supports IWXXM 3.0 and older versions and the other IWXXM 2023-1. In this PR there's a fair amount of changes just to address this change and also duplicated code where the only difference is which package the classes are coming from. I created a followup issue to investigate whether there is a better solution to this: https://github.com/fmidev/fmi-avi-messageconverter-iwxxm/issues/123
All of the airmet/sigmet 3.0 serialization tests have been copied for 2023-1. There are no changes to the json source files for any of these tests.
Some actual differences between 3.0 and 2023-1 sigmets/airmets:
This PR adds IWXXM 2023-1 serialization support for AIRMETs and SIGMETs.
Some actual differences between 3.0 and 2023-1 sigmets/airmets: