This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: To convert content into XML tag.
- From: Jeni Tennison <jeni at jenitennison dot com>
- To: "Shaikh, Neelkamal (MED, Oracle)" <Neelkamal dot Shaikh at med dot ge dot com>
- Cc: "'xsl-list at lists dot mulberrytech dot com'" <xsl-list at lists dot mulberrytech dot com>
- Date: Mon, 19 Aug 2002 15:53:36 +0100
- Subject: Re: [xsl] To convert content into XML tag.
- Organization: Jeni Tennison Consulting Ltd
- References: <EE1ED172E985D411A27B00508BE30A5E01748BA2@uswaumsx11medge.med.ge.com>
- Reply-to: xsl-list at lists dot mulberrytech dot com
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