Refactoring for generalisation.
The example XSLT tranform processor is dead; long live the generic XSLT processor!