Package gnu.xml

Class NodeTree

All Implemented Interfaces:
Consumable, Consumer, PositionConsumer, XConsumer, Appendable, Consumer<Object>, DoubleConsumer, IntConsumer, LongConsumer

public class NodeTree extends TreeList
Use to represent a Document or Document Fragment, in the XML DOM sense. More compact than traditional DOM, since it uses many fewer objects.
  • Constructor Details

    • NodeTree

      public NodeTree()
  • Method Details

    • nextPos

      public int nextPos(int position)
      Description copied from class: AbstractSequence
      Return the next position following the argument. The new position has the isAfter property. The argument is implicitly released (as in releasePos). Returns 0 if we are already at end of file.
      Overrides:
      nextPos in class TreeList
    • make

      public static NodeTree make()
    • getId

      public int getId()
      Get/create a new unique number.
    • stableCompare

      public int stableCompare(AbstractSequence other)
      Description copied from class: AbstractSequence
      This is used for the XML concept of "document order".
      Overrides:
      stableCompare in class AbstractSequence<Object>
    • getIteratorAtPos

      public SeqPosition getIteratorAtPos(int ipos)
      Overrides:
      getIteratorAtPos in class AbstractSequence<Object>
    • posNamespaceURI

      public String posNamespaceURI(int ipos)
    • posPrefix

      public String posPrefix(int ipos)
    • posLocalName

      public String posLocalName(int ipos)
    • posIsDefaultNamespace

      public boolean posIsDefaultNamespace(int ipos, String namespaceURI)
    • posLookupNamespaceURI

      public String posLookupNamespaceURI(int ipos, String prefix)
    • posLookupPrefix

      public String posLookupPrefix(int ipos, String namespaceURI)
    • posFirstChild

      public int posFirstChild(int ipos)
    • posHasAttributes

      public boolean posHasAttributes(int ipos)
    • getAttribute

      public int getAttribute(int parent, String namespaceURI, String localName)
      Find named attribute.
      Parameters:
      namespaceURI - need not be interned, or null which matches any namespace
      localName - need not be interned, or null which matches any local name
      Returns:
      attribute ipos or 0
    • getAttributeI

      public int getAttributeI(int parent, String namespaceURI, String localName)
      Find named attribute.
      Parameters:
      namespaceURI - an interned String or null which matches any namespace
      localName - an interned String, or null which matches any local name
      Returns:
      attribute ipos or 0
    • typedValue

      public Object typedValue(int ipos)
      Return the type-value of the node at the specified position.
    • posTarget

      public String posTarget(int ipos)
      Get the target of a process-instruction.
    • ancestorAttribute

      public int ancestorAttribute(int ipos, String namespace, String name)
      Look for matching attribute in ancestor or self.
      Parameters:
      namespace - namespaceURI (interned) of required attribute
      name - localName(interned) of required attribute
      Returns:
      attribute ipos or 0
    • baseUriOfPos

      public gnu.kawa.io.Path baseUriOfPos(int pos, boolean resolveRelative)
      Return of the base-uri property, if known, of the node at pos.
    • toString

      public String toString()
      Overrides:
      toString in class AbstractSequence<Object>
    • makeIDtableIfNeeded

      public void makeIDtableIfNeeded()
    • lookupID

      public int lookupID(String name)
      Look for an element with matching ID. Returns an element ipos, or -1 if not found. Since we don't do any validation, for now only attributes with the name xml:id are recognized has having the is-id property. Assumes makeIDtableIfNeeded has been called at soem point.