## Saxon.Api

Class DocumentBuilder

Class DomDestination

Class DynamicContext

Class DynamicError

Class EmptyEnumerator

Class ExtensionFunctionCall

Class ExtensionFunctionDefinition

Class NullDestination

Class Processor

Class QName

Class SchemaManager

Class SchemaValidator

Class Serializer

Class StaticContext

Class StaticError

Class TextWriterDestination

Class XPathCompiler

Class XPathExecutable

Class XPathSelector

Class XQueryCompiler

Class XQueryEvaluator

Class XQueryExecutable

Class XdmAnyFunctionType

Class XdmAnyItemType

Class XdmAnyNodeType

Class XdmAtomicType

Class XdmAtomicValue

Class XdmDestination

Class XdmEmptySequence

Class XdmFunctionItem

Class XdmItem

Class XdmItemType

Class XdmNode

Class XdmNodeKind

Class XdmSequenceType

Class XdmValue

Class XmlDestination

Class XsltCompiler

Class XsltExecutable

Class XsltTransformer

Enum RecoveryPolicy

Enum SchemaValidationMode

Enum TreeModel

Enum WhitespacePolicy

Enum XdmAxis

Interface IMessageListener

Interface IQueryResolver

Interface IResultDocumentHandler

Interface IXdmEnumerator

Interface IXmlLocation

Interface SchemaResolver

## Saxon.Api
Class XdmFunctionItem

    public class XdmFunctionItem

extends XdmItem

  The class `XdmFunctionItem` represents an item in an XPath 3.0 sequence that represents a function.

  Note that there is no guarantee that every `XdmValue` comprising a single function item will be an instance of this class. To force this, use the `Simplify` property of the `XdmValue`.

  At present the only way of creating an instance of this class is as the result of an XPath or XQuery expression that returns a function item. Note that this feature requires XPath 3.0 or XQuery 3.0 to be enabled, which in turn requires use of Saxon-EE.

Property Summary
`QName` | `FunctionName` The name of the function, as a QName. The result will be null if the function is anonymous.
`int` | `Arity` The arity of the function, that is, the number of arguments it expects

Method Summary
`bool` | `IsAtomic()` Determine whether the item is an atomic value
`XdmValue` | `invoke(Saxon.Api.XdmValue[] arguments, Processor processor)` Invoke the function

Property Detail

### FunctionName

    public QName FunctionName {get; }

  The name of the function, as a QName. The result will be null if the function is anonymous.

### Arity

    public int Arity {get; }

  The arity of the function, that is, the number of arguments it expects

Method Detail

### IsAtomic

    public override bool IsAtomic()

  Determine whether the item is an atomic value

  returns
    false (a function item is not an atomic value)

### invoke

    public XdmValue invoke(Saxon.Api.XdmValue[] arguments,
                  Processor processor)

  Invoke the function

  Parameters:
  `arguments` -
    The arguments to the function
  `processor` -
    The Saxon processor, used to provide context information
  returns
    The result of calling the function