<TrainList>
<TrainList> == <Train> || ( <Trains> )
<Trains> == <Train> || <Trains> ; <Train>
Eine <TrainList> ist entweder ein einzelner Zug (und hat in diesem Falle die exakte Syntax des <Train> - Elements), oder mehrere Züge werden über Semikolon ( ;)getrennt und insgesamt in Klammern eingeschlossen. Das <TrainList> - Element wird insbesondere in der Definition der M=FOLLOW; – Bewegung benutzt.
Die Fahrzeuge, die zusammen einen Zug bilden, werden mittels Komma separiert. Somit steht diese Zeichen nicht mehr für die Unterteilung der Züge zur Verfügung, als Trennzeichen fungiert daher hier das Semikolon. Die einzelnen Parameter einer Bewegung wiederum sind durch Semikolon getrennt. Da die <TrainList> selbst jedoch nur ein Parameter innerhalb der Definition der Bewegung ist, muß die "echte" <TrainList>, die mehrere <Train> - Elemente erhält, zur Klarstellung in Klammern eingeschlossen werden.
The vehicles comprising a train are separated from each other by commas. As such, this character is not then suitable for separating entire trains. Therefore, the semicolon is used as a separator between entire trains. The individual parameters of a Movement are also separated with a semicolon. Because a <TrainList> is itself only a single parameter inside the Movement, the "real" <TrainList>, which contains multiple <Train> elements, must be enclosed in parentheses.