xsl-list
[Top] [All Lists]

Re: [xsl] xsl:perform-sort sequence problem

2007-10-22 04:47:14
On 22/10/2007, Merico Raffaele <raffaele(_dot_)merico(_at_)less(_dot_)ch> wrote:
Dear Community

I am using SaxonB 8.9 and I have the following xsl:perform-sort/sequence
problem.

<xsl:variable name="data">
        <item id="1">
                <departure date="2007-10-22">
                        <returning date="2007-10-23"/>
                        <returning date="2007-10-24"/>
                </departure>
        </item>
        <item id="2">
                <departure date="2007-10-22">
                        <returning date="2007-10-22"/>
                        <returning date="2007-10-24"/>
                </departure>
        </item>
</xsl:variable>

*** OK-Case:
When I run the following statements I get an expected result of:

<xsl:variable name="result"
select="distinct-values($data/item/departure[(_at_)date eq
'2007-10-22']/returning/@date)"/> <xsl:value-of select="count($result)"/>
<xsl:value-of select="$result" separator=", "/>

=> 3
=> 2007-10-23,2007-10-24,2007-10-22


*** ??-Case:
When I try to sort the same sequence the distinct-values become one single
string:

<xsl:variable name="result">
        <xsl:perform-sort 
select="distinct-values($data/item/departure[(_at_)date
eq '2007-10-22']/returning/@date)">
                <xsl:sort/>
        </xsl:perform-sort>
</xsl:variable>
<xsl:value-of select="count($result)"/>
<xsl:value-of select="$result" separator=", "/>

=> 1
=> 2007-10-22 2007-10-23 2007-10-24

Can any body please helping me to clarify my misunderstanding of the
xsl:perform-sort.


In the second case $result is a root node, whereas you want it to be
the sequence of items returned from xsl:perform-sort, so you just need
to type the variable correctly:

<xsl:variable name="result" as="xs:date+">
       <xsl:perform-sort select.....

(note the "as" attribute)

cheers
-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/

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