[Home] [By Thread] [By Date] [Recent Entries]

Subject: Re: [XPath 3.0] Why should I bother specifying the "arity" of a function that I invoke?
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Wed, 31 Oct 2012 21:54:13 +0000
On 31/10/2012 21:06, Costello, Roger L. wrote:
Hi Folks,

The XPath 3.0 specification says that when a named function is invoked you should specify the number of arguments (i.e., the arity):

NamedFunctionRef ::= EQName "#" IntegerLiteral

Here is an example:

concat#3('Section', ': ', 1)

But this works just as well:

concat('Section', ': ', 1)

So why should I bother specifying the arity? Is there a case where I *must* specify the arity?

concat#3 is an expression that returns a function item. You need it if you are going to store the function item in a variable, pass it to another function, return it from a function, or do other things that you can do with run-time values.

You don't need a run-time function item if you know statically what function to call and if the only thing you want to do is to call the function.

Michael Kay
Saxonica

Current Thread
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member