net.sf.saxon.instruct
Class ValueOf
- SourceLocator, EvaluableItem, InstructionInfoProvider, SequenceIterable, Serializable, SourceLocator, TailCallReturner
public final class ValueOf
An xsl:value-of element in the stylesheet.
The xsl:value-of element takes attributes:
- a mandatory attribute select="expression".
This must be a valid String expression
- an optional disable-output-escaping attribute, value "yes" or "no"
- an optional separator attribute. This is handled at compile-time: if the separator attribute
is present, the select expression passed in here will be a call to the string-join() function.
ValueOf(Expression select, boolean disable, boolean noNodeIfEmpty) - Create a new ValueOf expression
|
checkContent , computeCardinality , computeSpecialProperties , createsNewNodes , evaluateItem , evaluateNameCode , expandChildren , getSelect , iterate , iterateSubExpressions , localTypeCheck , optimize , promoteInst , replaceSubExpression , setSelect , simplify , typeCheck |
assembleParams , assembleTunnelParams , computeCardinality , computeSpecialProperties , createsNewNodes , dynamicError , evaluateAsString , evaluateItem , getImplementationMethod , getInstructionInfo , getInstructionNameCode , getItemType , getSourceLocator , isXSLT , iterate , process , processLeavingTail , promote , promoteInst , simplify |
addToPathMap , adoptChildExpression , checkPermittedContents , computeCardinality , computeDependencies , computeSpecialProperties , computeStaticProperties , copy , display , doPromotion , dynamicError , effectiveBooleanValue , evaluateAsString , evaluateItem , explain , explain , findParentOf , getCardinality , getColumnNumber , getConstructType , getContainer , getDependencies , getExecutable , getHostLanguage , getImplementationMethod , getInstructionInfo , getIntrinsicDependencies , getItemType , getLineNumber , getLocationId , getLocationProvider , getPublicId , getSlotsUsed , getSpecialProperties , getSystemId , hasLoopingSubexpression , implementsStaticTypeCheck , iterate , iterateEvents , iterateSubExpressions , markTailFunctionCalls , optimize , process , promote , replaceSubExpression , resetLocalStaticProperties , setContainer , setFiltered , setFlattened , setLocationId , simplify , staticTypeCheck , suppressValidation , toString , typeCheck , typeError |
ValueOf
public ValueOf(Expression select,
boolean disable,
boolean noNodeIfEmpty)
Create a new ValueOf expression
select
- the select expressiondisable
- true if disable-output-escaping is in forcenoNodeIfEmpty
- true if the instruction is to return () if the select expression is (),
false if it is to return an empty text node
checkPermittedContents
public void checkPermittedContents(SchemaType parentType,
StaticContext env,
boolean whole)
throws XPathException
Check statically that the results of the expression are capable of constructing the content
of a given schema type.
- checkPermittedContents in interface Expression
parentType
- The schema typeenv
- the static contextwhole
- true if this expression is to account for the whole value of the type
XPathException
- if the expression doesn't match the required content type
convertToStringJoin
public Expression convertToStringJoin(StaticContext env)
Convert this value-of instruction to an expression that delivers the string-value of the resulting
text node. This will often be a call on the string-join function.
env
- the static evaluation context
copy
public Expression copy()
Copy an expression. This makes a deep copy.
- copy in interface Expression
- the copy of the original expression
explain
public void explain(ExpressionPresenter out)
Diagnostic print of expression structure. The abstract expression tree
is written to the supplied output destination.
- explain in interface Expression
getInstructionNameCode
public int getInstructionNameCode()
Get the name of this instruction for diagnostic and tracing purposes
- getInstructionNameCode in interface Instruction
- the namecode of the instruction name
getItemType
public ItemType getItemType(TypeHierarchy th)
Determine the data type of the expression, if possible. All expression return
sequences, in general; this method determines the type of the items within the
sequence, assuming that (a) this is known in advance, and (b) it is the same for
all items in the sequence.
This method should always return a result, though it may be the best approximation
that is available at the time.
- getItemType in interface Instruction
th
- the type hierarchy cache
- a value such as Type.STRING, Type.BOOLEAN, Type.NUMBER,
Type.NODE, or Type.ITEM (meaning not known at compile time)
getOptions
public int getOptions()
Test for any special options such as disable-output-escaping
isNumberingInstruction
public boolean isNumberingInstruction()
Determine whether this is really an xsl:number instruction
- true if this derives from xsl:number
promoteInst
protected void promoteInst(PromotionOffer offer)
throws XPathException
Offer promotion for subexpressions. The offer will be accepted if the subexpression
is not dependent on the factors (e.g. the context item) identified in the PromotionOffer.
By default the offer is not accepted - this is appropriate in the case of simple expressions
such as constant values and variable references where promotion would give no performance
advantage. This method is always called at compile time.
- promoteInst in interface SimpleNodeConstructor
offer
- details of the offer, for example the offer to move
expressions that don't depend on the context to an outer level in
the containing expression
setIsNumberingInstruction
public void setIsNumberingInstruction()
Indicate that this is really an xsl:nunber instruction