AttributeValueTemplate
Date: 2016-07-03

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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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`