xsl-list
[Top] [All Lists]

RE: Sorting on different elements...

2004-01-22 03:15:20
Hi,

Sorry if this has been asked before - or is a daft question.

It's a FAQ.
 
Is it possible to parameterise an <xsl:sort> ?

Example.

      <root>
              <data>
                      <firstname value="Fred"/>
                      <lastname value="Smith"/>
              </data>
              <data>
                      <firstname value="Tom"/>
                      <lastname value="Jones"/>
              </data>
              <data>
                      <firstname value="Myles"/>
                      <lastname value="Ward"/>
              </data>
              ...
      </root>

Sometimes I want to sort <data> on "firstname/@value" sometimes
on "lastname/@value" based on a user parameter of some kind.

Use a sort rule

  <xsl:sort select="*[name() = $x]/@value"/>

where $x is bound to either "firstname" or "lastname".

Cheers,

Jarno - Covenant: Tension

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



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