Kevin, Your test case pointed me in a helpful direction. I'm still hitting a wall trying to add a custom extension function, however the available java functions may do it for me.
As a way of learning enough to apply java.lang.replaceAll(), I'm trying to figure out how to use java.lang.replace() within an XSL. I have defined xmlns:MT="xalan://java.lang.String" Then I have this in my XSL: <xsl:variable name="ue" select="MT:new('xyz world')"/> <xsl:variable name="target" select="'xyz'"/> <xsl:variable name="replace" select="'Hello,'"/> <xsl:variable name="hello" select="MT:replace($ue,$target,$replace)"/> <xsl:value-of select="$hello"/> The replace is only affecting the first character. ?? I have a feeling that my lack of java understanding is getting in the way here... JFW -----Original Message----- From: Kevin Cormier [mailto:[EMAIL PROTECTED] Sent: Friday, May 11, 2007 4:10 PM To: Wade, John F. (MSFC-NAS902099)[TBE] Subject: RE: Xalan extension functions Well, here's an example that I've actually tried and it works: <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:test ="xalan://java.lang.StringBuffer" version="1.0"> <xsl:template match="/"> <xsl:variable name="text" select="test:new()"/> <xsl:variable name="moreText" select="test:append($text, 'Hello world!')"/> <xsl:value-of select="$moreText"/> </xsl:template> </xsl:stylesheet> If it doesn't work for you, then perhaps you're using an outdated version of Xalan with a bug. If it does - then yes, probably a problem with your classpath.