net.sf.saxon.instruct

Class NamespaceConstructor

public class NamespaceConstructor extends SimpleNodeConstructor

A namespace constructor instruction. (xsl:namespace in XSLT 2.0, or namespace{}{} in XQuery 1.1)
Constructor Summary
NamespaceConstructor(Expression name)
Create an xsl:namespace instruction for dynamic construction of namespace nodes
Method Summary
Expressioncopy()
Copy an expression.
ItemevaluateItem(XPathContext context)
Evaluate as an expression.
intevaluateNameCode(XPathContext context)
voidexplain(ExpressionPresenter out)
Diagnostic print of expression structure.
intgetCardinality()
intgetInstructionNameCode()
Set the name of this instruction for diagnostic and tracing purposes
ItemTypegetItemType(TypeHierarchy th)
Iterator<Expression>iterateSubExpressions()
voidlocalTypeCheck(ExpressionVisitor visitor, ItemType contextItemType)
voidprocessValue(CharSequence value, XPathContext context)
protected voidpromoteInst(PromotionOffer offer)
booleanreplaceSubExpression(Expression original, Expression replacement)
Replace one subexpression by a replacement subexpression
Expressionsimplify(ExpressionVisitor visitor)

Constructor Detail

NamespaceConstructor

public NamespaceConstructor(Expression name)
Create an xsl:namespace instruction for dynamic construction of namespace nodes

Parameters: name the expression to evaluate the name of the node (that is, the prefix)

Method Detail

copy

public Expression copy()
Copy an expression. This makes a deep copy.

Returns: the copy of the original expression

evaluateItem

public Item evaluateItem(XPathContext context)
Evaluate as an expression. We rely on the fact that when these instructions are generated by XQuery, there will always be a valueExpression to evaluate the content

evaluateNameCode

public int evaluateNameCode(XPathContext context)

explain

public void explain(ExpressionPresenter out)
Diagnostic print of expression structure. The abstract expression tree is written to the supplied output destination.

getCardinality

public int getCardinality()

getInstructionNameCode

public int getInstructionNameCode()
Set the name of this instruction for diagnostic and tracing purposes

getItemType

public ItemType getItemType(TypeHierarchy th)

iterateSubExpressions

public Iterator<Expression> iterateSubExpressions()

localTypeCheck

public void localTypeCheck(ExpressionVisitor visitor, ItemType contextItemType)

processValue

public void processValue(CharSequence value, XPathContext context)

promoteInst

protected void promoteInst(PromotionOffer offer)

replaceSubExpression

public boolean replaceSubExpression(Expression original, Expression replacement)
Replace one subexpression by a replacement subexpression

Parameters: original the original subexpression replacement the replacement subexpression

Returns: true if the original subexpression is found

simplify

public Expression simplify(ExpressionVisitor visitor)