Class AxiomParentNodeWrapper

java.lang.Object
net.sf.saxon.tree.wrapper.AbstractNodeWrapper
net.sf.saxon.option.axiom.AxiomParentNodeWrapper
All Implemented Interfaces:
Source, SourceLocator, ActiveSource, GroundedValue, Item, NodeInfo, Sequence, Location, SiblingCountingNode, VirtualNode, Locator
Direct Known Subclasses:
AxiomDocumentNodeWrapper, AxiomElementNodeWrapper

public abstract class AxiomParentNodeWrapper extends AbstractNodeWrapper implements SiblingCountingNode
A node in the XDM tree; specifically, a node that wraps an Axiom document node or element node.
  • Field Details

    • node

      protected org.apache.axiom.om.OMContainer node
  • Constructor Details

    • AxiomParentNodeWrapper

      protected AxiomParentNodeWrapper(org.apache.axiom.om.OMContainer node)
  • Method Details

    • getUnderlyingNode

      public org.apache.axiom.om.OMContainer getUnderlyingNode()
      Get the underlying Axiom node, to implement the VirtualNode interface
      Specified by:
      getUnderlyingNode in interface VirtualNode
      Returns:
      The underlying node.
    • atomize

      public AtomicSequence atomize()
      Get the typed value.
      Specified by:
      atomize in interface Item
      Specified by:
      atomize in interface NodeInfo
      Overrides:
      atomize in class AbstractNodeWrapper
      Returns:
      the typed value. If requireSingleton is set to true, the result will always be an AtomicValue. In other cases it may be a Value representing a sequence whose items are atomic values.
    • getUnicodeStringValue

      public UnicodeString getUnicodeStringValue()
      Get the string value of the node as a UnicodeString.
      Specified by:
      getUnicodeStringValue in interface GroundedValue
      Specified by:
      getUnicodeStringValue in interface Item
      Returns:
      the node's string value
    • hasChildNodes

      public boolean hasChildNodes()
      Determine whether the node has any children.

      Note: the result is equivalent to getEnumeration(Axis.CHILD, AnyNodeTest.getInstance()).hasNext()

      Specified by:
      hasChildNodes in interface NodeInfo
      Overrides:
      hasChildNodes in class AbstractNodeWrapper
      Returns:
      True if the node has one or more children
    • generateId

      public void generateId(StringBuilder buffer)
      Get a character string that uniquely identifies this node. Note: a.isSameNode(b) if and only if generateId(a)==generateId(b)
      Specified by:
      generateId in interface NodeInfo
      Parameters:
      buffer - a buffer to contain a string that uniquely identifies this node, across all documents
    • iterateChildren

      protected final AxisIterator iterateChildren(NodeTest nodeTest)
      Description copied from class: AbstractNodeWrapper
      Return an iterator over the children of this node. This method is only called after checking that the node is an element or document.
      Specified by:
      iterateChildren in class AbstractNodeWrapper
      Parameters:
      nodeTest - a test that the returned attributes must satisfy
      Returns:
      an iterator over the child nodes, in document order.
    • iterateDescendants

      protected AxisIterator iterateDescendants(NodeTest nodeTest, boolean includeSelf)
      Description copied from class: AbstractNodeWrapper
      Return an iterator over the descendants of this node. This method is only called after checking that the node is an element or document node.
      Overrides:
      iterateDescendants in class AbstractNodeWrapper
      Parameters:
      nodeTest - a test that the returned descendants must satisfy
      includeSelf - true if this node is to be included in the result
      Returns:
      an iterator over the sibling nodes, in axis order.