Subject: Re: [xsl] ANN: How to Create XSLT Functions that Manipulate Functions From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Date: Sat, 25 Sep 2010 12:03:22 -0700 |
Seems OK as an introduction, however: 1. The function map() is traditionally defined in almost all FP languages to take as first argument a function that operates on a *single item* of the sequence -- not on all items. Therefore, either do not use the name "map" -- to avoid the confusion with the esatblished meaning of map(), or re-define it: <xsl:function name="f:map" as="item()*"> <xsl:param name="pFun" as="element()"/> <xsl:param name="pList1" as="item()*"/> <xsl:sequence select= "for $this in $pList1 return f:apply($pFun, $this)" /> </xsl:function> 2. It is useful to define the function f:apply() --witha at least the one-argument overload version: <xsl:function name="f:apply"> <xsl:param name="pFunc" as="element()"/> <xsl:param name="arg1"/> <xsl:apply-templates select="$pFunc" mode="f:FXSL"> <xsl:with-param name="arg1" select="$arg1"/> </xsl:apply-templates> </xsl:function> -- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- Never fight an inanimate object ------------------------------------- You've achieved success in your field when you don't know whether what you're doing is work or play On Sat, Sep 25, 2010 at 11:37 AM, Costello, Roger L. <costello@xxxxxxxxx> wrote: > > Hi Folks, > > I wrote a short article that shows, step by step, how to create XSLT functions that manipulate functions (i.e., how to create higher-order functions): > > > Introduction > > A powerful programming technique is to create functions that can accept functions as arguments or return functions as values. Functions that manipulate functions are called higher-order functions. This article shows how to implement higher-order functions using XSLT 2.0. > > More ... > > http://www.xfront.com/higher-order-functions-in-XSLT/How-to-Create-XSLT-Funct ions-that-Manipulate-Functions.pdf > > /Roger
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] ANN: How to Create XSLT Funct, Costello, Roger L. | Thread | [xsl] Xquery ->Convert string to da, sudheshna iyer |
[xsl] ANN: How to Create XSLT Funct, Costello, Roger L. | Date | [xsl] Xquery ->Convert string to da, sudheshna iyer |
Month |