Re: [xsl] dynamic sort order

Subject: Re: [xsl] dynamic sort order
From: "J.Pietschmann" <j3322ptm@xxxxxxxx>
Date: Wed, 30 Jul 2003 20:23:57 +0200
Nathan Shaw wrote:

I am trying to allow an end user to specify the sort
order of a result set returned from an LDAP query. I
am storing their sort request inside of the XML sent
into the LDAP server and plucking it off in my XSLT to
sort as they desired. However, I am running into a
challenge with my approach using a named template, as
you cannot call a named template inside of
xsl:apply-templates.

Your approach is somewhat ... unorthodox. Why don't you let the LDAP server sort and filter? A few more details about your XML and the whole problem wouldn't have hurt either. I'll fill in any blanks, which may or may not have something to do with your question.

Anyway, assuming your XML is more complete as
 <whatever>
   <supplementaryData> ... </supplementaryData>
   <searchResults>
     <searchResult>
       <employer>foo</employer>
       ...
     </searchResult>
   </searchResults>
 </whatever>

then try
 <xsl:template match="whatever">
   <xsl:apply-templates select="searchResults/searchResult>
     <xsl:sort
  select="*[name()=current()/supplementaryData/sort/sortField[1]]"/>
     <xsl:sort
  select="*[name()=current()/supplementaryData/sort/sortField[2]]"/>
  </xsl:apply-templates>
 </xsl:template>

Feel free to post your problem again with more details if this
doesn't match it.

J.Pietschmann


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



Current Thread