This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: To simulate SORT inside a xsl:choose condition


The short way is here still possible:

<xsl:apply-templates select="/People/Person">
     <xsl:sort select="@*[name()=$sortMethod]"/>
</xsl:apply-templates>

Regards,

Joerg

Dion Houston schrieb:
> Hi Kumar:
> 
> The way I'd do this is to control the sorting outside of your
> template... e.g.
> 
> <People>
> 	<Person LastName="Smith" Age="22"/>
> 	<Person LastName="Jones" Age="19"/>
> </People>
> 
> <xsl:param name="sortMethod">LastName</xsl:param>
> 
> <xsl:template match="/">
> 	<xsl:choose>
> 		<xsl:when test="$sortMethod="LastName">
> 			<xsl:apply-templates select="/People/Person">
> 				<xsl:sort select="@LastName"/>
> 			</xsl:apply-templates>
> 		</xsl:when>
> 		<xsl:when test="$sortMethod="Age">
> 			<xsl:apply-templates select="/People/Person">
> 				<xsl:sort select="@Age"/>
> 			</xsl:apply-templates>
> 		</xsl:when>
> 	</xsl:choose>
> </xsl:template>
> 
> In this way, your template can work regardless of the sorting
> criteria...
> 
> HTH!
> 
> Dion
> 
> -----Original Message-----
> From: KUMAR NINGASHETTY [mailto:kningashetty@deltafunding.com] 
> Sent: Monday, April 29, 2002 3:15 PM
> To: <
> Subject: [xsl] To simulate SORT inside a xsl:choose condition
> 
> Hi all ,
> 
> I know that the rule to sort  should be immediately after <xsl:for-each
> 
> I am in  a situation where i have to read the  criteria to sort  from
> some some node in the beginning of  XML 
> and based on which i need to make a decision to sortBY corresponding
> node somewhere down the line....
> 
> 
> But  as you know  the following way doesnt work ...
> 
> <xsl:for-each select="somenode">
>     <xsl:choose>
>        <xsl;when test="$prevnode = 'criteriavalue' ">
>              <xsl:sort  order="ascending"  select="node_to_be_sorted"/>
>       </xsl:when>
>     </xsl:choose>
> 
> </xsl:for-each>
> 
> Note: dont worry about syntax check on this ...
> 
> Is there a way to sneak around and get this Sorting to work based on
> some criteria ...Or any other work arounds, suggestions?
> 
> thanx in advance 
> - kumar  
> 
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 
> 



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]