Dann setze doch einfach den string dann wieder zusammen.
<xsl:value-of select="concat(substring-before(current(), '.'),'.',translate(substring-after(current(), '.'), 'gif', 'jpg'))"/>
Sofern du XSLT2.0 nutzen kannst, erleicht die replace() Funktion einiges.
Gruß, H.