Sophie

Sophie

distrib > Mageia > 7 > armv7hl > by-pkgid > b3bdfe6d859a3d6920ff2c44b38e9a6f > files > 939

saxon-manual-9.4.0.9-2.mga7.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Dec 09 20:47:42 GMT 2011 -->
<TITLE>
GroupByClause
</TITLE>

<META NAME="date" CONTENT="2011-12-09">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="GroupByClause";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../com/saxonica/expr/flwor/CountClausePush.html" title="class in com.saxonica.expr.flwor"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.ObjectToBeGrouped.html" title="class in com.saxonica.expr.flwor"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?com/saxonica/expr/flwor/GroupByClause.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="GroupByClause.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_net.sf.saxon.expr.flwor.Clause">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
com.saxonica.expr.flwor</FONT>
<BR>
Class GroupByClause</H2>
<PRE>
<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">net.sf.saxon.expr.flwor.Clause</A>
      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>com.saxonica.expr.flwor.GroupByClause</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <B>GroupByClause</B><DT>extends <A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></DL>
</PRE>

<P>
This class represents an "group by" clause in a FLWOR expression
<P>

<P>
<HR>

<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->

<A NAME="nested_class_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Nested Class Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.ObjectToBeGrouped.html" title="class in com.saxonica.expr.flwor">GroupByClause.ObjectToBeGrouped</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Inner class representing the contents of a tuple from the pre-grouping tuple stream;
 a set of such objects consitutes a group.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.TupleComparisonKey.html" title="class in com.saxonica.expr.flwor">GroupByClause.TupleComparisonKey</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Inner class representing a tuple comparison key: that is, an arbitrary object whose equals() and hashCode()
 methods can be used to test whether two tuples have equivalent grouping keys</TD>
