net.sf.saxon.tree.util
Class NamespaceCodeIterator

java.lang.Object
  extended by 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.