[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Sorting on call-template value... solutions provided..

Subject: Sorting on call-template value... solutions provided... (RIP)
From: "Randy Oxentenko" <randy@xxxxxxxxxxxxx>
Date: Mon, 14 Apr 2003 23:46:28 -0500
xsl call template sort
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:  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:  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:  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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.