I've got a document that looks like this:
<projects>
<project active="1" published="1">stuff</project>
<project active="1" published="0">stuff</project>
<project active="0" published="1">stuff</project>
<project active="0" published="0">stuff</project> </projects
And I need to be able to sort them (on the fly - it's part of
a sortable table in html) in this order and the reverse:
active, not published
active, published
not active, published
not active, not published.
So your major sort key is @active (true<false) and your minor sort key is
@published (false<true).
That's
<xsl:for-each select...>
<xsl:sort select="@active" data-type="number" order="descending"/>
<xsl:sort select="@published" data-type="published" order="ascending"/>
For the reverse order, flip all the order="" attributes.
Michael Kay
http://www.saxonica.com/
I've tried all kinds of ways to sort them to get this to
happen including brute force:
<xsl:for-each select="project">
<xsl:sort select="@active=1 and @published=0"
order="ascending"
data-type="number"/>
<xsl:sort select="@active=1 and @published=1"
order="ascending"
data-type="number"/>
<xsl:sort select="@active=0 and @published=1"
order="ascending"
data-type="number"/>
<xsl:sort select="@active=0 and @published=0"
order="ascending"
data-type="number"/>
<xsl:copy-of select="."/>
</xsl:for-each>
Nothing works. It always comes out with at least one in the
wrong spot.
Could someone point me in the right direction? Help me
understand what
I'm missing about how sort works?
Thanks much in advance
Joelle
--~------------------------------------------------------------------
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>
--~--