Hi,
The following code :
<?xml version="1.0"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" method="text" />
<xsl:template match="/">
<xsl:variable name="seq1">
<xsl:element name="item">1</xsl:element>
<xsl:element name="item">2</xsl:element>
</xsl:variable>
<xsl:variable name="seq2">
<xsl:element name="item">3</xsl:element>
<xsl:element name="item">4</xsl:element>
<xsl:element name="item">5</xsl:element>
</xsl:variable>
<xsl:call-template name="process">
<xsl:with-param name="merged" select="$seq1/*
| $seq2/*" />
</xsl:call-template>
</xsl:template>
<xsl:template name="process">
<xsl:param name="merged" />
<xsl:for-each select="$merged">
<xsl:value-of select="." />
<xsl:if test="count(preceding-sibling::item) = 0">
<xsl:text> = first</xsl:text>
</xsl:if>
<xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
....produces the following output :
bash-2.05b$ java net.sf.saxon.Transform seq.xsl seq.xsl
1 = first
2
3 = first
4
5
....indicating that the "merged" sequence is still recognized as two
sequences instead of a single merged one. How can one do a proper
merge?
Thanks,
Kenneth