A knifeman has set fire to a train in north-eastern Switzerland, leaving six people in hospital with stab wounds and burns, police say.
The suspected attacker, described as a 27-year-old Swiss man, was also taken to hospital after the incident near Salez, in St Gallen Canton.
He had ignited a flammable liquid before attacking people with a knife.
Among the injured is a child of six. There was no immediate information as to motive or background.
Three rescue helicopters are at the scene. A major police operation is under way.
The attack occurred around 2.20pm local time, as the train was approaching Salez station, between the towns of Buchs and Sennwald.
Several dozen passengers were on board at the time of the attack.
Apart from the child, a girl and a boy, both 17, two women aged 34 and 43, and a man aged 50 were hurt.