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 suspect, described as a Swiss man aged 27, was also taken to hospital after the incident near Salez in St Gallen canton, close to Liechtenstein.
He had ignited a flammable liquid before attacking people with a knife.
A child of six was injured. Police said they could not exclude the possibility of a terrorist motive.
"We can neither exclude nor affirm that this was a terrorist act," St Gallen regional police spokesman Bruno Metzger told the local St Galler Tagblatt daily.
Police spokesman Hanspeter Kruesi told AFP news agency the suspected attacker was not of immigrant background.
Three rescue helicopters are at the scene. A major police operation is under way.
The attack occurred around 14:20 (12:20 GMT) 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.
Some of the injured are said to be in a serious condition.
Police estimated damage to the train at CHF100,000 (£79,000; $103,000).
European states have been on the alert for "lone wolf" attacks after a series of recent incidents.
Last month, an Afghan asylum seeker attacked passengers on a train in the neighbouring German state of Bavaria with an axe, injuring four people.
The so-called Islamic State later claimed the attack, releasing a video of the attacker who was shot dead by police as he fled.