Replace an XML element value using XSLT

The aim is to take a document, look for a specific element (by local name and URI rather than name including prefix) and replace its value. Where is this useful? Imagine a gateway protecting an internal web service. If that web service is WS-A enabled, it therefores has a wsa:From field which contains its internal URI. Obviously the gateway abstracts the internal service from what is seen outside as a ‘virtual’ or ‘logical’ service. One therefore needs to update the wsa:From field to reflect an external URI. Sample XML: <?xml version=”1.0″ encoding=”UTF-8″?> <soap12:Envelope xmlns:soap12=”” xmlns:xsd=”” xmlns:xsi=”” xmlns:wsa05=”” xmlns:uddi=”urn:uddi-org:api_v2″ xmlns:ns1=”” xsi:schemaLocation=””> <soap12:Header> <wsa05:To>http://somelocation</wsa05:To> <wsa05:Action>urn:greet</wsa05:Action> <wsa05:From> <wsa05:Address></wsa05:Address> </wsa05:From> </soap12:Header> <soap12:Body> <ns1:greet soap12:encodingStyle=””> <in0 xsi:type=”xsd:string”>Philip</in0> </ns1:greet> </soap12:Body> </soap12:Envelope> The XSL to be […]