FAQ
Question: How can you create C# classes from the NeTEx XSD?
Answer: It is possible to create C# classes in different ways.
There are many tools out there, but for instance, you could use the Microsoft xsd.exe tool or the mganss/XMLSchemaClassGenerator tool available on Github [1]
Currently there are some issues if you try to use the official NeTEx XSD as a starting point with either of these tools.
However, the above mentioned tools work fine if you use them together with another set of XSD-files available from Data4PT. The file set is designed to be compatible with the official NeTEx XSD. A limitation is that does not cover all use cases.
If you wish to try out this reduced XSD, you can download it at https://data4pt.org/NeTEx/GraphicKit/XSD_reduced.zip
The work steps if you are using the Microsoft tool are:
- Get the zipped XSD. Extract the ZIP to a folder.
- Make sure that you have a recent version of the xsd.exe. It is part of the .NET Framework Developer Pack and can be downloaded from https://dotnet.microsoft.com/download/dotnet-framework
- Install the developer pack. The xsd.exe will be placed in a folder with a path similar to C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools
- Open a command prompt in the same folder as where the NeTEx_publication_reduced-NoConstraint.xsd resides.
- Execute the following command (you may have to adapt the path to xsd.exe): "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\xsd.exe" /c /language:C# gml_combo_v3_2_1_simplified.xsd NeTEx_publication_reduced-NoConstraint.xsd
The work steps if you are using the MGANSS tool are:
- Get the zipped XSD. Extract the ZIP to a folder with a path such as C:\tmp\codegen_M.
- Download the binary from https://github.com/mganss/XmlSchemaClassGenerator/releases and expand it to a separate folder.
- Open a command prompt in the same folder as where the NeTEx_publication_reduced-NoConstraint.xsd resides.
- Execute the following command (you may have to adapt the path to the exe): C:\tmp\codegen_M\XmlSchemaClassGenerator.Console.exe NeTEx_publication_reduced-NoConstraint.xsd -n http://www.opengis.net/gml/3.2=gml -v