Hi John, Please refer to http://xml.apache.org/xalan-j/extensions.html#ext-functions and scroll down a bit to the section titled "Class format namespace"
Since you want to specify the class as the namespace, you should use " xmlns:MT="xalan://ManipulateText.ManipulateText" unless your class actually is in package ManipulateText. Then what you have shown is correct. Your Unescape method is not static, so it needs an instance to operate on. Here is an example in Java and XSLT: |------------------------------------+------------------------------------| |Java |XSLT | |------------------------------------+------------------------------------| |ManipulateText mt = new |<xsl:variable name="mt" | |ManipulateText(); |select="MT:new()"/> | |------------------------------------+------------------------------------| |char result = mt.Unescape('p'); |<xsl:variable name="result" | | |select="MT:Unescape($mt, 'p')"/> | |------------------------------------+------------------------------------| Notice how the instance becomes an extra first argument to the method. Alternatively, you could just use a static method. One last thing - in your stylesheet, you're passing in 'text' which is not a char. I'm not sure exactly what happens in that case, but I imagine you meant to use a String in your method. Kevin Cormier Software Developer, XSLT Development IBM Toronto Lab, D1-435 E-mail: [EMAIL PROTECTED] "Wade, John F. (MSFC-NAS902099)[ TBE]" To <[EMAIL PROTECTED] Kevin Cormier/Toronto/[EMAIL PROTECTED], .gov> <xalan-j-users@xml.apache.org> cc 05/11/2007 03:54 PM Subject RE: Xalan extension functions Picking this conversation back up... I'm trying the abbreviated syntax as several recommended. Still getting an error. ManipulateText.java code is this- import java.util.*; public class ManipulateText { public char Unescape(char mydata) { return mydata; } } Test stylesheet starts with this- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" xmlns:xalan="http://xml.apache.org/xalan" xmlns:MT="xalan://ManipulateText.ManipulateText" extension-element-prefixes="MT" exclude-result-prefixes="doc" version="1.0"> And later contains this- <xsl:value-of select="MT:Unescape('text')"/> And I'm now getting this error- (Location of error unknown)XSLT Error (javax.xml.transform.TransformerException): java.lang.NoSuchMethodException: For extension function, could not find method java.lang.String.Unescape([ExpressionContext,] ). I tried the the two different flavors of "new" that were suggested, but didn't get anywhere. Suggestions?