net.sf.saxon.tree.util
Class NamespaceIterator

java.lang.Object
  extended by 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
 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-2011 Saxonica Limited. All rights reserved.