uses Saxon for identation