Subject: [xsl] XPath 3.0 How to implement the function composition operator? From: "Costello, Roger L." <costello@xxxxxxxxx> Date: Mon, 15 Oct 2012 22:08:58 +0000 |
Hi Folks, How is function composition implemented in XPath 3.0? Example: Suppose I want to compose these two function: 1. increment: this function increases its argument by 1. 2. double: this function multiplies its argument by 2. In Haskell I can compose the two functions like so: f = double . increment And then I can apply the composed functions to an argument: f 2 The result is 6. How is f implemented in XPath 3.0? Here is my attempt, which is not correct: let $increment := function($x as xs:integer) {$x + 1}, $double := function($y as xs:integer) {$y * 2}, $compose := function( $a as function(item()*) as item()*, $b as function(item()*) as item()* ) as item()* {$b($a)}, $f := $compose($double, $increment) return $f(2) What is the correct way? /Roger
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XPath 3.0: Is it possible, Dimitre Novatchev | Thread | Re: [xsl] XPath 3.0 How to implemen, Michael Kay |
Re: [xsl] XPath 3.0: Is it possible, Dimitre Novatchev | Date | Re: [xsl] XPath 3.0 How to implemen, Michael Kay |
Month |