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:kcormier@xxxxxxxxxx]
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.
|