xsl-list
[Top] [All Lists]

Re: [xsl] XML Elements to XML Attributes

2007-01-13 18:46:06
Something like this?

<xsl:template match="td" />
<xsl:template match="td[(position() mod 4) = 0]">
<entry      tag="{.}"
       attribute="{following-sibling::td[1]}"
             type="{following-sibling::td[2]}"
   description="{following-sibling::td[3]}" />
</xsl:template>


Mathieu Malaterre wrote:

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>




--~------------------------------------------------------------------
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>