public class ProcessingInstruction extends SimpleNodeConstructor
select
EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, PROCESS_METHOD, PUSH_SELECTION, staticProperties, WATCH_METHOD
Constructor and Description |
---|
ProcessingInstruction(Expression name)
Create an xsl:processing-instruction instruction
|
Modifier and Type | Method and Description |
---|---|
protected String |
checkContent(String data,
XPathContext context)
Check the content of the node, and adjust it if necessary
|
Expression |
copy()
Copy an expression.
|
int |
evaluateNameCode(XPathContext context)
Run-time method to compute the name of the node being constructed.
|
void |
explain(ExpressionPresenter out)
Diagnostic print of expression structure.
|
int |
getCardinality()
Determine the static cardinality of the expression.
|
int |
getDependencies()
Determine which aspects of the context the expression depends on.
|
int |
getInstructionNameCode()
Get the name of this instruction for diagnostic and tracing purposes
|
ItemType |
getItemType(TypeHierarchy th)
Get the item type of the items returned by evaluating this instruction
|
Expression |
getNameExpression()
Get the expression that defines the processing instruction name
|
Iterator<Expression> |
iterateSubExpressions()
Get the immediate sub-expressions of this expression.
|
void |
localTypeCheck(ExpressionVisitor visitor,
ItemType contextItemType)
Method to perform type-checking specific to the kind of instruction
|
void |
processValue(CharSequence value,
XPathContext context)
Process the value of the node, to create the new node.
|
protected void |
promoteInst(PromotionOffer offer)
Offer promotion for subexpressions.
|
boolean |
replaceSubExpression(Expression original,
Expression replacement)
Replace one subexpression by a replacement subexpression
|
Expression |
simplify(ExpressionVisitor visitor)
Simplify an expression.
|
computeCardinality, computeSpecialProperties, createsNewNodes, evaluateItem, getContentExpression, iterate, optimize, processLeavingTail, setSelect, typeCheck
assembleParams, assembleTunnelParams, dynamicError, evaluateAsString, getConstructType, getExpressionName, getImplementationMethod, getInstructionName, getIteratorFromProcessMethod, getSourceLocator, isXSLT, process, promote
addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluatePendingUpdates, explain, getColumnNumber, getColumnNumber, getContainer, getEvaluationMethod, getExecutable, getHostLanguage, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, toString, typeError
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getColumnNumber, getLineNumber, getPublicId, getSystemId
public ProcessingInstruction(Expression name)
name
- the expression used to compute the name of the generated
processing-instructionpublic int getInstructionNameCode()
getInstructionNameCode
in class Instruction
public Expression getNameExpression()
public ItemType getItemType(TypeHierarchy th)
Instruction
getItemType
in class Instruction
th
- the type hierarchy cachepublic int getCardinality()
Expression
getCardinality
in class Expression
public Expression simplify(ExpressionVisitor visitor) throws XPathException
Instruction
simplify
in class SimpleNodeConstructor
visitor
- an expression visitorXPathException
- if an error is discovered during expression
rewritingpublic Expression copy()
copy
in class Expression
public void localTypeCheck(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException
SimpleNodeConstructor
localTypeCheck
in class SimpleNodeConstructor
visitor
- an expression visitorcontextItemType
- the static type of the context itemXPathException
public int getDependencies()
Expression
getDependencies
in class Expression
public Iterator<Expression> iterateSubExpressions()
Expression
iterateSubExpressions
in class SimpleNodeConstructor
public boolean replaceSubExpression(Expression original, Expression replacement)
replaceSubExpression
in class SimpleNodeConstructor
original
- the original subexpressionreplacement
- the replacement subexpressionprotected 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 expressionXPathException
- if any error is detectedpublic void processValue(CharSequence value, XPathContext context) throws XPathException
processValue
in class SimpleNodeConstructor
value
- the string value of the new nodecontext
- the dynamic evaluation contextXPathException
protected String checkContent(String data, XPathContext context) throws XPathException
checkContent
in class SimpleNodeConstructor
data
- the supplied contentcontext
- the dynamic contextXPathException
- if the content is invalidpublic int evaluateNameCode(XPathContext context) throws XPathException
SimpleNodeConstructor
evaluateNameCode
in class SimpleNodeConstructor
context
- the XPath dynamic evaluation contextXPathException
- if any failure occurspublic void explain(ExpressionPresenter out)
explain
in class Expression
out
- the expression presenter used to display the structure