Thanks again!
I'm still not entirely sure what I was doing wrong, but in the process of
trying to remove all
of the extraneous material, suddenly the code started working properly. No
doubt that's
a good reason to ask for someone debugging to provide such a sample :-). I
had to make
some other adjustments, but the following does seem to be doing what I had
hoped:
<xsl:variable name="vCaps"
select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789;:!?'" />
<myMark:myMark />
<xsl:template match="myMark:*">
<xsl:param name="arg1" />
<xsl:choose>
<xsl:when test="contains($vCaps, $arg1)">
<span class="fullsize"><xsl:value-of
select="$arg1" /></span>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of
select="translate($arg1,'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"
/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="sc">
<xsl:variable name="vCapsSpanned">
<xsl:call-template name="str-map">
<xsl:with-param name="pFun"
select="document('')/*/myMark:*[1]" />
<xsl:with-param name="pStr" select="./text()" />
</xsl:call-template>
</xsl:variable>
<span class="smallcap"><xsl:copy-of select="$vCapsSpanned" /></span>
</xsl:template>
Input like
<sc>DPhil</sc> <sc>figure 1</sc>
is output as
<span class="smallcap"><span class="fullsize">D</span><span
class="fullsize">P</span>HIL</sc> <sc>FIGURE <span
class="fullsize">1</span></sc>
Hooray! Thank you very much for your help.
At 04:13 PM 2/18/03, you wrote:
Hi Chris,
"Chris Loschen" <loschen(_at_)texterity(_dot_)com> wrote in message
news:5(_dot_)2(_dot_)0(_dot_)9(_dot_)0(_dot_)20030218150914(_dot_)00a2d990(_at_)imap(_dot_)texterity(_dot_)com(_dot_)(_dot_)(_dot_)
> Hi, Dimitre!
>
> Thank you very much for the pointer. I've downloaded the FXSL scripts for
> Xalan, which is what I'm using,
> and I've tried to change the code in the example you cite so that it does
> what I'm hoping to accomplish.
> However, I seem to be doing something wrong, because I'm getting a java
> "Out of Memory" error.
>
> Here's the relevant portion of my spreadsheet:
The code seems OK, but this is just a portion.
Could you, please, provide a complete (but simplified and minimal) example
that still demonstrates the problem?
How long is the string you're processing and how many replacements must be
made?
=====
Cheers,
Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
--Chris
----------------------------------------------------------------------------------------
Texterity ~ XML and PDF ePublishing Services
----------------------------------------------------------------------------------------
Chris Loschen, XML Developer
Texterity, Inc.
144 Turnpike Road
Southborough, MA 01772 USA
tel: +1.508.804.3033
fax: +1.508.804.3110
email: loschen(_at_)texterity(_dot_)com
http://www.texterity.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list