<xsl:apply-templates
select="$dataxmltmp//field[(_at_)name=$nametmp]/assign">
OK so at this point you have moved the current node over to the other
file and will process the two assign elements which are children of
<field name="table4">
You are passing a parameter but I don't think you need that.
But in your template for assign
why do this:
<xsl:value-of
select="$dataxmltmp//field[(_at_)name=$nametmp]/assign/
$dataxmltmp//field[(_at_)name=$nametmp]/assign/
It ignores the assign element you are on and always selects the
same (two) assign elements. The as you use value-of it always uses
the first of these, so you get the result you stated.
I think that you just want
<xsl:template match="assign">
<xsl:value-of select="@name"/>
<xsl:text>=</xsl:text>
<xsl:value-of select="@value"/><xsl:text>;
</xsl:text>
</xsl:template>
--
http://www.dcarlisle.demon.co.uk/matthew
________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. 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
________________________________________________________________________
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list