## com.icl.saxon.expr
Class AttributeValueTemplate

    java.lang.Object
      com.icl.saxon.expr.Expression
          com.icl.saxon.expr.AttributeValueTemplate

public final class AttributeValueTemplate
extends Expression

This class represents an attribute value template. Although it is not technically an expression in the sense of XSL syntax, we model it as an expression for inheritance purposes.

Field Summary

Fields inherited from class com.icl.saxon.expr.Expression
`staticContext`

Method Summary
`void` `display(int level)` Diagnostic print of expression structure
`Value` `evaluate(Context context)` Evaluate an AVT.
`java.lang.String` `evaluateAsString(Context context)` Evaluate an expression as a String.
`int` `getDataType()` Determine the data type of the expression, if possible
`int` `getDependencies()` Determine which aspects of the context the expression depends on.
`static Expression` `make(java.lang.String avt, StaticContext env)` Static factory method to create an AVT from an XSL string representation
`Expression` `reduce(int dependencies, Context context)` Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.
`Expression` `simplify()` Simplify an expression.

Methods inherited from class com.icl.saxon.expr.Expression
`containsReferences, enumerate, evaluateAsBoolean, evaluateAsNodeSet, evaluateAsNumber, getStaticContext, indent, isContextDocumentNodeSet, outputStringValue, setStaticContext, usesCurrent`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### make

    public static Expression make(java.lang.String avt,
                                  StaticContext env)
                           throws XPathException

  Static factory method to create an AVT from an XSL string representation

  Throws:
    `XPathException`

### simplify

    public Expression simplify()
                        throws XPathException

  Simplify an expression.

  Overrides:
    `simplify` in class `Expression`
  Returns:
    the simplified expression
  Throws:
    `XPathException`

### evaluate

    public Value evaluate(Context context)
                   throws XPathException

  Evaluate an AVT.

  Specified by:
    `evaluate` in class `Expression`
  Parameters:
    `context` - The context in which the AVT is to be evaluated
  Returns:
    the value of the AVT, evaluated in the current context
  Throws:
    `XPathException`

### getDataType

    public int getDataType()

  Determine the data type of the expression, if possible

  Specified by:
    `getDataType` in class `Expression`
  Returns:
    Value.STRING

### evaluateAsString

    public java.lang.String evaluateAsString(Context context)
                                      throws XPathException

  Evaluate an expression as a String.

  Overrides:
    `evaluateAsString` in class `Expression`
  Parameters:
    `context` - The context in which the expression is to be evaluated
  Returns:
    the value of the expression, evaluated in the current context
  Throws:
    `XPathException`

### getDependencies

    public int getDependencies()

  Determine which aspects of the context the expression depends on. The result is a bitwise-or'ed value composed from constants such as Context.VARIABLES and Context.CURRENT_NODE

  Specified by:
    `getDependencies` in class `Expression`

### reduce

    public Expression reduce(int dependencies,
                             Context context)
                      throws XPathException

  Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.

  Specified by:
    `reduce` in class `Expression`
  Parameters:
    `dependencies` - The dependencies to be removed
    `context` - The context to be used for the partial evaluation
  Returns:
    a new expression that does not have any of the specified dependencies
  Throws:
    `XPathException`

### display

    public void display(int level)

  Diagnostic print of expression structure

  Specified by:
    `display` in class `Expression`