NeTEx has become a widely used format for public transit data in Europe. It’s great that we now have a common format for timetables (and more) with legislative backing, but NeTEx is a giant web of UML and XML that seems impossible to use at first glance. The official documentation being a set of paid and very verbose standards doesn’t help matters.
Thankfully, in practice things are somewhat simpler. You probably don’t need to care about all of NeTEx, with its unreasonable flexibility, since (hopefully) all the data that’s available conforms to the “European Passenger Information Profile” (EPIP), a much more reasonable subset of NeTEx. It still covers a breadth of information, but the original spec has been cut down and made more rigid, so you stand a chance of creating software that will process any compliant document.
EPIP is still a paid standard, so you’ll probably want to use some unofficial documentation instead. There’s an XML Schema Definition (XSD) available, along with some other XSDs and their 2D renderings. There’s also the semi-official NeTEx explainers.
I have my own addition to this collection of NeTEx documentation: A text-oriented view of the standard generated from the above XSDs by
xsd_by_example. They provide a view of the data that you can expect when parsing NeTEx.
The tool is new and while it has been tested, it is surely not bug-free. If you find any problems, you can file an issue.