net.sf.saxon.instruct
Class QuerySimpleContentConstructor
java.lang.Object
net.sf.saxon.expr.Expression
net.sf.saxon.instruct.SimpleContentConstructor
net.sf.saxon.instruct.QuerySimpleContentConstructor
- All Implemented Interfaces:
- Serializable, SourceLocator, EvaluableItem, SequenceIterable, InstructionInfoProvider
public class QuerySimpleContentConstructor
- extends SimpleContentConstructor
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:
- Serialized Form
Methods inherited from class net.sf.saxon.instruct.SimpleContentConstructor |
explain, getImplementationMethod, getItemType, getSelectExpression, getSeparatorExpression, isAtomic, isSingleton, iterateSubExpressions, optimize, promote, replaceSubExpression, simplify, typeCheck |
Methods inherited from class net.sf.saxon.expr.Expression |
addToPathMap, adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, display, doPromotion, effectiveBooleanValue, evaluateAsString, explain, findParentOf, getCardinality, getColumnNumber, getContainer, getDependencies, getExecutable, getHostLanguage, getInstructionInfo, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, iterate, iterateEvents, markTailFunctionCalls, process, setContainer, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, toString |
QuerySimpleContentConstructor
public QuerySimpleContentConstructor(Expression select,
Expression separator,
boolean noNodeIfEmpty)
isNoNodeWhenEmpty
public boolean isNoNodeWhenEmpty()
copy
public Expression copy()
- Copy an expression. This makes a deep copy.
- Overrides:
copy
in class SimpleContentConstructor
- Returns:
- the copy of the original expression
expandChildren
public CharSequence expandChildren(XPathContext context)
throws XPathException
- 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
public Item evaluateItem(XPathContext context)
throws XPathException
- 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 EvaluableItem
- Overrides:
evaluateItem
in class SimpleContentConstructor
- 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
Copyright (C) Michael H. Kay. All rights reserved.