Re: [xsl] Passing attributes in a node-set

Subject: Re: [xsl] Passing attributes in a node-set
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 17 Jan 2006 11:07:45 GMT
> ..I want to have all values, 

then you want a node set of the attribute nodes. You can't do that by
copying the attribute nodes to a newly constructed root element as an
element can only hold one attribute with a given name, you want to just
select the attributes, so

<xsl:with-param name="value" select="//element/@avalue"/>

now if you use select= rather than using xsl:with-param with content
you generate a node set, which you can iterate over. I doubt you need to
use an explict integer parameter: the system will do the counting for
you, something like

...

<xsl:for-each select="$value">
 <xsl:variable name="name" select="."/>
 <xsl:for-each select="$value">
  <xsl:element name="{$name}_{position()}"><xsl:value-of select="."/>
 </xsl:for-each>
</xsl:for-each>


which will make

<foo_1>foo</foo_1>
<foo_2>bar</foo_2>
<bar_1>foo</bar_1>
<bar_2>bar</bar_2>


David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

Current Thread