net.sf.saxon.om

Class NamespaceCodeIterator

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

The result does not include the XML namespace.

Field Summary
IntHashSetundeclared
Method Summary
booleanhasNext()
static IntIteratoriterateNamespaces(NodeInfo element)
Factory method: create an iterator over the in-scope namespace codes for an element
intnext()
static voidsendNamespaces(NodeInfo element, Receiver receiver)
Send all the in-scope namespaces for a node to a specified receiver

Field Detail

undeclared

IntHashSet undeclared

Method Detail

hasNext

public boolean hasNext()

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()

sendNamespaces

public static void sendNamespaces(NodeInfo element, Receiver receiver)
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