com.icl.saxon.style
Class GroupActivation

java.lang.Object
  extended bycom.icl.saxon.style.GroupActivation
All Implemented Interfaces:
NodeEnumeration

public class GroupActivation
extends java.lang.Object
implements NodeEnumeration

GroupActivation represents one activation of a saxon:group loop. It is implemented as a NodeEnumeration with one extra method, the ability to test whether the value of a key on the current node is the same as the value of the key on the next node. Control over the iteration is shared between the saxon:group and saxon:item elements.


Constructor Summary
GroupActivation(SAXONGroup group, Expression groupkey, NodeEnumeration nodes, Context c)
           
 
Method Summary
 boolean hasMoreElements()
          Determine whether there are more nodes to come.
 boolean isPeer()
          Determine whether the nodes returned by this enumeration are known to be peers, that is, no node is a descendant or ancestor of another node.
 boolean isReverseSorted()
          Determine whether the nodes returned by this enumeration are known to be in reverse document order.
 boolean isSorted()
          Determine whether the nodes returned by this enumeration are known to be in document order
 NodeInfo nextElement()
          Get the next node in sequence.
 boolean sameAsNext()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GroupActivation

public GroupActivation(SAXONGroup group,
                       Expression groupkey,
                       NodeEnumeration nodes,
                       Context c)
                throws XPathException
Method Detail

hasMoreElements

public boolean hasMoreElements()
Description copied from interface: NodeEnumeration
Determine whether there are more nodes to come.
(Note the term "Element" is used here in the sense of the standard Java Enumeration class, it has nothing to do with XML elements).

Specified by:
hasMoreElements in interface NodeEnumeration
Returns:
true if there are more nodes

nextElement

public NodeInfo nextElement()
                     throws XPathException
Description copied from interface: NodeEnumeration
Get the next node in sequence.
(Note the term "Element" is used here in the sense of the standard Java Enumeration class, it has nothing to do with XML elements).

Specified by:
nextElement in interface NodeEnumeration
Returns:
the next NodeInfo
Throws:
XPathException

sameAsNext

public boolean sameAsNext()
                   throws XPathException
Throws:
XPathException

isSorted

public boolean isSorted()
Description copied from interface: NodeEnumeration
Determine whether the nodes returned by this enumeration are known to be in document order

Specified by:
isSorted in interface NodeEnumeration
Returns:
true if the nodes are guaranteed to be in document order.

isReverseSorted

public boolean isReverseSorted()
Description copied from interface: NodeEnumeration
Determine whether the nodes returned by this enumeration are known to be in reverse document order.

Specified by:
isReverseSorted in interface NodeEnumeration
Returns:
true if the nodes are guaranteed to be in document order.

isPeer

public boolean isPeer()
Description copied from interface: NodeEnumeration
Determine whether the nodes returned by this enumeration are known to be peers, that is, no node is a descendant or ancestor of another node. This significance of this property is that if a peer enumeration is applied to each node in a set derived from another peer enumeration, and if both enumerations are sorted, then the result is also sorted.

Specified by:
isPeer in interface NodeEnumeration