## net.sf.saxon.tree.util
Class NamespaceCodeIterator

    java.lang.Object
      net.sf.saxon.tree.util.NamespaceCodeIterator

All Implemented Interfaces:
  IntIterator

    public class NamespaceCodeIterator

extends Object
implements IntIterator

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(int[])`.

The result does not include the XML namespace.

Method Summary
`boolean` `hasNext()` Test whether there are any more integers in the sequence
`static IntIterator` `iterateNamespaces(NodeInfo element)` Factory method: create an iterator over the in-scope namespace codes for an element
`int` `next()` Return the next integer in the sequence.
`static void` `sendNamespaces(NodeInfo element, Receiver receiver)` Send all the in-scope namespaces for a node 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 IntIterator 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 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()

  Description copied from interface: `IntIterator`
  Test whether there are any more integers in the sequence

  Specified by:
    `hasNext` in interface `IntIterator`
  Returns:
    true if there are more integers to come

### next

    public int next()

  Description copied from interface: `IntIterator`
  Return the next integer in the sequence. The result is undefined unless hasNext() has been called and has returned true.

  Specified by:
    `next` in interface `IntIterator`
  Returns:
    the next integer in the sequence

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