public class AdjacentTextNodeMerger extends UnaryExpression
EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, MAX_COST, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, UPDATE_METHOD, WATCH_METHOD
Constructor and Description |
---|
AdjacentTextNodeMerger(Expression p0) |
Modifier and Type | Method and Description |
---|---|
int |
computeCardinality()
Determine the static cardinality.
|
Expression |
copy(RebindingMap rebindings)
Copy an expression.
|
java.lang.String |
getExpressionName()
Get a name identifying the kind of expression, in terms meaningful to a user.
|
int |
getImplementationMethod()
An implementation of Expression must provide at least one of the methods evaluateItem(), iterate(), or process().
|
ItemType |
getItemType()
Determine the data type of the expression, if possible.
|
protected OperandRole |
getOperandRole()
Get the usage (in terms of streamability analysis) of the single operand
|
UType |
getStaticUType(UType contextItemType)
Get the static type of the expression as a UType, following precisely the type
inference rules defined in the XSLT 3.0 specification.
|
java.lang.String |
getStreamerName()
Get the (partial) name of a class that supports streaming of this kind of expression
|
static boolean |
isTextNode(Item item)
Ask whether an item is a text node
|
SequenceIterator<?> |
iterate(XPathContext context)
Return an Iterator to iterate over the values of a sequence.
|
static Expression |
makeAdjacentTextNodeMerger(Expression base)
Make an AdjacentTextNodeMerger expression with a given operand, or a simpler equivalent expression if appropriate
|
void |
process(XPathContext context,
Location locationId,
int options)
Process the instruction, without returning any tail calls
|
Expression |
simplify()
Simplify an expression.
|
Expression |
typeCheck(ExpressionVisitor visitor,
ContextItemStaticInfo contextInfo)
Type-check the expression.
|
computeHashCode, computeSpecialProperties, displayOperator, equals, export, getBaseExpression, getOperand, operands, optimize, setBaseExpression, toShortString, toString
addToPathMap, adoptChildExpression, allowExtractingCommonSubexpressions, checkedOperands, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, dynamicError, effectiveBooleanValue, evaluateAsString, evaluateItem, evaluatePendingUpdates, explain, getCardinality, getConfiguration, getConstructType, getCost, getDependencies, getEvaluationMethod, getExtraProperty, getIntegerBounds, getInterpretedExpression, getIntrinsicDependencies, getLocalRetainedStaticContext, getLocation, getNetCost, getObjectName, getPackageData, getParentExpression, getProperties, getProperty, getRetainedStaticContext, getScopingExpression, getSlotsUsed, getSpecialProperties, getStaticBaseURI, getStaticBaseURIString, getStaticType, hasCompatibleStaticContext, hashCode, hasSpecialProperty, hasVariableBinding, identityHashCode, implementsStaticTypeCheck, isCallOn, isEqual, isIdentical, isInstruction, isLiftable, isMultiThreaded, isStaticPropertiesKnown, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, markTailFunctionCalls, operandList, operandSparseList, optimizeChildren, prepareForStreaming, process, resetLocalStaticProperties, restoreParentPointers, setEvaluationMethod, setExtraProperty, setFiltered, setFlattened, setLocation, setParentExpression, setRetainedStaticContext, setRetainedStaticContextLocally, setRetainedStaticContextThoroughly, setStaticProperty, simplifyChildren, staticTypeCheck, suppressValidation, toPattern, typeCheckChildren, typeError, unordered, verifyParentPointers
public AdjacentTextNodeMerger(Expression p0)
public static Expression makeAdjacentTextNodeMerger(Expression base)
base
- the operand expressionprotected OperandRole getOperandRole()
UnaryExpression
getOperandRole
in class UnaryExpression
public Expression simplify() throws XPathException
Expression
simplify
in class Expression
XPathException
- if an error is discovered during expression
rewritingpublic Expression typeCheck(ExpressionVisitor visitor, ContextItemStaticInfo contextInfo) throws XPathException
UnaryExpression
typeCheck
in class UnaryExpression
visitor
- an expression visitorcontextInfo
- Information available statically about the context item: whether it is (possibly)
absent; its static type; its streaming posture.XPathException
- if an error is discovered during this phase
(typically a type error)public ItemType getItemType()
getItemType
in class UnaryExpression
public UType getStaticUType(UType contextItemType)
getStaticUType
in class Expression
contextItemType
- the static type of the context itempublic int computeCardinality()
UnaryExpression
computeCardinality
in class UnaryExpression
StaticProperty.ALLOWS_ZERO_OR_ONE
,
StaticProperty.EXACTLY_ONE
, StaticProperty.ALLOWS_ONE_OR_MORE
,
StaticProperty.ALLOWS_ZERO_OR_MORE
. May also return StaticProperty.ALLOWS_ZERO
if
the result is known to be an empty sequence, or StaticProperty.ALLOWS_MANY
if
if is known to return a sequence of length two or more.public Expression copy(RebindingMap rebindings)
copy
in class Expression
rebindings
- public int getImplementationMethod()
getImplementationMethod
in class Expression
Expression.ITERATE_METHOD
or Expression.EVALUATE_METHOD
or
Expression.PROCESS_METHOD
public java.lang.String getStreamerName()
getStreamerName
in class Expression
public SequenceIterator<?> iterate(XPathContext context) throws XPathException
iterate
in class Expression
context
- supplies the context for evaluationXPathException
- if any dynamic error occurs evaluating the
expressionpublic void process(XPathContext context, Location locationId, int options) throws XPathException
context
- The dynamic context, giving access to the current node,
the current variables, etc.XPathException
public java.lang.String getExpressionName()
Expression
getExpressionName
in class Expression
public static boolean isTextNode(Item item)
item
- the item in questionCopyright (c) 2004-2020 Saxonica Limited. All rights reserved.