com.icl.saxon.expr
Class AttributeValueTemplate

java.lang.Object
  |
  +--com.icl.saxon.expr.Expression
        |
        +--com.icl.saxon.expr.AttributeValueTemplate

public 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.


Fields inherited from class com.icl.saxon.expr.Expression
staticContext
 
Constructor Summary
AttributeValueTemplate()
          Constructor to make an AVT with an empty component list
AttributeValueTemplate(Expression exp)
          Constructor to make an AVT with single Expression component
AttributeValueTemplate(java.lang.String s)
          Constructor to make an AVT with single String component
AttributeValueTemplate(java.util.Vector components)
          Constructor to make an AVT from a list of components.
 
Method Summary
 Value evaluate(Context context)
          Evaluate an AVT.
 java.lang.String evaluateAsString(Context context)
          Evaluate an expression as a String.
 java.util.Vector getComponents()
          Get components of the AVT
 int getDataType()
          Determine the data type of the exprssion, 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, outputStringValue, setStaticContext, usesCurrent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AttributeValueTemplate

public AttributeValueTemplate(java.util.Vector components)
Constructor to make an AVT from a list of components. The components are the elements of the AVT, e.g. abc{def}geh has three components, String "abc", expression "def", and String "geh"

AttributeValueTemplate

public AttributeValueTemplate()
Constructor to make an AVT with an empty component list

AttributeValueTemplate

public AttributeValueTemplate(java.lang.String s)
Constructor to make an AVT with single String component

AttributeValueTemplate

public AttributeValueTemplate(Expression exp)
Constructor to make an AVT with single Expression component
Method Detail

make

public static Expression make(java.lang.String avt,
                              StaticContext env)
                       throws org.xml.sax.SAXException
Static factory method to create an AVT from an XSL string representation
Following copied from class: com.icl.saxon.expr.Expression
Parameters:
expression - The expression (as a character string)
env - An object giving information about the compile-time context of the expression
Returns:
an object of type Expression

getComponents

public java.util.Vector getComponents()
Get components of the AVT

simplify

public Expression simplify()
                    throws org.xml.sax.SAXException
Simplify an expression.
Overrides:
simplify in class Expression
Returns:
the simplified expression

evaluate

public Value evaluate(Context context)
               throws org.xml.sax.SAXException
Evaluate an AVT.
Overrides:
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

getDataType

public int getDataType()
Determine the data type of the exprssion, if possible
Overrides:
getDataType in class Expression
Returns:
Value.STRING

evaluateAsString

public java.lang.String evaluateAsString(Context context)
                                  throws org.xml.sax.SAXException
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

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
Overrides:
getDependencies in class Expression

reduce

public Expression reduce(int dependencies,
                         Context context)
                  throws org.xml.sax.SAXException
Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.
Overrides:
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