A defiant President Donald Trump has abruptly broken with decades of US foreign policy and officially recognised Jerusalem as Israel's capital, in a move that sparked protests across the region and led to condemnation from around the globe.