Subject: [xsl] Sorting on call-template value... solutions provided... (RIP) From: "Randy Oxentenko" <randy@xxxxxxxxxxxxx> Date: Mon, 14 Apr 2003 23:46:28 -0500 |
Raj, Okay. I don't understand what is so unclear about this. I want to be able to create a user-defined transformation function for sorting purposes. It is already possible to do this with intrinsic xpath functions. For example, I can do something like this: <xsl:for-each select="//name"> <xsl:sort select="substring-after(.,'-')"/> ... do my processing here ... </xsl:for-each> Instead of using intrinsic functions such as substring-after as shown above, I want to be able to create my own transformation function directly in XSLT using a template defined for the purpose. That is a straightforward concept, although I may not be articulating it well. A gentleman named Dimitre Novatchev already explained that there is a way to do this in XSLT 2.0 using xsl:function, but that you cannot do this directly in XSLT 1.0, and he supplied a pointer to an alternative technique which can be used with XSLT 1.0. http://www.biglist.com/lists/xsl-list/archives/200303/msg00007.html Another gentelman named Mike Brown supplied a pointer to another technique that involves the use of extension functions, which are part of exslt. This technique would use features of XSLT that go beyond the defined standard. http://exslt.org/func/elements/function/index.html Question asked. Question answered. Thanks to all for your input. May this topic rest in peace. Randy Oxentenko ----- Original Message ----- From: "Avula, Raj" <ravula@xxxxxxxxxxx> To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Sent: Monday, April 14, 2003 9:17 PM Subject: RE: [xsl] Sorting on call-template value? > > I don't understand your explanation on why it does not work. > > > The value returned from call-template would > >presumably vary for every possible node in the "for-each" list > NO. Value is being assigned to the variable out side for-each block. > It is just being used inside for-each. > > > >The example > >shown below would have a single value for the variable "sortkey". It would > >not be very useful unless it could be different for each node in > > Can you explain this better. May be I am missing something here. > Sorting will be done basically on one attribute or element. What do you mean > by different for each node. > > > > > -----Original Message----- > From: Randy Oxentenko [mailto:randy@xxxxxxxxxxxxx] > Sent: Sunday, April 13, 2003 12:08 PM > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] Sorting on call-template value? > > > I don't think that would work. The value returned from call-template would > presumably vary for every possible node in the "for-each" list. The example > shown below would have a single value for the variable "sortkey". It would > not be very useful unless it could be different for each node in > "/some/nodes". > > Thanks, > > Randy Oxentenko > > ----- Original Message ----- > From: "Mike Brown" <mike@xxxxxxxx> > To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> > Sent: Sunday, April 13, 2003 1:58 PM > Subject: Re: [xsl] Sorting on call-template value? > > > > Randy Oxentenko wrote: > > > I am a novice with XSLT. My question is with respect to the child of > > > <xsl:for-each> that is <xsl:sort>. Is it possible to use a result > returned > > > from <xsl:call-template> as the sort key? > > > > > > Perhaps a better way to phrase the question might be this: You can sort > on > > > the value of functions intrinsic to XSL, such as position() or > > > substring-before() etc. Is it possible to write your own "functions" as > xsl > > > templates, and sort on the value returned from those? > > > > Use a variable? > > > > <xsl:variable name="sortkey"> > > <xsl:call-template name="foo"/> > > </xsl:variable> > > <xsl:for-each select="/some/nodes"> > > <xsl:sort select="string($sortkey)"/> > > ... > > > > > > 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 > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Sorting on call-template , Avula, Raj | Thread | Re: [xsl] Sorting on call-template , Mike Brown |
RE: [xsl] Sorting on call-template , Avula, Raj | Date | RE: [xsl] Counting uniquely selecte, Jarno . Elovirta |
Month |