 <p>substring-before(substring-after('General Practice, London, vol. 45 no 395 Jun 1995',' no '),' ') yields "395" so replace that with "."</p> <p>That is simple enough to use pure XSL without any extension functions.</p>