|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--net.sf.saxon.instruct.Instruction | +--net.sf.saxon.instruct.ExprInstruction | +--net.sf.saxon.instruct.SimpleNodeConstructor | +--net.sf.saxon.instruct.Attribute
An instruction derived from an xsl:attribute element in stylesheet, or from an attribute constructor in XQuery
Field Summary |
Fields inherited from class net.sf.saxon.instruct.SimpleNodeConstructor |
select, separator |
Fields inherited from class net.sf.saxon.instruct.Instruction |
children |
Constructor Summary | |
Attribute(Expression attributeName,
Expression namespace,
NamespaceResolver nsContext,
int validationAction,
SimpleType schemaType,
int annotation)
Construct an Attribute instruction |
Method Summary | |
void |
display(int level,
NamePool pool)
Display this instruction as an expression, for diagnostics |
protected int |
evaluateNameCode(XPathContext context)
|
int |
getCardinality()
Determine the static cardinality of the expression. |
int |
getDependencies()
Determine which aspects of the context the expression depends on. |
java.lang.String |
getInstructionName()
Get the name of this instruction |
ItemType |
getItemType()
Determine the data type of the expression, if possible. |
void |
getXPathExpressions(java.util.List list)
Get all the XPath expressions associated with this instruction (in XSLT terms, the expression present on attributes of the instruction, as distinct from the child instructions in a sequence construction) |
TailCall |
processLeavingTail(XPathContext context)
Process this instruction |
void |
promoteInst(PromotionOffer offer)
Offer promotion for subexpressions. |
void |
setRejectDuplicates()
Indicate that two attributes with the same name are not acceptable. |
Expression |
simplify()
Simplify an expression. |
void |
typeCheck(StaticContext env)
|
Methods inherited from class net.sf.saxon.instruct.SimpleNodeConstructor |
analyze, evaluateItem, expandChildren, setSelect, setSeparator |
Methods inherited from class net.sf.saxon.instruct.ExprInstruction |
effectiveBooleanValue, evaluateAsString, getSpecialProperties, getSubExpressions, iterate, promote |
Methods inherited from class net.sf.saxon.instruct.Instruction |
assembleParams, assembleTunnelParams, displayChildren, dynamicError, dynamicError, getChildren, getColumnNumber, getExecutable, getInstructionNamespace, getLineNumber, getPublicId, getSourceLocator, getSystemId, process, processChildren, processChildrenLeavingTail, recoverableError, setChildren, setExecutable, setSourceLocation |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public Attribute(Expression attributeName, Expression namespace, NamespaceResolver nsContext, int validationAction, SimpleType schemaType, int annotation)
attributeName
- An expression to calculate the attribute namenamespace
- An expression to calculate the attribute namespacensContext
- a NamespaceContext object containing the static namespace context of the
stylesheet instructionannotation
- Integer code identifying the type named in the type
attribute
of the instruction - zero if the attribute was not presentMethod Detail |
public void setRejectDuplicates()
public java.lang.String getInstructionName()
getInstructionName
in class Instruction
public ItemType getItemType()
Expression
This method should always return a result, though it may be the best approximation that is available at the time.
getItemType
in interface Expression
getItemType
in class Instruction
public int getCardinality()
Expression
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.
This method should always return a result, though it may be the best approximation that is available at the time.
getCardinality
in interface Expression
getCardinality
in class Instruction
public Expression simplify() throws XPathException
ExprInstruction
simplify
in interface Expression
simplify
in class ExprInstruction
XPathException
- if an error is discovered during expression
rewritingpublic void typeCheck(StaticContext env) throws XPathException
typeCheck
in class SimpleNodeConstructor
XPathException
public int getDependencies()
ExprInstruction
StaticProperty.DEPENDS_ON_CONTEXT_ITEM
and
StaticProperty.DEPENDS_ON_CURRENT_ITEM
. The default implementation combines the intrinsic
dependencies of this expression with the dependencies of the subexpressions,
computed recursively. This is overridden for expressions such as FilterExpression
where a subexpression's dependencies are not necessarily inherited by the parent
expression.
getDependencies
in interface Expression
getDependencies
in class ExprInstruction
public void getXPathExpressions(java.util.List list)
ExprInstruction
getXPathExpressions
in class SimpleNodeConstructor
list
- A list to be populated with the list of XPath expressionspublic void promoteInst(PromotionOffer offer) throws XPathException
promoteInst
in class 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
XPathException
- if any error is detectedpublic TailCall processLeavingTail(XPathContext context) throws javax.xml.transform.TransformerException
processLeavingTail
in interface Instr
processLeavingTail
in class Instruction
context
- the dynamic context of the transformation
javax.xml.transform.TransformerException
protected int evaluateNameCode(XPathContext context) throws XPathException, javax.xml.transform.TransformerException
evaluateNameCode
in class SimpleNodeConstructor
XPathException
javax.xml.transform.TransformerException
public void display(int level, NamePool pool)
display
in interface Expression
display
in class SimpleNodeConstructor
level
- indentation level for this expression
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |