[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] To convert content into XML tag.


Subject: Re: [xsl] To convert content into XML tag.
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Mon, 19 Aug 2002 15:53:36 +0100

Hi Neel,

> How can we convert content of an XML tag to an XML tag.
>
> Input XML 
>
> <TEST>This should become XML tag</TEST>
>
> Output after xsl transformation should be
>
> <This should become XML tag> </This should become XML tag>
>
> More over xml tag should not have spaces in between, how to remove them.

First, you can strip out spaces from a string using the translate()
function to replace all spaces with nothing. For example to get a
string that's the string value of the context node but without spaces,
you can use:

  translate(., ' ', '')

If you wanted to translate them to underscores instead, for example,
use that as the third argument:

  translate(., ' ', '_')

You can create an element with a name taken from an XML document using
xsl:element with an attribute value template in the name attribute:

  <xsl:element name="{...}">
    ...
  </xsl:element>

So with your example above, you need something like:

<xsl:template match="TEST">
  <xsl:element name="{translate(., ' ', '')}">
    ...
  </xsl:element>
</xsl:template>

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



Current Thread
Keywords