[Home] [By Thread] [By Date] [Recent Entries]
At 2009-02-19 09:09 -0600, Quinn Dombrowski wrote:
I'm trying to figure out a way to sort by one of multiple elements, with descending priority. You create a select expression that chooses the element you want in the presence or absence of other items. I'm working with a TEI bibliography, and there's no single element that all the entries have. Ideally, I'd like to sort by monogr/author; but when that's not possible, by analytic/author; if not that, monogr/editor; then monogr/title; and so on down the line. In XSLT 2.0, choose the first item in a sequence of many items, priority indicated by the order of your sequence: <xsl:sort select=" ( monogr/author, analytic/author, monogr/editor, monogr/title )[1]"/> In XSLT 1.0 you might do something along the lines of: <xsl:sort select=" monogr/author | self::*[not(monogr/author)]/analytic/author | self::*[not(monogr/author | analytic/author)]/monogr/editor | self::*[not(monogr/author | analytic/author | monogr/editor)]/monogr/title"/> I hope this helps. . . . . . . . . . . Ken -- Upcoming hands-on XQuery, XSLT, UBL & code list training classes: Brussels, BE 2009-03; Prague, CZ 2009-03, http://www.xmlprague.cz Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video Video lesson: http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18 Video overview: http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18 G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/s/bc Legal business disclaimers: http://www.CraneSoftwrights.com/legal
|

Cart



