[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] what does xsl:sort do if "select" doesn't evaluate to anything?


Subject: Re: [xsl] what does xsl:sort do if "select" doesn't evaluate to anything?
From: bix_xslt@xxxxxxxxxxx
Date: Wed, 19 Mar 2003 01:07:19 -0600

>   what is the defined behavior for <xsl:sort> if the "select="
> expression is not satisfied by anything?

I don't actually have the 'defined' answer.  I'm guessing if M. Kay didn't
specify it within his book, then it wasn't specified at the date of the
writing.

What will happen if there isn't any data associated with the select
path/contents?  Basically, the processor continues as normal.  I have a
feeling that it treats those nodes which don't contain your specific element
as an empty or zero value.  These probably go first or last when sorted for
a given order.

e.g.
<cars>
    <car>
        <displacement value = "10"/></car>
    <car>
        <displacement value = "60"/></car>
    <car/>
</cars>

~~~~~~ snip ~~~~~~

        <x:for-each select="//car">
            <x:sort data-type="number" order="descending"
select="displacement/@value"/>
               <x:copy-of select="."/>
          </x:for-each>

~~~~ output ~~~~~~

    <car>
        <displacement value = "60"/></car>
    <car>
        <displacement value = "10"/></car>
    <car></car>


-------------------------------


bix

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



Current Thread