net.sf.saxon.om

Class NamespaceCodeIterator

Implemented Interfaces:
IntIterator

public class NamespaceCodeIterator
extends java.lang.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

Method Details

hasNext

public boolean hasNext()
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

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.

next

public int next()
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

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