Package net.sf.saxon.expr.instruct
Class AttributeCreator
java.lang.Object
net.sf.saxon.expr.Expression
net.sf.saxon.expr.instruct.Instruction
net.sf.saxon.expr.instruct.SimpleNodeConstructor
net.sf.saxon.expr.instruct.AttributeCreator
- All Implemented Interfaces:
Serializable,SourceLocator,LocationProvider,SaxonLocator,TailCallReturner,ValidatingInstruction,InstructionInfo,Locator
- Direct Known Subclasses:
ComputedAttribute,FixedAttribute
public abstract class AttributeCreator
extends SimpleNodeConstructor
implements ValidatingInstruction
Abstract class for fixed and computed attribute constructor expressions
- See Also:
-
Field Summary
FieldsFields inherited from class net.sf.saxon.expr.instruct.SimpleNodeConstructor
selectFields inherited from class net.sf.saxon.expr.Expression
EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, WATCH_METHOD -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintGet the static properties of this expression (other than its type).intGet the options to be used on the attribute eventReturn the required schema type of the attributeintGet the validation action requestedfinal voidprocessValue(CharSequence value, XPathContext context) Process the value of the node, to create the new node.voidIndicate that the attribute value contains no special characters that might need escapingvoidsetOptions(int options) Set the options to be used on the attribute eventvoidIndicate that two attributes with the same name are not acceptable.voidsetSchemaType(SimpleType type) Set the required schema type of the attributevoidsetValidationAction(int action) Set the validation action requiredprotected voidvalidateOrphanAttribute(Orphan orphan, XPathContext context) Validate a newly-constructed parentless attribute using the type and validation attributesMethods inherited from class net.sf.saxon.expr.instruct.SimpleNodeConstructor
checkContent, computeCardinality, createsNewNodes, evaluateItem, evaluateNodeName, getContentExpression, iterate, iterateSubExpressions, localTypeCheck, optimize, processLeavingTail, promoteInst, replaceSubExpression, setSelect, simplify, typeCheckMethods inherited from class net.sf.saxon.expr.instruct.Instruction
assembleParams, assembleTunnelParams, dynamicError, evaluateAsString, getConstructType, getExpressionName, getImplementationMethod, getInstructionName, getInstructionNameCode, getItemType, getIteratorFromProcessMethod, getSourceLocator, isXSLT, process, promoteMethods inherited from class net.sf.saxon.expr.Expression
addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, copy, doPromotion, dynamicError, effectiveBooleanValue, evaluatePendingUpdates, explain, explain, getCardinality, getColumnNumber, getColumnNumber, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getIntegerBounds, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, toString, typeErrorMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface javax.xml.transform.SourceLocator
getColumnNumber, getLineNumber, getPublicId, getSystemId
-
Field Details
-
schemaType
SimpleType schemaType
-
-
Constructor Details
-
AttributeCreator
public AttributeCreator()
-
-
Method Details
-
setSchemaType
Set the required schema type of the attribute- Parameters:
type- the required schema type, if validation against a specific type is required, or null if no validation is required
-
getSchemaType
Return the required schema type of the attribute- Specified by:
getSchemaTypein interfaceValidatingInstruction- Returns:
- if validation against a schema type was requested, return the schema type (always a simple type). Otherwise, if validation against a specific type was not requested, return null
-
setValidationAction
public void setValidationAction(int action) Set the validation action required- Parameters:
action- the validation action required, for example strict or lax
-
getValidationAction
public int getValidationAction()Get the validation action requested- Specified by:
getValidationActionin interfaceValidatingInstruction- Returns:
- the validation action, for example strict or lax
-
setOptions
public void setOptions(int options) Set the options to be used on the attribute event- Parameters:
options- Options to be used. The only option currently defined isReceiverOptions.REJECT_DUPLICATES, which controls whether or not it is an error to create two attributes with the same name for the same element. (This is an error in XQuery but not in XSLT).
-
setRejectDuplicates
public void setRejectDuplicates()Indicate that two attributes with the same name are not acceptable. (This option is set in XQuery, but not in XSLT) -
setNoSpecialChars
public void setNoSpecialChars()Indicate that the attribute value contains no special characters that might need escaping -
getOptions
public int getOptions()Get the options to be used on the attribute event- Returns:
- the option flags to be used
-
computeSpecialProperties
public int computeSpecialProperties()Get the static properties of this expression (other than its type). The result is bit-signficant. These properties are used for optimizations. In general, if property bit is set, it is true, but if it is unset, the value is unknown.- Overrides:
computeSpecialPropertiesin classSimpleNodeConstructor- Returns:
- a set of flags indicating static properties of this expression
-
processValue
Process the value of the node, to create the new node.- Specified by:
processValuein classSimpleNodeConstructor- Parameters:
value- the string value of the new nodecontext- the dynamic evaluation context- Throws:
XPathException
-
validateOrphanAttribute
Validate a newly-constructed parentless attribute using the type and validation attributes- Parameters:
orphan- the new attribute nodecontext- the dynamic evaluation context- Throws:
XPathException- if validation fails
-