xsl-list
[Top] [All Lists]

Re: [xsl] Transform param name to tagname in uppercase

2008-03-01 15:58:41
At 2008-03-01 23:24 +0100, phil(_dot_)kursawe(_at_)gmail(_dot_)com wrote:
I have not been in touch with XSLT for a couple of years now and this simple transformation I can not describe in XSLT:
<params>
  <param name="somename">value</param>
</params>

should be transformed to:

<INPUT>
  <SOMENAME>value</SOMENAME>
</INPUT

So basically the parameter "name" should be transformed to a tag in the final XML.

Can anyone give me a starting point how to do that?

You don't say if you are using XSLT 1.0 or 2.0 ... to use 1.0 use the transform() function and values for upper-case and lower-case letters.

I hope this helps.

. . . . . . . . Ken

t:\ftemp>type phil.xml
<params>
  <param name="somename">value</param>
</params>

t:\ftemp>type phil.xsl
<?xml version="1.0" encoding="US-ASCII"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                version="2.0">

<xsl:output indent="yes"/>

<xsl:template match="params">
  <INPUT>
    <xsl:apply-templates/>
  </INPUT>
</xsl:template>

<xsl:template match="param">
  <xsl:element name="{upper-case(@name)}">
    <xsl:apply-templates/>
  </xsl:element>
</xsl:template>

</xsl:stylesheet>
t:\ftemp>xslt2 phil.xml phil.xsl con
<?xml version="1.0" encoding="UTF-8"?>
<INPUT>
  <SOMENAME>value</SOMENAME>
</INPUT>
t:\ftemp>


--
World-wide corporate, govt. & user group XML, XSL and UBL training
RSS feeds:     publicly-available developer resources and training
G. Ken Holman                 mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

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