|
Subject: Re: [xsl] translation() function? From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx> Date: Sun, 11 Nov 2007 15:08:02 +0530 |
Probably you need something like:
<xsl:template match="p">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="emph">
<span>
<xsl:call-template name="rend"/>
<xsl:apply-templates/>
</span>
</xsl:template>
<xsl:template match="text()">
<xsl:value-of select="upper-case(.)"/>
</xsl:template>
<xsl:template name="rend">
<!-- some processing -->
</xsl:template>
On 11/11/07, Alice Ju-Hsuan Wei <ajwei@xxxxxxxxxxx> wrote:
> Hi,
>
> I wanted to generate a whole chunk of text from a mixture of upper
> and lower case letters to all upper case. The problem is that my
> original text has also child elements. Here is an example:
>
> XML:
>
> <p><emph rend="bold">Upper and lower case transformations</emph> are
> very easy in XSLT thanks to the translate function. An alternative
> solution could be to implement the transformation and switch character
> by character, but since <emph rend="bold">XSLT</emph> already gives us
> a <emph rend="red bold">better</emph> solution, let's better take
> advantage of it. </p>
>
> XSLT:
>
> <xsl:template match="p">
> <xsl:value-of select="upper-case(.)"/>
> </xsl:template>
>
> <xsl:template match="emph">
> <span>
> <xsl:call-template name="rend"/>
> <xsl:apply-templates/>
> </span>
> </xsl:template>
>
> This code does output the upper case letters, but leaves out all other
> templates that associate with the additional formatting. I tried using
> <xsl:apply-templates/> inside the template, but then the text are no
> longer in upper case.
>
> Any ideas, anyone?
>
> Thanks in advance.
>
> Alice
--
Regards,
Mukul Gandhi
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] translation() function?, Alice Ju-Hsuan Wei | Thread | [xsl] problem with creating structu, Andreas Peter |
| [xsl] translation() function?, Alice Ju-Hsuan Wei | Date | Re: [xsl] Wide Finder in XSLT --> d, M. David Peterson |
| Month |