xsl-list
[Top] [All Lists]

Re: How to assign a sequence to a variable?

2005-08-09 07:03:43
You need as item()+ on the variable definition, eg:

<xsl:variable name="tempb" as="item()+">
Sorry, this does not seem to change anythinghelp 
on my test case.

Manfred

On 8/9/05, andrew welch <andrew(_dot_)j(_dot_)welch(_at_)gmail(_dot_)com> wrote:
Hi list,
I would like to return a sequence from a named
template, but I'm only getting a single string.
In the test only tempa gets the sequence, but how
to get it work for tempb and tempc?

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="2.0"
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:template match="/">
        <xsl:variable name="tempa" select="'a1','a2','a3'"/>
        <xsl:message select="$tempa[3]"/>
        <xsl:variable name="tempb">
                <xsl:value-of select="'b1','b2','b3'"/>
        </xsl:variable>
        <xsl:message select="$tempb[1]"/>
        <xsl:variable name="tempc">
                <xsl:call-template name="processName">
                </xsl:call-template>
        </xsl:variable>
        <xsl:message select="$tempc[1]"/>
</xsl:template>
<xsl:template name="processName">
        <xsl:value-of select="'c1','c2','c3'"/>
</xsl:template>
</xsl:stylesheet>

You need as item()+ on the variable definition, eg:

<xsl:variable name="tempb" as="item()+">
  ....

Otherwise you will get a tree with a single child text node with all
the entries in the sequence concatenated together with a space between
each.

cheers
andrew

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



<Prev in Thread] Current Thread [Next in Thread>