Zabbix version 4.4 export introduced constants and arrays. But the validation is done incorrectly.
Let's say we have 4.2 XML file with strings:
Importing to 4.2 here's what happens:
4.2 XML goes through the 4.2 validator validates them as strings. Then it moves to 4.4 convertor. The 4.4 convertor changes the version from 4.2 to 4.4 and changes the stings to arrays. The same as if we would have 4.4 XML. For example:
Here's the problem. The 4.4 validator accepts and validates strings XML_STRING, but in order to validate this array, there is a preprocessor called tlsAcceptConstantPreprocessor(). It changes the array to string. And that is wrong. This also creates problems for the future convertors and validators. See attached image for reference. The 4.4 validator should accept arrays as input.
Host parameters like tls_accept is just one example. There are possibly more like this. Please check all XML validator preprocessors and parameters and make sure they accept the correct format.