Are you using XSLT 1.0 or 2.0? In 2.0, it's much easier to use the replace() function.
With the 1.0 solution, you basically need to call the search-replace template once for each from/to replacement pair. If you know statically how many replacements are needed (in your case two) then just call the template twice. If the number of replacements is a dynamic list, then you need another level of iteration, typically implemented using head-tail recursion.
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference