xsl-list
[Top] [All Lists]

Re: Re: Re: How can I translate a single letter into a letter inside an element?

2003-02-18 15:13:17
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



<Prev in Thread] Current Thread [Next in Thread>