net.sf.saxon.functions
Class NamePart

java.lang.Object
  extended bynet.sf.saxon.expr.ComputedExpression
      extended bynet.sf.saxon.expr.FunctionCall
          extended bynet.sf.saxon.functions.SystemFunction
              extended bynet.sf.saxon.functions.NamePart
All Implemented Interfaces:
Container, Expression, InstructionInfoProvider, java.io.Serializable, javax.xml.transform.SourceLocator

public class NamePart
extends SystemFunction

This class supports the name(), local-name(), and namespace-uri() functions from XPath 1.0, and also the XSLT generate-id() function

See Also:
Serialized Form

Field Summary
static int DOCUMENT_URI
           
static int GENERATE_ID
           
static int LOCAL_NAME
           
static int NAME
           
static int NAMESPACE_URI
           
static int NODE_NAME
           
 
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
locationId, staticProperties
 
Fields inherited from interface net.sf.saxon.expr.Expression
EVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD
 
Constructor Summary
NamePart()
           
 
Method Summary
 int computeSpecialProperties()
          Determine the special properties of this expression.
 Item evaluateItem(XPathContext c)
          Evaluate the function in a string context
static boolean isGenerateIdFunction(Expression exp)
          Test whether an expression is a call on the generate-id() function
 Expression simplify(StaticContext env)
          Simplify and validate.
 
Methods inherited from class net.sf.saxon.functions.SystemFunction
addContextDocumentArgument, checkArguments, computeCardinality, display, getDetails, getErrorCodeForTypeErrors, getItemType, getRequiredType, main, makeSystemFunction, setDetails, useContextItemAsDefault
 
Methods inherited from class net.sf.saxon.expr.FunctionCall
checkArgumentCount, getDisplayName, getFunctionNameCode, getNumberOfArguments, iterateSubExpressions, optimize, preEvaluate, promote, setArguments, setFunctionNameCode, simplifyArguments, typeCheck
 
Methods inherited from class net.sf.saxon.expr.ComputedExpression
adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, dynamicError, effectiveBooleanValue, evaluateAsString, getCardinality, getColumnNumber, getConstructType, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getParentExpression, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasBadParentPointer, iterate, markTailFunctionCalls, process, resetStaticProperties, setLocationId, setParentExpression, suppressValidation, typeError, typeError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NAME

public static final int NAME
See Also:
Constant Field Values

LOCAL_NAME

public static final int LOCAL_NAME
See Also:
Constant Field Values

NAMESPACE_URI

public static final int NAMESPACE_URI
See Also:
Constant Field Values

GENERATE_ID

public static final int GENERATE_ID
See Also:
Constant Field Values

DOCUMENT_URI

public static final int DOCUMENT_URI
See Also:
Constant Field Values

NODE_NAME

public static final int NODE_NAME
See Also:
Constant Field Values
Constructor Detail

NamePart

public NamePart()
Method Detail

simplify

public Expression simplify(StaticContext env)
                    throws XPathException
Simplify and validate.

Specified by:
simplify in interface Expression
Overrides:
simplify in class FunctionCall
Throws:
XPathException

computeSpecialProperties

public int computeSpecialProperties()
Determine the special properties of this expression. The generate-id() function is a special case: it is considered creative if its operand is creative, so that generate-id(f()) is not taken out of a loop

Overrides:
computeSpecialProperties in class SystemFunction

evaluateItem

public Item evaluateItem(XPathContext c)
                  throws XPathException
Evaluate the function in a string context

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

isGenerateIdFunction

public static boolean isGenerateIdFunction(Expression exp)
Test whether an expression is a call on the generate-id() function

Parameters:
exp - the expression to be tested
Returns:
true if exp is a call on generate-id(), else false