Meaningful organizationalUnits elements for sub-schemas
It is already good, to support all organizationalUnits in the root railml/metadata element.
It would be better, to only provide meaningful organizationalUnits child elements for the sub-schema/metadata element. The "meaningful" organizationalUnits may be identified by all optional references within the sub-schemas. Currently, all child elements are possible.
<railml>
<metadata>
<organizationalUnits>
<infrastructureManager.../>
<vehicleManufacturer.../>
<vehicleOperator.../>
<customer.../>
<railwayUndertaking.../>
<operationalUndertaking.../>
<concessionaire.../>
<contractor.../>
</organizationalUnits>
</metadata>
<infrastructure>
<metadata>
<organizationalUnits>
<infrastructureManager.../>
<contractor.../>
</organizationalUnits>
</metadata>
...
</infrastructure>
<rollingstock>
<metadata>
<organizationalUnits>
<vehicleManufacturer.../>
<vehicleOperator.../>
<contractor.../>
</organizationalUnits>
</metadata>
...
</rollingstock>
<timetable>
<metadata>
<organizationalUnits>
<vehicleOperator.../>
<customer.../>
<railwayUndertaking.../>
<operationalUndertaking.../>
<concessionaire.../>
<contractor.../>
</organizationalUnits>
</metadata>
...
</timetable>
</railml>