Using a for-each and testing position() seems clumsy, compared with explicit
indexing.
What's wrong with
<entry tag="{td[1]}" attribute="{td[2]}" type="{td[3]}"
description="{td[4]}"/>
Not coming from a C/C++ world, I can't see why you would want to use
variables.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Mathieu Malaterre [mailto:mathieu(_dot_)malaterre(_at_)gmail(_dot_)com]
Sent: 14 January 2007 01:32
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] XML Elements to XML Attributes
Hello,
I have a very simple question. I have currently the
following xsl script (1). But instead of creating elements I
would like to create attributes, something like:
<entry tag="{$1}" attribute="{$2}" type="{$3}" description="{$4}"/>
Where $1-4 are the values coming from the loop at
position() respectively 1-4.
Coming from a C/C++ world I would have created variables,
unfortunately I cannot do that with the loop. I must be
missing something trivial to be able to rewrite it correctly in XSL.
Thanks
(1)
<entry>
<xsl:for-each select="td">
<xsl:variable name="cur_val">
<xsl:value-of select="."/>
</xsl:variable>
<xsl:choose>
<xsl:when test="position() = 1">
<tag d="{$cur_val}"/>
</xsl:when>
<xsl:when test="position() = 2">
<attribute d="{$cur_val}"/>
</xsl:when>
<xsl:when test="position() = 3">
<type d="{$cur_val}"/>
</xsl:when>
<xsl:when test="position() = 4">
<description d="{$cur_val}"/>
</xsl:when>
<xsl:otherwise>
<bug/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</entry>
--
Mathieu
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--