Class XRTreeFrag

All Implemented Interfaces:
Serializable, Cloneable, SourceLocator, ExpressionNode, XPathVisitable
Direct Known Subclasses:
XRTreeFragSelectWrapper

public class XRTreeFrag extends XObject implements Cloneable
This class represents an XPath result tree fragment object, and is capable of converting the RTF to other types, such as a string.
See Also:
  • Constructor Details

    • XRTreeFrag

      public XRTreeFrag(int root, XPathContext xctxt, ExpressionNode parent)
      Create an XRTreeFrag Object.
    • XRTreeFrag

      public XRTreeFrag(int root, XPathContext xctxt)
      Create an XRTreeFrag Object.
    • XRTreeFrag

      public XRTreeFrag(Expression expr)
      Create an XRTreeFrag Object.
  • Method Details

    • object

      public Object object()
      Return a java object that's closest to the representation that should be handed to an extension.
      Overrides:
      object in class XObject
      Returns:
      The object that this class wraps
    • allowDetachToRelease

      public void allowDetachToRelease(boolean allowRelease)
      Specify if it's OK for detach to release the iterator for reuse.
      Overrides:
      allowDetachToRelease in class XObject
      Parameters:
      allowRelease - true if it is OK for detach to release this iterator for pooling.
    • detach

      public void detach()
      Detaches the DTMIterator from the set which it iterated over, releasing any computational resources and placing the iterator in the INVALID state. After detach has been invoked, calls to nextNode or previousNode will raise a runtime exception. In general, detach should only be called once on the object.
      Overrides:
      detach in class XObject
    • getType

      public int getType()
      Tell what kind of class this is.
      Overrides:
      getType in class XObject
      Returns:
      type CLASS_RTREEFRAG
    • getTypeString

      public String getTypeString()
      Given a request type, return the equivalent string. For diagnostic purposes.
      Overrides:
      getTypeString in class XObject
      Returns:
      type string "#RTREEFRAG"
    • num

      public double num() throws TransformerException
      Cast result object to a number.
      Overrides:
      num in class XObject
      Returns:
      The result tree fragment as a number or NaN
      Throws:
      TransformerException
    • bool

      public boolean bool()
      Cast result object to a boolean. This always returns true for a RTreeFrag because it is treated like a node-set with a single root node.
      Overrides:
      bool in class XObject
      Returns:
      true
    • xstr

      public XMLString xstr()
      Cast result object to an XMLString.
      Overrides:
      xstr in class XObject
      Returns:
      The document fragment node data or the empty string.
    • appendToFsb

      public void appendToFsb(FastStringBuffer fsb)
      Cast result object to a string.
      Overrides:
      appendToFsb in class XObject
    • str

      public String str()
      Cast result object to a string.
      Overrides:
      str in class XObject
      Returns:
      The document fragment node data or the empty string.
    • rtf

      public int rtf()
      Cast result object to a result tree fragment.
      Overrides:
      rtf in class XObject
      Returns:
      The document fragment this wraps
    • asNodeIterator

      public DTMIterator asNodeIterator()
      Cast result object to a DTMIterator. dml - modified to return an RTFIterator for benefit of EXSLT object-type function in ExsltCommon.
      Returns:
      The document fragment as a DTMIterator
    • convertToNodeset

      public NodeList convertToNodeset()
      Cast result object to a nodelist. (special function).
      Returns:
      The document fragment as a nodelist
    • equals

      public boolean equals(XObject obj2)
      Tell if two objects are functionally equal.
      Overrides:
      equals in class XObject
      Parameters:
      obj2 - Object to compare this to
      Returns:
      True if the two objects are equal
      Throws:
      TransformerException