</TR>
</TABLE>
&nbsp;<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_net.sf.saxon.expr.flwor.Clause"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class net.sf.saxon.expr.flwor.<A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#COUNT">COUNT</A>, <A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#FOR">FOR</A>, <A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#GROUPBYCLAUSE">GROUPBYCLAUSE</A>, <A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#LET">LET</A>, <A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#ORDERBYCLAUSE">ORDERBYCLAUSE</A>, <A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#WHERE">WHERE</A>, <A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#WINDOW">WINDOW</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#GroupByClause(net.sf.saxon.Configuration)">GroupByClause</A></B>(<A HREF="../../../../net/sf/saxon/Configuration.html" title="class in net.sf.saxon">Configuration</A>&nbsp;config)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a group-by clause</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html" title="class in com.saxonica.expr.flwor">GroupByClause</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#copy()">copy</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#explain(net.sf.saxon.trace.ExpressionPresenter)">explain</A></B>(<A HREF="../../../../net/sf/saxon/trace/ExpressionPresenter.html" title="class in net.sf.saxon.trace">ExpressionPresenter</A>&nbsp;out)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Diagnostic print of expression structure.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#getClauseKey()">getClauseKey</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a keyword identifying what kind of clause this is</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.TupleComparisonKey.html" title="class in com.saxonica.expr.flwor">GroupByClause.TupleComparisonKey</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#getComparisonKey(net.sf.saxon.expr.flwor.Tuple)">getComparisonKey</A></B>(<A HREF="../../../../net/sf/saxon/expr/flwor/Tuple.html" title="class in net.sf.saxon.expr.flwor">Tuple</A>&nbsp;t)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Callback to get the comparison key for a tuple.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../net/sf/saxon/expr/flwor/TupleExpression.html" title="class in net.sf.saxon.expr.flwor">TupleExpression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#getGroupingTupleExpression()">getGroupingTupleExpression</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the tuple expression that evaluates all the grouping variables, returning the values these variables
 take in the input stream</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../net/sf/saxon/expr/flwor/TuplePull.html" title="class in net.sf.saxon.expr.flwor">TuplePull</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#getPullStream(net.sf.saxon.expr.flwor.TuplePull, net.sf.saxon.expr.XPathContext)">getPullStream</A></B>(<A HREF="../../../../net/sf/saxon/expr/flwor/TuplePull.html" title="class in net.sf.saxon.expr.flwor">TuplePull</A>&nbsp;base,
              <A HREF="../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A>&nbsp;context)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a tuple stream that implements the functionality of this clause, taking its
 input from another tuple stream which this clause modifies</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../net/sf/saxon/expr/flwor/TuplePush.html" title="class in net.sf.saxon.expr.flwor">TuplePush</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#getPushStream(net.sf.saxon.expr.flwor.TuplePush, net.sf.saxon.expr.XPathContext)">getPushStream</A></B>(<A HREF="../../../../net/sf/saxon/expr/flwor/TuplePush.html" title="class in net.sf.saxon.expr.flwor">TuplePush</A>&nbsp;destination,
              <A HREF="../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A>&nbsp;context)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a push-mode tuple stream that implements the functionality of this clause, supplying its
 output to another tuple stream</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../net/sf/saxon/expr/flwor/LocalVariableBinding.html" title="class in net.sf.saxon.expr.flwor">LocalVariableBinding</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#getRangeVariables()">getRangeVariables</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the variables bound by this clause</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../net/sf/saxon/expr/flwor/TupleExpression.html" title="class in net.sf.saxon.expr.flwor">TupleExpression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#getRetainedTupleExpression()">getRetainedTupleExpression</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the tuple expression that evaluates all the non-grouping variables, returning the values these variables
 take in the grouping input stream</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#optimize(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)">optimize</A></B>(<A HREF="../../../../net/sf/saxon/expr/parser/ExpressionVisitor.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor</A>&nbsp;visitor,
         <A HREF="../../../../net/sf/saxon/expr/parser/ExpressionVisitor.ContextItemType.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor.ContextItemType</A>&nbsp;contextItemType)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Optimize any expressions contained within this clause</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#processGroup(java.util.List, net.sf.saxon.expr.XPathContext)">processGroup</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.ObjectToBeGrouped.html" title="class in com.saxonica.expr.flwor">GroupByClause.ObjectToBeGrouped</A>&gt;&nbsp;group,
             <A HREF="../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A>&nbsp;context)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process a group of tuples from the input stream to generate a single tuple in the output stream.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#processSubExpressions(net.sf.saxon.expr.flwor.ExpressionProcessor)">processSubExpressions</A></B>(<A HREF="../../../../net/sf/saxon/expr/flwor/ExpressionProcessor.html" title="interface in net.sf.saxon.expr.flwor">ExpressionProcessor</A>&nbsp;processor)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process the subexpressions of this clause</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#setComparers(net.sf.saxon.expr.sort.GenericAtomicComparer[])">setComparers</A></B>(<A HREF="../../../../net/sf/saxon/expr/sort/GenericAtomicComparer.html" title="class in net.sf.saxon.expr.sort">GenericAtomicComparer</A>[]&nbsp;comparers)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the comparers used for the grouping keys.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#setGroupingTupleExpression(net.sf.saxon.expr.flwor.TupleExpression)">setGroupingTupleExpression</A></B>(<A HREF="../../../../net/sf/saxon/expr/flwor/TupleExpression.html" title="class in net.sf.saxon.expr.flwor">TupleExpression</A>&nbsp;expr)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set a tuple expression that evaluates all the grouping variables, returning the values these variables
 take in the input stream</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#setRetainedTupleExpression(net.sf.saxon.expr.flwor.TupleExpression)">setRetainedTupleExpression</A></B>(<A HREF="../../../../net/sf/saxon/expr/flwor/TupleExpression.html" title="class in net.sf.saxon.expr.flwor">TupleExpression</A>&nbsp;expr)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set a tuple expression that evaluates all the non-grouping variables, returning the values these variables take
 in the grouping input stream</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#setVariableBindings(net.sf.saxon.expr.flwor.LocalVariableBinding[])">setVariableBindings</A></B>(<A HREF="../../../../net/sf/saxon/expr/flwor/LocalVariableBinding.html" title="class in net.sf.saxon.expr.flwor">LocalVariableBinding</A>[]&nbsp;bindings)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the bindings of new variables created by the grouping clause, which constitute the variables
 appearing in the output (post-grouping) tuple stream.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html#toString()">toString</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_net.sf.saxon.expr.flwor.Clause"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class net.sf.saxon.expr.flwor.<A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#gatherVariableReferences(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.Binding, java.util.List)">gatherVariableReferences</A>, <A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#refineVariableType(net.sf.saxon.expr.parser.ExpressionVisitor, java.util.List, net.sf.saxon.expr.Expression)">refineVariableType</A>, <A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#typeCheck(net.sf.saxon.expr.parser.ExpressionVisitor)">typeCheck</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="GroupByClause(net.sf.saxon.Configuration)"><!-- --></A><H3>
GroupByClause</H3>
<PRE>
public <B>GroupByClause</B>(<A HREF="../../../../net/sf/saxon/Configuration.html" title="class in net.sf.saxon">Configuration</A>&nbsp;config)</PRE>
<DL>
<DD>Create a group-by clause
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>config</CODE> - the Saxon configuration</DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="getClauseKey()"><!-- --></A><H3>
getClauseKey</H3>
<PRE>
public int <B>getClauseKey</B>()</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#getClauseKey()">Clause</A></CODE></B></DD>
<DD>Get a keyword identifying what kind of clause this is
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#getClauseKey()">getClauseKey</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the kind of clause</DL>
</DD>
</DL>
<HR>

<A NAME="copy()"><!-- --></A><H3>
copy</H3>
<PRE>
public <A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.html" title="class in com.saxonica.expr.flwor">GroupByClause</A> <B>copy</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#copy()">copy</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setRetainedTupleExpression(net.sf.saxon.expr.flwor.TupleExpression)"><!-- --></A><H3>
setRetainedTupleExpression</H3>
<PRE>
public void <B>setRetainedTupleExpression</B>(<A HREF="../../../../net/sf/saxon/expr/flwor/TupleExpression.html" title="class in net.sf.saxon.expr.flwor">TupleExpression</A>&nbsp;expr)</PRE>
<DL>
<DD>Set a tuple expression that evaluates all the non-grouping variables, returning the values these variables take
 in the grouping input stream
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>expr</CODE> - the tuple expression</DL>
</DD>
</DL>
<HR>

<A NAME="getRetainedTupleExpression()"><!-- --></A><H3>
getRetainedTupleExpression</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/expr/flwor/TupleExpression.html" title="class in net.sf.saxon.expr.flwor">TupleExpression</A> <B>getRetainedTupleExpression</B>()</PRE>
<DL>
<DD>Get the tuple expression that evaluates all the non-grouping variables, returning the values these variables
 take in the grouping input stream
<P>
<DD><DL>

<DT><B>Returns:</B><DD>the tuple expression</DL>
</DD>
</DL>
<HR>

<A NAME="optimize(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)"><!-- --></A><H3>
optimize</H3>
<PRE>
public void <B>optimize</B>(<A HREF="../../../../net/sf/saxon/expr/parser/ExpressionVisitor.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor</A>&nbsp;visitor,
                     <A HREF="../../../../net/sf/saxon/expr/parser/ExpressionVisitor.ContextItemType.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor.ContextItemType</A>&nbsp;contextItemType)
              throws <A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#optimize(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)">Clause</A></CODE></B></DD>
<DD>Optimize any expressions contained within this clause
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#optimize(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)">optimize</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - the ExpressionVisitor, providing access to static context information<DD><CODE>contextItemType</CODE> - the type of the context item
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></CODE> - if any error is detected</DL>
</DD>
</DL>
<HR>

<A NAME="setGroupingTupleExpression(net.sf.saxon.expr.flwor.TupleExpression)"><!-- --></A><H3>
setGroupingTupleExpression</H3>
<PRE>
public void <B>setGroupingTupleExpression</B>(<A HREF="../../../../net/sf/saxon/expr/flwor/TupleExpression.html" title="class in net.sf.saxon.expr.flwor">TupleExpression</A>&nbsp;expr)</PRE>
<DL>
<DD>Set a tuple expression that evaluates all the grouping variables, returning the values these variables
 take in the input stream
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>expr</CODE> - the tuple expression</DL>
</DD>
</DL>
<HR>

<A NAME="getGroupingTupleExpression()"><!-- --></A><H3>
getGroupingTupleExpression</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/expr/flwor/TupleExpression.html" title="class in net.sf.saxon.expr.flwor">TupleExpression</A> <B>getGroupingTupleExpression</B>()</PRE>
<DL>
<DD>Get the tuple expression that evaluates all the grouping variables, returning the values these variables
 take in the input stream
<P>
<DD><DL>

<DT><B>Returns:</B><DD>the tuple expression</DL>
</DD>
</DL>
<HR>

<A NAME="setVariableBindings(net.sf.saxon.expr.flwor.LocalVariableBinding[])"><!-- --></A><H3>
setVariableBindings</H3>
<PRE>
public void <B>setVariableBindings</B>(<A HREF="../../../../net/sf/saxon/expr/flwor/LocalVariableBinding.html" title="class in net.sf.saxon.expr.flwor">LocalVariableBinding</A>[]&nbsp;bindings)</PRE>
<DL>
<DD>Set the bindings of new variables created by the grouping clause, which constitute the variables
 appearing in the output (post-grouping) tuple stream. There will be one of these for each variable
 in the input (pre-grouping) stream; by convention the bindings for grouping variables precede the
 bindings for non-grouping (retained) variables, and the order is preserved.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bindings</CODE> - the bindings of the variables created in the output stream</DL>
</DD>
</DL>
<HR>

<A NAME="getRangeVariables()"><!-- --></A><H3>
getRangeVariables</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/expr/flwor/LocalVariableBinding.html" title="class in net.sf.saxon.expr.flwor">LocalVariableBinding</A>[] <B>getRangeVariables</B>()</PRE>
<DL>
<DD>Get the variables bound by this clause
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#getRangeVariables()">getRangeVariables</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the variable bindings</DL>
</DD>
</DL>
<HR>

<A NAME="setComparers(net.sf.saxon.expr.sort.GenericAtomicComparer[])"><!-- --></A><H3>
setComparers</H3>
<PRE>
public void <B>setComparers</B>(<A HREF="../../../../net/sf/saxon/expr/sort/GenericAtomicComparer.html" title="class in net.sf.saxon.expr.sort">GenericAtomicComparer</A>[]&nbsp;comparers)</PRE>
<DL>
<DD>Set the comparers used for the grouping keys. There is one comparer for each grouping variable
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>comparers</CODE> - the comparers for grouping keys.</DL>
</DD>
</DL>
<HR>

<A NAME="getPullStream(net.sf.saxon.expr.flwor.TuplePull, net.sf.saxon.expr.XPathContext)"><!-- --></A><H3>
getPullStream</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/expr/flwor/TuplePull.html" title="class in net.sf.saxon.expr.flwor">TuplePull</A> <B>getPullStream</B>(<A HREF="../../../../net/sf/saxon/expr/flwor/TuplePull.html" title="class in net.sf.saxon.expr.flwor">TuplePull</A>&nbsp;base,
                               <A HREF="../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A>&nbsp;context)</PRE>
<DL>
<DD>Get a tuple stream that implements the functionality of this clause, taking its
 input from another tuple stream which this clause modifies
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#getPullStream(net.sf.saxon.expr.flwor.TuplePull, net.sf.saxon.expr.XPathContext)">getPullStream</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>base</CODE> - the input tuple stream<DD><CODE>context</CODE> - the XPath dynamic evaluation context
<DT><B>Returns:</B><DD>the output tuple stream</DL>
</DD>
</DL>
<HR>

<A NAME="getPushStream(net.sf.saxon.expr.flwor.TuplePush, net.sf.saxon.expr.XPathContext)"><!-- --></A><H3>
getPushStream</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/expr/flwor/TuplePush.html" title="class in net.sf.saxon.expr.flwor">TuplePush</A> <B>getPushStream</B>(<A HREF="../../../../net/sf/saxon/expr/flwor/TuplePush.html" title="class in net.sf.saxon.expr.flwor">TuplePush</A>&nbsp;destination,
                               <A HREF="../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A>&nbsp;context)</PRE>
<DL>
<DD>Get a push-mode tuple stream that implements the functionality of this clause, supplying its
 output to another tuple stream
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#getPushStream(net.sf.saxon.expr.flwor.TuplePush, net.sf.saxon.expr.XPathContext)">getPushStream</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>destination</CODE> - the output tuple stream<DD><CODE>context</CODE> - 
<DT><B>Returns:</B><DD>the push tuple stream that implements the functionality of this clause of the FLWOR
         expression</DL>
</DD>
</DL>
<HR>

<A NAME="processSubExpressions(net.sf.saxon.expr.flwor.ExpressionProcessor)"><!-- --></A><H3>
processSubExpressions</H3>
<PRE>
public void <B>processSubExpressions</B>(<A HREF="../../../../net/sf/saxon/expr/flwor/ExpressionProcessor.html" title="interface in net.sf.saxon.expr.flwor">ExpressionProcessor</A>&nbsp;processor)
                           throws <A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE>
<DL>
<DD>Process the subexpressions of this clause
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#processSubExpressions(net.sf.saxon.expr.flwor.ExpressionProcessor)">processSubExpressions</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>processor</CODE> - the expression processor used to process the subexpressions
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></CODE> - if any error is detected</DL>
</DD>
</DL>
<HR>

<A NAME="explain(net.sf.saxon.trace.ExpressionPresenter)"><!-- --></A><H3>
explain</H3>
<PRE>
public void <B>explain</B>(<A HREF="../../../../net/sf/saxon/trace/ExpressionPresenter.html" title="class in net.sf.saxon.trace">ExpressionPresenter</A>&nbsp;out)</PRE>
<DL>
<DD>Diagnostic print of expression structure. The abstract expression tree
 is written to the supplied output destination.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html#explain(net.sf.saxon.trace.ExpressionPresenter)">explain</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/expr/flwor/Clause.html" title="class in net.sf.saxon.expr.flwor">Clause</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>out</CODE> - the expression presenter used to display the structure</DL>
</DD>
</DL>
<HR>

<A NAME="toString()"><!-- --></A><H3>
toString</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="processGroup(java.util.List, net.sf.saxon.expr.XPathContext)"><!-- --></A><H3>
processGroup</H3>
<PRE>
public void <B>processGroup</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.ObjectToBeGrouped.html" title="class in com.saxonica.expr.flwor">GroupByClause.ObjectToBeGrouped</A>&gt;&nbsp;group,
                         <A HREF="../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A>&nbsp;context)
                  throws <A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE>
<DL>
<DD>Process a group of tuples from the input stream to generate a single tuple in the output stream.
 This method takes a group of tuples as input, and sets all the required variables in the local
 stack frame as required to deliver this group as the current tuple in the post-grouping stream
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>group</CODE> - the group of input tuples<DD><CODE>context</CODE> - the XPath dynamic evaluation context
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getComparisonKey(net.sf.saxon.expr.flwor.Tuple)"><!-- --></A><H3>
getComparisonKey</H3>
<PRE>
public <A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.TupleComparisonKey.html" title="class in com.saxonica.expr.flwor">GroupByClause.TupleComparisonKey</A> <B>getComparisonKey</B>(<A HREF="../../../../net/sf/saxon/expr/flwor/Tuple.html" title="class in net.sf.saxon.expr.flwor">Tuple</A>&nbsp;t)</PRE>
<DL>
<DD>Callback to get the comparison key for a tuple. Two tuples are equal if their comparison
 keys compare equal using the equals() method.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../com/saxonica/expr/flwor/CountClausePush.html" title="class in com.saxonica.expr.flwor"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../com/saxonica/expr/flwor/GroupByClause.ObjectToBeGrouped.html" title="class in com.saxonica.expr.flwor"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?com/saxonica/expr/flwor/GroupByClause.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="GroupByClause.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_net.sf.saxon.expr.flwor.Clause">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.
</BODY>
</HTML>