Package net.sf.saxon.instruct
Class QuerySimpleContentConstructor
java.lang.Object
net.sf.saxon.expr.ComputedExpression
net.sf.saxon.instruct.SimpleContentConstructor
net.sf.saxon.instruct.QuerySimpleContentConstructor
- All Implemented Interfaces:
Serializable
,SourceLocator
,Container
,Expression
,InstructionInfoProvider
This class implements the rules for an XQuery simple content constructor, which are used in constructing
the string value of an attribute node, text node, comment node, etc, from the value of the select
expression or the contained sequence constructor. These differ slightly from the XSLT rules implemented
in the superclass - specifically, the sequence is simply atomized, whereas XSLT takes special steps to
concatenate adjacent text nodes before inserting separators.
- See Also:
-
Field Summary
FieldsFields inherited from class net.sf.saxon.instruct.SimpleContentConstructor
isAtomic, isSingleton, select, separator
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
ConstructorsConstructorDescriptionQuerySimpleContentConstructor
(Expression select, Expression separator, boolean noNodeIfEmpty) -
Method Summary
Modifier and TypeMethodDescriptionprotected int
Compute the cardinality of the result of the expression.evaluateItem
(XPathContext context) Evaluate an expression as a single item.expandChildren
(XPathContext context) Expand the stylesheet elements subordinate to this one, returning the result as a string.Methods inherited from class net.sf.saxon.instruct.SimpleContentConstructor
display, getImplementationMethod, getItemType, iterateSubExpressions, optimize, promote, replaceSubExpression, simplify, typeCheck
Methods inherited from class net.sf.saxon.expr.ComputedExpression
adoptChildExpression, checkPermittedContents, computeDependencies, computeSpecialProperties, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, getCardinality, getColumnNumber, getConstructType, getDependencies, getExecutable, getHostLanguage, getInstructionInfo, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getParentExpression, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasBadParentPointer, iterate, markTailFunctionCalls, process, resetStaticProperties, setLocationId, setParentExpression, setParentExpression, suppressValidation, typeError
-
Field Details
-
noNodeIfEmpty
boolean noNodeIfEmpty
-
-
Constructor Details
-
QuerySimpleContentConstructor
public QuerySimpleContentConstructor(Expression select, Expression separator, boolean noNodeIfEmpty)
-
-
Method Details
-
computeCardinality
protected int computeCardinality()Compute the cardinality of the result of the expression.- Overrides:
computeCardinality
in classSimpleContentConstructor
- Returns:
- the cardinality, @link {StaticProperty.EXACTLY_ONE}
-
expandChildren
Expand the stylesheet elements subordinate to this one, returning the result as a string. The expansion must not generate any element or attribute nodes.- Parameters:
context
- The dynamic context for the transformation- Throws:
XPathException
-
evaluateItem
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 interfaceExpression
- Overrides:
evaluateItem
in classSimpleContentConstructor
- Parameters:
context
- 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
-