zum Nachvollziehen hier mal 'n kleiner Schnipsel:
(der String "Neu" ist dann halt der vorgegebene string).
test.xslt
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" media-type="application/xhtml+xml" />
<xsl:template match="/">
<html>
<head>
<title>test</title>
<script type="text/javascript">
var Neu = "a<b>b</b>c";
function Aendern () {
document.getElementById('meinAbsatz').innerHTML = Neu;
}
</script>
</head>
<body>
<p id="meinAbsatz">Text</p>
<a href="javascript:Aendern()">Anderer Text</a>
<xsl:apply-templates mode="test" select="/" />
</body>
</html>
</xsl:template>
<xsl:template mode="test" match="/">
<xsl:value-of select="."/>
<br/>
<b><xsl:value-of select="."/></b>
</xsl:template>
</xsl:stylesheet>
test.xml
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="test.xslt" ?>
<root>
<p id="test">test</p>
</root>