net.sf.saxon.functions
Class StringJoin

java.lang.Object
  |
  +--net.sf.saxon.expr.ComputedExpression
        |
        +--net.sf.saxon.expr.FunctionCall
              |
              +--net.sf.saxon.functions.SystemFunction
                    |
                    +--net.sf.saxon.functions.StringJoin
All Implemented Interfaces:
Expression, java.io.Serializable

public class StringJoin
extends SystemFunction

xf:string-join(string* $sequence, string $separator)

See Also:
Serialized Form

Field Summary
 
Fields inherited from class net.sf.saxon.functions.SystemFunction
operation
 
Fields inherited from class net.sf.saxon.expr.FunctionCall
argument
 
Fields inherited from class net.sf.saxon.expr.ComputedExpression
lineNumber, NO_ARGUMENTS, staticProperties
 
Constructor Summary
StringJoin()
           
 
Method Summary
 Expression analyze(StaticContext env)
          Type-check the expression.
 Item evaluateItem(XPathContext c)
          Evaluate an expression as a single item.
 
Methods inherited from class net.sf.saxon.functions.SystemFunction
addContextDocumentArgument, checkArguments, computeCardinality, display, getDetails, getItemType, getName, getRequiredType, main, makeSystemFunction, useContextItemAsDefault
 
Methods inherited from class net.sf.saxon.expr.FunctionCall
checkArgumentCount, getNumberOfArguments, getSubExpressions, preEvaluate, promote, setArguments, simplify, simplifyArguments
 
Methods inherited from class net.sf.saxon.expr.ComputedExpression
computeDependencies, computeSpecialProperties, computeStaticProperties, dynamicError, effectiveBooleanValue, evaluateAsString, getCardinality, getDependencies, getIntrinsicDependencies, getLineNumber, getSourceLocator, getSpecialProperties, iterate, markTailFunctionCalls, setLineNumber, typeError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StringJoin

public StringJoin()
Method Detail

analyze

public Expression analyze(StaticContext env)
                   throws XPathException
Type-check the expression. This simplifies the expression if the first argument is a singleton: important as this is common for attribute value templates.

Specified by:
analyze in interface Expression
Overrides:
analyze in class FunctionCall
Parameters:
env - the static context of the expression
Returns:
the original expression, rewritten to perform necessary run-time type checks, and to perform other type-related optimizations
XPathException

evaluateItem

public Item evaluateItem(XPathContext c)
                  throws XPathException
Description copied from class: ComputedExpression
Evaluate an expression as a single item. This always returns either a single Item or null (denoting the empty sequence). No conversion is done. This method should not be used unless the static type of the expression is a subtype of "item" or "item?": that is, it should not be called if the expression may return a sequence. There is no guarantee that this condition will be detected.

Specified by:
evaluateItem in interface Expression
Overrides:
evaluateItem in class ComputedExpression
Parameters:
c - The context in which the expression is to be evaluated
Returns:
the node or atomic value that results from evaluating the expression; or null to indicate that the result is an empty sequence
Throws:
XPathException - if any dynamic error occurs evaluating the expression