Seven people have suffered burn and knife wounds in an attack on a Swiss train, according to St Gallen police.

The suspected attacker, described as a 27-year-old Swiss man, reportedly set fire to a train in northeastern Switzerland after igniting a flammable liquid.

He then attacked passengers with a knife. A six-year-old child was among the injured.

A police spokesman said the possibility of a crime of passion is not being excluded, but ruled out terrorism as "very, very far-fetched".

The suspect was taken to hospital and a major police operation is underway.