net.sf.saxon.tree.util

## Class NamespaceIterator

- java.lang.Object
- - net.sf.saxon.tree.util.NamespaceIterator

- All Implemented Interfaces:
    Iterator<NamespaceBinding>

      public class NamespaceIterator
      extends Object
      implements Iterator<NamespaceBinding>

  This class provides an iterator over the namespace codes representing the in-scope namespaces of any node. It relies on nodes to implement the method `NodeInfo.getDeclaredNamespaces(net.sf.saxon.om.NamespaceBinding[])`.

  The result does not include the XML namespace.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `hasNext()`
    `static Iterator<NamespaceBinding>` | `iterateNamespaces(NodeInfo element)` Factory method: create an iterator over the in-scope namespace codes for an element
    `NamespaceBinding` | `next()`
    `void` | `remove()`
    `static void` | `sendNamespaces(NodeInfo element, Receiver receiver)` Send all the in-scope namespaces for a node (except the XML namespace) to a specified receiver

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

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

- - ### Method Detail

    - #### iterateNamespaces

          public static Iterator<NamespaceBinding> iterateNamespaces(NodeInfo element)

      Factory method: create an iterator over the in-scope namespace codes for an element
      Parameters:
        `element` - the element (or other node) whose in-scope namespaces are required. If this is not an element, the result will be an empty iterator
      Returns:
        an iterator over the namespace codes. A namespace code is an integer that represents a prefix-uri binding; the prefix and URI can be obtained by reference to the name pool. This iterator will represent all the in-scope namespaces, without duplicates, and respecting namespace undeclarations. It does not include the XML namespace.

    - #### sendNamespaces

          public static void sendNamespaces(NodeInfo element,
                            Receiver receiver)
                                     throws XPathException

      Send all the in-scope namespaces for a node (except the XML namespace) to a specified receiver
      Parameters:
        `element` - the element in question (the method does nothing if this is not an element)
        `receiver` - the receiver to which the namespaces are notified
      Throws:
        `XPathException`

    - #### hasNext

          public boolean hasNext()

      Specified by:
        `hasNext` in interface `Iterator<NamespaceBinding>`

    - #### next

          public NamespaceBinding next()

      Specified by:
        `next` in interface `Iterator<NamespaceBinding>`

    - #### remove

          public void remove()

      Specified by:
        `remove` in interface `Iterator<NamespaceBinding>`

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.