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.

Reply via email to