org.apache.xalan.templates

## Class AVTPart

- java.lang.Object
- - org.apache.xalan.templates.AVTPart

- All Implemented Interfaces:
    java.io.Serializable, XSLTVisitable
  Direct Known Subclasses:
    AVTPartSimple, AVTPartXPath

      public abstract class AVTPart
      extends java.lang.Object
      implements java.io.Serializable, XSLTVisitable

  Class to hold a part, either a string or XPath, of an Attribute Value Template.
  See Also:
    Serialized Form
  Usage:
    **For internal use only**

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AVTPart()` Construct a part.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `canTraverseOutsideSubtree()` Tell if this expression or it's subexpressions can traverse outside the current subtree.
    `abstract void` | `evaluate(XPathContext xctxt, FastStringBuffer buf, int context, PrefixResolver nsNode)` Write the evaluated value into the given string buffer.
    `abstract void` | `fixupVariables(java.util.Vector vars, int globalsSize)` This function is used to fixup variables from QNames to stack frame indexes at stylesheet build time.
    `abstract java.lang.String` | `getSimpleString()` Get the AVT part as the original string.
    `void` | `setXPathSupport(XPathContext support)` Set the XPath support.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.xalan.templates.XSLTVisitable

      `callVisitors`

- - ### Constructor Detail

    - #### AVTPart

          public AVTPart()

      Construct a part.

  - ### Method Detail

    - #### getSimpleString

          public abstract java.lang.String getSimpleString()

      Get the AVT part as the original string.
      Returns:
        the AVT part as the original string.

    - #### evaluate

          public abstract void evaluate(XPathContext xctxt,
                                        FastStringBuffer buf,
                                        int context,
                                        PrefixResolver nsNode)
                                 throws javax.xml.transform.TransformerException

      Write the evaluated value into the given string buffer.
      Parameters:
        `xctxt` - The XPath context to use to evaluate this AVT.
        `buf` - Buffer to write into.
        `context` - The current source tree context.
        `nsNode` - The current namespace context (stylesheet tree context).
      Throws:
        `javax.xml.transform.TransformerException`

    - #### setXPathSupport

          public void setXPathSupport(XPathContext support)

      Set the XPath support.
      Parameters:
        `support` - XPathContext to set.

    - #### canTraverseOutsideSubtree

          public boolean canTraverseOutsideSubtree()

      Tell if this expression or it's subexpressions can traverse outside the current subtree.
      Returns:
        true if traversal outside the context node's subtree can occur.

    - #### fixupVariables

          public abstract void fixupVariables(java.util.Vector vars,
                                              int globalsSize)

      This function is used to fixup variables from QNames to stack frame indexes at stylesheet build time.
      Parameters:
        `vars` - List of QNames that correspond to variables. This list should be searched backwards for the first qualified name that corresponds to the variable reference qname. The position of the QName in the vector from the start of the vector will be its position in the stack frame (but variables above the globalsTop value will need to be offset to the current stack frame).

Copyright © 2023 Apache XML Project. All Rights Reserved.