'Error generating code from FixML 5.0 SP2

I'm using the Fix standard as the source (file fixml-main-5-0-SP2.xsd).

I get the following error when trying to generate C# code using Liquid XML Data Binder:

"The namespace 'http://www.fixprotocol.org/FIXML-5-0-SP2/METADATA'
provided differs from the schema's targetNamespace
'http://www.fixprotocol.org/FIXML-5-0-SP2'."

What is wrong?



Solution 1:[1]

The FixML standard appears to contain a small error.

All the schemas contain the attribute xsi:schemaLocation="http://www.fixprotocol.org/FIXML-5-0-SP2/METADATA fixml-metadata-5-0-SP2.xsd"

However the document "fixml-metadata-5-0-SP2.xsd" has a targetnamespace of "http://www.fixprotocol.org/FIXML-5-0-SP2" not "http://www.fixprotocol.org/FIXML-5-0-SP2/METADATA" as stated in the schemaLocation.

Changing the targetnamespace in the file "fixml-metadata-5-0-SP2.xsd" to "http://www.fixprotocol.org/FIXML-5-0-SP2/METADATA" resolves the issue.

If you are in contact with the FixML team I would suggest you notify them of the change required.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Sprotty