public abstract class ElementCreator extends ParentNodeConstructor
contentOp, preservingTypesEFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, MAX_COST, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, UPDATE_METHOD, WATCH_METHOD| Constructor and Description |
|---|
ElementCreator()
Construct an ElementCreator.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
checkContentSequence(StaticContext env)
Check statically whether the content of the element creates attributes or namespaces
after creating any child nodes
|
int |
computeSpecialProperties()
Get the static properties of this expression (other than its type).
|
int |
getCardinality()
Determine the static cardinality of the expression.
|
abstract NodeName |
getElementName(XPathContext context,
NodeInfo copiedNode)
Determine (at run-time) the name code of the element being constructed
|
int |
getImplementationMethod()
An implementation of Expression must provide at least one of the methods evaluateItem(), iterate(), or process().
|
ItemType |
getItemType()
Get the item type of the value returned by this instruction
|
abstract java.lang.String |
getNewBaseURI(XPathContext context,
NodeInfo copiedNode)
Get the base URI for the element being constructed
|
java.lang.String |
getStreamerName()
Get the (partial) name of a class that supports streaming of this kind of expression
|
boolean |
isBequeathNamespacesToChildren()
Ask whether the inherit namespaces flag is set
|
boolean |
isInheritNamespacesFromParent()
Ask whether this element inherits namespaces from its parent.
|
abstract void |
outputNamespaceNodes(Outputter receiver,
NodeName nodeName,
NodeInfo copiedNode)
Callback to output namespace bindings for the new element.
|
TailCall |
processLeavingTail(Outputter output,
XPathContext context)
Evaluate the instruction to produce a new element node.
|
TailCall |
processLeavingTail(Outputter out,
XPathContext context,
NodeInfo copiedNode)
Evaluate the instruction to produce a new element node.
|
void |
setBequeathNamespacesToChildren(boolean inherit)
Say whether this element causes its children to inherit namespaces
|
void |
setInheritanceFlags(java.lang.String flags) |
void |
setInheritNamespacesFromParent(boolean inherit)
Say whether this element causes inherits namespaces from its parent.
|
void |
suppressValidation(int parentValidationMode)
Suppress validation on contained element constructors, on the grounds that the parent element
is already performing validation.
|
addToPathMap, allowExtractingCommonSubexpressions, alwaysCreatesNewNodes, computeCardinality, getContentExpression, getContentOperand, getSchemaType, getValidationAction, getValidationOptions, isLocal, isPreservingTypes, mayCreateNewNodes, optimize, setContentExpression, setNoNeedToStrip, setValidationAction, typeCheckassembleParams, assembleTunnelParams, dynamicError, evaluateAsString, evaluateItem, getExpressionName, getInstructionNameCode, getNetCost, getSourceLocator, isInstruction, isXSLT, iterate, operands, process, someOperandCreatesNewNodesadoptChildExpression, checkedOperands, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeHashCode, computeStaticProperties, copy, dynamicError, effectiveBooleanValue, equals, evaluatePendingUpdates, explain, export, getConfiguration, getCost, getDependencies, getEvaluationMethod, getExtraProperty, getIntegerBounds, getInterpretedExpression, getIntrinsicDependencies, getLocalRetainedStaticContext, getLocation, getObjectName, getPackageData, getParentExpression, getProperties, getProperty, getRetainedStaticContext, getScopingExpression, getSlotsUsed, getSpecialProperties, getStaticBaseURI, getStaticBaseURIString, getStaticType, getStaticUType, getTracingTag, hasCompatibleStaticContext, hashCode, hasSpecialProperty, hasVariableBinding, identityHashCode, implementsStaticTypeCheck, isCallOn, isEqual, isIdentical, isLiftable, isMultiThreaded, isStaticPropertiesKnown, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, markTailFunctionCalls, operandList, operandSparseList, optimizeChildren, prepareForStreaming, resetLocalStaticProperties, restoreParentPointers, setEvaluationMethod, setExtraProperty, setFiltered, setFlattened, setLocation, setParentExpression, setRetainedStaticContext, setRetainedStaticContextLocally, setRetainedStaticContextThoroughly, setStaticProperty, simplify, simplifyChildren, staticTypeCheck, toPattern, toShortString, toString, typeCheckChildren, typeError, unordered, verifyParentPointersclone, finalize, getClass, notify, notifyAll, wait, wait, waitgatherPropertiespublic ElementCreator()
public ItemType getItemType()
getItemType in class Instructionpublic int getCardinality()
ExpressiongetCardinality in class ParentNodeConstructorpublic void setBequeathNamespacesToChildren(boolean inherit)
inherit - true if namespaces are to be inherited by the childrenpublic boolean isBequeathNamespacesToChildren()
public void setInheritNamespacesFromParent(boolean inherit)
inherit - true if namespaces are to be inherited from the parentpublic boolean isInheritNamespacesFromParent()
public int computeSpecialProperties()
computeSpecialProperties in class Instructionpublic void suppressValidation(int parentValidationMode)
suppressValidation in class ExpressionparentValidationMode - the kind of validation being performed on the parent expressionprotected void checkContentSequence(StaticContext env) throws XPathException
checkContentSequence in class ParentNodeConstructorenv - the static contextXPathException - if the content is found to be incorrectpublic abstract NodeName getElementName(XPathContext context, NodeInfo copiedNode) throws XPathException
context - the XPath dynamic evaluation contextcopiedNode - for the benefit of xsl:copy, the node being copied; otherwise nullXPathException - if a failure occurspublic abstract java.lang.String getNewBaseURI(XPathContext context, NodeInfo copiedNode)
context - the XPath dynamic evaluation contextcopiedNode - the node being copied (for xsl:copy), otherwise nullpublic abstract void outputNamespaceNodes(Outputter receiver, NodeName nodeName, NodeInfo copiedNode) throws XPathException
receiver - the Outputter where the namespace bindings are to be writtennodeName - the name of the element being createdcopiedNode - the node being copied (for xsl:copy) or null otherwiseXPathException - if a dynamic error occurspublic int getImplementationMethod()
getImplementationMethod in class InstructionExpression.ITERATE_METHOD or Expression.EVALUATE_METHOD or
Expression.PROCESS_METHODpublic TailCall processLeavingTail(Outputter output, XPathContext context) throws XPathException
processLeavingTail in interface TailCallReturnerprocessLeavingTail in class Instructionoutput - the destination for the resultcontext - XPath dynamic evaluation contextXPathException - if a dynamic error occurspublic final TailCall processLeavingTail(Outputter out, XPathContext context, NodeInfo copiedNode) throws XPathException
out - The destination for the resultcontext - XPath dynamic evaluation contextcopiedNode - null except in the case of xsl:copy, when it is the node being copied; otherwise nullXPathException - if a dynamic error occurspublic void setInheritanceFlags(java.lang.String flags)
public java.lang.String getStreamerName()
getStreamerName in class ExpressionCopyright (c) 2004-2021 Saxonica Limited. All rights reserved.