net.sf.saxon.instruct
Class FixedAttribute
- SourceLocator, EvaluableItem, InstructionInfoProvider, SequenceIterable, Serializable, SourceLocator, TailCallReturner
public final class FixedAttribute
An instruction derived from an xsl:attribute element in stylesheet, or from
an attribute constructor in XQuery. This version deals only with attributes
whose name is known at compile time. It is also used for attributes of
literal result elements. The value of the attribute is in general computed
at run-time.
FixedAttribute(int nameCode, int validationAction, SimpleType schemaType, int annotation) - Construct an Attribute instruction
|
checkContent , computeCardinality , computeSpecialProperties , createsNewNodes , evaluateItem , evaluateNameCode , expandChildren , getSelect , iterate , iterateSubExpressions , localTypeCheck , optimize , promoteInst , replaceSubExpression , setSelect , simplify , typeCheck |
assembleParams , assembleTunnelParams , computeCardinality , computeSpecialProperties , createsNewNodes , dynamicError , evaluateAsString , evaluateItem , getImplementationMethod , getInstructionInfo , getInstructionNameCode , getItemType , getSourceLocator , isXSLT , iterate , process , processLeavingTail , promote , promoteInst , simplify |
addToPathMap , adoptChildExpression , checkPermittedContents , computeCardinality , computeDependencies , computeSpecialProperties , computeStaticProperties , copy , display , doPromotion , dynamicError , effectiveBooleanValue , evaluateAsString , evaluateItem , explain , explain , findParentOf , getCardinality , getColumnNumber , getConstructType , getContainer , getDependencies , getExecutable , getHostLanguage , getImplementationMethod , getInstructionInfo , getIntrinsicDependencies , getItemType , getLineNumber , getLocationId , getLocationProvider , getPublicId , getSlotsUsed , getSpecialProperties , getSystemId , hasLoopingSubexpression , implementsStaticTypeCheck , iterate , iterateEvents , iterateSubExpressions , markTailFunctionCalls , optimize , process , promote , replaceSubExpression , resetLocalStaticProperties , setContainer , setFiltered , setFlattened , setLocationId , simplify , staticTypeCheck , suppressValidation , toString , typeCheck , typeError |
FixedAttribute
public FixedAttribute(int nameCode,
int validationAction,
SimpleType schemaType,
int annotation)
Construct an Attribute instruction
nameCode
- Represents the attribute namevalidationAction
- the validation required, for example strict or laxschemaType
- the schema type against which validation is required, null if not applicableannotation
- Integer code identifying the type named in the type
attribute
of the instruction - zero if the attribute was not present
checkPermittedContents
public void checkPermittedContents(SchemaType parentType,
StaticContext env,
boolean whole)
throws XPathException
Check that any elements and attributes constructed or returned by this expression are acceptable
in the content model of a given complex type. It's always OK to say yes, since the check will be
repeated at run-time. The process of checking element and attribute constructors against the content
model of a complex type also registers the type of content expected of those constructors, so the
static validation can continue recursively.
- checkPermittedContents in interface Expression
copy
public Expression copy()
Copy an expression. This makes a deep copy.
- copy in interface Expression
- the copy of the original expression
evaluateNameCode
public int evaluateNameCode(XPathContext context)
Run-time method to compute the name of the node being constructed. This is overridden
for nodes that have a name. The default implementation returns -1, which is suitable for
unnamed nodes such as comments
- evaluateNameCode in interface SimpleNodeConstructor
context
- the XPath dynamic evaluation context
- the name pool nameCode identifying the name of the constructed node
explain
public void explain(ExpressionPresenter out)
Diagnostic print of expression structure. The abstract expression tree
is written to the supplied output destination.
- explain in interface Expression
getAttributeNameCode
public int getAttributeNameCode()
Get the name pool name code of the attribute to be constructed
- the attribute's name code
getCardinality
public int getCardinality()
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.
- getCardinality in interface Expression
- one of the values Cardinality.ONE_OR_MORE,
Cardinality.ZERO_OR_MORE, Cardinality.EXACTLY_ONE,
Cardinality.ZERO_OR_ONE, Cardinality.EMPTY. This default
implementation returns ZERO_OR_MORE (which effectively gives no
information).
getItemType
public ItemType getItemType(TypeHierarchy th)
Get the item type of the items returned by evaluating this instruction
- getItemType in interface Instruction
th
- the type hierarchy cache
- the static item type of the instruction
getValidationAction
public int getValidationAction()
Get the validation action requested
- the validation action, for example strict or lax
setNoSpecialChars
public void setNoSpecialChars()
Indicate that the attribute value contains no special characters that
might need escaping
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)
setSelect
public void setSelect(Expression select,
Configuration config)
throws XPathException
Set the expression defining the value of the attribute. If this is a constant, and if
validation against a schema type was requested, the validation is done immediately.
- setSelect in interface SimpleNodeConstructor
select
- The expression defining the content of the attributeconfig
- The Saxon configuration
XPathException
- if the expression is a constant, and validation is requested, and
the constant doesn't match the required type.