net.sf.saxon.type
Interface FunctionItemType

All Superinterfaces:
ItemType, Serializable
All Known Implementing Classes:
AnyFunctionType, FunctionType

public interface FunctionItemType
extends ItemType

Higher-order functions in XQuery 1.1 introduce a third kind of Item, namely a Function Item. This type is represented here by a placeholder interfaces. The implementation of this type is found only in Saxon-EE


Method Summary
 Expression makeFunctionSequenceCoercer(Expression exp, RoleLocator role, TypeCheckerEnvironment visitor)
          Create an expression whose effect is to apply function coercion to coerce a function to this function type
 int relationship(FunctionItemType other, TypeHierarchy th)
          Determine the relationship of one function item type to another
 
Methods inherited from interface net.sf.saxon.type.ItemType
getAtomizedItemType, getPrimitiveItemType, getPrimitiveType, getSuperType, isAtomicType, isAtomizable, matchesItem, toString, visitNamedSchemaComponents
 

Method Detail

relationship

int relationship(FunctionItemType other,
                 TypeHierarchy th)
Determine the relationship of one function item type to another

Returns:
for example TypeHierarchy.SUBSUMES, TypeHierarchy.SAME_TYPE

makeFunctionSequenceCoercer

Expression makeFunctionSequenceCoercer(Expression exp,
                                       RoleLocator role,
                                       TypeCheckerEnvironment visitor)
                                       throws XPathException
Create an expression whose effect is to apply function coercion to coerce a function to this function type

Parameters:
exp - the expression that delivers the supplied sequence of function items (the ones in need of coercion)
role - information for use in diagnostics
visitor - the expression visitor, supplies context information
Returns:
the coerced function, a function that calls the original function after checking the parameters
Throws:
XPathException


Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.