net.sf.saxon.instruct
Class Namespace
- SourceLocator, EvaluableItem, InstructionInfoProvider, SequenceIterable, Serializable, SourceLocator, TailCallReturner
An xsl:namespace element in the stylesheet. (XSLT 2.0)
Namespace(Expression name) - Create an xsl:namespace instruction for dynamic construction of namespace nodes
|
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 |
Namespace
public Namespace(Expression name)
Create an xsl:namespace instruction for dynamic construction of namespace nodes
name
- the expression to evaluate the name of the node (that is, the prefix)
copy
public Expression copy()
Copy an expression. This makes a deep copy.
- copy in interface Expression
- the copy of the original expression
evaluateNameCode
public int evaluateNameCode(XPathContext context)
throws XPathException
Run-time method to compute the name of the node being constructed. This is overridden
for nodes that have a name. The default implementation returns -1, which is suitable for
unnamed nodes such as comments
- evaluateNameCode in interface SimpleNodeConstructor
context
- the XPath dynamic evaluation context
- the name pool nameCode identifying the name of the constructed node
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
getCardinality
public int getCardinality()
Determine the static cardinality of the expression. This establishes how many items
there will be in the result of the expression, at compile time (i.e., without
actually evaluating the result.
- getCardinality in interface Expression
- one of the values Cardinality.ONE_OR_MORE,
Cardinality.ZERO_OR_MORE, Cardinality.EXACTLY_ONE,
Cardinality.ZERO_OR_ONE, Cardinality.EMPTY. This default
implementation returns ZERO_OR_MORE (which effectively gives no
information).
getInstructionNameCode
public int getInstructionNameCode()
Set the name of this instruction for diagnostic and tracing purposes
- getInstructionNameCode in interface Instruction
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)
iterateSubExpressions
public Iterator iterateSubExpressions()
Get the immediate sub-expressions of this expression. Default implementation
returns a zero-length array, appropriate for an expression that has no
sub-expressions.
- iterateSubExpressions in interface SimpleNodeConstructor
- an iterator containing the sub-expressions of this expression
processLeavingTail
public TailCall processLeavingTail(XPathContext context)
throws XPathException
ProcessLeavingTail: called to do the real work of this instruction. This method
must be implemented in each subclass. The results of the instruction are written
to the current Receiver, which can be obtained via the Controller.
- processLeavingTail in interface TailCallReturner
- processLeavingTail in interface Instruction
context
- The dynamic context of the transformation, giving access to the current node,
the current variables, etc.
- null if the instruction has completed execution; or a TailCall indicating
a function call or template call that is delegated to the caller, to be made after the stack has
been unwound so as to save stack space.
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
replaceSubExpression
public boolean replaceSubExpression(Expression original,
Expression replacement)
Replace one subexpression by a replacement subexpression
- replaceSubExpression in interface SimpleNodeConstructor
original
- the original subexpressionreplacement
- the replacement subexpression
- true if the original subexpression is found